.elementor-69 .elementor-element.elementor-element-6822814{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-69 .elementor-element.elementor-element-40f875f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-69 .elementor-element.elementor-element-37c60fb{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-69 .elementor-element.elementor-element-1913d3a{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-69 .elementor-element.elementor-element-27736f6{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-69 .elementor-element.elementor-element-667e9c8{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-69 .elementor-element.elementor-element-729781e{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-69 .elementor-element.elementor-element-785c6ea{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-69 .elementor-element.elementor-element-668182c{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-69 .elementor-element.elementor-element-926b60b{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-69 .elementor-element.elementor-element-e05bc2b{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-69 .elementor-element.elementor-element-148e620{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-db77038 *//* =====================================================
   INTRODUCTION SECTION — COMPACT DESKTOP HEIGHT FIX
   Paste at the END of existing Introduction CSS
===================================================== */

/* Prevent accidental horizontal scrollbar */
.iga-about-section {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: clip !important;
}

/* =====================================================
   LARGE DESKTOP
===================================================== */

@media only screen and (min-width: 1025px) {
  .iga-about-container {
    height: min(760px, 100svh) !important;
    min-height: 650px !important;
    max-height: 760px !important;

    align-items: stretch !important;
  }

  /* Compact content spacing */
  .iga-about-content {
    height: 100% !important;

    justify-content: center !important;

    padding-top: 32px !important;
    padding-right: clamp(42px, 5vw, 80px) !important;
    padding-bottom: 32px !important;
    padding-left:
      max(
        clamp(42px, 5vw, 80px),
        calc((100vw - 1180px) / 2)
      ) !important;
  }

  .iga-about-label {
    margin-bottom: 11px !important;
    font-size: 12px !important;
  }

  .iga-about-header h2 {
    font-size: clamp(49px, 4.3vw, 64px) !important;
    line-height: 0.92 !important;
  }

  .iga-about-divider {
    margin-top: 17px !important;
    margin-bottom: 18px !important;
  }

  .iga-about-description p {
    margin-bottom: 10px !important;

    font-size: clamp(14px, 0.85vw, 13px) !important;
    line-height: 1.62 !important;
  }

  /* Compact feature cards */
  .iga-about-highlights {
    margin-top: 20px !important;
  }

  .iga-about-highlight {
    padding-top: 16px !important;
    padding-right: 14px !important;
    padding-bottom: 15px !important;
  }

  .iga-about-highlight + .iga-about-highlight {
    padding-left: 14px !important;
  }

  .iga-highlight-icon {
    width: 34px !important;
    height: 34px !important;

    margin-bottom: 9px !important;
  }

  .iga-highlight-icon span {
    font-size: 17px !important;
  }

  .iga-highlight-text h3 {
    margin-bottom: 5px !important;

    font-size: clamp(18px, 1.55vw, 22px) !important;
    line-height: 1.02 !important;
  }

  .iga-highlight-text p {
    font-size: clamp(8px, 0.68vw, 9.5px) !important;
    line-height: 1.5 !important;
  }

  /* Compact button */
  .iga-about-button {
    min-height: 46px !important;

    margin-top: 20px !important;
    padding: 10px 21px !important;

    font-size: 8.5px !important;
  }

  /* Image matches exact section height */
  .iga-about-visual {
    height: 100% !important;
    min-height: 0 !important;

    padding-top: 28px !important;
    padding-bottom: 28px !important;
    padding-left: 27px !important;
  }

  .iga-about-image {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .iga-about-image img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
  }

  .iga-corner-top {
    top: 13px !important;
  }

  .iga-corner-bottom {
    bottom: 13px !important;
  }
}

/* =====================================================
   LAPTOPS WITH SHORTER SCREEN HEIGHT
===================================================== */

@media only screen and (min-width: 1025px) and (max-height: 760px) {
  .iga-about-container {
    height: 650px !important;
    min-height: 650px !important;
    max-height: 650px !important;
  }

  .iga-about-content {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }

  .iga-about-header h2 {
    font-size: clamp(45px, 4vw, 57px) !important;
  }

  .iga-about-divider {
    margin-top: 13px !important;
    margin-bottom: 14px !important;
  }

  .iga-about-description p {
    margin-bottom: 7px !important;

    font-size: 11px !important;
    line-height: 1.5 !important;
  }

  .iga-about-highlights {
    margin-top: 14px !important;
  }

  .iga-about-highlight {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  .iga-highlight-icon {
    width: 30px !important;
    height: 30px !important;

    margin-bottom: 7px !important;
  }

  .iga-highlight-text h3 {
    font-size: 18px !important;
  }

  .iga-highlight-text p {
    font-size: 8px !important;
    line-height: 1.4 !important;
  }

  .iga-about-button {
    min-height: 42px !important;
    margin-top: 14px !important;
  }

  .iga-about-visual {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }
}

/* =====================================================
   TABLET HEIGHT BALANCE
===================================================== */

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .iga-about-container {
    min-height: 680px !important;
  }

  .iga-about-content {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .iga-about-visual {
    min-height: 680px !important;

    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }

  .iga-about-image {
    min-height: 620px !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b595754 *//* =====================================================
   PORTFOLIO FILTER FIX
   Correct colours, visibility and alignment
===================================================== */

.iga-portfolio-filters {
  display: flex !important;
  width: 100% !important;

  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;

  gap: 9px 24px !important;

  margin: 0 0 32px !important;
  padding: 0 0 15px !important;

  overflow: visible !important;

  border-bottom: 1px solid rgba(66, 71, 76, 0.16) !important;

  text-align: center !important;
}

/* Completely neutralize Elementor/theme button styling */
.iga-portfolio-filter {
  position: relative !important;

  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 38px !important;

  flex: 0 0 auto !important;

  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 9px 13px !important;

  overflow: visible !important;

  border: 1px solid transparent !important;
  border-radius: 0 !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  box-shadow: none !important;

  color: #62676a !important;

  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 8px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.07em !important;

  text-align: center !important;
  text-decoration: none !important;
  text-indent: 0 !important;
  text-transform: uppercase !important;

  white-space: normal !important;

  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

/* Remove theme-generated decoration */
.iga-portfolio-filter::before {
  display: none !important;
  content: none !important;
}

/* Underline */
.iga-portfolio-filter::after {
  position: absolute !important;
  right: 10px !important;
  bottom: -16px !important;
  left: 10px !important;

  display: block !important;

  width: auto !important;
  height: 2px !important;

  content: "" !important;

  background: #c6a15b !important;

  transform: scaleX(0) !important;
  transform-origin: center !important;

  transition: transform 250ms ease !important;
}

/* Hover state */
.iga-portfolio-filter:hover {
  border-color: rgba(198, 161, 91, 0.45) !important;

  background: rgba(198, 161, 91, 0.08) !important;
  background-color: rgba(198, 161, 91, 0.08) !important;

  color: #8d6826 !important;
}

/* Active state — gold background and white text */
.iga-portfolio-filter.is-active,
.iga-portfolio-filter[aria-pressed="true"] {
  border-color: #c6a15b !important;

  background: #c6a15b !important;
  background-color: #c6a15b !important;
  background-image: none !important;

  color: #ffffff !important;

  box-shadow: none !important;
}

/* Keep active text visible on hover/focus */
.iga-portfolio-filter.is-active:hover,
.iga-portfolio-filter.is-active:focus,
.iga-portfolio-filter.is-active:focus-visible {
  border-color: #a98037 !important;

  background: #a98037 !important;
  background-color: #a98037 !important;

  color: #ffffff !important;
}

/* Active underline */
.iga-portfolio-filter.is-active::after {
  transform: scaleX(1) !important;
}

/* Keyboard focus */
.iga-portfolio-filter:focus-visible {
  outline: 2px solid #a9d6df !important;
  outline-offset: 3px !important;
}

/* =====================================================
   MOBILE FILTER ALIGNMENT
===================================================== */

@media only screen and (max-width: 767px) {
  .iga-portfolio-filters {
    justify-content: center !important;
    flex-wrap: wrap !important;

    gap: 7px !important;

    margin-right: 0 !important;
    margin-left: 0 !important;
    margin-bottom: 27px !important;
    padding: 0 0 13px !important;

    overflow: visible !important;
  }

  .iga-portfolio-filter {
    min-height: 36px !important;

    padding: 8px 10px !important;

    border: 1px solid rgba(66, 71, 76, 0.16) !important;

    font-size: 7.2px !important;
    line-height: 1.3 !important;

    text-align: center !important;
    white-space: normal !important;
  }

  .iga-portfolio-filter.is-active {
    border-color: #c6a15b !important;
    background: #c6a15b !important;
    color: #ffffff !important;
  }

  /* Hide underline on mobile because buttons wrap */
  .iga-portfolio-filter::after {
    display: none !important;
  }
}

/* Small mobile: two balanced columns */
@media only screen and (max-width: 420px) {
  .iga-portfolio-filters {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;

    width: 100% !important;
  }

  .iga-portfolio-filter {
    width: 100% !important;
    min-width: 0 !important;

    padding: 8px 6px !important;

    overflow-wrap: break-word !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f579869 *//* =====================================================
   FAQ OVERLAP FIX — DESKTOP + TABLET + MOBILE
   Paste at the END of existing FAQ CSS
===================================================== */

/* Prevent FAQ grid from overflowing its column */
.iga-faq-container,
.iga-faq-list,
.iga-faq-item,
.iga-faq-item h3,
.iga-faq-question,
.iga-faq-question-text {
  min-width: 0 !important;
  max-width: 100% !important;
}

/* Keep each question within the FAQ column */
.iga-faq-list {
  width: 100% !important;
  overflow: hidden !important;
}

.iga-faq-item {
  width: 100% !important;
  overflow: hidden !important;
}

/* Stable three-column structure */
.iga-faq-question {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 40px !important;
  column-gap: 18px !important;

  width: 100% !important;
  max-width: 100% !important;

  align-items: center !important;

  margin: 0 !important;
  padding: 25px 22px !important;

  overflow: hidden !important;
}

/* Force long questions to wrap correctly */
.iga-faq-question-text {
  display: block !important;
  width: auto !important;

  overflow: visible !important;

  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  word-break: normal !important;

  color: #171a1d !important;

  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(21px, 1.8vw, 29px) !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
}

/* Number must remain in its own column */
.iga-faq-number {
  display: block !important;
  width: 42px !important;

  align-self: start !important;
  padding-top: 4px;

  color: rgba(198, 161, 91, 0.75) !important;

  font-size: 20px !important;
  line-height: 1 !important;
}

/* Icon must never move over the text */
.iga-faq-toggle {
  position: relative !important;
  right: auto !important;
  left: auto !important;

  display: block !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;

  align-self: center !important;
  justify-self: end !important;

  margin: 0 !important;
  padding: 0 !important;

  flex: 0 0 38px !important;
}

/* Keep + and − centred */
.iga-faq-toggle::before,
.iga-faq-toggle::after {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;

  width: 12px !important;
  height: 1px !important;

  margin: 0 !important;

  transform: translate(-50%, -50%) !important;
}

.iga-faq-toggle::after {
  transform: translate(-50%, -50%) rotate(90deg) !important;
}

.iga-faq-open .iga-faq-toggle::after {
  transform: translate(-50%, -50%) rotate(0deg) !important;
}

/* Answer aligns below question text */
.iga-faq-answer p {
  max-width: 100% !important;

  padding:
    0
    80px
    27px
    82px !important;

  white-space: normal !important;
  overflow-wrap: break-word !important;
}

/* =====================================================
   TABLET FIX
===================================================== */

@media only screen and (min-width: 768px) and (max-width: 1100px) {
  .iga-faq-container {
    grid-template-columns:
      minmax(280px, 0.72fr)
      minmax(0, 1.28fr) !important;

    gap: 40px !important;
  }

  .iga-faq-question {
    grid-template-columns:
      34px
      minmax(0, 1fr)
      36px !important;

    column-gap: 13px !important;

    padding: 22px 17px !important;
  }

  .iga-faq-number {
    width: 34px !important;
  }

  .iga-faq-toggle {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
  }

  .iga-faq-question-text {
    font-size: clamp(20px, 2.15vw, 25px) !important;
  }

  .iga-faq-answer p {
    padding:
      0
      66px
      24px
      64px !important;
  }
}

/* =====================================================
   MOBILE FIX
===================================================== */

@media only screen and (max-width: 767px) {
  .iga-faq-container {
    display: block !important;

    width: calc(100% - 30px) !important;
    max-width: 100% !important;

    margin-inline: auto !important;
  }

  .iga-faq-list {
    width: 100% !important;
    margin-top: 35px !important;
  }

  /*
   * Mobile uses only question + icon.
   * Number is hidden to provide more room.
   */
  .iga-faq-question {
    grid-template-columns:
      minmax(0, 1fr)
      36px !important;

    column-gap: 13px !important;

    padding: 20px 12px !important;
  }

  .iga-faq-number {
    display: none !important;
  }

  .iga-faq-question-text {
    width: 100% !important;

    padding: 0 !important;

    font-size: clamp(20px, 6.2vw, 25px) !important;
    line-height: 1.12 !important;
  }

  .iga-faq-toggle {
    display: block !important;

    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;

    align-self: center !important;
    justify-self: end !important;
  }

  .iga-faq-answer p {
    padding:
      0
      61px
      21px
      12px !important;

    font-size: 10.5px !important;
    line-height: 1.7 !important;
  }
}

/* =====================================================
   SMALL MOBILE FIX
===================================================== */

@media only screen and (max-width: 390px) {
  .iga-faq-container {
    width: calc(100% - 24px) !important;
  }

  .iga-faq-question {
    grid-template-columns:
      minmax(0, 1fr)
      33px !important;

    column-gap: 10px !important;

    padding: 18px 10px !important;
  }

  .iga-faq-question-text {
    font-size: 21px !important;
    line-height: 1.1 !important;
  }

  .iga-faq-toggle {
    width: 33px !important;
    min-width: 33px !important;
    height: 33px !important;
  }

  .iga-faq-answer p {
    padding:
      0
      53px
      20px
      10px !important;
  }
}/* End custom CSS */