/* Force full-width, kill side spaces in Astra/Elementor */
.ast-container,
.site-content,
.elementor-section-wrap,
.main-header-bar {
  max-width: none !important;
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Match body to your blue if gaps peek through */
body {
  background-color: #e6f0ff !important; /* Swap for your exact hero blue hex */
}

/* ===== MOBILE FIXES (added by Claude) ===== */
@media (max-width: 767px) {
	html, body { overflow-x: hidden !important; max-width: 100vw !important; }
	.ast-container, .site-content, .elementor-section-wrap, .main-header-bar {
		    width: 100% !important;
		    margin-left: 0 !important;
		    max-width: 100% !important;
	}
	img { max-width: 100% !important; height: auto !important; }
	.elementor-column { width: 100% !important; }
	.elementor-section .elementor-container { flex-wrap: wrap !important; }
	.elementor-heading-title { font-size: clamp(24px, 7vw, 40px) !important; line-height: 1.2 !important; }
	.elementor-button-wrapper, .elementor-button { width: 100% !important; text-align: center !important; box-sizing: border-box !important; }
	.elementor-widget-text-editor, .elementor-widget-text-editor * { max-width: 100% !important; word-wrap: break-word !important; }
	.elementor-section.elementor-section-boxed > .elementor-container { padding-left: 16px !important; padding-right: 16px !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-col-33 { width: 50% !important; }
	img { max-width: 100% !important; height: auto !important; }
}
}
	}
}

/* ===== MOBILE FIXES v2 ===== */
@media (max-width: 767px) {
	  /* Hero tagline was pulled up -28px into the title */
	.elementor-element-41f8430f { margin-top: 0 !important; }
	
	  /* Child containers sized for desktop collapse/overlap on mobile */
	.e-con.e-child { height: auto !important; min-height: 0 !important; }
	
	  /* Portfolio card overlay panels: put back into normal flow */
	  .elementor-element-195178c, .elementor-element-8720684, .elementor-element-4fd9e7d,
	  .elementor-element-248b7e4, .elementor-element-a2333e7, .elementor-element-1f72609,
	  .elementor-element-600dd3d, .elementor-element-e3cb4af, .elementor-element-c04ed6a,
	  .elementor-element-b2c79c7, .elementor-element-641cf6c, .elementor-element-10e7014,
	  .elementor-element-06de3e7, .elementor-element-d0beb43, .elementor-element-763fce2,
	.elementor-element-2cf7f9b {
		    position: static !important;
		    width: 100% !important;
		    max-width: 100% !important;
	}
	
	  /* Containers that sit side-by-side should stack */
	.e-con-full.e-flex { flex-wrap: wrap !important; }
}
	}
}

/* Tablet: fix hero tagline overlap up to 1024px */
@media (max-width: 1024px) {
  .elementor-element-41f8430f { margin-top: 0 !important; }
  .elementor-element-546ba79 .elementor-heading-title { line-height: 1.1 !important; }
}


/* Mobile: stack side-by-side child containers full-width */
@media (max-width: 767px) {
  .e-con-full.e-flex > .e-con.e-child {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
}