.elementor-40818 .elementor-element.elementor-element-8d73d51{--display:flex;--min-height:60vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--overlay-opacity:0.25;--margin-top:-15em;--margin-bottom:0em;--margin-left:0em;--margin-right:0em;--padding-top:20em;--padding-bottom:10em;--padding-left:2em;--padding-right:2em;}.elementor-40818 .elementor-element.elementor-element-8d73d51:not(.elementor-motion-effects-element-type-background), .elementor-40818 .elementor-element.elementor-element-8d73d51 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ECF4FF;background-image:var(--wpr-bg-5b41bc55-13af-4844-a247-dce15982e733);background-position:bottom center;background-repeat:no-repeat;background-size:cover;}.elementor-40818 .elementor-element.elementor-element-8d73d51::before, .elementor-40818 .elementor-element.elementor-element-8d73d51 > .elementor-background-video-container::before, .elementor-40818 .elementor-element.elementor-element-8d73d51 > .e-con-inner > .elementor-background-video-container::before, .elementor-40818 .elementor-element.elementor-element-8d73d51 > .elementor-background-slideshow::before, .elementor-40818 .elementor-element.elementor-element-8d73d51 > .e-con-inner > .elementor-background-slideshow::before, .elementor-40818 .elementor-element.elementor-element-8d73d51 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-primary );--background-overlay:'';}.elementor-40818 .elementor-element.elementor-element-b022079{--display:flex;}.elementor-40818 .elementor-element.elementor-element-fae6818{text-align:left;}.elementor-40818 .elementor-element.elementor-element-fae6818 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:56px;font-weight:800;text-transform:uppercase;}.elementor-40818 .elementor-element.elementor-element-28fdad7{text-align:left;}.elementor-40818 .elementor-element.elementor-element-28fdad7 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:20px;font-weight:400;line-height:15px;-webkit-text-stroke-color:#FFFFFF;stroke:#FFFFFF;color:#FFFFFF;}.elementor-40818 .elementor-element.elementor-element-f8c7002{--display:flex;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-40818 .elementor-element.elementor-element-8d73d51{--padding-top:17em;--padding-bottom:3em;--padding-left:0em;--padding-right:0em;}.elementor-40818 .elementor-element.elementor-element-b022079.e-con{--align-self:center;--order:99999 /* order end hack */;--flex-grow:0;--flex-shrink:1;}.elementor-40818 .elementor-element.elementor-element-fae6818{text-align:center;}.elementor-40818 .elementor-element.elementor-element-fae6818 .elementor-heading-title{font-size:35px;line-height:1.2em;}.elementor-40818 .elementor-element.elementor-element-28fdad7{text-align:center;}.elementor-40818 .elementor-element.elementor-element-28fdad7 .elementor-heading-title{line-height:1.3em;}}@media(min-width:768px){.elementor-40818 .elementor-element.elementor-element-8d73d51{--content-width:1200px;}}@media(min-width:1025px){.elementor-40818 .elementor-element.elementor-element-8d73d51:not(.elementor-motion-effects-element-type-background), .elementor-40818 .elementor-element.elementor-element-8d73d51 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}}/* Start custom CSS for heading, class: .elementor-element-fae6818 */.subtitle {
  font-size: 16px;      /* Smaller size */
  font-weight: 400;     /* Lighter weight */
  color: #777;          /* Grey text */
  display: block;
  margin-top: 2px;      /* Tighter gap from heading */
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-28fdad7 *//* Force center-aligned text in specs table */
.spec-table,
.spec-table th,
.spec-table td {
  text-align: center !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b022079 */@media (max-width: 768px) {
  /* '.elementor-40818 .elementor-element.elementor-element-b022079' = this section/container only */
  .elementor-40818 .elementor-element.elementor-element-b022079, 
  .elementor-40818 .elementor-element.elementor-element-b022079 * {
    text-align: center !important;
  }
  /* If it’s a flex container, also center items */
  .elementor-40818 .elementor-element.elementor-element-b022079 {
    justify-content: center !important;
    align-items: center !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8d73d51 */@media (max-width: 768px) {
  /* '.elementor-40818 .elementor-element.elementor-element-8d73d51' = this section/container only */
  .elementor-40818 .elementor-element.elementor-element-8d73d51, 
  .elementor-40818 .elementor-element.elementor-element-8d73d51 * {
    text-align: center !important;
  }
  /* If it’s a flex container, also center items */
  .elementor-40818 .elementor-element.elementor-element-8d73d51 {
    justify-content: center !important;
    align-items: center !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f07b61c *//* ===== MOBILE-ONLY RESCUE PATCH (desktop untouched) ===== */
@media (max-width: 820px) {
  /* Stop sideways scroll from any rogue wide element */
  html, body { max-width: 100%; overflow-x: hidden; }

  /* Make common wrappers respect the viewport */
  .container, .section, .split-section, .grid-photo-section,
  .nv-collage .nv-collage-grid {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Global media safety */
  img, video { max-width: 100% !important; height: auto !important; }

  /* About + Features */
  .about-features-grid {
    grid-template-columns: 1fr !important;
    padding: 16px !important;
    gap: 16px !important;
  }
  .vertical-divider { display: none !important; }
  .features-list { gap: 12px !important; }
  .feature { padding: 12px !important; font-size: 0.95rem !important; }

  /* Split sections */
  .split-section {
    flex-direction: column !important;
    align-items: center !important;
    gap: 16px !important;
  }
  .split-section img,
  .split-section .text {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 680px !important;
  }

  /* Collage / photo grids */
  .grid-photo-section {
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    height: auto !important;
    gap: 12px !important;
  }
  .grid-photo-section .card.tall { grid-row: auto !important; }
  .grid-photo-section .card { height: auto !important; max-height: none !important; }

  .nv-collage .nv-collage-grid {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    aspect-ratio: auto !important;
  }
  .nv-collage .nv-span-rows { grid-row: auto !important; }

/* Specs table */
.spec-table {
  display: table !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: auto !important; /* fit content instead of stretching full width */
  max-width: 100% !important; /* prevent overflow */
  overflow-x: auto !important;
  border-collapse: collapse !important;
}

.spec-table th,
.spec-table td {
  white-space: nowrap !important;
  padding: 0.8rem !important;
  text-align: center !important; /* center text inside cells */
}

  /* Resources */
  .resources-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important; }
  .resource-item { text-align: left !important; }
  .resource-item img { margin: 0 0 8px 0 !important; }

  /* CTA */
  .cta-box { text-align: center !important; padding: 1.5rem !important; }
  .cta-box .text { flex: 1 1 auto !important; }

  /* Headings & buttons */
  .section h2 { font-size: 1.5rem !important; }
  .get-quote-button, .resource-item a, .cta-box a {
    font-size: 1rem !important; padding: .6rem 1rem !important;
  }

  /* Container padding so nothing hugs the edges */
  .container { padding-left: 16px !important; padding-right: 16px !important; }
}/* End custom CSS */