/* IGM B17 content-only Elementor templates
   Native Elementor widgets. No HTML layout widgets.
   Stronger namespace and selectors to avoid Elementor/theme global colors. */

html body.igm-b17-page,
html body.igm-b17-page #page,
html body.igm-b17-page .site,
html body.igm-b17-page .site-content,
html body.igm-b17-page .content-area,
html body.igm-b17-page main,
html body.igm-b17-page article,
html body.igm-b17-page .entry-content,
html body.igm-b17-page .elementor,
html body.igm-b17-page .elementor-section-wrap {
  background: #070c0f !important;
  color: #f2eee6 !important;
}

/* Do NOT paint every Elementor wrapper black: inner wrappers must stay transparent
   otherwise nested sections/cards/buttons become rigid black blocks. */
html body.igm-b17-page .elementor-widget-wrap,
html body.igm-b17-page .elementor-widget-container,
html body.igm-b17-page .elementor-column {
  background: transparent !important;
}

html body.igm-b17-page .entry-title,
html body.igm-b17-page .page-title,
html body.igm-b17-page h1.entry-title { display:none !important; }

html body.igm-b17-page .elementor-section,
html body.igm-b17-page .elementor-container,
html body.igm-b17-page .elementor-column,
html body.igm-b17-page .elementor-widget-wrap,
html body.igm-b17-page .elementor-widget-container { box-sizing: border-box !important; }

html body.igm-b17-page .igm-b17-section {
  background-color: transparent !important;
  color: #f2eee6 !important;
  padding-left: 6.9vw !important;
  padding-right: 6.9vw !important;
  font-family: "Inter", Arial, sans-serif !important;
}

/* Only top-level visual bands get a painted background. Nested helper sections are transparent. */
html body.igm-b17-page .igm-b17-hero,
html body.igm-b17-page .igm-b17-dark-block,
html body.igm-b17-page .igm-b17-page-hero,
html body.igm-b17-page .igm-b17-stats {
  background-color: #070c0f !important;
}

html body.igm-b17-page .igm-b17-buttons,
html body.igm-b17-page .igm-b17-card-grid,
html body.igm-b17-page .igm-b17-card,
html body.igm-b17-page .igm-b17-process-grid,
html body.igm-b17-page .igm-b17-process-card,
html body.igm-b17-page .igm-b17-portfolio-head,
html body.igm-b17-page .igm-b17-portfolio-grid,
html body.igm-b17-page .igm-b17-portfolio-card {
  background: transparent !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

html body.igm-b17-page .igm-b17-section > .elementor-container {
  max-width: 1320px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

html body.igm-b17-page .elementor-widget:not(:last-child),
html body.igm-b17-page .elementor-section:not(:last-child) { margin-bottom: 0 !important; }

/* GLOBAL TYPOGRAPHIC LOCK */
html body.igm-b17-page .elementor-widget-heading .elementor-heading-title,
html body.igm-b17-page h1,
html body.igm-b17-page h2,
html body.igm-b17-page h3 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  color: #f2eee6 !important;
  font-weight: 400 !important;
  text-transform: none !important;
}

html body.igm-b17-page .elementor-widget-text-editor,
html body.igm-b17-page .elementor-widget-text-editor .elementor-widget-container,
html body.igm-b17-page p,
html body.igm-b17-page .elementor-button {
  font-family: "Inter", Arial, sans-serif !important;
}

/* HERO */
html body.igm-b17-page .igm-b17-hero {
  min-height: 910px !important;
  padding-top: 126px !important;
  padding-bottom: 84px !important;
  background-color: #070c0f !important;
  background-image:
    linear-gradient(90deg, rgba(7,12,15,0.96) 0%, rgba(7,12,15,0.70) 39%, rgba(7,12,15,0.46) 64%, rgba(7,12,15,0.78) 100%),
    linear-gradient(180deg, rgba(7,12,15,0.80) 0%, rgba(7,12,15,0.18) 42%, rgba(7,12,15,0.96) 100%),
    url('https://igmmanagementgroup.lovable.app/assets/hero-miami-CPOWFkar.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  border-bottom: 1px solid rgba(242,238,230,0.065) !important;
  overflow: hidden !important;
}

html body.igm-b17-page .igm-b17-hero > .elementor-container {
  min-height: 700px !important;
  display: flex !important;
  align-items: flex-end !important;
}

html body.igm-b17-page .igm-b17-hero-col .elementor-widget-wrap {
  align-content: flex-end !important;
  justify-content: flex-start !important;
  padding: 0 !important;
}

html body.igm-b17-page .igm-b17-place-col .elementor-widget-wrap {
  align-content: flex-end !important;
  justify-content: flex-end !important;
  padding-bottom: 154px !important;
}

html body.igm-b17-page .igm-b17-overline .elementor-heading-title,
html body.igm-b17-page .igm-b17-section-label .elementor-heading-title,
html body.igm-b17-page .igm-b17-stat-label .elementor-heading-title,
html body.igm-b17-page .igm-b17-small-link .elementor-heading-title,
html body.igm-b17-page .igm-b17-hero-place .elementor-heading-title,
html body.igm-b17-page .igm-b17-portfolio-meta .elementor-heading-title,
html body.igm-b17-page .igm-b17-number .elementor-heading-title {
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  letter-spacing: 0.42em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: #d9b36d !important;
}

html body.igm-b17-page .igm-b17-overline { margin-bottom: 34px !important; }

html body.igm-b17-page .igm-b17-hero h1,
html body.igm-b17-page .igm-b17-hero-title .elementor-heading-title,
html body.igm-b17-page .igm-b17-hero-title-accent .elementor-heading-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(84px, 7.8vw, 128px) !important;
  line-height: 0.86 !important;
  letter-spacing: -0.062em !important;
  font-weight: 400 !important;
  color: #f2eee6 !important;
  margin: 0 !important;
}

html body.igm-b17-page .igm-b17-hero-title-accent .elementor-heading-title {
  font-style: italic !important;
  color: #e6d2a0 !important;
}

html body.igm-b17-page .igm-b17-hero-text,
html body.igm-b17-page .igm-b17-hero-text .elementor-widget-container {
  max-width: 630px !important;
  margin-top: 32px !important;
  margin-bottom: 38px !important;
  color: rgba(242,238,230,0.74) !important;
  font-size: 17px !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
}

html body.igm-b17-page .igm-b17-hero-place .elementor-heading-title {
  color: rgba(242,238,230,0.55) !important;
  letter-spacing: 0.46em !important;
  font-weight: 500 !important;
}

/* BUTTONS */
html body.igm-b17-page .elementor-button-wrapper { display: inline-block !important; }
html body.igm-b17-page .elementor-button,
html body.igm-b17-page a.elementor-button,
html body.igm-b17-page button.elementor-button {
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 11px !important;
  line-height: 1 !important;
  letter-spacing: 0.34em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  padding: 22px 31px !important;
  text-decoration: none !important;
  min-width: 266px !important;
  text-align: center !important;
}

html body.igm-b17-page .igm-b17-btn-gold .elementor-button {
  background: #d9b36d !important;
  background-color: #d9b36d !important;
  color: #070c0f !important;
  border: 1px solid #d9b36d !important;
}
html body.igm-b17-page .igm-b17-btn-outline .elementor-button {
  background: transparent !important;
  background-color: transparent !important;
  color: rgba(242,238,230,0.86) !important;
  border: 1px solid rgba(242,238,230,0.28) !important;
}
html body.igm-b17-page .igm-b17-buttons .elementor-widget-wrap {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  align-items: center !important;
  background: transparent !important;
}

/* SECTIONS */
html body.igm-b17-page .igm-b17-dark-block {
  background: #070c0f !important;
  padding-top: 154px !important;
  padding-bottom: 150px !important;
  border-bottom: 1px solid rgba(242,238,230,0.055) !important;
}

html body.igm-b17-page .igm-b17-partner {
  padding-top: 190px !important;
  padding-bottom: 176px !important;
}
html body.igm-b17-page .igm-b17-partner .elementor-container { align-items: flex-start !important; }
html body.igm-b17-page .igm-b17-partner-copy .elementor-widget-wrap { padding-left: 18px !important; }

html body.igm-b17-page .igm-b17-h2 .elementor-heading-title,
html body.igm-b17-page .igm-b17-h2-small .elementor-heading-title,
html body.igm-b17-page .igm-b17-page-title .elementor-heading-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(50px, 4.75vw, 74px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.045em !important;
  font-weight: 400 !important;
  color: #f2eee6 !important;
}

html body.igm-b17-page .igm-b17-h2-small .elementor-heading-title { font-size: clamp(46px, 4.1vw, 64px) !important; }
html body.igm-b17-page .igm-b17-h2-accent .elementor-heading-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(45px, 4.1vw, 64px) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.042em !important;
  font-style: italic !important;
  color: #e6d2a0 !important;
  font-weight: 400 !important;
}

html body.igm-b17-page .igm-b17-text .elementor-widget-container,
html body.igm-b17-page .igm-b17-card-text .elementor-widget-container {
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
  font-weight: 400 !important;
  color: rgba(242,238,230,0.62) !important;
}
html body.igm-b17-page .igm-b17-large-text { margin-top: 38px !important; }
html body.igm-b17-page .igm-b17-large-text .elementor-widget-container { font-size: 17px !important; max-width: 810px !important; }

/* OWNER GRID */
html body.igm-b17-page .igm-b17-owner { padding-top: 128px !important; padding-bottom: 148px !important; }
html body.igm-b17-page .igm-b17-owner-copy .elementor-widget-wrap { padding-right: 70px !important; align-content: center !important; }
html body.igm-b17-page .igm-b17-card-grid-col .elementor-widget-wrap { padding-left: 30px !important; }
html body.igm-b17-page .igm-b17-card-grid > .elementor-container > .elementor-column > .elementor-widget-wrap {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  border-top: 1px solid rgba(242,238,230,0.08) !important;
  border-left: 1px solid rgba(242,238,230,0.08) !important;
}
html body.igm-b17-page .igm-b17-card {
  min-height: 176px !important;
  padding: 36px 34px !important;
  border-right: 1px solid rgba(242,238,230,0.08) !important;
  border-bottom: 1px solid rgba(242,238,230,0.08) !important;
  background: rgba(255,255,255,0.012) !important;
}
html body.igm-b17-page .igm-b17-card > .elementor-container,
html body.igm-b17-page .igm-b17-card > .elementor-container > .elementor-column,
html body.igm-b17-page .igm-b17-card .elementor-widget-wrap { min-height: inherit !important; background: transparent !important; }
html body.igm-b17-page .igm-b17-card-icon .elementor-icon { color:#d9b36d !important; fill:#d9b36d !important; font-size:18px !important; margin-bottom:24px !important; }
html body.igm-b17-page .igm-b17-card-title .elementor-heading-title {
  font-size: 25px !important; line-height: 1.08 !important; letter-spacing: -0.025em !important; color:#f2eee6 !important;
}

/* PROCESS */
html body.igm-b17-page .igm-b17-process { padding-top: 150px !important; padding-bottom: 140px !important; }
html body.igm-b17-page .igm-b17-process > .elementor-container { row-gap: 0 !important; }
html body.igm-b17-page .igm-b17-process-grid > .elementor-container > .elementor-column > .elementor-widget-wrap {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  border-top: 1px solid rgba(242,238,230,0.08) !important;
  margin-top: 72px !important;
}
html body.igm-b17-page .igm-b17-process-card {
  padding: 42px 34px 18px !important;
  min-height: 226px !important;
  border-right: 1px solid rgba(242,238,230,0.08) !important;
}
html body.igm-b17-page .igm-b17-process-card:first-child { border-left: 1px solid rgba(242,238,230,0.08) !important; }
html body.igm-b17-page .igm-b17-step-title .elementor-heading-title {
  font-size: 31px !important; line-height: 1.08 !important; letter-spacing:-0.025em !important; margin-top: 28px !important;
}

/* IMAGES */
html body.igm-b17-page .igm-b17-wide-image {
  padding: 0 !important;
  background: #070c0f !important;
}
html body.igm-b17-page .igm-b17-wide-image > .elementor-container { max-width: none !important; }
html body.igm-b17-page .igm-b17-wide-image img {
  width: 100% !important; height: 560px !important; object-fit: cover !important; display: block !important; filter: brightness(0.60) saturate(0.92) !important;
}

html body.igm-b17-page .igm-b17-why { padding-top: 162px !important; padding-bottom: 145px !important; }
html body.igm-b17-page .igm-b17-why .elementor-container { align-items: center !important; }
html body.igm-b17-page .igm-b17-why-copy .elementor-widget-wrap { padding-right: 80px !important; }
html body.igm-b17-page .igm-b17-why-img img { width:100% !important; height:560px !important; object-fit:cover !important; display:block !important; }

/* STATS */
html body.igm-b17-page .igm-b17-stats {
  padding: 0 6.9vw !important;
  background: #070c0f !important;
  border-top: 1px solid rgba(242,238,230,0.075) !important;
  border-bottom: 1px solid rgba(242,238,230,0.075) !important;
}
html body.igm-b17-page .igm-b17-stats > .elementor-container { max-width: none !important; }
html body.igm-b17-page .igm-b17-stat { min-height: 190px !important; padding: 54px 54px !important; border-left: 1px solid rgba(242,238,230,0.075) !important; }
html body.igm-b17-page .igm-b17-stat:last-child { border-right: 1px solid rgba(242,238,230,0.075) !important; }
html body.igm-b17-page .igm-b17-stat-number .elementor-heading-title { font-size: clamp(50px,4.5vw,70px) !important; color:#e6d2a0 !important; letter-spacing:-0.045em !important; line-height:1 !important; }

/* PORTFOLIO */
html body.igm-b17-page .igm-b17-portfolio { padding-top: 158px !important; padding-bottom: 156px !important; }
html body.igm-b17-page .igm-b17-portfolio-head > .elementor-container { align-items:flex-end !important; }
html body.igm-b17-page .igm-b17-align-right .elementor-heading-title { text-align:right !important; }
html body.igm-b17-page .igm-b17-portfolio-grid > .elementor-container > .elementor-column > .elementor-widget-wrap {
  display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:30px !important; margin-top:72px !important;
}
html body.igm-b17-page .igm-b17-portfolio-card { background:transparent !important; }
html body.igm-b17-page .igm-b17-portfolio-card img { width:100% !important; height:520px !important; object-fit:cover !important; display:block !important; }
html body.igm-b17-page .igm-b17-portfolio-title .elementor-heading-title { font-size:25px !important; line-height:1.15 !important; margin-top:26px !important; color:#f2eee6 !important; }
html body.igm-b17-page .igm-b17-portfolio-meta .elementor-heading-title { font-size:12px !important; color:rgba(242,238,230,0.46) !important; margin-top:12px !important; }

/* CTA AND PAGE HERO */
html body.igm-b17-page .igm-b17-cta { padding-top: 166px !important; padding-bottom: 190px !important; text-align:center !important; }
html body.igm-b17-page .igm-b17-cta > .elementor-container { justify-content:center !important; }
html body.igm-b17-page .igm-b17-cta-col .elementor-widget-wrap { justify-content:center !important; text-align:center !important; max-width:760px !important; margin:0 auto !important; }
html body.igm-b17-page .igm-b17-cta .igm-b17-text { max-width:610px !important; margin:30px auto 42px !important; }
html body.igm-b17-page .igm-b17-btn-center .elementor-button-wrapper { text-align:center !important; }

html body.igm-b17-page .igm-b17-page-hero {
  background:#070c0f !important; padding-top:145px !important; padding-bottom:130px !important; border-bottom:1px solid rgba(242,238,230,0.075) !important;
}
html body.igm-b17-page .igm-b17-page-title .elementor-heading-title { font-size:clamp(76px,8vw,132px) !important; line-height:.89 !important; letter-spacing:-.06em !important; }

@media (max-width: 1024px) {
  html body.igm-b17-page .igm-b17-section { padding-left: 40px !important; padding-right:40px !important; }
  html body.igm-b17-page .igm-b17-hero { min-height:800px !important; padding-top:110px !important; }
  html body.igm-b17-page .igm-b17-hero-col, html body.igm-b17-page .igm-b17-place-col, html body.igm-b17-page .elementor-column { width:100% !important; }
  html body.igm-b17-page .igm-b17-card-grid > .elementor-container > .elementor-column > .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-process-grid > .elementor-container > .elementor-column > .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-portfolio-grid > .elementor-container > .elementor-column > .elementor-widget-wrap { grid-template-columns:1fr 1fr !important; }
}

@media (max-width: 767px) {
  html body.igm-b17-page .igm-b17-section { padding-left: 24px !important; padding-right:24px !important; }
  html body.igm-b17-page .igm-b17-hero { min-height:720px !important; padding-top:84px !important; padding-bottom:70px !important; }
  html body.igm-b17-page .igm-b17-hero h1,
  html body.igm-b17-page .igm-b17-hero-title .elementor-heading-title,
  html body.igm-b17-page .igm-b17-hero-title-accent .elementor-heading-title { font-size:58px !important; letter-spacing:-.045em !important; }
  html body.igm-b17-page .igm-b17-h2 .elementor-heading-title,
  html body.igm-b17-page .igm-b17-h2-small .elementor-heading-title,
  html body.igm-b17-page .igm-b17-h2-accent .elementor-heading-title { font-size:42px !important; }
  html body.igm-b17-page .igm-b17-buttons .elementor-widget-wrap { flex-direction:column !important; align-items:stretch !important; }
  html body.igm-b17-page .elementor-button { width:100% !important; min-width:0 !important; }
  html body.igm-b17-page .igm-b17-card-grid > .elementor-container > .elementor-column > .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-process-grid > .elementor-container > .elementor-column > .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-portfolio-grid > .elementor-container > .elementor-column > .elementor-widget-wrap { grid-template-columns:1fr !important; }
  html body.igm-b17-page .igm-b17-wide-image img,
  html body.igm-b17-page .igm-b17-why-img img,
  html body.igm-b17-page .igm-b17-portfolio-card img { height:360px !important; }
  html body.igm-b17-page .igm-b17-dark-block,
  html body.igm-b17-page .igm-b17-partner,
  html body.igm-b17-page .igm-b17-owner,
  html body.igm-b17-page .igm-b17-process,
  html body.igm-b17-page .igm-b17-why,
  html body.igm-b17-page .igm-b17-portfolio,
  html body.igm-b17-page .igm-b17-cta { padding-top:90px !important; padding-bottom:90px !important; }
}

/* B17 refinements: nested section dimensions and button alignment */
html body.igm-b17-page .igm-b17-buttons > .elementor-container,
html body.igm-b17-page .igm-b17-card-grid > .elementor-container,
html body.igm-b17-page .igm-b17-card > .elementor-container,
html body.igm-b17-page .igm-b17-process-grid > .elementor-container,
html body.igm-b17-page .igm-b17-process-card > .elementor-container,
html body.igm-b17-page .igm-b17-portfolio-head > .elementor-container,
html body.igm-b17-page .igm-b17-portfolio-grid > .elementor-container,
html body.igm-b17-page .igm-b17-portfolio-card > .elementor-container {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
}

html body.igm-b17-page .igm-b17-buttons,
html body.igm-b17-page .igm-b17-buttons > .elementor-container,
html body.igm-b17-page .igm-b17-buttons > .elementor-container > .elementor-column,
html body.igm-b17-page .igm-b17-buttons > .elementor-container > .elementor-column > .elementor-widget-wrap {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 16px !important;
  width: auto !important;
  min-width: 0 !important;
  flex-wrap: wrap !important;
}

html body.igm-b17-page .igm-b17-buttons .elementor-widget-button {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
}

html body.igm-b17-page .igm-b17-buttons .elementor-button-wrapper {
  width: auto !important;
  margin: 0 !important;
  text-align: left !important;
}

html body.igm-b17-page .igm-b17-buttons .elementor-button {
  white-space: nowrap !important;
  min-height: 60px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

html body.igm-b17-page .igm-b17-hero .igm-b17-btn-gold .elementor-button,
html body.igm-b17-page .igm-b17-hero .igm-b17-btn-outline .elementor-button {
  min-width: 276px !important;
}

html body.igm-b17-page .igm-b17-owner .igm-b17-btn-gold .elementor-button {
  min-width: 337px !important;
}
html body.igm-b17-page .igm-b17-owner .igm-b17-btn-outline .elementor-button {
  min-width: 280px !important;
}

html body.igm-b17-page .igm-b17-card-grid,
html body.igm-b17-page .igm-b17-process-grid,
html body.igm-b17-page .igm-b17-portfolio-grid {
  width: 100% !important;
}

html body.igm-b17-page .igm-b17-card-grid > .elementor-container > .elementor-column,
html body.igm-b17-page .igm-b17-process-grid > .elementor-container > .elementor-column,
html body.igm-b17-page .igm-b17-portfolio-grid > .elementor-container > .elementor-column {
  width: 100% !important;
}

html body.igm-b17-page .igm-b17-card-grid > .elementor-container > .elementor-column > .elementor-widget-wrap,
html body.igm-b17-page .igm-b17-process-grid > .elementor-container > .elementor-column > .elementor-widget-wrap,
html body.igm-b17-page .igm-b17-portfolio-grid > .elementor-container > .elementor-column > .elementor-widget-wrap {
  background: transparent !important;
  padding: 0 !important;
}

html body.igm-b17-page .igm-b17-card,
html body.igm-b17-page .igm-b17-process-card {
  background-color: rgba(255,255,255,0.006) !important;
}

html body.igm-b17-page .igm-b17-card .elementor-widget-wrap,
html body.igm-b17-page .igm-b17-process-card .elementor-widget-wrap,
html body.igm-b17-page .igm-b17-portfolio-card .elementor-widget-wrap {
  padding: 0 !important;
}

html body.igm-b17-page .igm-b17-owner-copy .elementor-widget-wrap,
html body.igm-b17-page .igm-b17-why-copy .elementor-widget-wrap,
html body.igm-b17-page .igm-b17-partner-copy .elementor-widget-wrap,
html body.igm-b17-page .igm-b17-cta-col .elementor-widget-wrap {
  background: transparent !important;
}

/* Match the original's editorial breathing room more closely */
html body.igm-b17-page .igm-b17-partner {
  padding-top: 176px !important;
  padding-bottom: 170px !important;
}
html body.igm-b17-page .igm-b17-owner {
  padding-top: 142px !important;
  padding-bottom: 150px !important;
}
html body.igm-b17-page .igm-b17-process {
  padding-top: 148px !important;
  padding-bottom: 132px !important;
}
html body.igm-b17-page .igm-b17-wide-image img {
  height: 560px !important;
  opacity: .72 !important;
}

@media (max-width: 767px) {
  html body.igm-b17-page .igm-b17-buttons,
  html body.igm-b17-page .igm-b17-buttons > .elementor-container,
  html body.igm-b17-page .igm-b17-buttons > .elementor-container > .elementor-column,
  html body.igm-b17-page .igm-b17-buttons > .elementor-container > .elementor-column > .elementor-widget-wrap {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
  }
  html body.igm-b17-page .igm-b17-buttons .elementor-widget-button,
  html body.igm-b17-page .igm-b17-buttons .elementor-button-wrapper,
  html body.igm-b17-page .igm-b17-buttons .elementor-button {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* B17 definitive refinements: internal pages, CTA alignment, icon/text grids */
html body.igm-b17-page .igm-b17-page-hero-split {
  padding-top: 168px !important;
  padding-bottom: 150px !important;
  background:#070c0f !important;
  border-bottom:1px solid rgba(242,238,230,.075) !important;
}
html body.igm-b17-page .igm-b17-page-hero-split > .elementor-container {
  align-items:flex-start !important;
}
html body.igm-b17-page .igm-b17-page-side .elementor-widget-wrap {
  padding-top:17px !important;
  padding-right:44px !important;
}
html body.igm-b17-page .igm-b17-page-main .elementor-widget-wrap {
  padding-left:8px !important;
  max-width:910px !important;
}
html body.igm-b17-page .igm-b17-page-side-label .elementor-heading-title {
  font-family:"Inter", Arial, sans-serif !important;
  color:#d9b36d !important;
  font-size:12px !important;
  line-height:1.35 !important;
  letter-spacing:.42em !important;
  text-transform:uppercase !important;
  font-weight:700 !important;
}
html body.igm-b17-page .igm-b17-page-title .elementor-heading-title {
  font-family:"Cormorant Garamond", Georgia, serif !important;
  color:#f2eee6 !important;
  font-size:clamp(76px, 7.35vw, 124px) !important;
  line-height:.91 !important;
  letter-spacing:-.058em !important;
  font-weight:400 !important;
  max-width:980px !important;
}
html body.igm-b17-page .igm-b17-page-intro-text {
  max-width:820px !important;
  margin-top:40px !important;
}
html body.igm-b17-page .igm-b17-page-intro-text .elementor-widget-container {
  color:rgba(242,238,230,.62) !important;
  font-size:18px !important;
  line-height:1.78 !important;
}

/* Services page */
html body.igm-b17-page .igm-b17-services-grid-section {
  padding-top:0 !important;
  padding-bottom:0 !important;
  background:#070c0f !important;
  border-bottom:1px solid rgba(242,238,230,.075) !important;
}
html body.igm-b17-page .igm-b17-services-grid > .elementor-container,
html body.igm-b17-page .igm-b17-services-grid > .elementor-container > .elementor-column,
html body.igm-b17-page .igm-b17-services-grid > .elementor-container > .elementor-column > .elementor-widget-wrap {
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
}
html body.igm-b17-page .igm-b17-services-grid > .elementor-container > .elementor-column > .elementor-widget-wrap {
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  border-top:1px solid rgba(242,238,230,.08) !important;
  border-left:1px solid rgba(242,238,230,.08) !important;
}
html body.igm-b17-page .igm-b17-service-tile {
  min-height:302px !important;
  padding:50px 42px 46px !important;
  border-right:1px solid rgba(242,238,230,.08) !important;
  border-bottom:1px solid rgba(242,238,230,.08) !important;
  background:rgba(255,255,255,.006) !important;
}
html body.igm-b17-page .igm-b17-service-tile > .elementor-container,
html body.igm-b17-page .igm-b17-service-tile .elementor-widget-wrap {
  min-height:inherit !important;
  padding:0 !important;
  background:transparent !important;
  align-content:flex-start !important;
}
html body.igm-b17-page .igm-b17-service-title .elementor-heading-title {
  font-size:31px !important;
  line-height:1.06 !important;
  letter-spacing:-.025em !important;
  color:#f2eee6 !important;
  margin-top:32px !important;
  margin-bottom:18px !important;
}
html body.igm-b17-page .igm-b17-service-cta-row {
  padding-top:84px !important;
  padding-bottom:96px !important;
  background:#070c0f !important;
  border-bottom:1px solid rgba(242,238,230,.075) !important;
}
html body.igm-b17-page .igm-b17-service-cta-row > .elementor-container { align-items:center !important; }
html body.igm-b17-page .igm-b17-service-cta-button .elementor-widget-wrap { justify-content:flex-end !important; align-content:center !important; }
html body.igm-b17-page .igm-b17-btn-right .elementor-button-wrapper { text-align:right !important; }

/* Property Management page */
html body.igm-b17-page .igm-b17-page-image-hero {
  min-height:760px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  display:flex !important;
  align-items:flex-end !important;
  border-bottom:1px solid rgba(242,238,230,.075) !important;
}
html body.igm-b17-page .igm-b17-property-hero {
  background-image:
    linear-gradient(90deg, rgba(7,12,15,.97) 0%, rgba(7,12,15,.74) 46%, rgba(7,12,15,.28) 100%),
    linear-gradient(180deg, rgba(7,12,15,.12) 0%, rgba(7,12,15,.92) 100%),
    url('https://igmmanagementgroup.lovable.app/assets/villa-exterior-BM3xIhbM.jpg') !important;
  background-size:cover !important;
  background-position:center center !important;
}
html body.igm-b17-page .igm-b17-page-image-hero > .elementor-container {
  min-height:760px !important;
  display:flex !important;
  align-items:flex-end !important;
  padding-bottom:110px !important;
}
html body.igm-b17-page .igm-b17-page-image-copy .elementor-widget-wrap {
  max-width:880px !important;
  padding:0 !important;
}
html body.igm-b17-page .igm-b17-page-image-title .elementor-heading-title {
  font-family:"Cormorant Garamond", Georgia, serif !important;
  color:#f2eee6 !important;
  font-size:clamp(72px, 7.1vw, 118px) !important;
  line-height:.9 !important;
  letter-spacing:-.058em !important;
  font-weight:400 !important;
  margin-top:34px !important;
}
html body.igm-b17-page .igm-b17-pm-handles {
  padding-top:148px !important;
  padding-bottom:148px !important;
}
html body.igm-b17-page .igm-b17-pm-heading-col .elementor-widget-wrap { padding-right:78px !important; }
html body.igm-b17-page .igm-b17-pm-grid-col .elementor-widget-wrap { padding-left:16px !important; }
html body.igm-b17-page .igm-b17-pm-grid .igm-b17-card {
  min-height:230px !important;
  padding:38px 36px !important;
}
html body.igm-b17-page .igm-b17-pm-grid .igm-b17-card-title .elementor-heading-title {
  margin-top:22px !important;
  margin-bottom:12px !important;
}
html body.igm-b17-page .igm-b17-remote-owners {
  padding-top:150px !important;
  padding-bottom:152px !important;
}
html body.igm-b17-page .igm-b17-remote-owners > .elementor-container { align-items:center !important; }
html body.igm-b17-page .igm-b17-remote-media .elementor-widget-wrap { padding-right:76px !important; }
html body.igm-b17-page .igm-b17-remote-copy .elementor-widget-wrap { padding-left:18px !important; }
html body.igm-b17-page .igm-b17-remote-img img {
  width:100% !important;
  height:640px !important;
  object-fit:cover !important;
  display:block !important;
  filter:brightness(.78) saturate(.96) !important;
}
html body.igm-b17-page .igm-b17-list .elementor-widget-container {
  margin-top:34px !important;
  color:rgba(242,238,230,.68) !important;
  font-size:16px !important;
  line-height:1.75 !important;
}
html body.igm-b17-page .igm-b17-list ul { margin:0 !important; padding-left:0 !important; list-style:none !important; }
html body.igm-b17-page .igm-b17-list li {
  border-top:1px solid rgba(242,238,230,.09) !important;
  padding:16px 0 16px 28px !important;
  position:relative !important;
}
html body.igm-b17-page .igm-b17-list li:before {
  content:"" !important;
  width:6px !important; height:6px !important;
  border:1px solid #d9b36d !important;
  position:absolute !important; left:0 !important; top:25px !important;
}

/* About */
html body.igm-b17-page .igm-b17-about-intro .igm-b17-page-main .elementor-widget-wrap { max-width:960px !important; }
html body.igm-b17-page .igm-b17-about-stats { margin-top:0 !important; }

/* Portfolio page */
html body.igm-b17-page .igm-b17-portfolio-page-intro { padding-bottom:92px !important; }
html body.igm-b17-page .igm-b17-portfolio-page {
  padding-top:0 !important;
  padding-bottom:158px !important;
}
html body.igm-b17-page .igm-b17-portfolio-grid-6 > .elementor-container > .elementor-column > .elementor-widget-wrap {
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:36px 30px !important;
  margin-top:0 !important;
}
html body.igm-b17-page .igm-b17-portfolio-grid-6 .igm-b17-portfolio-card img {
  height:500px !important;
  filter:brightness(.96) saturate(.96) !important;
}

/* Contact page */
html body.igm-b17-page .igm-b17-contact-socials { padding-top:0 !important; padding-bottom:90px !important; }
html body.igm-b17-page .igm-b17-contact-grid > .elementor-container,
html body.igm-b17-page .igm-b17-contact-grid > .elementor-container > .elementor-column,
html body.igm-b17-page .igm-b17-contact-grid > .elementor-container > .elementor-column > .elementor-widget-wrap {
  width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; background:transparent !important;
}
html body.igm-b17-page .igm-b17-contact-grid > .elementor-container > .elementor-column > .elementor-widget-wrap {
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  border-top:1px solid rgba(242,238,230,.08) !important;
  border-left:1px solid rgba(242,238,230,.08) !important;
}
html body.igm-b17-page .igm-b17-contact-card {
  padding:40px 38px !important;
  min-height:210px !important;
  border-right:1px solid rgba(242,238,230,.08) !important;
  border-bottom:1px solid rgba(242,238,230,.08) !important;
  background:rgba(255,255,255,.006) !important;
}
html body.igm-b17-page .igm-b17-contact-card .elementor-widget-wrap { padding:0 !important; background:transparent !important; }
html body.igm-b17-page .igm-b17-contact-icon .elementor-icon { color:#d9b36d !important; fill:#d9b36d !important; font-size:20px !important; margin-bottom:28px !important; }
html body.igm-b17-page .igm-b17-contact-label .elementor-heading-title {
  font-family:"Inter",Arial,sans-serif !important;
  font-size:12px !important;
  letter-spacing:.38em !important;
  color:#d9b36d !important;
  text-transform:uppercase !important;
}
html body.igm-b17-page .igm-b17-contact-title .elementor-heading-title {
  font-size:29px !important;
  line-height:1.08 !important;
  margin:12px 0 20px !important;
}
html body.igm-b17-page .igm-b17-contact-main {
  padding-top:130px !important;
  padding-bottom:140px !important;
}
html body.igm-b17-page .igm-b17-contact-main > .elementor-container { align-items:flex-start !important; }
html body.igm-b17-page .igm-b17-contact-info .elementor-widget-wrap { padding-right:96px !important; }
html body.igm-b17-page .igm-b17-contact-form .elementor-widget-wrap { padding-left:18px !important; }
html body.igm-b17-page .igm-b17-office-label { margin-top:64px !important; }
html body.igm-b17-page .igm-b17-form-grid,
html body.igm-b17-page .igm-b17-form-grid > .elementor-container,
html body.igm-b17-page .igm-b17-form-grid > .elementor-container > .elementor-column,
html body.igm-b17-page .igm-b17-form-grid > .elementor-container > .elementor-column > .elementor-widget-wrap {
  width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; background:transparent !important;
}
html body.igm-b17-page .igm-b17-form-grid > .elementor-container > .elementor-column > .elementor-widget-wrap {
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  gap:16px !important;
  margin-top:34px !important;
}
html body.igm-b17-page .igm-b17-form-field {
  min-height:64px !important;
  border:1px solid rgba(242,238,230,.12) !important;
  background:rgba(242,238,230,.025) !important;
  padding:0 !important;
}
html body.igm-b17-page .igm-b17-form-field > .elementor-container,
html body.igm-b17-page .igm-b17-form-field .elementor-widget-wrap {
  min-height:64px !important; padding:0 18px !important; align-content:center !important; background:transparent !important;
}
html body.igm-b17-page .igm-b17-field-wide,
html body.igm-b17-page .igm-b17-field-message { grid-column:1 / -1 !important; }
html body.igm-b17-page .igm-b17-field-message,
html body.igm-b17-page .igm-b17-field-message > .elementor-container,
html body.igm-b17-page .igm-b17-field-message .elementor-widget-wrap { min-height:148px !important; align-content:flex-start !important; padding-top:20px !important; }
html body.igm-b17-page .igm-b17-form-label .elementor-heading-title {
  font-family:"Inter",Arial,sans-serif !important;
  color:rgba(242,238,230,.50) !important;
  font-size:13px !important;
  letter-spacing:.08em !important;
  font-weight:500 !important;
}
html body.igm-b17-page .igm-b17-contact-submit { margin-top:24px !important; }
html body.igm-b17-page .igm-b17-microcopy .elementor-widget-container {
  margin-top:18px !important;
  font-size:13px !important;
  color:rgba(242,238,230,.46) !important;
}
html body.igm-b17-page .igm-b17-find-us {
  padding-top:110px !important;
  padding-bottom:120px !important;
}

/* Button alignment fixes across pages */
html body.igm-b17-page .igm-b17-service-cta-button .elementor-button-wrapper,
html body.igm-b17-page .igm-b17-btn-right .elementor-button-wrapper { width:100% !important; text-align:right !important; }
html body.igm-b17-page .igm-b17-cta .elementor-button-wrapper { text-align:center !important; }
html body.igm-b17-page .igm-b17-cta .elementor-widget-button { margin-left:auto !important; margin-right:auto !important; }

@media (max-width:1024px) {
  html body.igm-b17-page .igm-b17-services-grid > .elementor-container > .elementor-column > .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-contact-grid > .elementor-container > .elementor-column > .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-portfolio-grid-6 > .elementor-container > .elementor-column > .elementor-widget-wrap {
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
  html body.igm-b17-page .igm-b17-page-main .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-pm-heading-col .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-remote-media .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-contact-info .elementor-widget-wrap { padding-right:0 !important; padding-left:0 !important; }
  html body.igm-b17-page .igm-b17-pm-grid-col .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-remote-copy .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-contact-form .elementor-widget-wrap { padding-left:0 !important; }
}
@media (max-width:767px) {
  html body.igm-b17-page .igm-b17-page-hero-split { padding-top:96px !important; padding-bottom:92px !important; }
  html body.igm-b17-page .igm-b17-page-title .elementor-heading-title,
  html body.igm-b17-page .igm-b17-page-image-title .elementor-heading-title { font-size:56px !important; letter-spacing:-.04em !important; }
  html body.igm-b17-page .igm-b17-services-grid > .elementor-container > .elementor-column > .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-contact-grid > .elementor-container > .elementor-column > .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-portfolio-grid-6 > .elementor-container > .elementor-column > .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-form-grid > .elementor-container > .elementor-column > .elementor-widget-wrap { grid-template-columns:1fr !important; }
  html body.igm-b17-page .igm-b17-page-image-hero,
  html body.igm-b17-page .igm-b17-page-image-hero > .elementor-container { min-height:650px !important; }
  html body.igm-b17-page .igm-b17-remote-img img,
  html body.igm-b17-page .igm-b17-portfolio-grid-6 .igm-b17-portfolio-card img { height:360px !important; }
  html body.igm-b17-page .igm-b17-service-cta-button .elementor-button-wrapper,
  html body.igm-b17-page .igm-b17-btn-right .elementor-button-wrapper { text-align:left !important; }
}

/* =========================================================
   B17 FINAL REFINEMENT — internal pages, editable spacing
   Scope: content-only templates, no header/footer.
   The goal is to keep the B16 home base but make Services,
   Property Management, About, Portfolio and Contact closer to
   the Lovable editorial structure and easier to adjust in Elementor.
   ========================================================= */

html body.igm-b17-page .igm-b17-section > .elementor-container{
  max-width:1320px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* keep nested helper sections transparent and non-invasive */
html body.igm-b17-page .igm-b17-buttons,
html body.igm-b17-page .igm-b17-services-grid,
html body.igm-b17-page .igm-b17-card-grid,
html body.igm-b17-page .igm-b17-contact-grid,
html body.igm-b17-page .igm-b17-form-grid,
html body.igm-b17-page .igm-b17-process-grid,
html body.igm-b17-page .igm-b17-portfolio-grid,
html body.igm-b17-page .igm-b17-portfolio-head,
html body.igm-b17-page .igm-b17-card,
html body.igm-b17-page .igm-b17-service-tile,
html body.igm-b17-page .igm-b17-process-card,
html body.igm-b17-page .igm-b17-contact-card,
html body.igm-b17-page .igm-b17-form-field,
html body.igm-b17-page .igm-b17-portfolio-card{
  background-color:transparent !important;
  background-image:none !important;
}

/* Editorial page intro: left micro-label + right title/body */
html body.igm-b17-page .igm-b17-page-hero-split{
  padding-top:178px !important;
  padding-bottom:154px !important;
  background:#070c0f !important;
}
html body.igm-b17-page .igm-b17-page-hero-split > .elementor-container{
  display:flex !important;
  align-items:flex-start !important;
}
html body.igm-b17-page .igm-b17-page-side .elementor-widget-wrap{
  padding-top:16px !important;
  padding-right:46px !important;
}
html body.igm-b17-page .igm-b17-page-side-label .elementor-heading-title{
  font-family:"Inter",Arial,sans-serif !important;
  font-size:12px !important;
  line-height:1.4 !important;
  letter-spacing:.43em !important;
  text-transform:uppercase !important;
  color:#d9b36d !important;
  font-weight:600 !important;
}
html body.igm-b17-page .igm-b17-page-main .elementor-widget-wrap{
  padding-left:12px !important;
  max-width:960px !important;
}
html body.igm-b17-page .igm-b17-page-title .elementor-heading-title{
  font-size:clamp(72px,7.2vw,118px) !important;
  line-height:.91 !important;
  letter-spacing:-.058em !important;
  max-width:960px !important;
}
html body.igm-b17-page .igm-b17-page-intro-text .elementor-widget-container{
  margin-top:42px !important;
  max-width:760px !important;
  font-size:18px !important;
  line-height:1.75 !important;
  color:rgba(242,238,230,.64) !important;
}

/* Button system: consistent with Lovable proportions */
html body.igm-b17-page .elementor-button{
  min-width:264px !important;
  min-height:58px !important;
  padding:22px 30px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  font-size:11px !important;
  line-height:1 !important;
  letter-spacing:.34em !important;
  text-transform:uppercase !important;
  font-family:"Inter",Arial,sans-serif !important;
  font-weight:700 !important;
}
html body.igm-b17-page .igm-b17-buttons > .elementor-container > .elementor-column > .elementor-widget-wrap{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:16px !important;
}
html body.igm-b17-page .igm-b17-btn-gold .elementor-button{
  background:#d9b36d !important;
  color:#070c0f !important;
  border:1px solid #d9b36d !important;
}
html body.igm-b17-page .igm-b17-btn-outline .elementor-button{
  background:transparent !important;
  color:rgba(242,238,230,.84) !important;
  border:1px solid rgba(242,238,230,.27) !important;
}
html body.igm-b17-page .igm-b17-btn-right .elementor-button-wrapper,
html body.igm-b17-page .igm-b17-service-cta-button .elementor-button-wrapper{
  width:100% !important;
  display:flex !important;
  justify-content:flex-end !important;
}

/* SERVICES — precise cards and final CTA row */
html body.igm-b17-page .igm-b17-services-intro{
  padding-bottom:132px !important;
}
html body.igm-b17-page .igm-b17-services-grid-section{
  padding-top:0 !important;
  padding-bottom:0 !important;
  border-top:1px solid rgba(242,238,230,.075) !important;
  border-bottom:1px solid rgba(242,238,230,.075) !important;
}
html body.igm-b17-page .igm-b17-services-grid > .elementor-container > .elementor-column > .elementor-widget-wrap{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  border-left:1px solid rgba(242,238,230,.075) !important;
  padding:0 !important;
}
html body.igm-b17-page .igm-b17-service-tile{
  min-height:298px !important;
  padding:48px 42px 44px !important;
  border-right:1px solid rgba(242,238,230,.075) !important;
  border-bottom:1px solid rgba(242,238,230,.075) !important;
}
html body.igm-b17-page .igm-b17-service-tile .elementor-widget-wrap{
  padding:0 !important;
  align-content:flex-start !important;
}
html body.igm-b17-page .igm-b17-service-title .elementor-heading-title{
  margin-top:34px !important;
  margin-bottom:16px !important;
  font-size:32px !important;
  line-height:1.06 !important;
  letter-spacing:-.03em !important;
}
html body.igm-b17-page .igm-b17-service-cta-row{
  padding-top:96px !important;
  padding-bottom:118px !important;
  background:#070c0f !important;
}
html body.igm-b17-page .igm-b17-service-cta-row > .elementor-container{
  display:flex !important;
  align-items:center !important;
}
html body.igm-b17-page .igm-b17-service-cta-text .elementor-widget-wrap,
html body.igm-b17-page .igm-b17-service-cta-button .elementor-widget-wrap{
  padding:0 !important;
}

/* PROPERTY MANAGEMENT — hero image and aligned icon/text cards */
html body.igm-b17-page .igm-b17-page-image-hero{
  padding-top:0 !important;
  padding-bottom:0 !important;
  min-height:820px !important;
  background-color:#070c0f !important;
}
html body.igm-b17-page .igm-b17-property-hero{
  background-image:
    linear-gradient(90deg, rgba(7,12,15,.96) 0%, rgba(7,12,15,.68) 44%, rgba(7,12,15,.22) 78%, rgba(7,12,15,.80) 100%),
    linear-gradient(180deg, rgba(7,12,15,.20) 0%, rgba(7,12,15,.95) 100%),
    url('https://igmmanagementgroup.lovable.app/assets/villa-exterior-BM3xIhbM.jpg') !important;
  background-size:cover !important;
  background-position:center center !important;
}
html body.igm-b17-page .igm-b17-page-image-hero > .elementor-container{
  min-height:820px !important;
  display:flex !important;
  align-items:flex-end !important;
  padding-bottom:118px !important;
}
html body.igm-b17-page .igm-b17-page-image-copy .elementor-widget-wrap{
  max-width:900px !important;
  padding:0 !important;
}
html body.igm-b17-page .igm-b17-page-image-title .elementor-heading-title{
  font-size:clamp(76px,7.4vw,122px) !important;
  line-height:.89 !important;
  letter-spacing:-.062em !important;
  margin-top:30px !important;
}
html body.igm-b17-page .igm-b17-pm-handles{
  padding-top:164px !important;
  padding-bottom:166px !important;
}
html body.igm-b17-page .igm-b17-pm-handles > .elementor-container{
  display:flex !important;
  align-items:flex-start !important;
}
html body.igm-b17-page .igm-b17-pm-heading-col .elementor-widget-wrap{
  padding-right:92px !important;
}
html body.igm-b17-page .igm-b17-pm-grid-col .elementor-widget-wrap{
  padding-left:0 !important;
}
html body.igm-b17-page .igm-b17-pm-grid > .elementor-container > .elementor-column > .elementor-widget-wrap,
html body.igm-b17-page .igm-b17-card-grid > .elementor-container > .elementor-column > .elementor-widget-wrap{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  border-left:1px solid rgba(242,238,230,.075) !important;
  border-top:1px solid rgba(242,238,230,.075) !important;
}
html body.igm-b17-page .igm-b17-card{
  min-height:214px !important;
  padding:34px 36px !important;
  border-right:1px solid rgba(242,238,230,.075) !important;
  border-bottom:1px solid rgba(242,238,230,.075) !important;
  background:rgba(255,255,255,.008) !important;
}
html body.igm-b17-page .igm-b17-card .elementor-widget-wrap{
  display:grid !important;
  grid-template-columns:28px 1fr !important;
  column-gap:20px !important;
  row-gap:0 !important;
  align-items:flex-start !important;
  padding:0 !important;
  min-height:0 !important;
}
html body.igm-b17-page .igm-b17-card-icon{
  grid-column:1 !important;
  grid-row:1 / span 2 !important;
  margin-top:2px !important;
}
html body.igm-b17-page .igm-b17-card-icon .elementor-icon{
  font-size:18px !important;
  color:#d9b36d !important;
  fill:#d9b36d !important;
}
html body.igm-b17-page .igm-b17-card-title,
html body.igm-b17-page .igm-b17-card-text{
  grid-column:2 !important;
}
html body.igm-b17-page .igm-b17-card-title .elementor-heading-title{
  margin:0 0 12px !important;
  font-size:25px !important;
  line-height:1.08 !important;
}
html body.igm-b17-page .igm-b17-card-text .elementor-widget-container{
  font-size:15px !important;
  line-height:1.66 !important;
}
html body.igm-b17-page .igm-b17-remote-owners{
  padding-top:0 !important;
  padding-bottom:166px !important;
}
html body.igm-b17-page .igm-b17-remote-img img{
  height:660px !important;
  object-fit:cover !important;
  filter:brightness(.78) saturate(.94) !important;
}

/* ABOUT */
html body.igm-b17-page .igm-b17-about-intro{
  padding-bottom:142px !important;
}
html body.igm-b17-page .igm-b17-about-stats{
  border-top:1px solid rgba(242,238,230,.075) !important;
  border-bottom:1px solid rgba(242,238,230,.075) !important;
}

/* PORTFOLIO — image grid proportions */
html body.igm-b17-page .igm-b17-portfolio-page-intro{
  padding-bottom:118px !important;
}
html body.igm-b17-page .igm-b17-portfolio-page{
  padding-top:0 !important;
  padding-bottom:168px !important;
}
html body.igm-b17-page .igm-b17-portfolio-grid-6 > .elementor-container > .elementor-column > .elementor-widget-wrap{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:48px 30px !important;
}
html body.igm-b17-page .igm-b17-portfolio-grid-6 .igm-b17-portfolio-card img{
  height:520px !important;
  object-fit:cover !important;
}
html body.igm-b17-page .igm-b17-portfolio-grid-6 .igm-b17-portfolio-title .elementor-heading-title{
  margin-top:24px !important;
}

/* CONTACT — cards, form and office blocks */
html body.igm-b17-page .igm-b17-contact-intro{
  padding-bottom:118px !important;
}
html body.igm-b17-page .igm-b17-contact-socials{
  padding-top:0 !important;
  padding-bottom:116px !important;
}
html body.igm-b17-page .igm-b17-contact-grid > .elementor-container > .elementor-column > .elementor-widget-wrap{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  border-left:1px solid rgba(242,238,230,.075) !important;
  border-top:1px solid rgba(242,238,230,.075) !important;
}
html body.igm-b17-page .igm-b17-contact-card{
  min-height:224px !important;
  padding:38px 38px !important;
  border-right:1px solid rgba(242,238,230,.075) !important;
  border-bottom:1px solid rgba(242,238,230,.075) !important;
}
html body.igm-b17-page .igm-b17-contact-card .elementor-widget-wrap{
  display:grid !important;
  grid-template-columns:30px 1fr !important;
  column-gap:18px !important;
  align-items:flex-start !important;
  padding:0 !important;
}
html body.igm-b17-page .igm-b17-contact-icon{
  grid-column:1 !important;
  grid-row:1 / span 3 !important;
  margin-top:0 !important;
}
html body.igm-b17-page .igm-b17-contact-label,
html body.igm-b17-page .igm-b17-contact-title,
html body.igm-b17-page .igm-b17-contact-card .igm-b17-small-link{
  grid-column:2 !important;
}
html body.igm-b17-page .igm-b17-contact-main{
  padding-top:0 !important;
  padding-bottom:160px !important;
}
html body.igm-b17-page .igm-b17-contact-info .elementor-widget-wrap{
  padding-right:104px !important;
}
html body.igm-b17-page .igm-b17-contact-form .elementor-widget-wrap{
  padding-left:0 !important;
}
html body.igm-b17-page .igm-b17-form-grid > .elementor-container > .elementor-column > .elementor-widget-wrap{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px !important;
  margin-top:34px !important;
}
html body.igm-b17-page .igm-b17-form-field{
  min-height:66px !important;
  border:1px solid rgba(242,238,230,.14) !important;
  background:rgba(242,238,230,.018) !important;
}
html body.igm-b17-page .igm-b17-field-message,
html body.igm-b17-page .igm-b17-field-message .elementor-widget-wrap{
  min-height:154px !important;
}
html body.igm-b17-page .igm-b17-contact-submit .elementor-button-wrapper{
  margin-top:24px !important;
}

@media (max-width:1024px){
  html body.igm-b17-page .igm-b17-page-side,
  html body.igm-b17-page .igm-b17-page-main,
  html body.igm-b17-page .igm-b17-pm-heading-col,
  html body.igm-b17-page .igm-b17-pm-grid-col,
  html body.igm-b17-page .igm-b17-remote-media,
  html body.igm-b17-page .igm-b17-remote-copy,
  html body.igm-b17-page .igm-b17-contact-info,
  html body.igm-b17-page .igm-b17-contact-form{
    width:100% !important;
  }
  html body.igm-b17-page .igm-b17-page-main .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-page-side .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-pm-heading-col .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-contact-info .elementor-widget-wrap{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  html body.igm-b17-page .igm-b17-services-grid > .elementor-container > .elementor-column > .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-portfolio-grid-6 > .elementor-container > .elementor-column > .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-contact-grid > .elementor-container > .elementor-column > .elementor-widget-wrap{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:767px){
  html body.igm-b17-page .igm-b17-page-hero-split{
    padding-top:110px !important;
    padding-bottom:96px !important;
  }
  html body.igm-b17-page .igm-b17-page-title .elementor-heading-title,
  html body.igm-b17-page .igm-b17-page-image-title .elementor-heading-title{
    font-size:58px !important;
    line-height:.94 !important;
  }
  html body.igm-b17-page .igm-b17-services-grid > .elementor-container > .elementor-column > .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-pm-grid > .elementor-container > .elementor-column > .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-card-grid > .elementor-container > .elementor-column > .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-portfolio-grid-6 > .elementor-container > .elementor-column > .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-contact-grid > .elementor-container > .elementor-column > .elementor-widget-wrap,
  html body.igm-b17-page .igm-b17-form-grid > .elementor-container > .elementor-column > .elementor-widget-wrap{
    grid-template-columns:1fr !important;
  }
  html body.igm-b17-page .igm-b17-buttons > .elementor-container > .elementor-column > .elementor-widget-wrap{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  html body.igm-b17-page .elementor-button{
    width:100% !important;
    min-width:0 !important;
  }
}
