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

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

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

.igm-b18-page .entry-title,
.igm-b18-page .page-title,
.igm-b18-page h1.entry-title { display:none ; }

.igm-b18-page .elementor-section,
.igm-b18-page .elementor-container,
.igm-b18-page .elementor-column,
.igm-b18-page .elementor-widget-wrap,
.igm-b18-page .elementor-widget-container { box-sizing: border-box ; }

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

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

.igm-b18-page .igm-b18-buttons,
.igm-b18-page .igm-b18-card-grid,
.igm-b18-page .igm-b18-card,
.igm-b18-page .igm-b18-process-grid,
.igm-b18-page .igm-b18-process-card,
.igm-b18-page .igm-b18-portfolio-head,
.igm-b18-page .igm-b18-portfolio-grid,
.igm-b18-page .igm-b18-portfolio-card {
  background: transparent ;
  padding-left: 0 ;
  padding-right: 0 ;
}

.igm-b18-page .igm-b18-section > .elementor-container {
  max-width: 1320px ;
  width: 100% ;
  margin: 0 auto ;
}

/* Widget margins are intentionally not locked in B18 so Elementor spacing controls remain editable. */

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

.igm-b18-page .elementor-widget-text-editor,
.igm-b18-page .elementor-widget-text-editor .elementor-widget-container,
.igm-b18-page p,
.igm-b18-page .elementor-button {
  font-family: "Inter", Arial, sans-serif ;
}

/* HERO */
.igm-b18-page .igm-b18-hero {
  min-height: 910px ;
  padding-top: 126px ;
  padding-bottom: 84px ;
  background-color: #070c0f ;
  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') ;
  background-repeat: no-repeat ;
  background-size: cover ;
  background-position: center center ;
  border-bottom: 1px solid rgba(242,238,230,0.065) ;
  overflow: hidden ;
}

.igm-b18-page .igm-b18-hero > .elementor-container {
  min-height: 700px ;
  display: flex ;
  align-items: flex-end ;
}

.igm-b18-page .igm-b18-hero-col .elementor-widget-wrap {
  align-content: flex-end ;
  justify-content: flex-start ;
  padding: 0 ;
}

.igm-b18-page .igm-b18-place-col .elementor-widget-wrap {
  align-content: flex-end ;
  justify-content: flex-end ;
  padding-bottom: 154px ;
}

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

.igm-b18-page .igm-b18-overline { margin-bottom: 34px ; }

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

.igm-b18-page .igm-b18-hero-title-accent .elementor-heading-title {
  font-style: italic ;
  color: #e6d2a0 ;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* B18 Editable refinements: nested section dimensions and button alignment */
.igm-b18-page .igm-b18-buttons > .elementor-container,
.igm-b18-page .igm-b18-card-grid > .elementor-container,
.igm-b18-page .igm-b18-card > .elementor-container,
.igm-b18-page .igm-b18-process-grid > .elementor-container,
.igm-b18-page .igm-b18-process-card > .elementor-container,
.igm-b18-page .igm-b18-portfolio-head > .elementor-container,
.igm-b18-page .igm-b18-portfolio-grid > .elementor-container,
.igm-b18-page .igm-b18-portfolio-card > .elementor-container {
  max-width: none ;
  width: 100% ;
  margin: 0 ;
}

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

.igm-b18-page .igm-b18-buttons .elementor-widget-button {
  width: auto ;
  max-width: none ;
  flex: 0 0 auto ;
  margin: 0 ;
}

.igm-b18-page .igm-b18-buttons .elementor-button-wrapper {
  width: auto ;
  margin: 0 ;
  text-align: left ;
}

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

.igm-b18-page .igm-b18-hero .igm-b18-btn-gold .elementor-button,
.igm-b18-page .igm-b18-hero .igm-b18-btn-outline .elementor-button {
  min-width: 276px ;
}

.igm-b18-page .igm-b18-owner .igm-b18-btn-gold .elementor-button {
  min-width: 337px ;
}
.igm-b18-page .igm-b18-owner .igm-b18-btn-outline .elementor-button {
  min-width: 280px ;
}

.igm-b18-page .igm-b18-card-grid,
.igm-b18-page .igm-b18-process-grid,
.igm-b18-page .igm-b18-portfolio-grid {
  width: 100% ;
}

.igm-b18-page .igm-b18-card-grid > .elementor-container > .elementor-column,
.igm-b18-page .igm-b18-process-grid > .elementor-container > .elementor-column,
.igm-b18-page .igm-b18-portfolio-grid > .elementor-container > .elementor-column {
  width: 100% ;
}

.igm-b18-page .igm-b18-card-grid > .elementor-container > .elementor-column > .elementor-widget-wrap,
.igm-b18-page .igm-b18-process-grid > .elementor-container > .elementor-column > .elementor-widget-wrap,
.igm-b18-page .igm-b18-portfolio-grid > .elementor-container > .elementor-column > .elementor-widget-wrap {
  background: transparent ;
  padding: 0 ;
}

.igm-b18-page .igm-b18-card,
.igm-b18-page .igm-b18-process-card {
  background-color: rgba(255,255,255,0.006) ;
}

.igm-b18-page .igm-b18-card .elementor-widget-wrap,
.igm-b18-page .igm-b18-process-card .elementor-widget-wrap,
.igm-b18-page .igm-b18-portfolio-card .elementor-widget-wrap {
  padding: 0 ;
}

.igm-b18-page .igm-b18-owner-copy .elementor-widget-wrap,
.igm-b18-page .igm-b18-why-copy .elementor-widget-wrap,
.igm-b18-page .igm-b18-partner-copy .elementor-widget-wrap,
.igm-b18-page .igm-b18-cta-col .elementor-widget-wrap {
  background: transparent ;
}

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

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

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

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

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

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

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

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

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

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

/* =========================================================
   B18 Editable 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.
   ========================================================= */

.igm-b18-page .igm-b18-section > .elementor-container{
  max-width:1320px ;
  margin-left:auto ;
  margin-right:auto ;
}

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

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

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

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

/* PROPERTY MANAGEMENT — hero image and aligned icon/text cards */
.igm-b18-page .igm-b18-page-image-hero{
  padding-top:0 ;
  padding-bottom:0 ;
  min-height:820px ;
  background-color:#070c0f ;
}
.igm-b18-page .igm-b18-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') ;
  background-size:cover ;
  background-position:center center ;
}
.igm-b18-page .igm-b18-page-image-hero > .elementor-container{
  min-height:820px ;
  display:flex ;
  align-items:flex-end ;
  padding-bottom:118px ;
}
.igm-b18-page .igm-b18-page-image-copy .elementor-widget-wrap{
  max-width:900px ;
  padding:0 ;
}
.igm-b18-page .igm-b18-page-image-title .elementor-heading-title{
  font-size:clamp(76px,7.4vw,122px) ;
  line-height:.89 ;
  letter-spacing:-.062em ;
  margin-top:30px ;
}
.igm-b18-page .igm-b18-pm-handles{
  padding-top:164px ;
  padding-bottom:166px ;
}
.igm-b18-page .igm-b18-pm-handles > .elementor-container{
  display:flex ;
  align-items:flex-start ;
}
.igm-b18-page .igm-b18-pm-heading-col .elementor-widget-wrap{
  padding-right:92px ;
}
.igm-b18-page .igm-b18-pm-grid-col .elementor-widget-wrap{
  padding-left:0 ;
}
.igm-b18-page .igm-b18-pm-grid > .elementor-container > .elementor-column > .elementor-widget-wrap,
.igm-b18-page .igm-b18-card-grid > .elementor-container > .elementor-column > .elementor-widget-wrap{
  display:grid ;
  grid-template-columns:repeat(2,minmax(0,1fr)) ;
  border-left:1px solid rgba(242,238,230,.075) ;
  border-top:1px solid rgba(242,238,230,.075) ;
}
.igm-b18-page .igm-b18-card{
  min-height:214px ;
  padding:34px 36px ;
  border-right:1px solid rgba(242,238,230,.075) ;
  border-bottom:1px solid rgba(242,238,230,.075) ;
  background:rgba(255,255,255,.008) ;
}
.igm-b18-page .igm-b18-card .elementor-widget-wrap{
  display:grid ;
  grid-template-columns:28px 1fr ;
  column-gap:20px ;
  row-gap:0 ;
  align-items:flex-start ;
  padding:0 ;
  min-height:0 ;
}
.igm-b18-page .igm-b18-card-icon{
  grid-column:1 ;
  grid-row:1 / span 2 ;
  margin-top:2px ;
}
.igm-b18-page .igm-b18-card-icon .elementor-icon{
  font-size:18px ;
  color:#d9b36d ;
  fill:#d9b36d ;
}
.igm-b18-page .igm-b18-card-title,
.igm-b18-page .igm-b18-card-text{
  grid-column:2 ;
}
.igm-b18-page .igm-b18-card-title .elementor-heading-title{
  margin:0 0 12px ;
  font-size:25px ;
  line-height:1.08 ;
}
.igm-b18-page .igm-b18-card-text .elementor-widget-container{
  font-size:15px ;
  line-height:1.66 ;
}
.igm-b18-page .igm-b18-remote-owners{
  padding-top:0 ;
  padding-bottom:166px ;
}
.igm-b18-page .igm-b18-remote-img img{
  height:660px ;
  object-fit:cover ;
  filter:brightness(.78) saturate(.94) ;
}

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

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

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

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

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