:root {
	--white: #ffffff;
	--blue-900: #0f223a;
	--blue-800: #102b4b;
	--blue-700: #0e3357;
	--text: #33333c;
	--cta: #19a861;
	--cta-light: #626a74;
	--cta-dark: #424a54;
	--muted: #cfe2ff;
	--tile: #f9fbfd;
	--line: #e4ebf3;
	--accent: #0aa35b;
	--navy: #0a1e38;
	/*
	--green: #1d815b;
	*/
	--green: #2a7a6b;
	--dark-green: #1d815b;
	--plum: #2d3e54;
	--light-grey: #88889f;
	--light-grey2: #66667f;
	--silver: #6e758c;
	--h2-color: #222b34;
	--home-h2-size: 39px;
	--page-h2-size: 30px;
}


.open-sans-<uniquifier> {
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:"wdth" 100;
}

/* RESET */
* {
	box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0,0,0,0); /* Remove blue tap highlight on mobile */
}

.gv-tel-link {
	display:none !important;
}

a.rftg-fcp-open {
	cursor:pointer;
}

html {
	/*
	scroll-behavior: smooth;
	*/
}

body {
	margin: 0;
	font-family: "Open Sans", Calibri, Arial, sans-serif;
	color: var(--text);
	line-height: 1.6;
	background: #ffffff;
}

header {
	padding:0px 50px;
}

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

.topbar .logo {
	width:62px;
	min-width:62px;
	height:58px;
}

a {
	color: #0a62a2;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

h1,
h2,
h3,
h4,
h5 {
	margin: 0 0 10px;
}

/* LAYOUT */
.home-container {
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
	padding: 0 50px;
}

.home-container h4 {
	color:var(--green);
}

.page-hero {
	background-position: center center;
	background-size: cover;
}

.page-hero .container {
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
	padding: 0 50px;
}

footer .container {
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
	padding: 40px 50px 0px 50px;
}

.container {
	width: 100%;
	margin: 0 auto;
	padding: 0 50px;
}

.grid-hero {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 48px;
	align-items: center;
}

.grid-3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
	max-width:80%;
	margin:auto;
}

.grid-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	width:60%;
	margin:auto;
}

.center {
	text-align: center;
}

/* BUTTONS */
.btn {
	display: inline-block;
	padding: 12px 40px;
	font-weight: 700;
	border-radius: 6px;
	letter-spacing: .5px;
	border: 0;
	cursor: pointer;
}

.cta-band .btn-primary {
	background-color:var(--green);
	text-decoration:none;
	font-size:20px;
	font-weight:700;
	padding:10px 30px;
	color:#ffffff;
}

.cta-band .btn-dark {
	text-decoration:none;
	background-color: rgba(255, 255, 255, 0.1);
	font-size:20px;
	font-weight:700;
	padding:10px 30px;
	border:solid 1px #99999f;
	color:#ffffff;
	text-transform: none;
}



.qualify {
	background: var(--dark-green);
	color: #ffffff;
	text-decoration:none;
	text-transform:none;
	margin-top:50px;
	padding:12px 35px;
}
a:hover.qualify {
	text-decoration:none;
}

.btn-ghost {
	background: #f4f6f8;
	color: var(--cta-dark);
	border: 1px solid #d6dde5;
}

/* STICKY HEADER: 90% white + blur + 10px shadow */
.topbar {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: rgba(255, 255, 255, .9);
	box-shadow: 0 10px 20px rgba(0, 0, 0, .10);
	border-bottom: 1px solid rgba(0, 0, 0, .06);
	backdrop-filter: saturate(140%) blur(10px);
	-webkit-backdrop-filter: saturate(140%) blur(10px);
}

.topbar .inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 0px;
	position:relative;
}

.brand {
	display: inline-table;
	align-items: center;
	gap: 10px;
	font-weight: 800;
	color: var(--cta-dark);
	width:82px;
}

.mark {
	width: 28px;
	height: 28px;
	border-radius: 6px;
	background: linear-gradient(135deg, var(--cta) 0%, var(--accent) 100%);
}

.nav {
	display:inline-table;
	align-items: center;
	position:relative;
}

.nav a {
	color: var(--cta-dark);
	font-weight: 600;
	font-size:19px;
	text-decoration:none;
	padding:0px 15px;
}

.nav a:hover {
	color: var(--cta-light);
}

.nav a .fa {
	font-size:14px;
}

.submenu {
	display:table;
	position:absolute;
	background-color:#ffffff;
	top:51px;
	left:70px;

	box-shadow: 0 20px 40px rgba(0, 0, 0, .25);
}

.submenu a {
	display:table;
	padding:10px 30px;
}

.header-cta {

}

.header-cta .cta-1 {
	position:relative;
	display:inline-table;
	padding: 0px 30px;
	border-radius: 8px;
	background: var(--green);
	color: #fff;
	text-decoration: none;
	font-size:30px;
	font-weight:600;
	vertical-align:middle;
}

i.fa-phone {
	position:relative;
	font-size:20px;
	top:0px;
	font-size: 16px;
	padding-right: 13px;
}






















/* Wrap for the Services item */
.nav .has-submenu {
  position: relative;
  display: inline-block;
}

/* Make the button look like your nav links */
.nav .nav-toggle {
  background: none;
  border: 0;
  font: inherit;
  color: var(--cta-dark);
  font-weight: 600;
  font-size: 19px;
  padding: 0 15px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.nav .nav-toggle:hover { color: var(--cta-light); }
.nav .nav-toggle .fa { font-size: 14px; transition: transform .2s ease; }

/* Submenu: hidden by default, animated in */
.nav .submenu {
  position: absolute;
  left: 0;               /* aligns under the Services label */
  top: 100%;
  min-width: 400px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 20px 40px rgba(0,0,0,.25);
  padding: 8px 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s;
  z-index: 1000;
}
.nav .submenu a {
  display: block;
  padding: 10px 20px;
  color: var(--cta-dark);
  text-decoration: none;
  line-height:1;
}
.nav .submenu a:hover { background: #f6f8fb; }

/* Open state */
.nav .has-submenu.open .submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.nav .has-submenu.open .nav-toggle .fa {
  transform: rotate(180deg);
}

/* Remove your old always-on submenu block */
.submenu { display: none; } /* fallback to ensure it's not shown without JS */
/* (Your original .submenu top/left from style.css becomes unnecessary) */


.nav .submenu { display: block; }
/* Let the [hidden] attribute do the actual hiding */
.nav .submenu[hidden] { display: none !important; }






















.header-cta .cta-2 {
	display:inline-table;
	padding: 6px 15px;
	border-radius: 8px;
	background: var(--navy);
	color: #fff;
	text-decoration: none;
	font-size:18px;
	font-weight:600;
	vertical-align:middle;
	margin-left:15px;
	cursor:pointer;
}

/* HERO */
.hero {
	/*
	background: linear-gradient(135deg, var(--blue-900) 0%, var(--blue-800) 55%, var(--blue-700) 100%);
	*/
	/* Universal background gradient */
	background: #162741; /* fallback for old browsers */
	background: -webkit-linear-gradient(135deg, #162741 0%, #2d3d54 100%); /* Safari 5.1–6, old iOS */
	background: -moz-linear-gradient(135deg, #162741 0%, #2d3d54 100%);    /* old Firefox */
	background: -o-linear-gradient(135deg, #162741 0%, #2d3d54 100%);      /* old Opera */
	background: linear-gradient(135deg, #162741 0%, #2d3d54 100%);         /* modern browsers */

	color: #fff;
	padding: 130px 0px 70px 0px;
}

.hero .btn-primary {
	text-decoration:none;
	background-color:var(--green);
	font-size:20px;
	font-weight:700;
	padding:10px 30px;
	color:#ffffff;
}

.hero .btn-ghost {
	text-decoration:none;
	background-color: rgba(255, 255, 255, 0.1);
	font-size:20px;
	font-weight:700;
	padding:10px 30px;
	border:solid 1px #99999f;
	color:#ffffff;
	text-transform: none;
}

.meta {
	color: var(--white);
	font-size: 17px;
	margin-bottom: 14px;
	font-weight:500;
	padding:30px 0px;
	border-bottom:solid 1px #55555f;
}

.meta span {
	width: 70px;
    display: inline-table;
    text-align: center;
}

.hero h1 {
	font-size: 62px;
	line-height: 1;
	margin-bottom: 20px;
	margin-right: 70px;
}

.lead {
	color: var(--white);
	margin: 0 0 26px;
	font-size:20px;
}

.call-now {
	color: var(--white);
	margin: 0 0 26px;
	font-size:18px;
	font-weight:500;
	margin:15px 0px -15px 0px;
	width: 100%;
	text-align: left;
	display: table !important;
}

.actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin: 18px 0 10px;
}

.phone-big {
	font-size: 57px;
	font-weight: 800;
	letter-spacing: .3px;
	margin-top: 14px;
}

.image-one {
	position:relative;
	height:100%;
}

.image-one img {
	position:absolute;
	border-radius: 15px;
	box-shadow: 0 20px 40px rgba(0, 0, 0, .25);
	width: 680px;
	background-color: #1b3557;
	bottom:153px;
}

.image {
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 20px 40px rgba(0, 0, 0, .25);
	min-height: 360px;
	background: #1b3557;
	width: 680px;
}



.page-hero h1 {
	font-size:50px;
	color:#ffffff;
	line-height:1;
}

.page-hero p {
	font-size:20px;
	color:#ffffff;
}

.page-hero-content {
	padding-top:70px;
	padding-bottom:55px;
	width:65%;
}

.page {
	padding:0px 0px;
}

.page-thin {
	width:70%;
	margin:auto;
}



.col-2-checklist {
	display:inline-table;
	width:49%;
	border:solid 1px #cccccc;
	box-sizing:border-box;
}




/* WHO THIS HELPS */
.who-helps {
  padding: 75px 0 75px 0;
  background: #ffffff;
}

.who-helps h2 {
  text-align: center;
  font-size: 46px;
  letter-spacing: -0.75px;
  margin: 0 0 22px;
  color: var(--cat-dark); /* falls back to your h2 color rules */
}

.who-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px 60px;
  margin: 0 auto;
}

.who-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.who-list li {
  display: grid;
  grid-template-columns: 22px auto;
  column-gap: 12px;
  align-items: start;
  margin: 14px 0;
  font-size: 19px;
  color: var(--light-grey2);
  line-height: 1.5;
}

.who-list i {
  color: var(--green);
  font-size: 18px;
  line-height: 1;
  margin-top: 4px;
}




/* AUDIT INTRO / SERVICE INTRO */
.audit-intro {
  background: var(--tile);
  padding: 75px 0 75px 0;
}

.audit-intro .audit-narrow {
  max-width: 920px;
  margin: 0 auto;
}

.audit-intro h2 {
	color:var(--h2-color);
	font-size:var(--page-h2-size);
	font-weight:700;
	letter-spacing:-0.75px;
	line-height:1;
	margin-bottom:20px;
}

.audit-intro p {
  color: var(--light-grey2);
  font-size: 19px;
  line-height: 1.75;
  
}





/* CREDENTIALS & COMMITMENT SECTION */
.credentials-section {
  background-color: #fff;
  padding: 100px 20px;
}

.credentials-section .container {
  max-width: 900px;
  margin: 0 auto;
  padding:0px;
}

.credentials-section h2 {
	color:var(--h2-color);
	font-size:var(--page-h2-size);
	font-weight:700;
	letter-spacing:-0.75px;
	line-height:1;
	margin-bottom:20px;
}

.credentials-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.credentials-list li {
  font-size: 17px;
  color: #4b5b6f;
  line-height: 1.7;
  margin-bottom: 22px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.credentials-list i {
	color:var(--green);
  font-size: 20px;
  flex-shrink: 0;
  margin-top: 4px;
}

/* Responsive */
@media (max-width: 600px) {
  .credentials-section {
    padding: 70px 0px;
  }

  .credentials-section h2 {
    font-size: 24px;
    text-align: center;
  }

  .credentials-list li {
    font-size: 16px;
  }
}







/* READY TO GET STARTED SECTION */
.get-started-section {
  background: linear-gradient(180deg, #0c2542 0%, #142f4d 100%);
  text-align: center;
  padding: 100px 20px;
  color: #fff;
}

.get-started-section .container {
  max-width: 900px;
  margin: 0 auto;
}

.get-started-section h2 {
	color:#ffffff;
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 25px;
}

.get-started-section p {
  font-size: 17px;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.6;
  margin-bottom: 35px;
}

.get-started-section .btn-accent {
  display: inline-block;
  background-color: #2a7a6b;
  color: #fff;
  font-weight: 700;
  padding: 14px 32px;
  border-radius: 6px;
  text-decoration: none;
  transition: background-color 0.25s ease;
}

.get-started-section .btn-accent:hover {
  background-color: #3b8c7b;
}

/* Responsive */
@media (max-width: 600px) {
  .get-started-section {
    padding: 70px 0px;
  }

  .get-started-section h2 {
    font-size: 24px;
  }

  .get-started-section p {
    font-size: 16px;
  }
}









/* WHO THIS HELPS SECTION */
.who-this-helps-section {
  background-color: #fff;
  padding: 100px 20px;
}

.who-this-helps-section .container {
  max-width: 1020px;
  margin: 0 auto;
}

.who-this-helps-section h2 {
	color:var(--h2-color);
	font-size:var(--page-h2-size);
	font-weight:700;
	letter-spacing:-0.75px;
	line-height:1;
	margin-bottom:20px;
}

.helps-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px 60px;
}

.help-item {
  font-size: 17px;
  color: #4b5b6f;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.7;
}

.help-item i {
  color: #2a7a6b;
  font-size: 20px;
  flex-shrink: 0;
  margin-top: 3px;
}

/* Responsive */
@media (max-width: 768px) {
  .helps-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .who-this-helps-section {
    padding: 70px 0px;
  }

  .who-this-helps-section h2 {
    text-align: left;
    font-size: 34px;
  }

  .help-item {
    font-size: 16px;
  }
}





















/* NOT SURE WHICH SERVICE SECTION */
.service-consult-section {
  background-color: #f9fbfd;
  text-align: center;
  padding: 90px 20px;
}

.service-consult-section .container {
  max-width: 900px;
  margin: 0 auto;
}

.service-consult-section h2 {
  font-size: 28px;
  font-weight: 800;
  color: #0f2742;
  margin-bottom: 20px;
}

.service-consult-section p {
  color: #6b7b8f;
  font-size: 17px;
  line-height: 1.6;
  margin-bottom: 35px;
}

.service-consult-section .btn-primary {
  display: inline-block;
  background-color: #0f2742;
  color: #fff;
  font-weight: 700;
  padding: 14px 32px;
  border-radius: 6px;
  text-decoration: none;
  transition: background-color 0.25s ease;
}

.service-consult-section .btn-primary:hover {
  background-color: #163b60;
}

/* Responsive */
@media (max-width: 600px) {
  .service-consult-section {
    padding: 70px 0px;
  }

  .service-consult-section h2 {
    font-size: 24px;
  }

  .service-consult-section p {
    font-size: 16px;
  }
}








/* RELATED SERVICES */
.related-services {
  background: #fff;
  padding: 90px 20px;
}

.related-services .container {
  max-width: 1020px;
  margin: 0 auto;
}

.related-services h2 {
	color:var(--h2-color);
	font-size:var(--page-h2-size);
	font-weight:700;
	letter-spacing:-0.75px;
	line-height:1;
	margin-bottom:20px;
}

.related-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px 26px;
}

.related-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  background: #fff;
  border: 1px solid #e4ebf3;
  border-radius: 10px;
  text-decoration: none;
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease, background .18s ease;
}

.related-card .label {
  color: #0f2742;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.2px;
}

.related-card .arrow {
	color:var(--green);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .18s ease;
}

.related-card:hover {
  border-color: #d9e4ef;
  background: #f9fbfd;
  box-shadow: 0 8px 18px rgba(15,39,66,0.06);
  transform: translateY(-1px);
}

.related-card:hover .arrow {
  transform: translateX(3px);
}

/* Responsive */
@media (max-width: 768px) {
  .related-grid { grid-template-columns: 1fr; }
  .related-services { padding: 70px 0px; }
  .related-services h2 { font-size: 24px; }
}








/* FAQ SECTION */
.faq-section {
  background: #f9fafb;
  padding: 100px 20px;
}

.faq-section .container {
  max-width: 1020px;
  margin: 0 auto;
}

.faq-section h2 {
	color:var(--h2-color);
	font-size:var(--page-h2-size);
	font-weight:700;
	letter-spacing:-0.75px;
	line-height:1;
	margin-bottom:40px;
}

.faq-item {
  background: #fff;
  border: 1px solid #e4ebf3;
  border-radius: 8px;
  margin-bottom: 16px;
  overflow: hidden;
  transition: all 0.25s ease;
}

.faq-question {
  width: 100%;
  text-align: left;
  background: transparent;
  border: none;
  padding: 18px 24px;
  font-size: 16px;
  color: #0f2742;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.faq-question:hover {
  background-color: #f2f6fa;
}

.faq-icon {
  color: #0f2742;
  transition: transform 0.25s ease;
}

.faq-item.open .faq-icon {
  transform: rotate(180deg);
}

.faq-answer {
  display: none;
  /*display: none;*/
  padding: 0 24px 18px;
  font-size: 16px;
  color: #4b5b6f;
  line-height: 1.7;
}

.faq-answer p {
	font-size: 16px;
}

.faq-item.open .faq-answer {
  display: block;
}

.faq-item.open .faq-icon { transform: rotate(180deg); }

/* Responsive */
@media (max-width: 768px) {
  .faq-section { padding: 70px 0px; }
  .faq-section h2 { font-size: 24px; text-align: center; }
  .faq-question { font-size: 15px; }
}








/* HOW WE HELP */
.how-help {
  padding: 60px 0;
  background: #ffffff;
  margin: auto;
}
}

.how-help h2 {
	color:var(--h2-color);
	font-size:var(--page-h2-size);
	font-weight:700;
	letter-spacing:-0.75px;
	line-height:1;
	margin-bottom:20px;
}

.help-steps {
  max-width: 920px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.help-step {
  display: flex;
  align-items: flex-start;
  gap: 18px;
}

.circle-num {
  background: var(--green);
  color: #ffffff;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 18px;
  flex-shrink: 0;
}

.help-content h4 {
  margin: 0 0 4px;
  font-size: 21px;
  font-weight: 700;
  color: var(--cta-dark);
}

.help-content p {
  margin: 0;
  color: var(--light-grey2);
  font-size: 18px;
  line-height: 1.6;
}







/* COMMON PROBLEMS & SOLUTIONS */
.problems {
  padding: 60px 0;
  background: #ffffff;
  margin:auto;
}

.problems .container {
	max-width: 1020px;
  margin: 0 auto;
}

.problems h2 {
	color:var(--h2-color);
	font-size:var(--page-h2-size);
	font-weight:700;
	letter-spacing:-0.75px;
	line-height:1;
	margin-bottom:20px;
}

.problems-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px 40px;
  margin: 0 auto;
}

.problem-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 22px 24px;
  box-shadow: 0 2px 0 rgba(17, 24, 39, 0.02);
}

.problem-card h3 {
  margin: 0 0 8px;
  font-size: 21px;
  font-weight: 700;
  color: var(--cta-dark);
}

.problem-card p {
  margin: 0;
  font-size: 18px;
  line-height: 1.6;
  color: var(--light-grey2);
}







/* CONTACT */
.contact-section {
  padding: 60px 0;
  background: #ffffff;
}

.contact-section .container {
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
	padding: 0 50px;
}

.contact-grid {
  display: grid;
  grid-template-columns: 1.45fr .9fr;
  gap: 30px;
}

.contact-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 28px;
}

.contact-card h2 {
  margin: 0 0 16px;
  font-size: 32px;
  letter-spacing: -0.3px;
  color: var(--cta-dark);
}

.contact-form .row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.field { margin: 14px 0; }
.field label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #1f2a44;
  margin-bottom: 8px;
}
.req { color: #e26a00; }

.field input,
.field textarea,
.select-wrap select {
  width: 100%;
  font: inherit;
  background: #fff;
  color: var(--cta-dark);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px 14px;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.field textarea { resize: vertical; }

.field input:focus,
.field textarea:focus,
.select-wrap select:focus {
  border-color: #b9c7da;
  box-shadow: 0 0 0 3px rgba(17, 97, 168, .08);
}

/* Custom select with chevron */
.select-wrap {
  position: relative;
}
.select-wrap select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 40px;
  background-color: #fff;
}
.select-wrap i {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 12px;
  color: var(--light-grey);
  pointer-events: none;
}

/* Submit */
.contact-submit {
	background-color:var(--navy);
	color: #ffffff;
  margin-top: 8px;
  padding: 12px 26px;
  border-radius: 8px;
  text-transform: none;
  border:0;
}


.contact-submit:hover {
	background-color: #32455a;
}

/* Sidebar */
.contact-side {
  display: grid;
  gap: 18px;
}

.info-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 20px 22px;
}

.info-card h4 {
  margin: 0 0 10px;
  font-size: 20px;
  color: var(--cta-dark);
}

.info-line {
  display: grid;
  grid-template-columns: 24px auto;
  gap: 12px;
  align-items: start;
  padding: 12px 0;
  border-top: 1px solid rgba(0,0,0,.04);
}
.info-line:first-of-type { border-top: 0; }

.info-line i {
  color: var(--green);
  font-size: 18px;
  line-height: 1;
  margin-top: 2px;
}
.info-line .label {
  font-weight: 700;
  color: var(--cta-dark);
  margin-bottom: 2px;
}
.info-card a { color: #0a62a2; text-decoration: none; }
.info-card a:hover { text-decoration: underline; }

/* Urgent help */
.help-card {
  background: #eeeeef;            /* subtle green tint */
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 18px 22px;
}
.help-card h5 {
  margin: 0 0 6px;
  font-size: 18px;
  color: var(--cta-dark);
}
.help-card p {
  margin: 0 0 12px;
  font-size: 16px;
  color: var(--light-grey2);
}
.help-card .call-now {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 18px;
  border-radius: 8px;
  background: var(--navy);
  color: #fff !important;
  text-decoration: none;
}




.home.home-ready {
	color:#ffffff;
	font-size:var(--home-h2-size);
	text-align:center;
	font-weight:700;
	letter-spacing:-0.75px;
	line-height:1;
	margin-bottom:20px;
}




/* STEPS */
.steps {
	position:relative;
	padding: 76px 0 36px;
	background: #ffffff;
}

.stepss {
	position: absolute;
    width: 100%;
    height: 2px;
    top: 32px;
    z-index:99;
}

.stepsss {
	background-color: #d2e6dd;
    display: table;
    width: calc(100% - 380px);
    height: 2px;
    margin: auto;
}

.steps h2 {
	text-align: center;
	margin: 0 0 44px;
	font-size: 46px;
}

.steps h2 {
	text-align: center;
	margin: 0 0 44px;
	font-size: 46px;
}

.step {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 10px;
	padding: 12px 10px;
	z-index:100;
}

.steps-line {
	position:absolute;
	top:100px;
	border-bottom:solid 1px #d2e6dd;
}

.step .circle img {
	width:70px;
	min-width:70px;
	height:70px;
}

.step .pill {
	display:table;
	font-size:17px;
	font-weight:700;
	color:var(--white);
	background-color:var(--navy);
	margin:auto;
	border-radius:50px;
	padding:3px 20px;
	padding-bottom:3px 20px;
	margin-top:35px;
	margin-bottom:0px;
}

.step h2 {
	font-size:25px;
	margin-top:10px;
}

.team h2 {
	font-size:48px;
	margin-top:10px;
}

.team p {
	font-size:22px;
	color:var(--light-grey);
	line-height:1.5;
	margin-top:-10px;
	margin-top:0px;
}

.step p {
	font-size:20px;
	color:var(--light-grey);
	line-height:1.25;
	margin-top:-10px;
	margin-top:0px;
}

.line-1 {
	background-image: url("steps.jpg");
	background-position: 50% center;        /* start at the horizontal center (50%) */
	background-repeat: repeat-x;       /* repeat horizontally only */
}

.line-2 {
	background-image: url("steps.jpg");
	background-repeat: repeat-x;       /* repeat horizontally only */
	background-position: 0 0;        /* start at the horizontal center (50%) */
	background-attachment: scroll;     /* normal scrolling behavior */
}

.line-3 {
	background-image: url("steps.jpg");
	background-repeat: repeat-x;       /* repeat horizontally only */
	background-position: center 50%;        /* start at the horizontal center (50%) */
	background-attachment: scroll;     /* normal scrolling behavior */
}

.circle {
	width: 100%;
	height: 44px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* SOLUTIONS */
.solutions {
	padding: 40px 0 32px;
	background: var(--tile);
}

.solutions h2 {
	text-align: center;
	margin: 0px 0px 0px 0px;
	letter-spacing:-0.75px;
	font-size: 46px;
}

.solutions p.expert {
	text-align: center;
	font-size: 19px;
	color:var(--green);
	margin-bottom:10px;
	font-weight:700;
}

.solutions p.comp {
	text-align: center;
	font-size: 19px;
	color:var(--light-grey2);
	font-weight:300;
	margin-top:0px;
	margin-bottom:80px;
}

.sol {
	background: #fff;
	border-radius: 8px;
	padding: 20px 14px;
	display: flex;
	align-items: center;
	gap: 10px;
	font-size:22px;
}

.sol-left {
	position:relative;
	right:0px;
	background: #fff;
	border: 0;
	border-radius: 8px;
	padding: 20px 14px;
	display: flex;
	align-items: center;
	gap: 10px;
	width:66%;
}

.tick {
	color: var(--accent);
	font-weight: 800;
}

/* TEAM */
.team {
	padding: 75px 0 40px 0;
	background: var(--tile);
}

.team .wrap {
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: 40px;
	align-items: center;
}

.photo img {
	border-radius: 15px;
	box-shadow: 0 20px 40px rgba(0, 0, 0, .12);
	background: #d9dde4;
}

/* WHY */
.why {
	padding: 26px 0 10px;
	background: #ffffff;
	margin-bottom:100px;
}

.why h2 {
	text-align: center;
	font-size:48px;
	margin-top:10px;
}

.why p.subtitle {
	display:table;
	width:55%;
	text-align:center;
	font-size:22px;
	color:var(--light-grey);
	line-height:1.5;
	margin:auto;
	margin-top:-10px;
	margin-bottom:50px;
}

.whygrid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	width:80%;
	margin:auto;
}

.whycard {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 10px;
	padding: 18px;
	min-height: 130px;
	text-align:center;
}

.whycard img {
	margin: 7px auto 18px auto;
}

.whycard h4 {
	margin: 0px 0px 6px 0px;
	text-transform:uppercase;
	font-size:20px;
}

.whycard p {
	color:#66667f;
	font-size:18px;
	line-height:1.4;
}

/* FAQ */
.faq {
	padding: 90px 0px 90px 0px;
	background: #ffffff;
}

.faq h4 {
	text-align: center;
	font-size: 18px;
	color:var(--light-grey);
}

.home-faq {
	margin-bottom:100px;
}

.home-faq h2 {
	color:var(--h2-color);
	font-size:var(--home-h2-size);
	text-align: center;
	font-weight:700;
	letter-spacing:-0.75px;
	line-height:1;
	margin-bottom:0px;
}

.home-faq h4 {
	color:var(--green) !important;
	text-align: center;
	text-dexoration:uppercase;
	margin: 0px 0px 10px 0px;
	letter-spacing:-0.75px;
	font-size: 16px;
}

.home-faq h5 {
	color:var(--silver) !important;
	text-align: center;
	margin: 0px 0px 50px 0px;
	letter-spacing:-0.75px;
	font-weight:500;
	font-size: 16px;
}

.faq h2 {
	color:var(--h2-color);
	font-size:var(--home-h2-size);
	text-align: left;
	font-weight:700;
	letter-spacing:-0.75px;
	line-height:1;
	margin-bottom:20px;
}





.faq h5 {
	text-align: center;
	font-size: 19px;
	font-weight:300;
	color:var(--light-grey2);
	margin-bottom:50px;
}

.accordion {
	max-width: 900px;
	margin: 0 auto;
	border-top: 1px solid var(--line);
}

.accordion details {
	border-bottom: 1px solid var(--line);
	padding: 14px 0;
	position:relative;
}

.accordion summary {
	cursor: pointer;
	font-weight: 700;
	font-size:22px;
	color:#112233;
}

.accordion p {
	color: #56627a;
	margin: 28px 0px 28px 0px;
	font-size:19px;
}

.accordion i {
	color: #56627a;
	margin: 8px 0 0;
	position:absolute;
	top:1px;
	right:0px;
	font-size:15px;
}

.accordion summary::marker,
.accordion summary::-webkit-details-marker {
 	display: none !important;
}

.accordion details > summary {
  list-style: none;           /* Firefox + general */
  display: block;             /* avoid reserved marker space */
  position: relative;         /* for right icon positioning */
  padding-right: 28px;        /* room for the chevron */
}
.accordion details > summary::-webkit-details-marker { 
  display: none;              /* Chrome/Safari */
}
.accordion details > summary::marker { 
  content: "";                /* some Chromium builds */
}

details[open] summary i {
  transform: rotate(180deg);
}

/* CTA BAND */
.cta-band {
	/*
	background: linear-gradient(135deg, var(--blue-900) 0%, var(--blue-800) 55%, var(--blue-700) 100%);
	*/
	background-image:url("resolve.jpg");
	background-position:center;
	background-attachment:fixed;
	color: #fff;
	padding: 90px 0;
}

.cta-band .inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap;
}

.cta-band h2 {
	color:#ffffff;
	text-align: center;
	letter-spacing:-0.75px;
	font-size: 46px;
	width:100%;
	margin-bottom:0px;
}

.cta-band h4 {
	text-align: center;
	letter-spacing:-0.75px;
	font-size: 24px;
	width:100%;
	font-weight:300;
	margin-bottom:0px;
}

.cta-band p {
	text-align: center;
	letter-spacing:-0.75px;
	font-size: 18px;
	width:100%;
	color:var(--light-grey);
	margin-top:0px;
}

.cta-band .actions {
	display:table;
	margin:auto;
}

.cta-band .actions a {
	margin:0px 10px;
}

/* FOOTER */
.site-footer {
	background: var(--tile);
    color: #0f2742;
	margin-top:30px;
	padding:30px 50px;
	border-top:solid 1px #dee5ed;
}

.disclaimer {
	border-top: 1px solid var(--line);
	margin-top:20px;
	padding-top:40px;
}

.site-footer .upper {
	padding: 20px 0px 60px 0px;
}

.footergrid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 50px;
}

.site-footer h5 {
	margin: 0 0 8px;
	font-size: 21px;
	letter-spacing: .6px;
	color: #23304a;
}

.site-footer p {

	font-size: 17px;
	line-height:1.4;
	margin-bottom:0px;
}

.site-footer .cr {

	font-size: 15px;
}

.site-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* no bullets */
.site-footer li {
    color: #0f2742;
	margin: 6px 0;
	font-size: 18px;
	line-height:1.4;

}

.site-footer li img {
	display:inline-table;
	vertical-align:top;
}


.site-footer a {
	color: #334155;

}

.site-footer .lower {
	font-size: 12px;
	color: #0f2742;
	border-top: 1px solid var(--line);
	padding: 14px 0;
}

.site-footer .logo {
	width:62px;
	min-width:62px;
	height:58px;
}

.site-footer .btn-primary {
	background-color:var(--green);
	text-decoration:none;
	font-size:20px;
	font-weight:700;
	padding:10px 30px;
	color:#ffffff;
}

.site-footer .btn-dark {
	background: var(--dark-green);
	text-decoration:none;
	font-size:20px;
	font-weight:700;
	padding:10px 30px;
	color:#ffffff;
}

.contact-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.contact-item {
  display: grid;
  grid-template-columns: 18px auto; /* icon column + text column */
  column-gap: 8px;
  align-items: start;
  margin-bottom: 10px;
}

.icon {
  width: 18px;
  height: auto;
  display: block; /* no baseline wobble */
}

.contact-item span {
  line-height: 1.4; /* your preferred rhythm */
}


.copy {
	text-align:center;
	color:var(--light-grey);
	font-size:17px;
	margin-bottom:10px;
	font-weight:300;
}

.disclaimer .content {
	max-width:67%;
	margin:0 auto;
	text-align:center;
	color:var(--light-grey);
	font-size:16px;
	line-height:1.55;
	padding-bottom:50px;
	font-weight:300;
}










/* Services Tabs Section */
.services-tabs-section {
  padding: 40px 0 20px;
  background-color: #f9fafb; /* same light neutral tone used across the site */
}
.services-tabs-section .container {
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
	padding: 0 50px;
}

.services-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: flex-start;
  padding-bottom:50px;
}

.services-tabs .tab {
  appearance: none;
  border: 1px solid #dce2ea;
  background-color: #ffffff;
  color: #0d2b45;
  padding: 10px 20px;
  border-radius: 8px;
  font-family: "Open Sans", Arial, sans-serif;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.services-tabs .tab:hover {
  border-color: #c3ccd6;
  background-color: #f3f7fa;
}

.services-tabs .tab.is-active {
  background-color: #0f2742; /* navy blue */
  color: #ffffff;
  border-color: #0f2742;
}

.services-tabs .tab:focus-visible {
  outline: 2px solid #64b1ff;
  outline-offset: 2px;
}










/* SERVICES CARDS SECTION */
.services-cards-section {
  padding: 10px 0 60px; /* sits under tabs section comfortably */
  background: #ffffff;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

/* Card base */
.service-card {
  background: var(--tile, #f9fbfd);
  border: 1px solid var(--line, #e4ebf3);
  border-radius: 10px;
  padding: 18px 18px 16px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  transition: box-shadow .18s ease, transform .18s ease;
}

.service-card:hover {
  box-shadow: 0 6px 18px rgba(20, 32, 60, 0.08);
  transform: translateY(-2px);
}

/* Title & text */
.service-title {
  margin: 0 0 8px;
  font-size: 18px;
  line-height: 1.25;
  color: var(--cta-dark, #424a54);
  font-weight: 800; /* matches your headline weight */
  letter-spacing: -0.2px;
}

.service-excerpt {
  margin: 0 0 12px;
  color: var(--light-grey2, #66667f);
  font-size: 15px !important;
  line-height: 1.45;
}

/* Link / CTA */
.service-link {
  margin-top: auto;
  font-weight: 700;
  font-size: 16px;
  color: var(--green);
  text-decoration: none;
}

.service-link:hover {
  text-decoration: underline;
}

/* Filter utility used by tabs JS */
.service-card.is-hidden {
  display: none;
}

/* Responsive grid */
@media (max-width: 1100px) {
  .services-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 620px) {
  .services-grid {
    grid-template-columns: 1fr;
  }
}







header ul.menu {
  list-style-type: none; /* Removes the bullet points */
  padding: 0;           /* Removes default left padding */
  margin: 0;            /* Removes default top and bottom margin */
}

header ul.menu > li,
header li.menu-item {
  display:inline-table !important;
  list-style-type: none;
}




/* Services dropdown */
.menu .menu-item-has-children { position: relative; }
#servicesChevron {
  display:inline-flex; align-items:center; justify-content:center;
  width:24px; height:24px; margin-left:6px; cursor:pointer;
  background:transparent; border:0; font-size:16px; line-height:1;
  transform: rotate(0deg); transition: transform .15s ease;
}
#servicesChevron.open { transform: rotate(180deg); }

/* Hide default submenu; enable slide-down */
.menu .menu-item-has-children > .sub-menu {
  position: absolute; left:0; top:100%;
  background:#fff; min-width:320px; box-shadow:0 8px 24px rgba(0,0,0,.08);
  list-style:none; margin:8px 0 0; padding:12px; border-radius:8px;
  overflow:hidden; max-height:0; opacity:0; pointer-events:none;
  transition:max-height .18s ease, opacity .15s ease;
}
.menu .menu-item-has-children.open > .sub-menu {
  max-height:600px; opacity:1; pointer-events:auto;
}
.menu .menu-item-has-children > .sub-menu li { margin:0; }
.menu .menu-item-has-children > .sub-menu a {
  display:block; padding:8px 10px; color:#33333c; text-decoration:none;
}
.menu .menu-item-has-children > .sub-menu a:hover { background:rgba(0,0,0,.06); border-radius:6px; }





/* Services chevron on the right side of the Services link */
.menu-item-services > a {
  position: relative;
  padding-right: 1.75rem;
}
.menu-item-services > a::after {
  content: "";
  position: absolute;
  right: 0.75rem;
  top: 50%;
  width: 0.5rem;
  height: 0.5rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  transition: transform 150ms ease;
}

/* Rotate chevron when open */
body.services-open .menu-item-services > a::after {
  transform: translateY(-50%) rotate(-135deg);
}

/* Full-width dropdown under header */
.services-panel {
  position: sticky; /* follows the header edge */
  top: var(--site-header-height, 80px); /* set this to your actual header height if needed */
  z-index: 1000;
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);

  /* Hidden state */
  max-height: 0;
  overflow: clip;
  opacity: 0;
  transform: translateY(-6px);
  transition:
    max-height 220ms ease,
    opacity 160ms ease,
    transform 160ms ease;
}

/* Visible */
.services-panel.is-open {
  max-height: 70vh;    /* allows slide feel */
  opacity: 1;
  transform: translateY(0);
  overflow: auto;      /* scroll if tall */
}

/* Inner layout */
.services-panel__inner.container {
  padding-block: 1.25rem;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.services-col {
  list-style: none;
  margin: 0;
  padding: 0;
}
.services-col li + li {
  margin-top: 0.5rem;
}
.services-col a {
  text-decoration: none;
  color: #33333c;
}
.services-col a:hover {
  text-decoration: underline;
}

/* Page blur behind the panel when open (optional but adds depth) */
body.services-open main,
body.services-open #content {
  filter: blur(2px);
  transition: filter 120ms ease;
}

/* Small screens stack */
@media (max-width: 900px) {
  .services-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 600px) {
  .services-grid {
    grid-template-columns: 1fr;
  }
}

/* Remove bullets and align URL text in your primary nav for consistency */
.primary-nav ul,
.primary-nav li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.primary-nav a {
  text-decoration: none;
  display: inline-block;
  vertical-align: middle;
}






















h2.home {
	color:var(--h2-color);
	font-size:var(--home-h2-size);
	font-weight:700;
	letter-spacing:-0.75px;
	line-height:1;
	margin-bottom:20px;
}

h2 {
	color:var(--h2-color);
	font-size:var(--page-h2-size);
	font-weight:700;
	letter-spacing:-0.75px;
	line-height:1;
	margin-bottom:20px;
}






















/* ===== Responsive ===== */
@media (max-width: 900px){
  .services-columns { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px){
  .services-columns { grid-template-columns: 1fr; }
}






/* RESPONSIVE */

@media (max-width:1200px) {

	.hero {
		padding:50px 0px 70px 0px;
	}

	.grid-hero,
	.team .wrap {
		grid-template-columns: 1fr;
	}

	.grid-2 {
		width:100%;
	}

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

	.cta-band .inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.topbar .inner {
		display: table;
	}

	.topbar .nav {
		position:relative;
		top:-25px;
	}

	nav a {
		display:inline-table;
		padding:0px 15px;
	}

	.header-cta {
		text-align:right;
	}

	.image-one img {
		position:static;
		margin:auto;
	}

	.photo img {
		margin:auto;
	}

	.team h2,
	.team p {
		text-align:center;
	}

}








/* Mobile */
@media (max-width: 980px) {

	.page-hero-content {
		width:100%;
	}

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

  .container {
    padding: 0 20px !important;
  }

  .site-footer {
  	padding:30px 0px;
  }

  h1 {
  	font-size: 40px !important;
    line-height: 1.2 !important;
  }

  h2 {
  	font-size: 34px !important;
    line-height: 1.2 !important;
  }

  .topbar {
  	padding: 10px 0px;
  }

  .home-container {
  	padding: 0 20px;
  }

}









@media (max-width:780px) {

	header {
		padding:0px 20px;
	}

	.container {
		padding:40px 20px 0px 20px;
	}

	.disclaimer .content {
		max-width:100%;
		width:100%;
		padding-bottom:50px;
	}

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

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

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

	.hero h1 {
		font-size: 34px;
	}

	.phone-big {
		font-size: 22px;
		text-align: center;
	}

	.header-cta .cta-1 {
		font-size:25px;
	}

	.footergrid {
		display:table;
		width:100%;
	}

	.footergrid > div {
		display:table;
		width:100%;
		margin-bottom:50px;
	}


  .who-grid {
  	display: table;
    grid-template-columns: 1fr;
    max-width: 100%;
  }
  .who-helps h2 {
    font-size: 34px;
  }


  .audit-intro {
    padding: 36px 0 44px;
  }
  .audit-intro .audit-narrow {
    max-width: 100%;
  }
  .audit-intro h2 {
    font-size: 34px;
  }
  .audit-intro p {
    font-size: 18px;
    line-height: 1.7;
  }

  .how-help h2 {
    font-size: 34px;
  }

  .help-steps {
    gap: 24px;
  }

  .circle-num {
    width: 32px;
    height: 32px;
    font-size: 16px;
  }

  .help-content h4 {
    font-size: 19px;
  }

  .help-content p {
    font-size: 17px;
    line-height: 1.6;
  }

  .problems h2 {
    font-size: 34px;
  }
  .problems-grid {
    grid-template-columns: 1fr;
    max-width: 100%;
    gap: 18px;
  }
  .problem-card {
    padding: 18px 20px;
  }



}







/* Responsive Adjustments */
@media (max-width: 600px) {
  .services-tabs {
    justify-content: center;
  }

  .services-tabs .tab {
    font-size: 14px;
    padding: 9px 16px;
  }
}







@media (max-width:560px) {

	.topbar .nav {
		width:calc(100% - 82px);
	}

	.nav a {
		font-size:16px;
		padding: 0px 10px 0px 0px;
	}

	.svc-chevron {
	  padding: 10px;
    margin-left: -10px;
  }

	.header-cta {
		text-align:center;
	}

	.header-cta .cta-1 {
		width:calc(50% - 10px);
		font-size:16px;
		padding:5px 20px;
	}

	.hide-call {
		display:none;
	}

	i.fa-phone {
		font-size:14px;
	}

	.header-cta .cta-2 {
		width:calc(50% - 10px);
		font-size:16px;
		padding:5px 20px;
		margin-left:0px;
		text-align:center;
	}

	.hero .btn-primary,
	.hero .btn-ghost {
		width:100%;
		text-align:center;
	}

	.services-tabs-section > .container {
		padding: 0px 20px !important;
	}

	.meta span {
		width:30px;
	}

	.solutions .qualify {
		width:100%;
	}

	.cta-band .actions a {
		width:100%;
		margin:0px 0px 10px 0px;
		text-align:center;
	}

	.site-footer .fnav a {
		display:table;
		padding:10px 0px;
	}

  .contact-card {
  	padding: 22px;
  }
  .contact-form .row-2 {
  	grid-template-columns: 1fr;
  }

  .service-title {
  	font-size:22px;
  }

  .service-excerpt {
  	font-size:19px !important;
  }

  .service-link {
  	margin:auto;
  }

  .services-tabs .tab {
  	margin: 0px -5px;
  }

  .service-card {
  	box-shadow: 0 6px 18px rgba(20, 32, 60, 0.08);
  }

  .contact-submit {
  	width: 100%;
    padding: 20px 0px;
    font-size: 18px;
  }

  .call-now {
  	margin: 15px 0px 5px 0px;
  	text-align: center;
  }

}
.privacy-table {
  width: 100%;
  border-collapse: collapse; /* important for full grid */
}

.privacy-table th,
.privacy-table td {
  border: 1px solid #ccc; /* full grid lines */
  padding: 10px;
  vertical-align: top;
}

.privacy-table th {
  background: #f7f7f7; /* optional: header shading */
  font-weight: bold;
}


.privacy-page{
line-height: 2.0;
}


/* Fix horizontal overflow flashes on mobile */
html, body {
    overflow-x: hidden !important;
}

/* Ensure modal never exceeds viewport width */
.rftg-fcp-modal,
.rftg-fcp-overlay {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* Prevent hidden modal from affecting layout */
.rftg-fcp-modal[hidden],
.rftg-fcp-overlay[hidden] {
    display: none !important;
}





