.elementor-kit-5{--e-global-color-primary:#1F3A5F;--e-global-color-secondary:#4A6FA5;--e-global-color-text:#1F2933;--e-global-color-accent:#F2C94C;--e-global-color-31890af:#FFFFFF;--e-global-color-bd2a54c:#F5F7FA;--e-global-color-0232e8b:#E1E6ED;--e-global-color-d9662f0:#E6B93F;--e-global-color-be51829:#F8FAFC;--e-global-typography-primary-line-height:1.2em;--e-global-typography-bfa04ec-font-size:19px;--e-global-typography-bfa04ec-font-weight:600;--e-global-typography-1dce64a-font-size:21px;--e-global-typography-1dce64a-font-style:italic;--e-global-typography-8c74e79-text-transform:uppercase;--e-global-typography-8c74e79-line-height:1.2em;--e-global-typography-5533188-font-size:16px;--e-global-typography-5533188-font-weight:400;--e-global-typography-5533188-text-transform:uppercase;--e-global-typography-5533188-line-height:1.2em;--e-global-typography-be5f46d-font-size:50px;--e-global-typography-be5f46d-line-height:1.2em;--e-global-typography-be39068-font-size:13px;--e-global-typography-be39068-font-weight:500;--e-global-typography-be39068-text-transform:uppercase;--e-global-typography-9be7d60-font-weight:500;color:var( --e-global-color-text );font-size:18px;font-weight:400;line-height:1.6em;letter-spacing:0px;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:var( --e-global-color-accent );font-size:16px;font-weight:600;line-height:1.2em;letter-spacing:0px;color:var( --e-global-color-text );border-radius:12px 12px 12px 12px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:var( --e-global-color-d9662f0 );color:var( --e-global-color-text );}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:var( --e-global-color-primary );}.elementor-kit-5 a:hover{color:var( --e-global-color-accent );}.elementor-kit-5 h1{color:var( --e-global-color-text );font-size:48px;font-weight:700;line-height:1.2em;letter-spacing:0px;}.elementor-kit-5 h2{color:var( --e-global-color-text );font-size:38px;font-weight:700;line-height:1.2em;}.elementor-kit-5 h3{color:var( --e-global-color-text );font-size:28px;font-weight:700;line-height:1.25em;}.elementor-kit-5 h4{color:var( --e-global-color-text );font-size:22px;font-weight:600;line-height:1.3em;}.elementor-kit-5 h5{color:var( --e-global-color-text );font-size:18px;font-weight:600;line-height:1.4em;}.elementor-kit-5 h6{color:var( --e-global-color-text );font-size:16px;font-weight:600;line-height:1.4em;}.elementor-kit-5 img{border-radius:12px 12px 12px 12px;}.elementor-kit-5 label{color:var( --e-global-color-text );}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{color:var( --e-global-color-text );accent-color:var( --e-global-color-primary );background-color:var( --e-global-color-31890af );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-0232e8b );border-radius:12px 12px 12px 12px;}.elementor-kit-5 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea:focus,.elementor-kit-5 .elementor-field-textual:focus{color:var( --e-global-color-text );accent-color:var( --e-global-color-primary );background-color:var( --e-global-color-31890af );box-shadow:0px 0px 0px 2px rgba(31.000000000000004, 42, 68, 0.25);}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end: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-kit-5{--e-global-typography-be5f46d-font-size:36px;font-size:17px;line-height:1.6em;}.elementor-kit-5 h1{font-size:40px;line-height:1.15em;letter-spacing:0px;}.elementor-kit-5 h2{font-size:30px;}.elementor-kit-5 h3{font-size:24px;}.elementor-kit-5 h4{font-size:20px;}.elementor-kit-5 h5{font-size:17px;}.elementor-kit-5 h6{font-size:15px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{--e-global-typography-be5f46d-font-size:28px;font-size:16px;line-height:1.6em;}.elementor-kit-5 h1{font-size:32px;line-height:1.2em;}.elementor-kit-5 h2{font-size:26px;line-height:1.25em;}.elementor-kit-5 h3{font-size:21px;line-height:1.3em;}.elementor-kit-5 h4{font-size:18px;line-height:1.35em;}.elementor-kit-5 h5{font-size:16px;}.elementor-kit-5 h6{font-size:14px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =====================================================
   DESIGN TOKENS
   ===================================================== */

:root {
  --radius-sm: 8px;
  --radius-md: 12px;
  --border-subtle: #E1E6ED;
}

/* =====================================================
   SECTION LAYOUT SYSTEM
   Controls vertical rhythm only
   ===================================================== */

/* ---------- HERO SECTION ---------- */
.section-hero {
  padding-top: 120px;
  padding-bottom: 120px;
}

@media (max-width: 1024px) {
  .section-hero {
    padding-top: 96px;
    padding-bottom: 96px;
  }
}

@media (max-width: 767px) {
  .section-hero {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}

/* ---------- STANDARD SECTION ---------- */
.section-standard {
  padding-top: 80px;
  padding-bottom: 80px;
}

@media (max-width: 1024px) {
  .section-standard {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}

@media (max-width: 767px) {
  .section-standard {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}

/* ---------- COMPACT SECTION ---------- */
.section-compact {
  padding-top: 56px;
  padding-bottom: 56px;
}

@media (max-width: 1024px) {
  .section-compact {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}

@media (max-width: 767px) {
  .section-compact {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

/* ---------- NARROW CONTENT SECTION ---------- */
.section-narrow {
  padding-top: 80px;
  padding-bottom: 80px;
}

@media (max-width: 1024px) {
  .section-narrow {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}

@media (max-width: 767px) {
  .section-narrow {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}

/* ---------- FULL BLEED SECTION ---------- */
.section-full {
  padding-top: 80px;
  padding-bottom: 80px;
}

@media (max-width: 1024px) {
  .section-full {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}

@media (max-width: 767px) {
  .section-full {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}

/* ---------- SPLIT SECTION ---------- */
.section-split {
  padding-top: 96px;
  padding-bottom: 96px;
}

@media (max-width: 1024px) {
  .section-split {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

@media (max-width: 767px) {
  .section-split {
    padding-top: 56px;
    padding-bottom: 56px;
  }
}

/* =====================================================
   GLOBAL HORIZONTAL PAGE PADDING
   ===================================================== */

.page-padding {
  padding-left: 24px;
  padding-right: 24px;
}

@media (max-width: 767px) {
  .page-padding {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* =====================================================
   COLUMN SPACING UTILITIES
   ===================================================== */

.col-text-spaced {
  padding-right: 48px;
}

.col-image-spaced {
  padding-left: 48px;
}

@media (max-width: 1024px) {
  .col-text-spaced {
    padding-right: 20px;
  }

  .col-image-spaced {
    padding-left: 20px;
  }
}

@media (max-width: 767px) {
  .col-text-spaced,
  .col-image-spaced {
    padding-left: 0;
    padding-right: 0;
  }
}

.col-pad-right { padding-right: 48px; }
.col-pad-left  { padding-left: 48px; }

@media (max-width: 1024px) {
  .col-pad-right { padding-right: 32px; }
  .col-pad-left  { padding-left: 32px; }
}

@media (max-width: 767px) {
  .col-pad-right,
  .col-pad-left {
    padding-left: 0;
    padding-right: 0;
  }
}

/* =====================================================
   CARD COMPONENTS
   ===================================================== */

.card {
  background-color: var(--e-global-color-background);
  border-radius: var(--radius-md);
  padding: 32px;
  height: 100%;
}

@media (max-width: 1024px) {
  .card {
    padding: 28px;
  }
}

@media (max-width: 767px) {
  .card {
    padding: 24px;
  }
}

.card-border {
  border: 1px solid var(--border-subtle);
}

.card-shadow {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.card-compact {
  padding: 24px;
}

@media (max-width: 767px) {
  .card-compact {
    padding: 20px;
  }
}

/* =====================================================
   MAP CARD (Reduced padding on tablet and mobile)
   Applies rounded corners to embedded maps
   ===================================================== */

.card-map {
  padding: 32px; /* same as default card on desktop */
}

/* Tablet */
@media (max-width: 1024px) {
  .card-map {
    padding: 20px;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .card-map {
    padding: 16px;
  }
}

/* Map embed rounding */
.card-map iframe {
  width: 100%;
  height: 100%;
  border-radius: var(--radius-md);
}

.card-map > div {
  border-radius: var(--radius-md);
  overflow: hidden;
}

/* =====================================================
   SPACING UTILITIES
   ===================================================== */

.mt-none { margin-top: 0; }
.mb-none { margin-bottom: 0; }

.mt-sm { margin-top: 16px; }
.mb-sm { margin-bottom: 16px; }

.mt-md { margin-top: 32px; }
.mb-md { margin-bottom: 32px; }

.mt-lg { margin-top: 48px; }
.mb-lg { margin-bottom: 48px; }

.mt-button {
  margin-top: 24px !important;
}

.section-tight-top {
  padding-top: 48px;
}

@media (max-width: 767px) {
  .mt-button {
    margin-top: 20px !important;
  }
}

/* Reduce mt-sm on tablet */
@media (max-width: 1024px) {
  .mt-sm {
    margin-top: 8px;
  }
}

/* Reduce mt-sm further on mobile (optional, same 50%) */
@media (max-width: 767px) {
  .mt-sm {
    margin-top: 8px;
  }
}


/* =====================================================
   CARD INTERNAL SPACING
   ===================================================== */

.card-spaced .elementor-widget-image {
  margin-bottom: 16px;
}

.card-spaced .elementor-widget-heading {
  margin-bottom: 12px;
}

/* Benefits columns spacing */
.benefit-col {
  padding-left: 24px;
  padding-right: 24px;
}

@media (max-width: 1024px) {
  .benefit-col {
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (max-width: 767px) {
  .benefit-col {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 24px;
  }
}

/* =====================================================
   REVIEW CARD STYLING
   ===================================================== */

.review-card .elementor-widget-rating {
  margin-bottom: 16px;
}

.review-card .elementor-widget-text-editor:last-of-type {
  margin-top: 12px;
}

.review-author {
  opacity: 0.7;
}

/* =====================================================
   TEXT UTILITIES
   ===================================================== */

.text-left   { text-align: left; }
.text-center { text-align: center; }
.text-right  { text-align: right; }
.text-spaced p:not(:last-child) {
  margin-bottom: 20px;
}

/* =====================================================
   EYEBROW AND STEP LABELS
   Structural only. Typography is set in Elementor globals.
   ===================================================== */

.eyebrow {
  display: block;
  margin-bottom: 16px;
}

.step-label {
  display: block;
  margin-bottom: 12px;
}

/* =====================================================
   WIDTH UTILITIES
   ===================================================== */

.max-800 {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.max-600 {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.max-520 {
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}

/* =====================================================
   GALLERY SPACING
   Works for Elementor Gallery and WP galleries
   ===================================================== */

/* Elementor Gallery widget */
.gallery-spacing-custom .elementor-gallery__container {
  margin: 0 !important;
}

.gallery-spacing-custom .elementor-gallery-item {
  margin: 0 !important;
  padding: 8px !important;
}

.gallery-spacing-custom .elementor-gallery-item img {
  border-radius: var(--radius-md);
  display: block;
  width: 100%;
  height: auto;
}

/* Elementor Pro and newer gallery markup */
.gallery-spacing-custom .e-gallery,
.gallery-spacing-custom .e-gallery-grid {
  margin: 0 !important;
}

.gallery-spacing-custom .e-gallery-item,
.gallery-spacing-custom .e-gallery-grid__item {
  padding: 8px !important;
  margin: 0 !important;
}

.gallery-spacing-custom .e-gallery-item img,
.gallery-spacing-custom .e-gallery-grid__item img {
  border-radius: var(--radius-md);
  display: block;
  width: 100%;
  height: auto;
}

/* WordPress core gallery fallback */
.gallery-spacing-custom .gallery {
  margin: 0 !important;
}

.gallery-spacing-custom .gallery-item {
  margin: 0 !important;
  padding: 8px !important;
}

.gallery-spacing-custom .gallery-icon img {
  border-radius: var(--radius-md);
  display: block;
  width: 100%;
  height: auto;
}

/* Mobile */
@media (max-width: 767px) {
  .gallery-spacing-custom .elementor-gallery-item,
  .gallery-spacing-custom .e-gallery-item,
  .gallery-spacing-custom .e-gallery-grid__item,
  .gallery-spacing-custom .gallery-item {
    padding: 6px !important;
  }
}

/* =====================================================
   BACKGROUND UTILITIES
   -----------------------------------------------------
   Uses Elementor global colors only.
   ===================================================== */
 
.bg-primary {
  background-color: var(--e-global-color-primary);
}
 
.bg-accent {
  background-color: var(--e-global-color-accent);
}
 
.bg-surface {
  background-color: var(--e-global-color-background);
}

/* =====================================================
   HEADER: PHONE + CTA
   ===================================================== */

.header-phone a{
  text-decoration: none;
  font-weight: 500;
}

/* Hide phone on tablet/mobile */
@media (max-width: 1024px){
  .header-phone{
    display: none;
  }
}

.header-row {
  min-height: 72px;
}

@media (max-width: 767px) {
  .header-row {
    min-height: 64px;
  }

  .header-row .elementor-widget-site-logo img {
    max-width: 150px;
    height: auto;
  }
}/* End custom CSS */