.elementor-kit-8{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;font-family:"Open Sans", Sans-serif;font-size:15px;font-weight:400;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-kit-8 a{font-family:"Montserrat", Sans-serif;}.elementor-kit-8 h1{font-family:"Montserrat", Sans-serif;font-weight:800;}.elementor-kit-8 h2{font-family:"Montserrat", Sans-serif;font-weight:700;}.elementor-kit-8 h3{font-family:"Montserrat", Sans-serif;font-weight:700;}.elementor-kit-8 h4{font-family:"Montserrat", Sans-serif;font-weight:600;}.elementor-kit-8 h5{font-family:"Montserrat", Sans-serif;font-weight:600;}.elementor-kit-8 h6{font-family:"Montserrat", Sans-serif;font-weight:600;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =============================================
   HOME HQ 518 — Global Custom CSS
   Apply in: Appearance > Customize > Additional CSS
   ============================================= */

/* ---------- ROOT VARIABLES ---------- */
:root {
  --hq-navy:         #1c3a5c;
  --hq-navy-dark:    #142b45;
  --hq-green:        #6b7c52;
  --hq-green-dark:   #57663f;
  --hq-bg:           #f4f7f4;
  --hq-bg-light:     #ffffff;
  --hq-text:         #3a3a3a;
  --hq-text-light:   rgba(255,255,255,0.85);
  --hq-border:       rgba(28,58,92,0.15);
  --hq-font-heading: 'Montserrat', 'Open Sans', sans-serif;
  --hq-font-body:    'Open Sans', 'Lato', sans-serif;
}

/* ---------- GLOBAL BODY ---------- */
body {
  background-color: var(--hq-bg-light);
  color: var(--hq-text);
  font-family: var(--hq-font-body);
  font-size: 15px;
  line-height: 1.7;
}

/* ---------- TYPOGRAPHY ---------- */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--hq-font-heading);
  color: var(--hq-navy);
  font-weight: 700;
  letter-spacing: -0.01em;
}

h1 { font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.1; }
h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); line-height: 1.2; }
h3 { font-size: clamp(1.1rem, 2vw, 1.4rem); }

p { color: var(--hq-text); }

/* ---------- SECTION LABELS ---------- */
.section-label {
  font-family: var(--hq-font-heading);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--hq-green);
  margin-bottom: 0.75rem;
  display: block;
  font-weight: 600;
}

/* ---------- BUTTONS ---------- */
.elementor-button.btn-navy,
.btn-navy {
  background: var(--hq-navy) !important;
  border: 2px solid var(--hq-navy) !important;
  color: #ffffff !important;
  font-family: var(--hq-font-heading);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 14px 28px !important;
  border-radius: 4px !important;
  transition: all 0.3s ease;
}

.elementor-button.btn-navy:hover {
  background: var(--hq-navy-dark) !important;
  border-color: var(--hq-navy-dark) !important;
}

.elementor-button.btn-green,
.btn-green {
  background: var(--hq-green) !important;
  border: 2px solid var(--hq-green) !important;
  color: #ffffff !important;
  font-family: var(--hq-font-heading);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 14px 28px !important;
  border-radius: 4px !important;
  transition: all 0.3s ease;
}

.elementor-button.btn-green:hover {
  background: var(--hq-green-dark) !important;
  border-color: var(--hq-green-dark) !important;
}

.elementor-button.btn-outline-navy,
.btn-outline-navy {
  background: transparent !important;
  border: 2px solid var(--hq-navy) !important;
  color: var(--hq-navy) !important;
  font-family: var(--hq-font-heading);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 12px 28px !important;
  border-radius: 4px !important;
  transition: all 0.3s ease;
}

.elementor-button.btn-outline-navy:hover {
  background: var(--hq-navy) !important;
  color: #ffffff !important;
}

/* ---------- NAVIGATION ---------- */
.elementor-nav-menu--main .elementor-item {
  font-family: var(--hq-font-heading) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  color: var(--hq-navy) !important;
}

.elementor-nav-menu--main .elementor-item:hover,
.elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: var(--hq-green) !important;
}

/* ---------- HERO SECTION ---------- */
.section-hero {
  min-height: 85vh;
  position: relative;
  overflow: hidden;
}

.section-hero .hero-heading {
  color: var(--hq-navy);
  font-weight: 800;
}

/* ---------- FEATURES BAR (We Help Homeowners) ---------- */
.section-features-bar {
  background-color: var(--hq-bg-light);
  border-top: 1px solid var(--hq-border);
  border-bottom: 1px solid var(--hq-border);
  padding: 32px 0 !important;
}

.feature-icon-item .icon-label {
  font-family: var(--hq-font-heading);
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--hq-navy);
  text-align: center;
  margin-top: 8px;
}

/* ---------- WHY HOME HQ SECTION ---------- */
.section-why {
  background-color: var(--hq-bg);
  padding: 80px 0 !important;
}

.why-card {
  background: var(--hq-bg-light);
  border: 1px solid var(--hq-border);
  border-radius: 6px;
  padding: 32px 24px;
  text-align: center;
  transition: box-shadow 0.3s ease;
}

.why-card:hover {
  box-shadow: 0 8px 32px rgba(28,58,92,0.12);
}

.why-card .card-icon {
  background: var(--hq-navy);
  color: #ffffff;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
}

.why-card .card-title {
  color: var(--hq-navy);
  font-weight: 700;
}

.why-card .card-desc {
  color: var(--hq-text);
  font-size: 0.9rem;
}

/* ---------- MEMBERSHIP CARDS ---------- */
.section-memberships {
  background-color: var(--hq-bg-light);
  padding: 80px 0 !important;
}

.membership-card {
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid var(--hq-border);
}

.membership-card.card-navy {
  background: var(--hq-navy);
  color: #ffffff;
}

.membership-card.card-green {
  background: var(--hq-green);
  color: #ffffff;
}

.membership-card .card-heading {
  font-family: var(--hq-font-heading);
  font-size: 1.1rem;
  font-weight: 700;
  color: #ffffff;
}

.membership-card .card-sub {
  color: rgba(255,255,255,0.80);
  font-size: 0.85rem;
}

.membership-card .card-list li {
  color: rgba(255,255,255,0.90);
  font-size: 0.88rem;
  padding: 4px 0;
}

.membership-badge {
  background: var(--hq-green);
  color: #ffffff;
  font-family: var(--hq-font-heading);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 4px 16px;
  border-radius: 20px;
}

/* ---------- TESTIMONIALS ---------- */
.section-testimonials {
  background-color: var(--hq-bg);
  padding: 80px 0 !important;
}

.testimonial-card {
  background: var(--hq-bg-light);
  border: 1px solid var(--hq-border);
  border-radius: 6px;
  padding: 32px;
}

.testimonial-card .stars {
  color: #f5a623;
}

.testimonial-card blockquote {
  color: var(--hq-text);
  font-style: italic;
  font-size: 0.95rem;
  line-height: 1.7;
}

.testimonial-card .reviewer {
  color: var(--hq-navy);
  font-weight: 700;
  font-size: 0.85rem;
}

/* ---------- PROCESS STEPS ---------- */
.section-process {
  background-color: var(--hq-bg-light);
  padding: 80px 0 !important;
}

.step-number {
  background: var(--hq-navy);
  color: #ffffff;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--hq-font-heading);
  font-weight: 700;
  font-size: 1rem;
  flex-shrink: 0;
}

.step-title {
  font-family: var(--hq-font-heading);
  font-weight: 700;
  color: var(--hq-navy);
}

.step-desc {
  color: var(--hq-text);
  font-size: 0.88rem;
}

.step-arrow {
  color: var(--hq-green);
  font-size: 1.5rem;
}

/* ---------- CTA BANNER ---------- */
.section-cta {
  background-color: var(--hq-navy);
  padding: 60px 0 !important;
}

.section-cta h2 {
  color: #ffffff;
}

.section-cta p {
  color: var(--hq-text-light);
}

/* ---------- FOOTER ---------- */
.site-footer,
.section-footer {
  background-color: var(--hq-bg);
  border-top: 1px solid var(--hq-border);
  padding: 40px 0 24px !important;
  color: var(--hq-text);
  font-size: 0.85rem;
}

.footer-logo-text {
  color: var(--hq-navy);
  font-family: var(--hq-font-heading);
  font-weight: 700;
}

.footer-tagline {
  color: var(--hq-text);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.footer-contact-item {
  color: var(--hq-text);
  font-size: 0.85rem;
}

.footer-contact-item .icon {
  color: var(--hq-green);
}

.footer-bottom {
  border-top: 1px solid var(--hq-border);
  padding-top: 20px;
  margin-top: 32px;
  text-align: center;
  font-size: 0.72rem;
  color: rgba(58,58,58,0.6);
}

/* ---------- NAVY DIVIDER ---------- */
.navy-divider {
  width: 48px;
  height: 3px;
  background: var(--hq-navy);
  margin: 12px 0 20px;
}

.green-divider {
  width: 48px;
  height: 3px;
  background: var(--hq-green);
  margin: 12px 0 20px;
}

/* ---------- SERVICE ICON GRID ---------- */
.service-icon-wrap {
  text-align: center;
  padding: 16px 8px;
}

.service-icon-wrap .icon-circle {
  background: rgba(28,58,92,0.08);
  color: var(--hq-navy);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 10px;
  font-size: 1.4rem;
}

.service-icon-wrap .icon-label {
  font-family: var(--hq-font-heading);
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--hq-navy);
  line-height: 1.3;
}
.membership-navy {
  background-color: #1c3a5c !important;
  border-radius: 6px !important;
  padding: 36px 28px !important;
  border: none !important;
  box-shadow: none !important;
}

.membership-green {
  background-color: #6b7c52 !important;
  border-radius: 6px !important;
  padding: 36px 28px !important;
  border: none !important;
  box-shadow: none !important;
}

.membership-navy h3,
.membership-green h3 {
  color: #ffffff !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
}

.membership-navy p,
.membership-navy li,
.membership-green p,
.membership-green li {
  color: rgba(255,255,255,0.85) !important;
  font-family: Open Sans, sans-serif !important;
  font-size: 13px !important;
}

.membership-navy a {
  display: block !important;
  text-align: center !important;
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
  background: transparent !important;
  padding: 12px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

.membership-green a {
  display: block !important;
  text-align: center !important;
  background: #ffffff !important;
  color: #6b7c52 !important;
  border: none !important;
  padding: 12px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  font-weight: 700 !important;
}
.wpforms-submit {
  background-image: linear-gradient(#1c3a5c, #1c3a5c) !important;
  background-color: #1c3a5c !important;
  border: none !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  padding: 14px 32px !important;
  border-radius: 4px !important;
}
/* Fix link color bleed - contact column only */
.elementor-widget-html .wpforms-container p,
.elementor-widget-html p a {
  color: #3a3a3a !important;
}

/* Fix WPForms sub-label color */
.wpforms-field-sublabel {
  color: #888888 !important;
}

/* Fix WPForms sub-label color */
.wpforms-field-sublabel {
  color: #888888 !important;
}/* End custom CSS */