/* Homepage layout refinement: existing branding, artwork and copy. */
body.gbm-home-layout #pagewrap {
  width: min(1200px, calc(100% - 32px));
  box-sizing: border-box;
}
body.gbm-home-layout #pagewrap > .headingBox {
  width: 100%;
  box-sizing: border-box;
}
body.gbm-home-layout .inner-wrap {
  width: min(1200px, calc(100% - 32px));
  min-width: 0;
  box-sizing: border-box;
}
body.gbm-home-layout .breadcrumbs-wrap {
  width: min(1200px, calc(100% - 32px));
  box-sizing: border-box;
}
body.gbm-home-layout .gbm-home-intro {
  width: 95.8%;
  margin: 16px auto 24px;
  padding: 0 26px;
  box-sizing: border-box;
  text-align: left;
}
body.gbm-home-layout .gbm-home-intro h1 {
  margin: 0 0 12px;
  font-size: 32px;
  line-height: 1.25;
  font-weight: 600;
}
body.gbm-home-layout .gbm-home-intro h1 a { font: inherit; }
body.gbm-home-layout .gbm-home-intro .gbm-home-intro-lead {
  margin: 0 0 14px;
  font-size: 18px;
  line-height: 1.5;
  font-weight: 400;
  color: #333;
}
body.gbm-home-layout .gbm-home-intro .writing { width: auto; margin: 0; }
body.gbm-home-layout .gbm-home-intro .writing p {
  margin: 0 0 10px;
  font-size: 16px;
  line-height: 1.6;
}
body.gbm-home-layout .gbm-home-intro .writing p:last-child { margin-bottom: 0; }
body.gbm-home-layout .gbm-home-features {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 28px;
  list-style: none;
  margin: 18px 0;
  padding: 0;
}
body.gbm-home-layout .gbm-home-features li {
  position: relative;
  min-width: 0;
  padding-left: 27px;
  font-size: 16px;
  line-height: 1.5;
}
body.gbm-home-layout .gbm-home-features li::before {
  content: "\2713";
  position: absolute;
  top: 0;
  left: 0;
  color: #13b981;
  font-weight: 700;
}
body.gbm-home-layout .gbm-home-features strong {
  display: block;
  margin-bottom: 3px;
  color: #2f466b;
  font-weight: 600;
}
body.gbm-home-layout .gbm-home-features span { display: block; }
#gbm-ai-map-banner .banner-text-content { text-align: left; }
#gbm-ai-map-banner .banner-text-content h2 {
  margin: 0 0 16px;
  line-height: 1.25;
  text-align: left;
}
#gbm-ai-map-banner .banner-text-content p {
  margin: 0 0 14px;
  line-height: 1.6;
  text-align: left;
}
#gbm-ai-map-banner .gbm-home-map-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 8px 0 0;
}
#gbm-ai-map-banner .gbm-home-map-options .cta-buttonG {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 48px;
  margin: 0;
  padding: 11px 12px;
  line-height: 1.4;
  text-align: center;
}
#gbm-ai-map-banner .banner-text-content > .cta-button { margin: 16px 0 0; }
body.gbm-home-layout .custom-map-banner {
  gap: 3rem;
  overflow: visible;
}
body.gbm-home-layout .custom-map-banner .banner-text-content {
  flex: 1 1 0;
  min-width: 0;
}
body.gbm-home-layout .custom-map-demo {
  margin: 0;
  flex: 0 0 500px;
  min-width: 0;
  max-width: 100%;
}
body.gbm-home-layout .custom-map-demo .map-frame {
  width: 500px;
  max-width: 100%;
  height: auto;
  aspect-ratio: 1;
}
#gbm-ai-map-banner .gbm-home-map-media {
  flex: 0 0 500px;
  width: 500px;
  min-width: 0;
  max-width: 100%;
}
#gbm-ai-map-banner img.gbm-home-map-animation {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 806.03 / 842.521;
  margin: 0;
  border-radius: 6px;
  box-shadow: 0 1px 4px rgba(0,0,0,.1);
}
body.gbm-home-layout .banner-text-content > a {
  max-width: 100%;
  box-sizing: border-box;
}
body.gbm-home-layout .home-products-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px 16px;
  clear: both;
  margin: 14px 0 22px;
}
body.gbm-home-layout .home-products-grid > .home-product-card {
  float: none;
  clear: none;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 14px;
  box-sizing: border-box;
  display: grid;
  grid-template-rows: 90px 400px 1fr auto;
  gap: 14px;
  border: 1px solid #ccc;
  background: #fff;
}
body.gbm-home-layout .home-product-card > h2 {
  margin: 0;
  font-size: 20px;
  line-height: 30px;
  font-weight: 400;
  color: #2f466b;
}
body.gbm-home-layout .home-product-image {
  min-width: 0;
  height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.gbm-home-layout .home-product-image > a,
body.gbm-home-layout .home-product-image picture {
  display: block;
  width: 100%;
  height: 100%;
}
body.gbm-home-layout .home-product-image img.prodImage {
  display: block;
  float: none;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  margin: 0;
  object-fit: contain;
}
body.gbm-home-layout .home-product-card .home-product-copy {
  width: auto;
  min-width: 0;
  margin: 0;
}
body.gbm-home-layout .home-product-copy p:first-child { margin-top: 0; }
body.gbm-home-layout .home-product-copy p:last-child { margin-bottom: 0; }
body.gbm-home-layout .home-product-action > a {
  display: block;
  width: 100%;
}
body.gbm-home-layout .home-product-action .actionBuyButton,
body.gbm-home-layout .home-product-action .actionBuyButtonSide {
  float: none;
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 9px 18px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1100px) {
  body.gbm-home-layout .custom-map-banner { gap: 2rem; }
  body.gbm-home-layout .custom-map-demo,
  #gbm-ai-map-banner .gbm-home-map-media { flex-basis: 46%; width: 46%; }
  body.gbm-home-layout .custom-map-demo .map-frame { width: 100%; }
  body.gbm-home-layout .home-products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  body.gbm-home-layout .gbm-home-intro { padding: 0 18px; }
  body.gbm-home-layout .custom-map-banner { gap: 1rem; }
  body.gbm-home-layout .custom-map-demo,
  #gbm-ai-map-banner .gbm-home-map-media { flex: 0 1 auto; width: 100%; max-width: 500px; }
  body.gbm-home-layout .custom-map-banner .banner-text-content { flex: 0 1 auto; width: 100%; }
  body.gbm-home-layout .custom-map-demo .map-frame { width: 100%; }
  body.gbm-home-layout .custom-map-demo .demo-caption { max-width: 100%; }
}
@media (max-width: 480px) {
  body.gbm-home-layout .gbm-home-intro h1 { font-size: 28px; }
  #gbm-ai-map-banner .gbm-home-map-options { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  body.gbm-home-layout .gbm-home-features { grid-template-columns: minmax(0, 1fr); }
  body.gbm-home-layout #pagewrap,
  body.gbm-home-layout .inner-wrap,
  body.gbm-home-layout .breadcrumbs-wrap { width: calc(100% - 20px); }
  body.gbm-home-layout .home-products-grid { grid-template-columns: minmax(0, 1fr); }
  body.gbm-home-layout .home-products-grid > .home-product-card { grid-template-rows: auto 380px auto auto; }
  body.gbm-home-layout .home-product-image { height: 380px; }
  body.gbm-home-layout .home-product-card > h2 { min-height: 0; }
  body.gbm-home-layout .shortcutColumn,
  body.gbm-home-layout .shortcutColumn2,
  body.gbm-home-layout .shortcutColumn3,
  body.gbm-home-layout .shortcutColumn4,
  body.gbm-home-layout .shortcutColumn5,
  body.gbm-home-layout .shortcutColumn6 { box-sizing: border-box; max-width: 50%; }
}
@media (max-width: 380px) {
  body.gbm-home-layout #header-logo,
  body.gbm-home-layout #footer-logo { width: 100%; max-width: 100%; padding-left: 0; box-sizing: border-box; }
  body.gbm-home-layout #header-logo h2,
  body.gbm-home-layout #footer-logo h2 { font-size: 22px; }
  body.gbm-home-layout #header-logo h3,
  body.gbm-home-layout #footer-logo h3 { width: calc(100% - 93px); box-sizing: border-box; font-size: 14px; line-height: 18px; }
  body.gbm-home-layout #header-logo > div,
  body.gbm-home-layout #footer-logo > div { max-width: 100%; }
  body.gbm-home-layout #footer-text { float: none; clear: both; width: 100%; max-width: 100%; padding-right: 0; box-sizing: border-box; text-align: center; }
}

body.gbm-home-layout .gbm-home-benefits {
  width: 95.8%;
  margin: 24px auto 28px;
  padding: 0 26px;
  box-sizing: border-box;
  text-align: left;
}
body.gbm-home-layout .gbm-home-benefits .writing { width: auto; margin: 0; }
body.gbm-home-layout .gbm-home-benefits .gbm-home-features { margin: 0 0 18px; }
body.gbm-home-layout .gbm-home-benefits .writing p { margin: 0; font-size: 16px; line-height: 1.6; }
#gbm-home-benefits .gbm-inline-builder-link { color: #2f466b; text-decoration: underline; text-underline-offset: 2px; }
#gbm-home-benefits .gbm-inline-builder-link:hover { color: #007bff; }
@media (max-width: 768px) {
  body.gbm-home-layout .gbm-home-benefits { padding: 0 18px; }
}
