.elementor-kit-6{--e-global-color-primary:#1C3F3A;--e-global-color-secondary:#AACE45;--e-global-color-text:#3A4A47;--e-global-color-accent:#284F49;--e-global-color-igthird:#DDEBB5;--e-global-color-igfourt:#EEF5DA;--e-global-color-igfifth:#A4B2B0;--e-global-color-igblack:#000000;--e-global-color-igwhite:#FFFFFF;--e-global-typography-primary-font-family:"Unbounded";--e-global-typography-primary-font-size:46px;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.18em;--e-global-typography-primary-letter-spacing:-0.01em;--e-global-typography-secondary-font-family:"Unbounded";--e-global-typography-secondary-font-size:44px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.18em;--e-global-typography-secondary-letter-spacing:-0.01em;--e-global-typography-text-font-family:"Rubik";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.75em;--e-global-typography-accent-font-family:"Unbounded";--e-global-typography-accent-font-size:18px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-letter-spacing:0.01em;--e-global-typography-igeyebr-font-family:"Unbounded";--e-global-typography-igeyebr-font-size:12.5px;--e-global-typography-igeyebr-font-weight:500;--e-global-typography-igeyebr-text-transform:uppercase;--e-global-typography-igeyebr-letter-spacing:0.08em;color:#000000;font-family:"Rubik", Sans-serif;font-size:16px;font-weight:400;line-height:1.6em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#AACE45;font-family:"Unbounded", Sans-serif;font-size:18px;font-weight:500;letter-spacing:0.01em;color:#1C3F3A;border-radius:100px 100px 100px 100px;padding:16px 30px 16px 30px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:#AACE45;color:#1C3F3A;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#1C3F3A;}.elementor-kit-6 a:hover{color:#AACE45;}.elementor-kit-6 h1{color:#1C3F3A;font-family:"Unbounded", Sans-serif;font-size:46px;font-weight:700;line-height:1.18em;letter-spacing:-0.01em;}.elementor-kit-6 h2{color:#1C3F3A;font-family:"Unbounded", Sans-serif;font-size:44px;font-weight:600;line-height:1.18em;letter-spacing:-0.01em;}.elementor-kit-6 h3{color:#1C3F3A;font-family:"Unbounded", Sans-serif;font-size:20px;font-weight:500;line-height:1.18em;letter-spacing:-0.01em;}.elementor-kit-6 h4{color:#1C3F3A;font-family:"Unbounded", Sans-serif;font-size:17px;font-weight:500;line-height:1.18em;letter-spacing:-0.01em;}.elementor-kit-6 h5{color:#1C3F3A;font-family:"Unbounded", Sans-serif;font-size:16px;font-weight:500;line-height:1.18em;letter-spacing:-0.01em;}.elementor-kit-6 h6{color:#1C3F3A;font-family:"Unbounded", Sans-serif;font-size:15px;font-weight:500;line-height:1.18em;letter-spacing:-0.01em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-primary-font-size:40px;--e-global-typography-secondary-font-size:36px;--e-global-typography-text-font-size:16px;--e-global-typography-accent-font-size:18px;--e-global-typography-igeyebr-font-size:12.5px;font-size:16px;}.elementor-kit-6 h1{font-size:40px;}.elementor-kit-6 h2{font-size:36px;}.elementor-kit-6 h3{font-size:19px;}.elementor-kit-6 h4{font-size:16px;}.elementor-kit-6 h5{font-size:15px;}.elementor-kit-6 h6{font-size:14px;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-primary-font-size:32px;--e-global-typography-secondary-font-size:28px;--e-global-typography-text-font-size:16px;--e-global-typography-accent-font-size:18px;--e-global-typography-igeyebr-font-size:12.5px;font-size:16px;}.elementor-kit-6 h1{font-size:32px;}.elementor-kit-6 h2{font-size:28px;}.elementor-kit-6 h3{font-size:18px;}.elementor-kit-6 h4{font-size:16px;}.elementor-kit-6 h5{font-size:15px;}.elementor-kit-6 h6{font-size:14px;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */:root{
  --ig-primary:#1C3F3A; --ig-primary-light:#284F49; --ig-secondary:#AACE45;
  --ig-third:#DDEBB5; --ig-fourth:#EEF5DA; --ig-fifth:#A4B2B0;
  --ig-text:#3A4A47; --ig-black:#000000; --ig-white:#FFFFFF;
  --ig-radius-sm:10px; --ig-radius-md:18px; --ig-radius-lg:28px; --ig-radius-pill:100px;
  --ig-shadow-sm:0 4px 16px rgba(0,0,0,0.06);
  --ig-shadow-md:0 12px 32px rgba(0,0,0,0.10);
  --ig-shadow-lg:0 24px 60px rgba(0,0,0,0.14);
  --ig-ease:cubic-bezier(.22,.8,.32,1);
}
/* 5. paragraph base - never below 16px */
p{ font-size:16px; line-height:1.75; color:#000000; }
/* 9. section spacing system */
.ig-section{ padding:110px 0; }
.ig-section-tight{ padding:90px 0; }
@media (max-width:767px){
  .ig-section{ padding:70px 0; }
  .ig-section-tight{ padding:56px 0; }
}
/* 7. eyebrow / section label */
.ig-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Unbounded',sans-serif; font-size:12.5px; font-weight:500;
  letter-spacing:0.08em; text-transform:uppercase; color:var(--ig-primary);
  background:var(--ig-fourth); border:1px solid var(--ig-third);
  padding:8px 16px 8px 12px; border-radius:var(--ig-radius-pill);
}
.ig-eyebrow::before{
  content:""; width:7px; height:7px; border-radius:50%;
  background:var(--ig-secondary); box-shadow:0 0 0 4px rgba(170,206,69,0.25);
}
/* 12. primary button hover */
.elementor-button{ transition:transform .35s var(--ig-ease), box-shadow .35s var(--ig-ease), background .3s ease, color .3s ease; }
.ig-btn-primary .elementor-button{ box-shadow:0 10px 24px rgba(170,206,69,0.35); }
.ig-btn-primary .elementor-button:hover{ transform:translateY(-3px); box-shadow:0 16px 32px rgba(170,206,69,0.45); }
/* 13. dark button */
.ig-btn-dark .elementor-button{ background:var(--ig-primary); color:var(--ig-white); }
.ig-btn-dark .elementor-button:hover{ background:var(--ig-black); color:var(--ig-white); transform:translateY(-3px); box-shadow:var(--ig-shadow-md); }
/* 14. outline button - dark backgrounds */
.ig-btn-outline .elementor-button{ background:transparent; color:var(--ig-white); border:1.5px solid rgba(255,255,255,0.4); }
.ig-btn-outline .elementor-button:hover{ background:rgba(255,255,255,0.12); border-color:#fff; transform:translateY(-3px); }
/* 14b. outline button - light backgrounds */
.ig-btn-outline-light .elementor-button{ background:transparent; color:var(--ig-primary); border:1.5px solid var(--ig-primary); }
.ig-btn-outline-light .elementor-button:hover{ background:var(--ig-primary); color:var(--ig-white); transform:translateY(-3px); }
/* 15. small button variant - does not affect main buttons */
.ig-btn-sm .elementor-button{ font-size:14px; padding:12px 22px; }
/* 10. radius utilities */
.ig-radius-sm{ border-radius:var(--ig-radius-sm); }
.ig-radius-md{ border-radius:var(--ig-radius-md); }
.ig-radius-lg{ border-radius:var(--ig-radius-lg); }
.ig-radius-pill{ border-radius:var(--ig-radius-pill); }
/* 11. shadow utilities */
.ig-shadow-sm{ box-shadow:var(--ig-shadow-sm); }
.ig-shadow-md{ box-shadow:var(--ig-shadow-md); }
.ig-shadow-lg{ box-shadow:var(--ig-shadow-lg); }
/* accessibility - reduced motion */
@media (prefers-reduced-motion: reduce){
  .elementor-button{ transition:none !important; }
}

/* ================= GLOBAL HEADER ================= */
.ig-header{
  width:100%; left:0; right:0;
  background:transparent;
  transition:padding .35s ease, background .35s ease, box-shadow .35s ease;
  /* mega-menu vars — transparent state */
  --n-menu-title-color-normal:#FFFFFF;
  --n-menu-title-color-hover:#FFFFFF;
  --n-menu-title-color-active:#FFFFFF;
  --n-menu-title-font-size:13.5px;
  --n-menu-toggle-icon-color-normal:#FFFFFF;
  --n-menu-toggle-icon-color-hover:#FFFFFF;
  --n-menu-divider-border-color:transparent;
}
.ig-header.elementor-sticky--effects{
  background:rgba(255,255,255,0.85);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  backdrop-filter:blur(14px) saturate(160%);
  box-shadow:0 2px 24px rgba(0,0,0,0.08);
  /* mega-menu vars — glass state */
  --n-menu-title-color-normal:#1C3F3A;
  --n-menu-title-color-hover:#1C3F3A;
  --n-menu-title-color-active:#1C3F3A;
  --n-menu-toggle-icon-color-normal:#1C3F3A;
  --n-menu-toggle-icon-color-hover:#1C3F3A;
}
.ig-header > .e-con-inner,
.ig-header .ig-header-inner > .e-con-inner{ padding-top:22px; padding-bottom:22px; transition:padding .35s ease; }
.ig-header.elementor-sticky--effects .ig-header-inner > .e-con-inner{ padding-top:14px; padding-bottom:14px; }

/* ---- logo (specificity beats .elementor-widget-heading .elementor-heading-title) ---- */
.elementor-widget-heading.ig-logo .elementor-heading-title{
  font-family:'Unbounded',sans-serif; font-weight:700; font-size:22px; line-height:1;
  color:#FFFFFF; transition:color .35s ease;
}
.elementor-widget-heading.ig-logo .elementor-heading-title a{ color:inherit; text-decoration:none; }
.elementor-widget-heading.ig-logo .ig-dot{ color:#AACE45; }
.ig-header.elementor-sticky--effects .elementor-widget-heading.ig-logo .elementor-heading-title{ color:#1C3F3A; }

/* ---- nav typography ---- */
.ig-nav .e-n-menu-title-text{
  font-family:'Unbounded',sans-serif; font-size:13.5px; font-weight:400;
}


/* ---- mega panel ---- */
.ig-nav .e-n-menu-content > .e-con{
  background:#FFFFFF; border:1px solid #DDEBB5; border-radius:28px;
  box-shadow:0 24px 60px rgba(0,0,0,0.14); padding:28px;
  width:640px; max-width:calc(100vw - 40px);
}
.ig-mega-grid, .ig-mega-grid > .e-con-inner{
  display:grid !important; grid-template-columns:1fr 1fr; gap:6px 22px;
}
.elementor-widget-icon-box.ig-mega-link > .elementor-widget-container{
  padding:10px; border-radius:12px; transition:background .25s;
}
.elementor-widget-icon-box.ig-mega-link:hover > .elementor-widget-container{ background:#EEF5DA; }
.elementor-widget-icon-box.ig-mega-link .elementor-icon-box-wrapper{
  display:flex; align-items:flex-start; gap:12px; text-align:left;
}
.elementor-widget-icon-box.ig-mega-link .elementor-icon-box-icon{
  width:38px; height:38px; flex:none; border-radius:10px; background:#EEF5DA;
  display:flex; align-items:center; justify-content:center; margin:0 !important; transition:.3s;
}
.elementor-widget-icon-box.ig-mega-link .elementor-icon-box-icon .elementor-icon{
  font-size:18px; color:#1C3F3A; transition:.3s;
}
.elementor-widget-icon-box.ig-mega-link:hover .elementor-icon-box-icon{ background:#AACE45; }
.elementor-widget-icon-box.ig-mega-link .elementor-icon-box-title{
  font-family:'Unbounded',sans-serif; font-size:13.5px; font-weight:500;
  color:#1C3F3A; margin:0 0 2px; line-height:1.3;
}
.elementor-widget-icon-box.ig-mega-link .elementor-icon-box-description{
  font-size:12.5px; color:#A4B2B0; line-height:1.4; margin:0;
}

/* ---- Get a Quote ---- */
.ig-header-cta .elementor-button{
  font-family:'Unbounded',sans-serif; font-size:18px; font-weight:500; letter-spacing:0.01em;
  transition:transform .35s cubic-bezier(.22,.8,.32,1), box-shadow .35s ease, background .3s ease;
}
.ig-header-cta .elementor-button:hover{
  transform:translateY(-3px); box-shadow:0 12px 32px rgba(0,0,0,0.10);
}

/* ================= MOBILE <=960 ================= */
@media (max-width:960px){
  .ig-nav .e-n-menu-wrapper{ background:#FFFFFF; padding:120px 32px 40px; }
  .ig-nav .e-n-menu-wrapper .e-n-menu-title-text{ color:#1C3F3A !important; font-size:20px; }
  .ig-nav .e-n-menu-wrapper .e-n-menu-title{ padding:16px 0; width:100%; }
  .ig-nav .e-n-menu-wrapper .e-n-menu-item{ width:100%; border-bottom:1px solid #DDEBB5; }
  
  .ig-nav .e-n-menu-content > .e-con{
    width:100%; box-shadow:none; border:none; padding:0 0 10px; border-radius:0;
  }
  .ig-mega-grid, .ig-mega-grid > .e-con-inner{ grid-template-columns:1fr; }
  .ig-header-cta{ display:none; }
}

/* ---- nav variable overrides (must sit on the widget element) ---- */
.elementor-widget-n-menu.ig-nav{
  --n-menu-title-color-normal:#FFFFFF;
  --n-menu-title-color-hover:#FFFFFF;
  --n-menu-title-color-active:#FFFFFF;
  --n-menu-title-font-size:13.5px;
  --n-menu-toggle-icon-color-normal:#FFFFFF;
  --n-menu-toggle-icon-color-hover:#FFFFFF;
}
.ig-header.elementor-sticky--effects .elementor-widget-n-menu.ig-nav{
  --n-menu-title-color-normal:#1C3F3A;
  --n-menu-title-color-hover:#1C3F3A;
  --n-menu-title-color-active:#1C3F3A;
  --n-menu-toggle-icon-color-normal:#1C3F3A;
  --n-menu-toggle-icon-color-hover:#1C3F3A;
}
.elementor-widget-n-menu.ig-nav .e-n-menu-title-text{
  font-family:'Unbounded',sans-serif; font-size:13.5px; font-weight:400;
}
@media (max-width:960px){
  .elementor-widget-n-menu.ig-nav .e-n-menu-wrapper .e-n-menu-title-text{
    color:#1C3F3A !important; font-size:20px;
  }
}

/* ---- align mega-menu breakpoint to 960 (overrides hardcoded 1024) ---- */
@media (min-width:961px){
  .elementor.elementor .elementor-widget-n-menu.e-n-menu-tablet.ig-nav{
    --n-menu-wrapper-display:flex;
  }
  .elementor.elementor .elementor-widget-n-menu.e-n-menu-tablet.ig-nav .e-n-menu-toggle{
    display:none;
  }
}
@media (max-width:960px){
  .elementor.elementor .elementor-widget-n-menu.e-n-menu-tablet.ig-nav{
    --n-menu-wrapper-display:none;
  }
  .elementor.elementor .elementor-widget-n-menu.e-n-menu-tablet.ig-nav .e-n-menu-toggle{
    display:flex;
  }
}

/* ================= GLOBAL FOOTER ================= */
.ig-footer{ background:#000000; }
.ig-footer-grid > .e-con-inner{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:50px;
  padding-bottom:60px; border-bottom:1px solid rgba(255,255,255,0.08);
  align-items:start;
}
@media (max-width:900px){ .ig-footer-grid > .e-con-inner{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .ig-footer-grid > .e-con-inner{ grid-template-columns:1fr; } }

/* brand */
.elementor-widget-heading.ig-footer-logo .elementor-heading-title{
  font-family:'Unbounded',sans-serif; font-weight:700; font-size:22px; line-height:1; color:#FFFFFF;
}
.elementor-widget-heading.ig-footer-logo .ig-dot{ color:#AACE45; }
.ig-footer-desc p{ color:#A4B2B0; font-size:14.5px; line-height:1.75; margin:18px 0 22px; max-width:280px; }

/* column titles */
.elementor-widget-heading.ig-footer-col-title .elementor-heading-title{
  font-family:'Unbounded',sans-serif; color:#FFFFFF; font-size:14.5px; font-weight:500; margin-bottom:22px;
}

/* link lists */
.ig-footer-links .elementor-icon-list-items{ display:flex; flex-direction:column; gap:13px; }
.ig-footer-links .elementor-icon-list-item, .ig-footer-links .elementor-icon-list-item a{
  font-family:'Rubik',sans-serif; font-size:14.5px; color:#A4B2B0;
  transition:color .3s, padding-left .3s;
}
.ig-footer-links .elementor-icon-list-item a:hover{ color:#AACE45; padding-left:4px; }
.ig-footer-links .elementor-icon-list-icon{ display:none; }

/* contact list */
.ig-footer-contact .elementor-icon-list-items{ display:flex; flex-direction:column; gap:13px; }
.ig-footer-contact .elementor-icon-list-item,
.ig-footer-contact .elementor-icon-list-item a{
  font-family:'Rubik',sans-serif; font-size:14px; color:#A4B2B0; align-items:flex-start; gap:10px;
}
.ig-footer-contact .elementor-icon-list-item a:hover{ color:#AACE45; }
.ig-footer-contact .elementor-icon-list-icon i{ color:#AACE45; font-size:14px; }

/* social */
.ig-footer-social .elementor-grid{ display:flex; gap:12px; margin-top:6px; }
.ig-footer-social .elementor-social-icon{
  width:38px; height:38px; border-radius:50%; background:transparent;
  border:1px solid rgba(255,255,255,0.14); display:flex; align-items:center; justify-content:center;
  transition:.3s;
}
.ig-footer-social .elementor-social-icon i{ color:#A4B2B0; font-size:16px; transition:.3s; }
.ig-footer-social .elementor-social-icon:hover{ background:#AACE45; border-color:#AACE45; }
.ig-footer-social .elementor-social-icon:hover i{ color:#000000; }

/* newsletter */
.ig-footer-newsletter .elementor-form{
  display:flex; align-items:center; margin-top:10px;
  border:1px solid rgba(255,255,255,0.14); border-radius:100px; padding:5px; max-width:290px;
}
.ig-footer-newsletter .elementor-field-group{ flex:1; margin:0; padding:0; }
.ig-footer-newsletter input[type="email"]{
  background:transparent !important; border:none !important; outline:none; box-shadow:none !important;
  color:#FFFFFF !important; padding:10px 14px !important; font-size:13.5px;
  font-family:'Rubik',sans-serif; width:100%;
}
.ig-footer-newsletter input[type="email"]::placeholder{ color:#A4B2B0; }
.ig-footer-newsletter .elementor-field-type-submit{ flex:none; width:auto; padding:0; }
.ig-footer-newsletter button[type="submit"]{
  background:#AACE45; color:#000000; border-radius:50%; width:38px; height:38px;
  min-width:38px; padding:0; display:flex; align-items:center; justify-content:center;
  border:none; transition:.3s;
}
.ig-footer-newsletter button[type="submit"]:hover{ background:#FFFFFF; }
.ig-footer-newsletter button[type="submit"] i{ font-size:13px; }
.ig-footer-newsletter .elementor-message{ font-size:13px; color:#A4B2B0; }

/* bottom bar */
.ig-footer-bottom > .e-con-inner{
  display:flex; flex-direction:row; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:14px; padding:26px 0;
}
.ig-footer-copy, .ig-footer-copy .ig-copy{
  font-family:'Rubik',sans-serif; font-size:13px; color:rgba(255,255,255,0.4);
}
.ig-footer-bottom-links .elementor-icon-list-items{ display:flex; flex-direction:row; gap:22px; flex-wrap:wrap; }
.ig-footer-bottom-links .elementor-icon-list-item a{
  font-family:'Rubik',sans-serif; font-size:13px; color:rgba(255,255,255,0.4); transition:color .3s;
}
.ig-footer-bottom-links .elementor-icon-list-item a:hover{ color:#AACE45; }
.ig-footer-bottom-links .elementor-icon-list-icon{ display:none; }
.ig-footer-bottom-links .elementor-icon-list-item:not(:last-child):after{ content:none; }

/* ---- footer social sizing ---- */
.ig-footer-social .elementor-social-icon{width:38px!important;height:38px!important;padding:0!important;font-size:16px!important;}
.ig-footer-social .elementor-grid-item{width:auto;}
.ig-footer-social .elementor-widget-container{--grid-column-gap:12px;--grid-row-gap:12px;}
/* ================= HOMEPAGE ================= */
.ig-wrap{ max-width:1240px; padding-left:24px; padding-right:24px; }
.ig-section{ padding:110px 0; }
.ig-section-tight{ padding:90px 0; }
@media (max-width:767px){ .ig-section{padding:70px 0;} .ig-section-tight{padding:56px 0;} }
.ig-bg-light{ background:#EEF5DA; }
.ig-h2 .elementor-heading-title{ font-size:clamp(28px,4vw,44px); }
.ig-section-head{ max-width:680px; margin-bottom:64px; }
.ig-section-head.ig-center{ margin-left:auto; margin-right:auto; text-align:center; }
.ig-lead-sm .elementor-heading-title{ font-size:17px; color:#3A4A47; line-height:1.75; }
.ig-p .elementor-heading-title{ font-size:16px; line-height:1.75; color:#3A4A47; font-family:'Rubik',sans-serif; font-weight:400; }
.ig-card-title .elementor-heading-title{ font-size:17px; }

/* ---- HERO ---- */
.ig-hero{
  position:relative; isolation:isolate; overflow:hidden;
  background:
    linear-gradient(180deg, rgba(18,26,24,0.74) 0%, rgba(18,26,24,0.88) 100%),
    linear-gradient(120deg,#1C3F3A 0%,#16302c 60%,#10221f 100%);
}
.ig-hero-inner{ position:relative; z-index:2; }
.ig-eyebrow-dark.elementor-widget-heading .elementor-heading-title{
  background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.18); color:#AACE45;
}
.ig-hero-h1 .elementor-heading-title{
  font-size:clamp(36px,5.6vw,66px); color:#FFFFFF; line-height:1.12; margin-bottom:24px;
}
.ig-hero-h1 .ig-accent{ color:#AACE45; }
.ig-hero-lead .elementor-heading-title{
  font-size:18px; color:rgba(255,255,255,0.82); line-height:1.7; max-width:680px; margin-bottom:36px;
}
.ig-hero-btns{ margin-bottom:56px; }
.ig-hero-stats{
  display:grid; grid-template-columns:repeat(4,1fr); gap:24px;
  border-top:1px solid rgba(255,255,255,0.15); padding-top:36px; max-width:820px;
}
@media (max-width:768px){ .ig-hero-stats{ grid-template-columns:repeat(2,1fr); } }
.ig-hero-stat .elementor-counter-number-wrapper{
  font-family:'Unbounded',sans-serif; color:#AACE45; font-size:clamp(24px,3vw,34px); font-weight:700;
}
.ig-hero-stat .elementor-counter-title{
  font-family:'Rubik',sans-serif; font-size:13px; color:rgba(255,255,255,0.68); font-weight:400; margin-top:4px; text-align:left;
}

/* ---- MARQUEE ---- */
.ig-marquee{ background:#EEF5DA; padding:26px 0; overflow:hidden; border-bottom:1px solid #DDEBB5; }
.ig-marquee-track{ display:flex; gap:64px; width:max-content; animation:igScroll 28s linear infinite; }
.ig-marquee-track span{
  font-family:'Unbounded',sans-serif; font-size:14px; font-weight:500; color:#1C3F3A;
  display:inline-flex; align-items:center; gap:64px; white-space:nowrap;
}

@keyframes igScroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* ---- ABOUT ---- */
.ig-about-grid{ display:grid; grid-template-columns:1fr 1.15fr; gap:70px; align-items:center; }
@media (max-width:900px){ .ig-about-grid{ grid-template-columns:1fr; gap:40px; } }
.ig-about-media{ position:relative; }
.ig-about-img img{ width:100%; aspect-ratio:4/4.6; object-fit:cover; border-radius:28px; display:block; }
.ig-about-badge{
  position:absolute; right:-18px; bottom:-18px; background:#AACE45; border-radius:18px;
  padding:20px 22px; max-width:210px; box-shadow:0 24px 60px rgba(0,0,0,0.14);
}
@media (max-width:900px){ .ig-about-badge{ right:12px; bottom:-12px; } }
.ig-badge-num .elementor-heading-title{ font-size:24px; color:#1C3F3A; margin-bottom:4px; }
.ig-badge-txt .elementor-heading-title{ font-size:12.5px; color:#1C3F3A; line-height:1.5; }
.ig-check-list .elementor-icon-list-items{ display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; margin:24px 0 30px; }
@media (max-width:560px){ .ig-check-list .elementor-icon-list-items{ grid-template-columns:1fr; } }
.ig-check-list .elementor-icon-list-item{ font-family:'Rubik',sans-serif; font-size:14.5px; color:#3A4A47; align-items:flex-start; }
.ig-check-list .elementor-icon-list-icon i{ color:#AACE45; font-size:13px; }

/* ---- SERVICES ROWS ---- */
.ig-svc-rows{ display:flex; flex-direction:column; gap:0; }
.ig-svc-row{
  display:flex; align-items:center; gap:22px; padding:26px 24px; border-radius:18px;
  border-bottom:1px solid #DDEBB5; transition:background .3s cubic-bezier(.22,.8,.32,1), transform .3s cubic-bezier(.22,.8,.32,1);
  cursor:pointer;
}
.ig-svc-row:hover{ background:#FFFFFF; transform:translateX(6px); box-shadow:0 12px 32px rgba(0,0,0,0.10); }
.ig-svc-ico .elementor-icon{ width:52px; height:52px; border-radius:14px; background:#FFFFFF; color:#1C3F3A;
  display:flex; align-items:center; justify-content:center; font-size:20px; transition:.3s; }
.ig-svc-row:hover .ig-svc-ico .elementor-icon{ background:#AACE45; }
.ig-svc-text{ flex:1; }
.ig-svc-name .elementor-heading-title{ font-size:19px; margin-bottom:4px; }
.ig-svc-desc .elementor-heading-title{ font-size:14.5px; color:#3A4A47; line-height:1.6; }
.ig-svc-arrow .elementor-icon{ color:#A4B2B0; font-size:16px; transition:.3s; }
.ig-svc-row:hover .ig-svc-arrow .elementor-icon{ color:#1C3F3A; transform:translateX(4px); }

/* ---- WORK ---- */
.ig-filters{ gap:10px; margin-bottom:44px; }
.ig-filter-btn .elementor-button{
  font-family:'Unbounded',sans-serif; font-size:13px; font-weight:500; padding:10px 20px;
  border-radius:100px; border:1px solid #DDEBB5; color:#1C3F3A; background:#FFFFFF; transition:.3s;
}
.ig-filter-btn.is-active .elementor-button, .ig-filter-btn .elementor-button:hover{
  background:#1C3F3A; color:#FFFFFF; border-color:#1C3F3A;
}
.ig-work-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
@media (max-width:900px){ .ig-work-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .ig-work-grid{ grid-template-columns:1fr; } }
.ig-work-card{ border-radius:18px; overflow:hidden; box-shadow:0 4px 16px rgba(0,0,0,0.06);
  transition:box-shadow .4s cubic-bezier(.22,.8,.32,1); background:#FFFFFF; padding:0; }
.ig-work-card:hover{ box-shadow:0 24px 60px rgba(0,0,0,0.14); }
.ig-work-img img{ width:100%; aspect-ratio:4/3.1; object-fit:cover; display:block;
  transition:transform .6s cubic-bezier(.22,.8,.32,1); }
.ig-work-card:hover .ig-work-img img{ transform:scale(1.05); }
.ig-work-info{ padding:24px; }
.ig-work-tag .elementor-heading-title{
  font-family:'Unbounded',sans-serif; font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:#1C3F3A; background:#EEF5DA; display:inline-block; padding:5px 12px; border-radius:100px; margin-bottom:12px;
}
.ig-work-title .elementor-heading-title{ font-size:18px; margin-bottom:8px; }
.ig-work-desc .elementor-heading-title{ font-size:14.5px; color:#3A4A47; line-height:1.6; }
.ig-work-card.is-hidden{ display:none; }

/* ---- WHY ---- */
.ig-why-grid{ display:grid; grid-template-columns:1fr 1.15fr; gap:70px; align-items:start; }
@media (max-width:900px){ .ig-why-grid{ grid-template-columns:1fr; gap:40px; } .ig-why-media{ order:-1; position:static !important; } }
.ig-why-media{ position:sticky; top:120px; }
.ig-why-img img{ width:100%; aspect-ratio:1/1.05; object-fit:cover; border-radius:28px; display:block; }
.ig-why-item{ display:flex; gap:20px; padding:22px 0; border-bottom:1px solid #DDEBB5; }
.ig-why-num .elementor-heading-title{
  font-family:'Unbounded',sans-serif; font-size:15px; font-weight:600; color:#AACE45; min-width:34px;
}
.ig-why-title .elementor-heading-title{ font-size:18px; margin-bottom:6px; }

/* ---- RESULTS / INDUSTRIES ---- */
.ig-results-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media (max-width:860px){ .ig-results-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .ig-results-grid{ grid-template-columns:1fr; } }
.ig-result-card{ background:#FFFFFF; border:1px solid #DDEBB5; border-radius:18px; padding:30px 26px;
  transition:transform .4s cubic-bezier(.22,.8,.32,1), box-shadow .4s, border-color .4s; }
.ig-result-card:hover{ transform:translateY(-8px); box-shadow:0 24px 60px rgba(0,0,0,0.14); border-color:#AACE45; }
.ig-result-ico .elementor-icon, .ig-ind-ico .elementor-icon{
  width:48px; height:48px; border-radius:14px; background:#EEF5DA; color:#1C3F3A;
  display:flex; align-items:center; justify-content:center; font-size:19px; margin-bottom:18px; transition:.3s;
}
.ig-result-card:hover .ig-result-ico .elementor-icon, .ig-ind-card:hover .ig-ind-ico .elementor-icon{ background:#AACE45; }
.ig-ind-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
@media (max-width:900px){ .ig-ind-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .ig-ind-grid{ grid-template-columns:1fr; } }
.ig-ind-card{ background:#FFFFFF; border:1px solid #DDEBB5; border-radius:18px; padding:26px 22px;
  transition:transform .4s cubic-bezier(.22,.8,.32,1), box-shadow .4s, border-color .4s; }
.ig-ind-card:hover{ transform:translateY(-8px); box-shadow:0 12px 32px rgba(0,0,0,0.10); border-color:#AACE45; }

/* ---- IMPACT ---- */
.ig-impact-card{
  display:grid; grid-template-columns:repeat(4,1fr); gap:34px; background:#1C3F3A;
  border-radius:28px; padding:54px 44px;
}
@media (max-width:860px){ .ig-impact-card{ grid-template-columns:repeat(2,1fr); padding:40px 30px; } }
@media (max-width:560px){ .ig-impact-card{ grid-template-columns:1fr; } }
.ig-impact-ico .elementor-icon{ color:#AACE45; font-size:22px; margin-bottom:14px; }
.ig-impact-num .elementor-counter-number-wrapper{
  font-family:'Unbounded',sans-serif; color:#FFFFFF; font-size:38px; font-weight:700; justify-content:flex-start;
}
.ig-impact-label .elementor-heading-title{ font-size:14px; color:rgba(255,255,255,0.72); line-height:1.6; margin-top:8px; }

/* ---- TESTIMONIALS ---- */
.ig-testi{ background:#1C3F3A; }
.ig-testi .ig-h2 .elementor-heading-title{ color:#FFFFFF; }
.ig-testi .ig-lead-sm .elementor-heading-title{ color:rgba(255,255,255,0.72); }
.ig-testi .ig-eyebrow .elementor-heading-title{ background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.18); color:#AACE45; }
.ig-testi-viewport{ overflow:hidden; }
.ig-testi-track{ display:flex; gap:24px; will-change:transform; transition:transform .55s cubic-bezier(.22,.8,.32,1); }
.ig-testi-card{
  flex:0 0 auto; width:340px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.14);
  border-radius:18px; padding:30px 26px; backdrop-filter:blur(6px);
}
.ig-stars{ display:flex; gap:4px; margin-bottom:14px; }
.ig-stars i{ color:#AACE45; font-size:13px; }
.ig-testi-card p{ color:rgba(255,255,255,0.86); font-size:15px; line-height:1.7; margin-bottom:22px; }
.ig-testi-person{ display:flex; align-items:center; gap:12px; }
.ig-avatar{
  width:42px; height:42px; border-radius:50%; background:#AACE45; color:#1C3F3A;
  display:flex; align-items:center; justify-content:center;
  font-family:'Unbounded',sans-serif; font-size:14px; font-weight:600; flex:none;
}
.ig-testi-person h3{ font-family:'Unbounded',sans-serif; font-size:14px; color:#FFFFFF; font-weight:500; margin:0 0 2px; }
.ig-testi-person span{ font-size:12.5px; color:rgba(255,255,255,0.6); }
.ig-testi-nav{ display:flex; align-items:center; justify-content:center; gap:16px; margin-top:36px; }
.ig-testi-btn{
  width:44px; height:44px; border-radius:50%; background:transparent; color:#FFFFFF; cursor:pointer;
  border:1px solid rgba(255,255,255,0.28); display:flex; align-items:center; justify-content:center; transition:.3s;
}
.ig-testi-btn:hover{ background:#AACE45; border-color:#AACE45; color:#1C3F3A; }
.ig-testi-dots{ display:flex; gap:8px; }
.ig-testi-dot{ width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.28); cursor:pointer; transition:.3s; }
.ig-testi-dot.active{ background:#AACE45; width:22px; border-radius:100px; }

/* ---- INSIGHTS ---- */
.ig-insight-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
@media (max-width:900px){ .ig-insight-grid{ grid-template-columns:1fr; } }
.ig-insight-card{ background:#FFFFFF; border:1px solid #DDEBB5; border-radius:18px; overflow:hidden; padding:0;
  transition:transform .4s cubic-bezier(.22,.8,.32,1), box-shadow .4s, border-color .4s; }
.ig-insight-card:hover{ transform:translateY(-8px); box-shadow:0 24px 60px rgba(0,0,0,0.14); border-color:#AACE45; }
.ig-insight-img img{ width:100%; aspect-ratio:16/10; object-fit:cover; display:block; transition:transform .6s cubic-bezier(.22,.8,.32,1); }
.ig-insight-card:hover .ig-insight-img img{ transform:scale(1.06); }
.ig-insight-body{ padding:26px; }
.ig-insight-tag .elementor-heading-title{
  font-family:'Unbounded',sans-serif; font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:#1C3F3A; background:#EEF5DA; display:inline-block; padding:5px 12px; border-radius:100px; margin-bottom:14px;
}
.ig-insight-title .elementor-heading-title{ font-size:18px; margin-bottom:10px; }

/* ---- FAQ ---- */
.ig-faq-grid{ display:grid; grid-template-columns:1fr 1.3fr; gap:60px; align-items:start; }
@media (max-width:900px){ .ig-faq-grid{ grid-template-columns:1fr; gap:36px; } }
.ig-faq-acc .elementor-accordion-item{
  border:1px solid #DDEBB5 !important; border-radius:18px; margin-bottom:14px; background:#FFFFFF; overflow:hidden;
}
.ig-faq-acc .elementor-tab-title{
  font-family:'Unbounded',sans-serif !important; font-size:16px !important; font-weight:500 !important;
  color:#1C3F3A !important; padding:22px 24px !important; background:transparent !important; border:none !important;
}
.ig-faq-acc .elementor-tab-title.elementor-active{ color:#1C3F3A !important; }
.ig-faq-acc .elementor-tab-content{
  padding:0 24px 22px !important; border:none !important; background:transparent !important;
}
.ig-faq-acc .elementor-tab-content p{ font-family:'Rubik',sans-serif; font-size:15px; line-height:1.75; color:#3A4A47; margin:0; }
.ig-faq-acc .elementor-accordion-icon{ color:#AACE45 !important; font-size:13px; }

/* ---- FINAL CTA ---- */
.ig-cta-card{
  background:linear-gradient(120deg,#1C3F3A 0%,#16302c 100%); border-radius:28px;
  padding:70px 60px; text-align:center;
}
@media (max-width:600px){ .ig-cta-card{ padding:50px 26px; } }
.ig-cta-h2 .elementor-heading-title{ color:#FFFFFF; font-size:clamp(26px,3.4vw,38px); margin-bottom:16px; }
.ig-cta-p .elementor-heading-title{ color:rgba(255,255,255,0.78); font-size:17px; max-width:620px; margin:0 auto 32px; }
.ig-cta-btns{ justify-content:center; gap:16px; }

/* ---- reduced motion ---- */
@media (prefers-reduced-motion: reduce){
  .ig-marquee-track{ animation:none !important; }
  .ig-testi-track{ transition:none !important; }
  *{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* ---- overflow containment fixes ---- */
.ig-marquee, .ig-marquee > .e-con-inner, .ig-marquee .elementor-widget-html,
.ig-marquee .elementor-widget-container{ overflow:hidden !important; max-width:100%; }

.ig-testi-viewport{ overflow:hidden !important; }
body{ overflow-x:hidden; }
.ig-about-media{ overflow:visible; }

/* ---- hero H1 + overflow hard overrides ---- */
body{ overflow-x:hidden; max-width:100%; }
.ig-hero .ig-hero-h1 .elementor-heading-title{
  font-size:clamp(36px,5.6vw,66px) !important;
  color:#FFFFFF !important;
  line-height:1.12 !important;
  font-weight:700 !important;
}
.ig-hero .ig-hero-h1 .ig-accent{ color:#AACE45 !important; }
.ig-hero .ig-hero-lead .elementor-heading-title{ color:rgba(255,255,255,0.82) !important; font-size:18px !important; }
.ig-hero .ig-eyebrow-dark .elementor-heading-title{ color:#AACE45 !important; }
.ig-testi .ig-h2 .elementor-heading-title{ color:#FFFFFF !important; }
.ig-testi .ig-lead-sm .elementor-heading-title{ color:rgba(255,255,255,0.72) !important; }
.ig-cta-card .ig-cta-h2 .elementor-heading-title{ color:#FFFFFF !important; }
.ig-cta-card .ig-cta-p .elementor-heading-title{ color:rgba(255,255,255,0.78) !important; }
.ig-impact-card .ig-impact-label .elementor-heading-title{ color:rgba(255,255,255,0.72) !important; }
.ig-marquee{ position:relative; width:100%; }

/* ---- counter colour overrides ---- */
.ig-impact-card .ig-impact-num .elementor-counter-number-wrapper,
.ig-impact-card .ig-impact-num .elementor-counter-number,
.ig-impact-card .ig-impact-num .elementor-counter-number-suffix{
  color:#FFFFFF !important; font-family:'Unbounded',sans-serif !important;
  font-size:38px !important; font-weight:700 !important;
}
.ig-hero-stat .elementor-counter-number-wrapper,
.ig-hero-stat .elementor-counter-number,
.ig-hero-stat .elementor-counter-number-suffix{
  color:#AACE45 !important; font-family:'Unbounded',sans-serif !important;
  font-size:clamp(24px,3vw,34px) !important; font-weight:700 !important;
}
.ig-hero-stat .elementor-counter-title{
  color:rgba(255,255,255,0.68) !important; font-family:'Rubik',sans-serif !important;
  font-size:13px !important; font-weight:400 !important; text-align:left !important;
}
.ig-impact-card .elementor-counter-number-wrapper{ justify-content:flex-start !important; }

/* ---- carousel width + header sticky effects ---- */
.ig-testi .elementor-widget-html > .elementor-widget-container{ width:100%; display:block; }
.ig-testi-carousel{ width:100%; display:block; }
.ig-testi-viewport{ width:100%; display:block; overflow:hidden !important; }
.ig-testi-track{ width:max-content; }

/* header: transparent at top -> white glass on scroll */
.ig-header{ transition:background .35s ease, box-shadow .35s ease, padding .35s ease; }
.ig-header.elementor-sticky--effects{
  background:rgba(255,255,255,0.85) !important;
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  backdrop-filter:blur(14px) saturate(160%);
  box-shadow:0 2px 24px rgba(0,0,0,0.08);
}
.ig-header.elementor-sticky--effects .ig-logo .elementor-heading-title,
.ig-header.elementor-sticky--effects .elementor-nav-menu a,
.ig-header.elementor-sticky--effects .e-n-menu-title-text{ color:#1C3F3A !important; }
.ig-header.elementor-sticky--effects .ig-burger span{ background:#1C3F3A !important; }

/* ---- eyebrow pill must hug its text (inline-flex on the inner title) ---- */
.elementor-widget-heading.ig-eyebrow,
.elementor-widget-heading.ig-eyebrow-dark{
  background:transparent !important; border:none !important; padding:0 !important;
  border-radius:0 !important; width:auto !important; align-self:flex-start;
  margin-bottom:18px;
}
.elementor-widget-heading.ig-eyebrow > .elementor-widget-container,
.elementor-widget-heading.ig-eyebrow-dark > .elementor-widget-container{ display:inline-block; }
.elementor-widget-heading.ig-eyebrow .elementor-heading-title,
.elementor-widget-heading.ig-eyebrow-dark .elementor-heading-title{
  display:inline-flex !important; align-items:center; gap:8px; width:auto !important;
  background:#EEF5DA; border:1px solid #DDEBB5;
  padding:8px 16px 8px 12px; border-radius:100px;
}
.elementor-widget-heading.ig-eyebrow .elementor-heading-title::before,
.elementor-widget-heading.ig-eyebrow-dark .elementor-heading-title::before{
  content:""; width:7px; height:7px; border-radius:50%; flex:none;
  background:#AACE45; box-shadow:0 0 0 4px rgba(170,206,69,0.25);
}
.elementor-widget-heading.ig-eyebrow-dark .elementor-heading-title{
  background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.18);
}
.ig-testi .elementor-widget-heading.ig-eyebrow .elementor-heading-title{
  background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.18);
}
/* section head spacing */
.ig-section-head{ margin-bottom:64px; padding:0 !important; max-width:680px; align-items:flex-start; }
.ig-section-head.ig-center{ align-items:center; text-align:center; }
.ig-h2{ margin-bottom:16px; }

/* ---- layout tightening: header overlay + kill Elementor default widget gaps ---- */
/* 1. transparent header overlays the hero, like the HTML */
.elementor-sticky__spacer{ display:none !important; }


/* 2. Elementor containers add a default gap between every widget; the HTML uses
      margins instead, so zero the gap and let the margins below do the spacing */
.ig-hero-inner, .ig-section-head, .ig-about-content, .ig-work-info, .ig-insight-body,
.ig-result-card, .ig-ind-card, .ig-svc-text, .ig-why-item, .ig-why-list,
.ig-impact-item, .ig-cta-card, .ig-about-media, .ig-footer-col{
  gap:0 !important;
}
.ig-svc-rows{ gap:0 !important; }
.ig-why-item > .e-con-inner, .ig-why-item > div{ gap:0 !important; }

/* 3. explicit margins to match the HTML rhythm */
.ig-hero-inner .ig-eyebrow{ margin-bottom:18px !important; }
.ig-hero-h1 .elementor-heading-title{ margin-bottom:24px; }
.ig-hero-lead .elementor-heading-title{ margin-bottom:36px; }
.ig-hero-btns{ margin-bottom:56px !important; gap:16px !important; }

.ig-section-head .ig-eyebrow{ margin-bottom:18px !important; }
.ig-section-head .ig-h2 .elementor-heading-title{ margin-bottom:16px; }

.ig-about-content .ig-eyebrow{ margin-bottom:18px !important; }
.ig-about-content .ig-h2 .elementor-heading-title{ margin-bottom:16px; }
.ig-about-content .ig-p .elementor-heading-title{ margin-bottom:14px; }

.ig-svc-name .elementor-heading-title{ margin-bottom:4px; }
.ig-svc-row{ padding:24px 24px !important; }

.ig-work-info{ padding:24px !important; }
.ig-work-tag .elementor-heading-title{ margin-bottom:12px; }
.ig-work-title .elementor-heading-title{ margin-bottom:8px; }

.ig-insight-body{ padding:26px !important; }
.ig-insight-tag .elementor-heading-title{ margin-bottom:14px; }
.ig-insight-title .elementor-heading-title{ margin-bottom:10px; }

.ig-result-card .ig-card-title .elementor-heading-title,
.ig-ind-card .ig-card-title .elementor-heading-title{ margin-bottom:8px; }
.ig-result-ico, .ig-ind-ico{ margin-bottom:18px; }

.ig-why-item{ padding:22px 0 !important; gap:20px !important; }
.ig-why-title .elementor-heading-title{ margin-bottom:6px; }
.ig-why-list .ig-eyebrow{ margin-bottom:18px !important; }
.ig-why-list .ig-h2 .elementor-heading-title{ margin-bottom:28px; }

.ig-impact-ico{ margin-bottom:14px; }
.ig-impact-label .elementor-heading-title{ margin-top:8px; }

.ig-cta-h2 .elementor-heading-title{ margin-bottom:16px; }
.ig-cta-p .elementor-heading-title{ margin-bottom:32px; }

/* 4. widgets shouldn't stretch full width unnecessarily */
.ig-work-tag, .ig-insight-tag{ align-self:flex-start; }

/* ---- HERO: matched to imigital-homepage.html ---- */
.ig-hero{
  position:relative; isolation:isolate; overflow:hidden;
  min-height:100vh; display:flex; align-items:center;
  padding:140px 0 80px !important;
  background:
    linear-gradient(180deg, rgba(18,26,24,0.62) 0%, rgba(18,26,24,0.84) 100%),
    linear-gradient(120deg,#1C3F3A 0%,#16302c 60%,#10221f 100%);
}
/* radial accent wash (.hero::before in the HTML) */
.ig-hero::before{
  content:""; position:absolute; inset:0; z-index:-2; pointer-events:none;
  background-image:
    radial-gradient(circle at 15% 20%, rgba(170,206,69,0.16), transparent 45%),
    radial-gradient(circle at 85% 75%, rgba(170,206,69,0.12), transparent 45%);
}
/* decor layer */
.ig-hero-decor{ position:static !important; width:0 !important; height:0 !important; margin:0 !important; padding:0 !important; }
.ig-blob{ position:absolute; border-radius:50%; filter:blur(60px); opacity:.5; z-index:-1; pointer-events:none; }
.ig-blob1{ width:420px; height:420px; background:#AACE45; top:-140px; right:-120px; animation:igFloat1 14s ease-in-out infinite; }
.ig-blob2{ width:320px; height:320px; background:#3a6a5f; bottom:-100px; left:-80px; animation:igFloat2 17s ease-in-out infinite; }
@keyframes igFloat1{ 0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(-30px,40px) scale(1.08);} }
@keyframes igFloat2{ 0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(30px,-30px) scale(1.06);} }

/* content column: HTML caps at 780px */
.ig-hero-inner{ position:relative; z-index:2; }
.ig-hero-inner > .e-con-inner{ max-width:780px; margin-inline:0; }

.ig-hero .ig-eyebrow-dark .elementor-heading-title{
  background:rgba(255,255,255,0.08) !important; border-color:rgba(255,255,255,0.18) !important;
  color:#FFFFFF !important;
}
.ig-hero-h1 .elementor-heading-title{ margin-bottom:24px !important; }
.ig-hero-lead .elementor-heading-title{ max-width:600px; margin-bottom:38px !important; }
.ig-hero-btns{ display:flex; gap:16px !important; flex-wrap:wrap; margin-bottom:64px !important; }

/* stats strip */
.ig-hero-stats{
  display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:24px !important;
  border-top:1px solid rgba(255,255,255,0.15); padding-top:36px !important; max-width:820px; width:100%;
}
@media (max-width:768px){ .ig-hero-stats{ grid-template-columns:repeat(2,1fr) !important; } }
.ig-hero-stat .elementor-counter-number-wrapper{
  font-family:'Unbounded',sans-serif !important; color:#AACE45 !important;
  font-size:clamp(24px,3vw,34px) !important; font-weight:700 !important;
  justify-content:flex-start !important; margin-bottom:4px;
}
.ig-hero-stat .elementor-counter-title{
  font-family:'Rubik',sans-serif !important; font-size:13px !important;
  color:rgba(255,255,255,0.68) !important; font-weight:400 !important; text-align:left !important;
}

/* scroll cue */
.ig-scroll-cue{
  position:absolute; bottom:28px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px; z-index:3;
  color:rgba(255,255,255,0.6); font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  font-family:'Unbounded',sans-serif; pointer-events:none;
}
.ig-cue-line{
  width:1px; height:34px;
  background:linear-gradient(180deg, rgba(255,255,255,0.7), transparent);
  animation:igCue 2s infinite;
}
@keyframes igCue{
  0%{opacity:0; transform:scaleY(0.3);}
  40%{opacity:1; transform:scaleY(1);}
  100%{opacity:0; transform:scaleY(0.3) translateY(10px);}
}
@media (prefers-reduced-motion: reduce){
  .ig-blob, .ig-cue-line{ animation:none !important; }
}
@media (max-width:768px){
  .ig-hero{ padding:120px 0 70px !important; min-height:auto; }
  .ig-scroll-cue{ display:none; }
}

/* ---- counter: number above label, as in the HTML ---- */
.ig-hero-stat .elementor-counter, .ig-impact-item .elementor-counter{
  display:flex; flex-direction:column-reverse; align-items:flex-start;
}
.ig-hero-stat .elementor-counter-title{ margin-top:4px; }
.ig-impact-item .elementor-counter-title{ display:none; }

/* ---- HERO: remove Elementor's .e-con-inner gap + default widget padding ---- */
.ig-hero-inner > .e-con-inner{
  gap:0 !important; padding:0 !important; max-width:780px; margin-inline:0;
  align-items:flex-start;
}
.ig-hero-inner > .e-con-inner > .elementor-widget{ padding:0 !important; }
.ig-hero-btns{ padding:0 !important; gap:16px !important; margin-bottom:64px !important; }
.ig-hero-btns > .e-con-inner{ gap:16px !important; padding:0 !important; }
.ig-hero-stats{ padding:36px 0 0 !important; margin:0 !important; }
.ig-hero .ig-eyebrow-dark{ margin-bottom:18px !important; }
.ig-hero-h1 .elementor-heading-title{ margin-bottom:24px !important; }
.ig-hero-lead .elementor-heading-title{ margin-bottom:38px !important; max-width:600px; }

/* ---- SECTION ALIGNMENT: equal gutters left and right ---- */
.ig-section, .ig-section-tight{
  align-items:center !important;
}
.ig-wrap{
  width:100% !important;
  max-width:1240px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:24px !important;
  padding-right:24px !important;
}
.ig-wrap > .e-con-inner{
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  width:100%;
}
/* hero keeps its left-aligned 780px column inside a centred container */
.ig-hero-inner{ margin-left:auto !important; margin-right:auto !important; max-width:1240px !important; }
.ig-hero-inner > .e-con-inner{ max-width:780px !important; margin-left:0 !important; margin-right:auto !important; }

/* ---- FAQ: the inner <a> was inheriting Global Font Primary (46px/700) ---- */
.ig-faq-acc .elementor-tab-title,
.ig-faq-acc .elementor-tab-title a,
.ig-faq-acc .elementor-accordion-title{
  font-family:'Unbounded',sans-serif !important;
  font-size:16px !important; font-weight:500 !important;
  line-height:1.4 !important; color:#1C3F3A !important; letter-spacing:-0.01em !important;
}
@media (max-width:767px){
  .ig-faq-acc .elementor-tab-title,
  .ig-faq-acc .elementor-tab-title a{ font-size:15px !important; }
}
/* images: never stretch oddly */
.ig-about-img img, .ig-why-img img, .ig-work-img img, .ig-insight-img img{
  width:100%; height:100%; object-fit:cover; display:block;
}

/* =========================================================
   HEADER — fixed overlay with real width
   ========================================================= */
.elementor-sticky__spacer{ display:none !important; }
.elementor-location-header{
  position:absolute; top:0; left:0; right:0; width:100%; z-index:999;
}
.ig-header{
  position:fixed !important; top:0; left:0; right:0;
  width:100% !important; max-width:100% !important;
  z-index:1000; padding:22px 0 !important;
  transition:background .35s ease, box-shadow .35s ease, padding .35s ease;
}
.ig-header > .e-con-inner{
  width:100%; max-width:1240px; margin-inline:auto;
  padding-left:24px; padding-right:24px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}
/* scrolled state: white glass */
.ig-header.elementor-sticky--effects{
  padding:14px 0 !important;
  background:rgba(255,255,255,0.88) !important;
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  backdrop-filter:blur(14px) saturate(160%);
  box-shadow:0 2px 24px rgba(0,0,0,0.08);
}
.ig-header.elementor-sticky--effects .ig-logo .elementor-heading-title,
.ig-header.elementor-sticky--effects .e-n-menu-title-text,
.ig-header.elementor-sticky--effects .elementor-nav-menu a{ color:#1C3F3A !important; }

/* logo */
.ig-logo .elementor-heading-title{
  font-family:'Unbounded',sans-serif !important; font-weight:700 !important;
  font-size:22px !important; line-height:1 !important; color:#FFFFFF !important;
}
.ig-header.elementor-sticky--effects .ig-logo .elementor-heading-title{ color:#1C3F3A !important; }
.ig-logo .ig-dot{ color:#AACE45 !important; }

/* nav typography */
.ig-nav .e-n-menu-title-text{
  font-family:'Unbounded',sans-serif !important; font-size:13.5px !important;
  font-weight:400 !important; color:#FFFFFF !important;
}

/* =========================================================
   BUTTONS — lime by default, contextual hover
   Elementor binds buttons to Global Colour "Accent"; override explicitly.
   ========================================================= */
.elementor-widget-button .elementor-button{
  font-family:'Unbounded',sans-serif !important;
  font-size:18px !important; font-weight:500 !important; letter-spacing:0.01em !important;
  padding:16px 30px !important; border-radius:100px !important;
  background-color:#AACE45 !important; color:#1C3F3A !important; border:none !important;
  transition:transform .35s cubic-bezier(.22,.8,.32,1), box-shadow .35s cubic-bezier(.22,.8,.32,1),
             background-color .3s ease, color .3s ease, border-color .3s ease !important;
}
.elementor-widget-button .elementor-button:hover{ transform:translateY(-3px); }

/* primary (lime) */
.ig-btn-primary .elementor-button{
  background-color:#AACE45 !important; color:#1C3F3A !important;
  box-shadow:0 10px 24px rgba(170,206,69,0.35);
}
/* on DARK backgrounds -> hover turns WHITE */
.ig-hero .ig-btn-primary .elementor-button:hover,
.ig-cta-card .ig-btn-primary .elementor-button:hover,
.ig-testi .ig-btn-primary .elementor-button:hover,
.ig-hero .ig-header-cta .elementor-button:hover{
  background-color:#FFFFFF !important; color:#1C3F3A !important;
  box-shadow:0 16px 32px rgba(255,255,255,0.28);
}
/* on LIGHT backgrounds -> hover turns DARK */
.ig-about .ig-btn-primary .elementor-button:hover,
.ig-services .ig-btn-primary .elementor-button:hover,
.ig-work .ig-btn-primary .elementor-button:hover,
.ig-why .ig-btn-primary .elementor-button:hover,
.ig-results .ig-btn-primary .elementor-button:hover,
.ig-industries .ig-btn-primary .elementor-button:hover,
.ig-insights .ig-btn-primary .elementor-button:hover,
.ig-faq .ig-btn-primary .elementor-button:hover{
  background-color:#1C3F3A !important; color:#FFFFFF !important;
  box-shadow:0 16px 32px rgba(28,63,58,0.28);
}

/* dark variant (light sections) — lime base, dark hover */
.ig-btn-dark .elementor-button{ background-color:#AACE45 !important; color:#1C3F3A !important; }
.ig-btn-dark .elementor-button:hover{ background-color:#1C3F3A !important; color:#FFFFFF !important; box-shadow:0 12px 32px rgba(0,0,0,0.10); }

/* outline (dark backgrounds) */
.ig-btn-outline .elementor-button{
  background-color:transparent !important; color:#FFFFFF !important;
  border:1.5px solid rgba(255,255,255,0.4) !important;
}
.ig-btn-outline .elementor-button:hover{
  background-color:#FFFFFF !important; color:#1C3F3A !important; border-color:#FFFFFF !important;
}
/* outline (light backgrounds) */
.ig-btn-outline-light .elementor-button{
  background-color:transparent !important; color:#1C3F3A !important; border:1.5px solid #1C3F3A !important;
}
.ig-btn-outline-light .elementor-button:hover{ background-color:#1C3F3A !important; color:#FFFFFF !important; }

/* header CTA — lime, white on hover (sits over dark hero) */
.ig-header-cta .elementor-button{
  background-color:#AACE45 !important; color:#1C3F3A !important;
  padding:12px 24px !important; font-size:15px !important;
}
.ig-header-cta .elementor-button:hover{ background-color:#FFFFFF !important; color:#1C3F3A !important; }
.ig-header.elementor-sticky--effects .ig-header-cta .elementor-button:hover{
  background-color:#1C3F3A !important; color:#FFFFFF !important;
}

/* portfolio filter pills keep their own small size */
.ig-filter-btn .elementor-button{
  font-size:13px !important; padding:10px 20px !important;
  background-color:#FFFFFF !important; color:#1C3F3A !important;
  border:1px solid #DDEBB5 !important; box-shadow:none !important;
}
.ig-filter-btn .elementor-button:hover,
.ig-filter-btn.is-active .elementor-button{
  background-color:#1C3F3A !important; color:#FFFFFF !important; border-color:#1C3F3A !important;
  transform:none !important;
}

/* =========================================================
   FOOTER — body text white instead of muted green-grey
   ========================================================= */
.ig-footer-desc .elementor-heading-title{ color:#FFFFFF !important; }
.ig-footer-links .elementor-icon-list-item,
.ig-footer-links .elementor-icon-list-item a,
.ig-footer-links .elementor-icon-list-text{ color:#FFFFFF !important; }
.ig-footer-contact .elementor-icon-list-item,
.ig-footer-contact .elementor-icon-list-item a,
.ig-footer-contact .elementor-icon-list-text{ color:#FFFFFF !important; }
.ig-footer-contact .elementor-icon-list-icon i,
.ig-footer-contact .elementor-icon-list-icon svg{ color:#AACE45 !important; fill:#AACE45 !important; }
.ig-footer-links .elementor-icon-list-item a:hover,
.ig-footer-contact .elementor-icon-list-item a:hover{ color:#AACE45 !important; }
.ig-footer-copy, .ig-footer-copy .ig-copy{ color:#FFFFFF !important; }
.ig-footer-bottom-links .elementor-icon-list-item a{ color:#FFFFFF !important; }
.ig-footer-bottom-links .elementor-icon-list-item a:hover{ color:#AACE45 !important; }
.ig-footer-social .elementor-social-icon i{ color:#FFFFFF !important; }
.ig-footer-social .elementor-social-icon:hover i{ color:#000000 !important; }
.ig-footer-newsletter input[type="email"]::placeholder{ color:rgba(255,255,255,0.7) !important; }

/* ---- header scrolled state (own class, Elementor sticky effects unreliable) ---- */
.ig-hdr-js{ display:none !important; }
.ig-header.ig-scrolled{
  padding:14px 0 !important;
  background:rgba(255,255,255,0.88) !important;
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  backdrop-filter:blur(14px) saturate(160%);
  box-shadow:0 2px 24px rgba(0,0,0,0.08);
}
.ig-header.ig-scrolled .ig-logo .elementor-heading-title{ color:#1C3F3A !important; }
.ig-header.ig-scrolled .ig-nav .e-n-menu-title-text{ color:#1C3F3A !important; }
.ig-header.ig-scrolled .ig-header-cta .elementor-button{ background-color:#AACE45 !important; color:#1C3F3A !important; }
.ig-header.ig-scrolled .ig-header-cta .elementor-button:hover{ background-color:#1C3F3A !important; color:#FFFFFF !important; }

/* ---- mirror the original sticky-effects styling onto .ig-scrolled ---- */
.ig-header.ig-scrolled{
  --n-menu-title-color-normal:#1C3F3A;
  --n-menu-title-color-hover:#1C3F3A;
  --n-menu-title-color-active:#1C3F3A;
}
.ig-header.ig-scrolled > .e-con-inner,
.ig-header.ig-scrolled .ig-header-inner > .e-con-inner{
  padding-top:14px !important; padding-bottom:14px !important;
}
.ig-header.ig-scrolled .elementor-widget-heading.ig-logo .elementor-heading-title{ color:#1C3F3A !important; }
.ig-header.ig-scrolled .ig-burger span{ background:#1C3F3A !important; }

/* ---- scrolled state: specificity above Elementor per-element CSS ---- */
.ig-header.ig-scrolled.ig-scrolled.ig-scrolled{
  padding-top:14px !important; padding-bottom:14px !important;
  background-color:rgba(255,255,255,0.92) !important;
  background-image:none !important;
  -webkit-backdrop-filter:blur(14px) saturate(160%) !important;
  backdrop-filter:blur(14px) saturate(160%) !important;
  box-shadow:0 2px 24px rgba(0,0,0,0.08) !important;
}
.ig-header.ig-scrolled.ig-scrolled.ig-scrolled > .e-con-inner,
.ig-header.ig-scrolled.ig-scrolled.ig-scrolled .ig-header-inner > .e-con-inner{
  padding-top:14px !important; padding-bottom:14px !important;
}
.ig-header.ig-scrolled.ig-scrolled.ig-scrolled .elementor-widget-heading.ig-logo .elementor-heading-title{
  color:#1C3F3A !important;
}
.ig-header.ig-scrolled.ig-scrolled.ig-scrolled .ig-nav .e-n-menu-title-text{ color:#1C3F3A !important; }
.ig-header.ig-scrolled.ig-scrolled.ig-scrolled .ig-burger span{ background:#1C3F3A !important; }
.ig-header.ig-scrolled.ig-scrolled.ig-scrolled .ig-header-cta .elementor-button{
  background-color:#AACE45 !important; color:#1C3F3A !important;
}
.ig-header.ig-scrolled.ig-scrolled.ig-scrolled .ig-header-cta .elementor-button:hover{
  background-color:#1C3F3A !important; color:#FFFFFF !important;
}
/* transparent state must also beat per-element CSS */
.ig-header.ig-header.ig-header:not(.ig-scrolled){
  background-color:transparent !important; box-shadow:none !important;
}

/* ---- HERO v2: no bg photo, centred text, single eyebrow dot ---- */

/* 1. remove the placeholder photo — gradients only, exactly like the HTML */
.ig-hero{
  background-image:
    linear-gradient(180deg, rgba(18,26,24,0.55) 0%, rgba(18,26,24,0.78) 100%),
    linear-gradient(120deg,#1C3F3A 0%,#16302c 60%,#10221f 100%) !important;
  background-size:auto, auto !important;
  background-position:center, center !important;
  background-repeat:no-repeat, no-repeat !important;
}

/* 2. centre all hero content */
.ig-hero-inner{ margin-left:auto !important; margin-right:auto !important; }
.ig-hero-inner > .e-con-inner{
  max-width:900px !important;
  margin-left:auto !important; margin-right:auto !important;
  align-items:center !important;
  text-align:center !important;
}
.ig-hero-inner > .e-con-inner > .elementor-widget{ width:100%; }
.ig-hero .ig-eyebrow-dark{ align-self:center !important; }
.ig-hero-h1 .elementor-heading-title{ text-align:center !important; }
.ig-hero-lead .elementor-heading-title{
  text-align:center !important; max-width:640px; margin-left:auto !important; margin-right:auto !important;
}
.ig-hero-btns{ justify-content:center !important; }
.ig-hero-btns > .e-con-inner{ justify-content:center !important; }
.ig-hero-stats{ margin-left:auto !important; margin-right:auto !important; }
.ig-hero-stat .elementor-counter{ align-items:center !important; }
.ig-hero-stat .elementor-counter-number-wrapper{ justify-content:center !important; }
.ig-hero-stat .elementor-counter-title{ text-align:center !important; }

/* 3. only ONE dot on the eyebrow — kill the wrapper's pseudo-element */
.elementor-widget-heading.ig-eyebrow::before,
.elementor-widget-heading.ig-eyebrow::after,
.elementor-widget-heading.ig-eyebrow-dark::before,
.elementor-widget-heading.ig-eyebrow-dark::after,
.ig-eyebrow > .elementor-widget-container::before,
.ig-eyebrow-dark > .elementor-widget-container::before{
  content:none !important; display:none !important;
}

/* ---- HERO v3: no eyebrow, no scroll cue, tighter height ---- */
.ig-scroll-cue, .ig-cue-line{ display:none !important; }
.ig-hero{
  min-height:88vh !important;
  padding-top:120px !important;
  padding-bottom:70px !important;
}
.ig-hero-h1 .elementor-heading-title{ margin-bottom:22px !important; }
.ig-hero-lead .elementor-heading-title{ margin-bottom:34px !important; }
.ig-hero-btns{ margin-bottom:52px !important; }
.ig-hero-stats{ padding-top:32px !important; }
@media (max-width:900px){
  .ig-hero{ min-height:auto !important; padding-top:110px !important; padding-bottom:64px !important; }
}
@media (max-width:600px){
  .ig-hero{ padding-top:100px !important; padding-bottom:56px !important; }
  .ig-hero-btns{ margin-bottom:40px !important; }
  .ig-hero-stats{ padding-top:28px !important; }
}

/* ---- HERO v4: no stats row, more air under the header ---- */
.ig-hero-stats{ display:none !important; }
.ig-hero{
  min-height:82vh !important;
  padding-top:190px !important;
  padding-bottom:110px !important;
}
.ig-hero-h1 .elementor-heading-title{ margin-bottom:26px !important; }
.ig-hero-lead .elementor-heading-title{ margin-bottom:40px !important; }
.ig-hero-btns{ margin-bottom:0 !important; }

@media (max-width:900px){
  .ig-hero{ min-height:auto !important; padding-top:165px !important; padding-bottom:90px !important; }
}
@media (max-width:600px){
  .ig-hero{ padding-top:145px !important; padding-bottom:76px !important; }
  .ig-hero-h1 .elementor-heading-title{ margin-bottom:20px !important; }
  .ig-hero-lead .elementor-heading-title{ margin-bottom:32px !important; }
}

/* ---- ABOUT: matched to imigital-homepage.html ---- */
.ig-about-grid > .e-con-inner, .ig-about-grid{
  display:grid !important; grid-template-columns:0.95fr 1.05fr; gap:70px; align-items:center;
}
@media (max-width:900px){
  .ig-about-grid > .e-con-inner, .ig-about-grid{ grid-template-columns:1fr !important; gap:56px; }
}
.ig-about-media{ position:relative !important; padding:0 !important; }
.ig-about-img{ width:100%; }
.ig-about-img img{
  width:100%; aspect-ratio:4/4.6; object-fit:cover; border-radius:28px; display:block;
}
.ig-about-badge{
  position:absolute !important; bottom:-28px; left:-28px;
  background:#1C3F3A !important; color:#FFFFFF;
  padding:22px 26px !important; border-radius:18px;
  box-shadow:0 24px 60px rgba(0,0,0,0.14);
  max-width:220px; width:auto !important; gap:0 !important; z-index:2;
}
@media (max-width:900px){ .ig-about-badge{ left:12px; bottom:-20px; } }
.ig-badge-num .elementor-heading-title{ margin-bottom:2px !important; }
.ig-about-text{ gap:0 !important; padding:0 !important; }
.ig-about-text > .e-con-inner{ gap:0 !important; padding:0 !important; align-items:flex-start; }
.ig-about-text .ig-eyebrow{ margin-bottom:18px !important; }
.ig-about-text .ig-h2 .elementor-heading-title{ margin-bottom:16px !important; }
.ig-about-lead .elementor-heading-title{ margin-bottom:22px !important; }
.ig-about-text .ig-p .elementor-heading-title{ margin-bottom:0 !important; }

/* four points, 2 x 2 */
.ig-about-points, .ig-about-points > .e-con-inner{
  display:grid !important; grid-template-columns:1fr 1fr; gap:20px !important;
  margin:32px 0 !important; padding:0 !important; width:100%;
}
@media (max-width:560px){
  .ig-about-points, .ig-about-points > .e-con-inner{ grid-template-columns:1fr; }
}
.ig-about-point{ padding:0 !important; gap:12px !important; align-items:flex-start !important; }
.ig-about-point > .e-con-inner{ gap:12px !important; padding:0 !important; flex-direction:row; align-items:flex-start; }
.ig-about-ico{ flex:none !important; width:auto !important; }
.ig-about-ico .elementor-icon{
  width:38px; height:38px; border-radius:10px; background:#EEF5DA; color:#1C3F3A;
  display:flex; align-items:center; justify-content:center; font-size:16px;
}
.ig-point-text{ padding:0 !important; gap:0 !important; }
.ig-point-text > .e-con-inner{ padding:0 !important; gap:0 !important; }
.ig-point-title .elementor-heading-title{ margin-bottom:3px !important; }
.ig-about-text .ig-btn-dark{ align-self:flex-start; }

/* ---- HEADER NAV: centred between logo and CTA, equal gaps ---- */
.ig-header > .e-con-inner{
  display:flex !important; flex-direction:row !important;
  align-items:center !important; justify-content:space-between !important;
  gap:24px !important; width:100%; max-width:1240px; margin-inline:auto;
  padding-left:24px !important; padding-right:24px !important;
}
/* logo and CTA keep their natural size */
.ig-header .ig-logo{ flex:0 0 auto !important; width:auto !important; }
.ig-header .ig-header-cta{ flex:0 0 auto !important; width:auto !important; }
/* nav takes the remaining space and centres its items inside it */
.ig-header .ig-nav{ flex:1 1 auto !important; width:auto !important; min-width:0; }
.ig-header .ig-nav > .elementor-widget-container{ display:flex; justify-content:center; }
.ig-header .ig-nav .e-n-menu{ width:100%; }
.ig-header .ig-nav .e-n-menu-heading{
  display:flex !important; flex-direction:row !important;
  justify-content:center !important; align-items:center !important;
  gap:36px !important; flex-wrap:nowrap;
}
.ig-header .ig-nav .e-n-menu-item{ margin:0 !important; }
.ig-header .ig-nav .e-n-menu-title{ padding:0 !important; }
@media (max-width:1100px){
  .ig-header .ig-nav .e-n-menu-heading{ gap:24px !important; }
}

/* ---- ABOUT: one paragraph style for the whole section ---- */
.ig-about .ig-about-lead .elementor-heading-title,
.ig-about .ig-p .elementor-heading-title,
.ig-about .ig-point-desc .elementor-heading-title{
  font-family:'Rubik',sans-serif !important;
  font-size:16px !important;
  font-weight:400 !important;
  line-height:1.75 !important;
  color:#000000 !important;
  letter-spacing:normal !important;
}
.ig-about .ig-about-lead .elementor-heading-title{ margin-bottom:22px !important; }
.ig-about .ig-p .elementor-heading-title{ margin-bottom:0 !important; }
.ig-about .ig-point-desc .elementor-heading-title{ margin-bottom:0 !important; }

/* ---- EYEBROW PILLS REMOVED SITE-WIDE (client preference) ---- */
.ig-eyebrow, .ig-eyebrow-dark,
.elementor-widget-heading.ig-eyebrow,
.elementor-widget-heading.ig-eyebrow-dark{ display:none !important; }
/* section heads start at the H2 now */
.ig-section-head .ig-h2 .elementor-heading-title{ margin-top:0 !important; }
.ig-about-text .ig-h2 .elementor-heading-title{ margin-top:0 !important; }
.ig-why-list .ig-h2 .elementor-heading-title{ margin-top:0 !important; }

/* ---- ONE style for every sub-section / card / point heading ---- */
.ig-point-title .elementor-heading-title,
.ig-card-title .elementor-heading-title,
.ig-svc-name .elementor-heading-title,
.ig-work-title .elementor-heading-title,
.ig-why-title .elementor-heading-title,
.ig-insight-title .elementor-heading-title{
  font-family:'Unbounded',sans-serif !important;
  font-size:18px !important;
  font-weight:500 !important;
  line-height:1.3 !important;
  letter-spacing:-0.01em !important;
  color:#1C3F3A !important;
}
@media (max-width:767px){
  .ig-point-title .elementor-heading-title,
  .ig-card-title .elementor-heading-title,
  .ig-svc-name .elementor-heading-title,
  .ig-work-title .elementor-heading-title,
  .ig-why-title .elementor-heading-title,
  .ig-insight-title .elementor-heading-title{ font-size:17px !important; }
}
/* spacing under each sub-heading */
.ig-point-title .elementor-heading-title{ margin-bottom:6px !important; }
.ig-card-title .elementor-heading-title{ margin-bottom:8px !important; }
.ig-svc-name .elementor-heading-title{ margin-bottom:4px !important; }
.ig-work-title .elementor-heading-title{ margin-bottom:8px !important; }
.ig-why-title .elementor-heading-title{ margin-bottom:6px !important; }
.ig-insight-title .elementor-heading-title{ margin-bottom:10px !important; }

/* ---- BUTTONS: no shadow, no icons, one size (18px) ---- */
.elementor-widget-button .elementor-button,
.ig-btn-primary .elementor-button,
.ig-btn-dark .elementor-button,
.ig-btn-outline .elementor-button,
.ig-btn-outline-light .elementor-button,
.ig-header-cta .elementor-button{
  box-shadow:none !important;
  font-size:18px !important;
  padding:16px 30px !important;
}
.elementor-widget-button .elementor-button:hover,
.ig-btn-primary .elementor-button:hover,
.ig-btn-dark .elementor-button:hover,
.ig-btn-outline .elementor-button:hover,
.ig-btn-outline-light .elementor-button:hover,
.ig-header-cta .elementor-button:hover{
  box-shadow:none !important;
}
/* header CTA matches the rest */
.ig-header-cta .elementor-button{ padding:14px 28px !important; }

/* no icons or arrows anywhere in buttons */
.elementor-widget-button .elementor-button .elementor-button-icon,
.elementor-widget-button .elementor-button i,
.elementor-widget-button .elementor-button svg{ display:none !important; }
.elementor-widget-button .elementor-button-content-wrapper{ gap:0 !important; }

/* portfolio filter pills stay compact and shadowless */
.ig-filter-btn .elementor-button{
  font-size:13px !important; padding:10px 20px !important; box-shadow:none !important;
}

/* ---- HERO v5: tighter gap under the header so the CTAs sit above the fold ---- */
.ig-hero{
  min-height:78vh !important;
  padding-top:165px !important;
  padding-bottom:95px !important;
}
.ig-hero-h1 .elementor-heading-title{ margin-bottom:22px !important; }
.ig-hero-lead .elementor-heading-title{ margin-bottom:34px !important; }
@media (max-width:900px){
  .ig-hero{ min-height:auto !important; padding-top:145px !important; padding-bottom:80px !important; }
}
@media (max-width:600px){
  .ig-hero{ padding-top:130px !important; padding-bottom:68px !important; }
  .ig-hero-h1 .elementor-heading-title{ margin-bottom:18px !important; }
  .ig-hero-lead .elementor-heading-title{ margin-bottom:28px !important; }
}

/* ---- MARQUEE: thin divider line between items (no characters) ---- */
.ig-marquee{ background:#EEF5DA; padding:26px 0; overflow:hidden; border-bottom:1px solid #DDEBB5; }
.ig-marquee-track{ display:flex; align-items:center; gap:0; width:max-content; animation:igScroll 28s linear infinite; }
.ig-marquee-track span{
  font-family:'Unbounded',sans-serif; font-size:14px; font-weight:500;
  color:#1C3F3A; white-space:nowrap;
  display:inline-flex; align-items:center;
  padding:0 32px; position:relative;
}
.ig-marquee-track span::before{
  content:"" !important;
  position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:1px; height:18px; background:rgba(28,63,58,0.22);
  color:transparent !important; font-size:0 !important;
}
.ig-marquee-track span::after{ content:none !important; }
@keyframes igScroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
@media (prefers-reduced-motion: reduce){ .ig-marquee-track{ animation:none !important; } }

/* ---- SERVICES: centred section head ---- */
.ig-services .ig-section-head{
  max-width:720px !important;
  margin-left:auto !important; margin-right:auto !important;
  text-align:center !important;
  align-items:center !important;
}
.ig-services .ig-section-head > .e-con-inner{
  align-items:center !important; text-align:center !important;
  margin-left:auto !important; margin-right:auto !important;
}
.ig-services .ig-section-head .ig-h2 .elementor-heading-title,
.ig-services .ig-section-head .ig-lead-sm .elementor-heading-title{
  text-align:center !important;
}
.ig-services .ig-section-head .ig-lead-sm .elementor-heading-title{
  max-width:640px; margin-left:auto !important; margin-right:auto !important;
}

/* ---- UNIFORM 30px between every section head and its content ---- */
.ig-section-head{
  margin-bottom:30px !important;
  padding:0 !important;
}
.ig-section-head > .e-con-inner{ gap:0 !important; padding:0 !important; }
/* heading -> subcontent spacing inside the head */
.ig-section-head .ig-h2 .elementor-heading-title{ margin-bottom:14px !important; }
.ig-section-head .ig-lead-sm .elementor-heading-title{ margin-bottom:0 !important; }

/* same rhythm inside the two split-column sections */
.ig-about-text .ig-h2 .elementor-heading-title{ margin-bottom:14px !important; }
.ig-about-text .ig-about-lead .elementor-heading-title{ margin-bottom:14px !important; }
.ig-about-text .ig-p .elementor-heading-title{ margin-bottom:0 !important; }
.ig-about-points{ margin:30px 0 !important; }

.ig-why-list .ig-h2 .elementor-heading-title{ margin-bottom:30px !important; }

/* filter row under the Work head */
.ig-filters{ margin-bottom:30px !important; }

/* ---- SERVICES: centred section head ---- */
.ig-services .ig-section-head,
.ig-services .ig-section-head > .e-con-inner{
  max-width:720px !important;
  margin-left:auto !important; margin-right:auto !important;
  text-align:center !important;
  align-items:center !important;
}
.ig-services .ig-section-head .ig-h2 .elementor-heading-title,
.ig-services .ig-section-head .ig-lead-sm .elementor-heading-title{
  text-align:center !important; width:100%;
}
.ig-services .ig-section-head .ig-lead-sm .elementor-heading-title{
  max-width:640px; margin-left:auto !important; margin-right:auto !important;
}

/* ---- kill Elementor's inherited container gap so the 30px margin is the real gap ---- */
.ig-section > .ig-wrap > .e-con-inner,
.ig-section-tight > .ig-wrap > .e-con-inner{
  gap:0 !important;
}
.ig-section-head{ margin-bottom:30px !important; }

/* ---- section sub-copy: identical width so all wrap to two lines ---- */
.ig-lead-sm .elementor-heading-title{
  max-width:760px !important;
  font-size:17px !important;
  line-height:1.7 !important;
}
/* centred section heads centre their lead too */
.ig-services .ig-section-head .ig-lead-sm .elementor-heading-title{
  margin-left:auto !important; margin-right:auto !important;
}
/* left-aligned heads keep the lead flush left at the same width */
.ig-work .ig-lead-sm .elementor-heading-title,
.ig-results .ig-lead-sm .elementor-heading-title,
.ig-industries .ig-lead-sm .elementor-heading-title,
.ig-testi .ig-lead-sm .elementor-heading-title,
.ig-insights .ig-lead-sm .elementor-heading-title{
  margin-left:0 !important; margin-right:0 !important;
}
@media (max-width:900px){
  .ig-lead-sm .elementor-heading-title{ max-width:100% !important; font-size:16px !important; }
}

/* ---- every section head the same width ---- */
.ig-section-head, .ig-section-head > .e-con-inner{ max-width:720px !important; }
.ig-lead-sm .elementor-heading-title{ max-width:720px !important; }

/* ---- SERVICES ROWS: HTML grid layout, our standard fonts ---- */
.ig-svc-rows{ border-top:1px solid #DDEBB5; gap:0 !important; padding:0 !important; }
.ig-svc-rows > .e-con-inner{ gap:0 !important; padding:0 !important; }

.ig-svc-row{
  display:grid !important;
  grid-template-columns:56px 1.3fr 1.5fr 20px !important;
  gap:28px !important;
  align-items:center !important;
  padding:36px 4px !important;
  border-bottom:1px solid #DDEBB5;
  border-radius:0 !important;
  background:transparent !important;
  transition:padding .4s cubic-bezier(.22,.8,.32,1), background .3s ease;
  cursor:pointer;
}
.ig-svc-row > .e-con-inner{ display:contents !important; }
.ig-svc-row:hover{ padding-left:16px !important; background:transparent !important; box-shadow:none !important; transform:none !important; }

/* icon tile */
.ig-svc-ico{ width:auto !important; padding:0 !important; }
.ig-svc-ico .elementor-icon{
  width:56px; height:56px; border-radius:16px; background:#FFFFFF; color:#1C3F3A;
  display:flex; align-items:center; justify-content:center; font-size:20px;
  transition:.4s cubic-bezier(.22,.8,.32,1);
}
.ig-svc-row:hover .ig-svc-ico .elementor-icon{
  background:#AACE45; transform:scale(1.08) rotate(-4deg);
}

/* name + description sit in their own grid columns */
.ig-svc-name, .ig-svc-desc{ width:auto !important; padding:0 !important; }
.ig-svc-name .elementor-heading-title{ margin:0 !important; transition:color .4s ease; }
.ig-svc-row:hover .ig-svc-name .elementor-heading-title{ color:#284F49 !important; }
.ig-svc-desc .elementor-heading-title{ margin:0 !important; }

/* arrow */
.ig-svc-arrow{ width:auto !important; padding:0 !important; justify-self:end; }
.ig-svc-arrow .elementor-icon{
  width:18px; height:18px; font-size:18px; color:#A4B2B0;
  transition:.35s cubic-bezier(.22,.8,.32,1);
  display:flex; align-items:center; justify-content:center;
}
.ig-svc-row:hover .ig-svc-arrow .elementor-icon{ color:#1C3F3A; transform:translateX(4px); }

@media (max-width:860px){
  .ig-svc-row{ grid-template-columns:1fr !important; gap:14px !important; padding:28px 4px !important; text-align:left; }
  .ig-svc-row:hover{ padding-left:4px !important; }
  .ig-svc-arrow{ display:none !important; }
}

/* ---- Services row names: larger than card titles (HTML had up to 26px) ---- */
.ig-svc-name .elementor-heading-title{
  font-family:'Unbounded',sans-serif !important;
  font-size:24px !important;
  font-weight:500 !important;
  line-height:1.25 !important;
  letter-spacing:-0.01em !important;
  color:#1C3F3A !important;
}
@media (max-width:1024px){ .ig-svc-name .elementor-heading-title{ font-size:22px !important; } }
@media (max-width:767px){ .ig-svc-name .elementor-heading-title{ font-size:20px !important; } }

/* ---- ALL body / sub-content text: 16px #000000 ---- */
.ig-lead-sm .elementor-heading-title,
.ig-p .elementor-heading-title,
.ig-about-lead .elementor-heading-title,
.ig-svc-desc .elementor-heading-title,
.ig-point-desc .elementor-heading-title,
.ig-work-desc .elementor-heading-title,
.ig-insight-desc .elementor-heading-title,
.ig-faq-acc .elementor-tab-content p{
  font-family:'Rubik',sans-serif !important;
  font-size:16px !important;
  font-weight:400 !important;
  line-height:1.75 !important;
  letter-spacing:normal !important;
  color:#000000 !important;
}
/* text on dark backgrounds keeps a light colour, same 16px */
.ig-testi .ig-lead-sm .elementor-heading-title{ color:rgba(255,255,255,0.78) !important; }
.ig-testi .ig-p .elementor-heading-title{ color:rgba(255,255,255,0.78) !important; }
.ig-cta-p .elementor-heading-title{ color:rgba(255,255,255,0.78) !important; font-size:16px !important; }
.ig-impact-label .elementor-heading-title{ color:rgba(255,255,255,0.72) !important; font-size:16px !important; }
.ig-badge-txt .elementor-heading-title{ color:rgba(255,255,255,0.8) !important; font-size:16px !important; line-height:1.5 !important; }

/* ---- PORTFOLIO: centred head, no tabs, hover overlay, 4:3, View More ---- */
.ig-filters{ display:none !important; }

.ig-work .ig-section-head,
.ig-work .ig-section-head > .e-con-inner{
  max-width:720px !important; margin-left:auto !important; margin-right:auto !important;
  text-align:center !important; align-items:center !important;
}
.ig-work .ig-section-head .ig-h2 .elementor-heading-title,
.ig-work .ig-section-head .ig-lead-sm .elementor-heading-title{
  text-align:center !important; width:100%;
}
.ig-work .ig-section-head .ig-lead-sm .elementor-heading-title{
  margin-left:auto !important; margin-right:auto !important;
}

/* 3 x 2 grid */
.ig-work-grid, .ig-work-grid > .e-con-inner{
  display:grid !important; grid-template-columns:repeat(3,1fr) !important;
  gap:26px !important; padding:0 !important;
}
@media (max-width:900px){ .ig-work-grid, .ig-work-grid > .e-con-inner{ grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:600px){ .ig-work-grid, .ig-work-grid > .e-con-inner{ grid-template-columns:1fr !important; } }

/* card = image only, everything else revealed on hover */
.ig-work-card{
  position:relative !important; overflow:hidden !important;
  border-radius:18px !important; padding:0 !important; gap:0 !important;
  background:transparent !important; box-shadow:none !important; cursor:pointer;
  transition:box-shadow .4s cubic-bezier(.22,.8,.32,1), transform .4s cubic-bezier(.22,.8,.32,1);
}
.ig-work-card > .e-con-inner{ padding:0 !important; gap:0 !important; display:block !important; }
.ig-work-card:hover{ box-shadow:0 24px 60px rgba(0,0,0,0.14); transform:translateY(-4px); }

.ig-work-img{ width:100%; padding:0 !important; }
.ig-work-img img{
  width:100%; aspect-ratio:4/3; object-fit:cover; display:block;
  transition:transform .6s cubic-bezier(.22,.8,.32,1);
}
.ig-work-card:hover .ig-work-img img{ transform:scale(1.06); }

/* gradient overlay, hidden until hover */
.ig-work-overlay{
  position:absolute !important; inset:0 !important;
  display:flex !important; flex-direction:column !important; justify-content:flex-end !important;
  align-items:flex-start !important;
  padding:26px !important; gap:10px !important;
  background:linear-gradient(180deg, rgba(28,63,58,0) 0%, rgba(28,63,58,0.55) 45%, rgba(16,34,31,0.94) 100%);
  opacity:0; transition:opacity .4s cubic-bezier(.22,.8,.32,1);
  pointer-events:none;
}
.ig-work-card:hover .ig-work-overlay{ opacity:1; }
.ig-work-overlay > .e-con-inner{
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  gap:10px !important; padding:0 !important; width:100%;
}
.ig-work-tag .elementor-heading-title{
  background:#AACE45; color:#1C3F3A !important; display:inline-block;
  padding:5px 12px; border-radius:100px; margin:0 !important;
}
.ig-work-title .elementor-heading-title{ color:#FFFFFF !important; margin:0 !important; }

/* View More */
.ig-work-more{
  display:flex !important; justify-content:center !important;
  margin-top:40px !important; padding:0 !important;
}
.ig-work-more > .e-con-inner{ display:flex !important; justify-content:center !important; padding:0 !important; }

/* ---- portfolio overlay gradient (beat Elementor's container background) ---- */
.ig-work-card .ig-work-overlay.ig-work-overlay.ig-work-overlay{
  background-color:transparent !important;
  background-image:linear-gradient(180deg, rgba(28,63,58,0) 0%, rgba(28,63,58,0.55) 45%, rgba(16,34,31,0.94) 100%) !important;
  opacity:0;
  transition:opacity .4s cubic-bezier(.22,.8,.32,1);
}
.ig-work-card:hover .ig-work-overlay.ig-work-overlay.ig-work-overlay{ opacity:1; }
.ig-work-card:focus-within .ig-work-overlay.ig-work-overlay.ig-work-overlay{ opacity:1; }

/* ---- portfolio: no tags on cards, centred View More ---- */
.ig-work-tag{ display:none !important; }

/* overlay now holds the title only, still bottom-left */
.ig-work-overlay, .ig-work-overlay > .e-con-inner{
  justify-content:flex-end !important; align-items:flex-start !important;
}

/* centre the button, whatever Elementor wraps it in */
.ig-work-more,
.ig-work-more > .e-con-inner{
  display:flex !important;
  flex-direction:row !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  text-align:center !important;
  padding:0 !important;
}
.ig-work-more .elementor-widget-button{
  width:auto !important;
  align-self:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.ig-work-more .elementor-widget-container,
.ig-work-more .elementor-button-wrapper{
  display:flex !important; justify-content:center !important; width:100%;
}

/* ---- never leave content stuck invisible if an entrance animation fails ---- */
.elementor-invisible{ opacity:1 !important; visibility:visible !important; animation:none !important; }
.ig-about-img, .ig-why-img, .ig-work-img, .ig-insight-img{ opacity:1 !important; visibility:visible !important; }
.ig-about-img img, .ig-why-img img{ opacity:1 !important; }

/* ---- WHY: numbers larger and aligned to the title line ---- */
.ig-why-item{
  display:flex !important; flex-direction:row !important;
  align-items:flex-start !important;
  gap:20px !important;
  padding:26px 0 !important;
  border-bottom:1px solid #DDEBB5;
}
.ig-why-item > .e-con-inner{
  display:flex !important; flex-direction:row !important;
  align-items:flex-start !important; gap:20px !important; padding:0 !important; width:100%;
}
.ig-why-item:first-child{ padding-top:0 !important; }

/* number column: fixed width, same line box as the title so they sit on one line */
.ig-why-num{
  flex:0 0 40px !important; width:40px !important; padding:0 !important; margin:0 !important;
}
.ig-why-num .elementor-heading-title{
  font-family:'Unbounded',sans-serif !important;
  font-size:20px !important;
  font-weight:600 !important;
  line-height:26px !important;
  color:#AACE45 !important;
  margin:0 !important;
  display:block;
}
/* title shares the identical 26px line box -> first lines align */
.ig-why-title .elementor-heading-title{
  line-height:26px !important;
  margin:0 0 6px 0 !important;
}
.ig-why-item .ig-point-text,
.ig-why-item > .e-con-inner > .e-con{ flex:1 1 auto !important; padding:0 !important; }
.ig-why-item > .e-con-inner > .e-con > .e-con-inner{ gap:0 !important; padding:0 !important; }

@media (max-width:767px){
  .ig-why-num{ flex:0 0 34px !important; width:34px !important; }
  .ig-why-num .elementor-heading-title{ font-size:18px !important; line-height:24px !important; }
  .ig-why-title .elementor-heading-title{ line-height:24px !important; }
}

/* ---- WHY: zero the text container's default 10px padding ---- */
.ig-why-item > .e-con,
.ig-why-item > .e-con > .e-con-inner{
  padding:0 !important; gap:0 !important; flex:1 1 auto !important;
}
.ig-why-item{ align-items:flex-start !important; }
.ig-why-num, .ig-why-num > .elementor-widget-container{ padding:0 !important; margin:0 !important; }

/* ---- H2 colour per background + centred section heads everywhere ---- */
.ig-services .ig-h2 .elementor-heading-title,
.ig-work .ig-h2 .elementor-heading-title,
.ig-results .ig-h2 .elementor-heading-title,
.ig-industries .ig-h2 .elementor-heading-title,
.ig-insights .ig-h2 .elementor-heading-title,
.ig-faq .ig-h2 .elementor-heading-title,
.ig-about .ig-h2 .elementor-heading-title,
.ig-why .ig-h2 .elementor-heading-title{
  color:#1C3F3A !important;
}
.ig-testi .ig-h2 .elementor-heading-title{ color:#FFFFFF !important; }
.ig-cta-card .ig-cta-h2 .elementor-heading-title{ color:#FFFFFF !important; }

/* every section head centred */
.ig-section-head,
.ig-section-head > .e-con-inner{
  max-width:720px !important;
  margin-left:auto !important; margin-right:auto !important;
  text-align:center !important;
  align-items:center !important;
}
.ig-section-head .ig-h2 .elementor-heading-title,
.ig-section-head .ig-lead-sm .elementor-heading-title{
  text-align:center !important; width:100%;
}
.ig-section-head .ig-lead-sm .elementor-heading-title{
  margin-left:auto !important; margin-right:auto !important;
}

/* ---- same icon hover animation everywhere (matches Services) ---- */
.ig-svc-ico .elementor-icon,
.ig-result-ico .elementor-icon,
.ig-ind-ico .elementor-icon,
.ig-about-ico .elementor-icon,
.ig-impact-ico .elementor-icon{
  transition:background .4s cubic-bezier(.22,.8,.32,1),
             color .4s cubic-bezier(.22,.8,.32,1),
             transform .4s cubic-bezier(.22,.8,.32,1) !important;
  will-change:transform;
}
.ig-svc-row:hover .ig-svc-ico .elementor-icon,
.ig-result-card:hover .ig-result-ico .elementor-icon,
.ig-ind-card:hover .ig-ind-ico .elementor-icon,
.ig-about-point:hover .ig-about-ico .elementor-icon,
.ig-impact-item:hover .ig-impact-ico .elementor-icon{
  background:#AACE45 !important;
  color:#1C3F3A !important;
  transform:scale(1.08) rotate(-4deg) !important;
}
/* impact icons sit on dark green with no tile, so give them one on hover */
.ig-impact-ico .elementor-icon{
  width:44px; height:44px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,0.08); color:#AACE45;
}
.ig-impact-item:hover .ig-impact-ico .elementor-icon{ color:#1C3F3A !important; }

@media (prefers-reduced-motion: reduce){
  .ig-svc-ico .elementor-icon,
  .ig-result-ico .elementor-icon,
  .ig-ind-ico .elementor-icon,
  .ig-about-ico .elementor-icon,
  .ig-impact-ico .elementor-icon{ transition:none !important; }
  .ig-svc-row:hover .ig-svc-ico .elementor-icon,
  .ig-result-card:hover .ig-result-ico .elementor-icon,
  .ig-ind-card:hover .ig-ind-ico .elementor-icon,
  .ig-about-point:hover .ig-about-ico .elementor-icon,
  .ig-impact-item:hover .ig-impact-ico .elementor-icon{ transform:none !important; }
}

/* ---- card text spacing: stop titles and descriptions colliding ---- */
.ig-result-card, .ig-ind-card{
  display:flex !important; flex-direction:column !important;
  align-items:flex-start !important; gap:0 !important;
}
.ig-result-card > .e-con-inner, .ig-ind-card > .e-con-inner{
  display:flex !important; flex-direction:column !important;
  align-items:flex-start !important; gap:0 !important; padding:0 !important;
}
.ig-result-ico, .ig-ind-ico{ margin-bottom:18px !important; padding:0 !important; }
.ig-result-card .ig-card-title, .ig-ind-card .ig-card-title{ width:100%; padding:0 !important; }
.ig-result-card .ig-card-title .elementor-heading-title,
.ig-ind-card .ig-card-title .elementor-heading-title{
  margin:0 0 8px 0 !important; line-height:1.3 !important; display:block;
}
.ig-result-card .ig-p, .ig-ind-card .ig-p{ width:100%; padding:0 !important; }
.ig-result-card .ig-p .elementor-heading-title,
.ig-ind-card .ig-p .elementor-heading-title{ margin:0 !important; display:block; }

/* ---- card descriptions: reserve two lines so every card is the same height ---- */
.ig-ind-card .ig-p .elementor-heading-title,
.ig-result-card .ig-p .elementor-heading-title{
  min-height:calc(2 * 1.75em);
}
.ig-ind-card, .ig-result-card{ height:100%; }
.ig-ind-grid > .e-con-inner, .ig-results-grid > .e-con-inner{ align-items:stretch !important; }

/* ---- IMPACT: matched to imigital-homepage.html ---- */
.ig-impact-card{
  background:linear-gradient(120deg,#1C3F3A,#16302c);
  border-radius:28px; padding:60px 56px; position:relative; overflow:hidden; isolation:isolate;
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
}
.ig-impact-item{
  padding:0 30px; border-left:1px solid rgba(255,255,255,0.14);
}
.ig-impact-item:first-child{ border-left:none; padding-left:0; }

/* outline icon tile */
.ig-impact-ico{
  width:48px; height:48px; border-radius:12px;
  background:rgba(255,255,255,0.08); color:#AACE45;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:20px;
  transition:background .4s cubic-bezier(.22,.8,.32,1), color .4s cubic-bezier(.22,.8,.32,1), transform .4s cubic-bezier(.22,.8,.32,1);
}
.ig-impact-ico svg{ width:22px; height:22px; display:block; }
.ig-impact-item:hover .ig-impact-ico{
  background:#AACE45; color:#1C3F3A;
  transform:scale(1.08) rotate(-4deg);
}

/* number + lime suffix on one baseline */
.ig-impact-number{ display:flex; align-items:baseline; gap:2px; margin-bottom:10px; }
.ig-impact-num{
  font-family:'Unbounded',sans-serif; font-size:38px; font-weight:700; color:#FFFFFF; line-height:1.1;
}
.ig-impact-suffix{
  font-family:'Unbounded',sans-serif; font-size:22px; font-weight:600; color:#AACE45;
}

/* label: reserve three lines so all four columns match */
.ig-impact-label{
  color:rgba(255,255,255,0.68) !important; font-family:'Rubik',sans-serif;
  font-size:14px !important; line-height:1.6 !important; margin:0 !important;
  min-height:calc(3 * 1.6em);
}

@media (max-width:860px){
  .ig-impact-card{ grid-template-columns:repeat(2,1fr); gap:36px 20px; padding:44px 30px; }
  .ig-impact-item{ border-left:none; padding-left:0; }
  .ig-impact-item:nth-child(odd){ border-right:1px solid rgba(255,255,255,0.14); padding-right:24px; }
}
@media (max-width:560px){
  .ig-impact-card{ grid-template-columns:1fr; padding:40px 26px; gap:28px; }
  .ig-impact-item{ border:none !important; padding:26px 0 0 !important; border-top:1px solid rgba(255,255,255,0.14) !important; }
  .ig-impact-item:first-child{ border-top:none !important; padding-top:0 !important; }
  .ig-impact-label{ min-height:0; }
}
@media (prefers-reduced-motion: reduce){
  .ig-impact-ico{ transition:none !important; }
  .ig-impact-item:hover .ig-impact-ico{ transform:none !important; }
}

/* ---- impact label: two lines, equal height ---- */
.ig-impact-label{ min-height:calc(2 * 1.6em) !important; }
@media (max-width:560px){ .ig-impact-label{ min-height:0 !important; } }

/* ---- TESTIMONIALS: exactly 3 full cards, no half card at the edge ---- */
.ig-testi-carousel{ width:100%; }
.ig-testi-viewport{ width:100%; overflow:hidden !important; }
.ig-testi-track{ display:flex; gap:24px; width:max-content; will-change:transform;
  transition:transform .55s cubic-bezier(.22,.8,.32,1); }

/* card width derived from the container so three fill it edge to edge */
.ig-testi-card{
  flex:0 0 auto;
  width:340px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.14);
  border-radius:18px;
  padding:30px 26px;
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  display:flex; flex-direction:column;
  transition:background .35s ease, border-color .35s ease, transform .35s cubic-bezier(.22,.8,.32,1);
}
.ig-testi-card:hover{
  background:rgba(255,255,255,0.10);
  border-color:rgba(170,206,69,0.45);
  transform:translateY(-4px);
}
/* the real sizing: 3 up, minus the two 24px gaps */

@media (max-width:900px){  }


/* card contents */
.ig-stars{ display:flex; gap:4px; margin-bottom:14px; }
.ig-stars i{ color:#AACE45; font-size:13px; }
.ig-testi-card p{
  color:rgba(255,255,255,0.86) !important; font-family:'Rubik',sans-serif;
  font-size:16px !important; line-height:1.7 !important; margin:0 0 22px 0 !important; flex:1;
}
.ig-testi-person{ display:flex; align-items:center; gap:12px; }
.ig-avatar{
  width:44px; height:44px; border-radius:50%; flex:none;
  background:rgba(170,206,69,0.15); border:1px solid rgba(170,206,69,0.5); color:#AACE45;
  display:flex; align-items:center; justify-content:center;
  font-family:'Unbounded',sans-serif; font-size:14px; font-weight:600;
}
.ig-testi-person h3{
  font-family:'Unbounded',sans-serif; font-size:16px; color:#FFFFFF;
  font-weight:500; margin:0 0 2px 0; line-height:1.3;
}
.ig-testi-person span{ font-family:'Rubik',sans-serif; font-size:14px; color:rgba(255,255,255,0.6); }

/* ---- nav: arrows styled like the site buttons ---- */
.ig-testi-nav{ display:flex; align-items:center; justify-content:center; gap:16px; margin-top:36px; }
.ig-testi-btn{
  width:48px; height:48px; border-radius:100px; cursor:pointer; border:none;
  background:#AACE45; color:#1C3F3A;
  display:flex; align-items:center; justify-content:center; font-size:15px;
  transition:transform .35s cubic-bezier(.22,.8,.32,1), background .3s ease, color .3s ease;
}
.ig-testi-btn:hover{ background:#FFFFFF; color:#1C3F3A; transform:translateY(-3px); }
.ig-testi-btn:focus-visible{ outline:2px solid #AACE45; outline-offset:3px; }
.ig-testi-dots{ display:flex; gap:8px; }
.ig-testi-dot{
  width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.28);
  cursor:pointer; transition:.3s;
}
.ig-testi-dot.active{ background:#AACE45; width:24px; border-radius:100px; }

/* ---- BLOG CARDS: matched to imigital-homepage.html, tag removed ---- */
.ig-insight-tag{ display:none !important; }

.ig-insight-grid, .ig-insight-grid > .e-con-inner{
  display:grid !important; grid-template-columns:repeat(3,1fr) !important;
  gap:26px !important; padding:0 !important; align-items:stretch !important;
}
@media (max-width:900px){ .ig-insight-grid, .ig-insight-grid > .e-con-inner{ grid-template-columns:1fr !important; } }

.ig-insight-card{
  background:#FFFFFF !important; border:1px solid #DDEBB5 !important; border-radius:18px !important;
  overflow:hidden !important; padding:0 !important; gap:0 !important; height:100%;
  display:flex !important; flex-direction:column !important;
  transition:transform .4s cubic-bezier(.22,.8,.32,1), box-shadow .4s cubic-bezier(.22,.8,.32,1), border-color .4s cubic-bezier(.22,.8,.32,1);
}
.ig-insight-card > .e-con-inner{ display:flex !important; flex-direction:column !important; padding:0 !important; gap:0 !important; height:100%; }
.ig-insight-card:hover{ transform:translateY(-8px); box-shadow:0 24px 60px rgba(0,0,0,0.14); border-color:#AACE45 !important; }

.ig-insight-img{ width:100%; padding:0 !important; overflow:hidden; }
.ig-insight-img img{ width:100%; aspect-ratio:16/10; object-fit:cover; display:block;
  transition:transform .6s cubic-bezier(.22,.8,.32,1); }
.ig-insight-card:hover .ig-insight-img img{ transform:scale(1.06); }

.ig-insight-body{
  padding:26px !important; display:flex !important; flex-direction:column !important;
  flex:1 !important; gap:0 !important;
}
.ig-insight-body > .e-con-inner{ display:flex !important; flex-direction:column !important; flex:1; padding:0 !important; gap:0 !important; }
.ig-insight-title .elementor-heading-title{ margin:0 0 10px 0 !important; }
.ig-insight-desc .elementor-heading-title{ margin:0 !important; min-height:calc(2 * 1.75em); }

/* meta row pinned to the bottom */
.ig-insight-meta-wrap{ margin-top:auto !important; padding:0 !important; width:100%; }
.ig-insight-meta{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin-top:18px; padding-top:18px; border-top:1px solid #DDEBB5;
}
.ig-read-time{
  display:inline-flex; align-items:center; gap:6px;
  font-family:'Unbounded',sans-serif; font-size:12.5px; color:#A4B2B0;
}
.ig-read-time svg{ width:14px; height:14px; flex:none; }
.ig-read-more{
  display:inline-flex; align-items:center; flex:none;
  font-family:'Unbounded',sans-serif; font-size:12.5px; font-weight:500;
  color:#1C3F3A; background:#EEF5DA; border:1px solid #DDEBB5;
  padding:9px 16px; border-radius:100px;
  transition:background .35s ease, color .35s ease, border-color .35s ease, transform .35s cubic-bezier(.22,.8,.32,1);
}
.ig-read-more:hover{ background:#AACE45; border-color:#AACE45; color:#1C3F3A; transform:translateY(-2px); }

/* centred View More */
.ig-insights-more, .ig-insights-more > .e-con-inner{
  display:flex !important; flex-direction:row !important;
  justify-content:center !important; align-items:center !important;
  width:100% !important; margin-top:40px !important; padding:0 !important;
}
.ig-insights-more .elementor-widget-button{ width:auto !important; margin-left:auto !important; margin-right:auto !important; }

/* ---- TESTIMONIALS v2: SVG stars/arrows, un-clipped hover, drag ---- */
/* padding gives the hover lift room; negative margin keeps layout unchanged */
.ig-testi-viewport{
  overflow:hidden !important;
  padding:14px 0 18px !important;
  margin:-14px 0 -18px !important;
}
.ig-testi-track{ cursor:grab; }
.ig-testi-track.is-dragging{ cursor:grabbing; transition:none !important; }
.ig-testi-track.is-dragging .ig-testi-card{ pointer-events:none; }

/* stars */
.ig-stars{ display:flex; gap:5px; margin-bottom:16px; }
.ig-stars svg{ width:15px; height:15px; color:#AACE45; display:block; }

/* nav buttons: lime pill with a real SVG arrow */
.ig-testi-btn{
  width:48px; height:48px; border-radius:100px; border:none; cursor:pointer;
  background:#AACE45; color:#1C3F3A; padding:0;
  display:inline-flex !important; align-items:center; justify-content:center;
  transition:background .3s ease, color .3s ease, transform .35s cubic-bezier(.22,.8,.32,1);
}
.ig-testi-btn svg{ width:18px; height:18px; display:block; }
.ig-testi-btn:hover{ background:#FFFFFF; transform:translateY(-3px); }
.ig-testi-btn:active{ transform:translateY(-1px); }
.ig-testi-btn:focus-visible{ outline:2px solid #FFFFFF; outline-offset:3px; }

/* ---- nav arrows: force intrinsic size inside the flex button ---- */
.ig-testi-btn svg{
  width:18px !important; height:18px !important;
  min-width:18px !important; min-height:18px !important;
  flex:0 0 18px !important;
  display:block !important;
}
.ig-testi-btn{ line-height:0; }

/* ---- blog card: readable Read More on hover + whole card clickable ---- */
/* the kit sets a global link hover colour of #AACE45, which made lime text
   on a lime button. pin the colour explicitly in both states. */
.ig-read-more,
.ig-read-more:link,
.ig-read-more:visited{
  color:#1C3F3A !important;
  background:#EEF5DA !important;
  border:1px solid #DDEBB5 !important;
}
.ig-read-more:hover,
.ig-read-more:focus,
.ig-read-more:active{
  color:#1C3F3A !important;
  background:#AACE45 !important;
  border-color:#AACE45 !important;
  transform:translateY(-2px);
}
.ig-read-more span, .ig-read-more *{ color:inherit !important; }

/* whole card is the click target; title and excerpt inherit it */
.ig-insight-card{ cursor:pointer; }
.ig-insight-card a{ text-decoration:none; }
.ig-insight-title .elementor-heading-title,
.ig-insight-desc .elementor-heading-title{ transition:color .3s ease; }
.ig-insight-card:hover .ig-insight-title .elementor-heading-title{ color:#284F49 !important; }

/* ---- TESTI v3: outline chevron arrows, nothing clips the hover lift ---- */
/* only the viewport clips, and it has padding to allow the lift */
.ig-testi .elementor-widget-html,
.ig-testi .elementor-widget-html > .elementor-widget-container,
.ig-testi-carousel{
  overflow:visible !important;
}
.ig-testi-viewport{
  overflow:hidden !important;
  padding:16px 0 20px !important;
  margin:-16px 0 -20px !important;
}

/* nav: matches .testi-arrow / .testi-controls in the HTML */
.ig-testi-nav{
  display:flex; align-items:center; justify-content:center;
  gap:24px !important; margin-top:36px !important;
}
.ig-testi-btn{
  width:44px !important; height:44px !important; border-radius:50% !important;
  background:transparent !important;
  border:1px solid rgba(255,255,255,0.25) !important;
  color:#FFFFFF !important;
  display:inline-flex !important; align-items:center; justify-content:center;
  padding:0 !important; cursor:pointer; line-height:0;
  transition:background .3s ease, border-color .3s ease, color .3s ease, transform .3s ease;
}
.ig-testi-btn svg{
  width:16px !important; height:16px !important;
  min-width:16px !important; min-height:16px !important;
  flex:0 0 16px !important; display:block !important;
}
.ig-testi-btn:hover{
  background:#AACE45 !important; border-color:#AACE45 !important; color:#1C3F3A !important;
  transform:none !important;
}
.ig-testi-btn:focus-visible{ outline:2px solid #AACE45; outline-offset:3px; }

/* dots as in the HTML */
.ig-testi-dots{ display:flex; gap:8px; }
.ig-testi-dot{
  width:8px; height:8px; border-radius:50%;
  background:rgba(255,255,255,0.25); cursor:pointer; transition:.3s;
}
.ig-testi-dot.active{ background:#AACE45; width:22px; border-radius:5px; }

/* ---- FAQ: matched to imigital-homepage.html ---- */
.ig-faq-grid, .ig-faq-grid > .e-con-inner{
  display:grid !important; grid-template-columns:0.75fr 1.25fr !important;
  gap:60px !important; padding:0 !important; align-items:start !important;
}
@media (max-width:900px){
  .ig-faq-grid, .ig-faq-grid > .e-con-inner{ grid-template-columns:1fr !important; gap:36px !important; }
}
.ig-faq-side, .ig-faq-side > .e-con-inner{ padding:0 !important; gap:0 !important; align-items:flex-start !important; }
.ig-faq-side .ig-h2 .elementor-heading-title{ margin-bottom:16px !important; }
.ig-faq-intro .elementor-heading-title{ margin-bottom:28px !important; }
.ig-faq-listwrap, .ig-faq-listwrap > .e-con-inner{ padding:0 !important; gap:0 !important; }

/* items */
.ig-faq-item{ border-bottom:1px solid #DDEBB5; padding:22px 0; }
.ig-faq-q{
  display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer;
}
.ig-faq-q h3{
  font-family:'Unbounded',sans-serif; font-size:16.5px; font-weight:500;
  color:#000000; margin:0; line-height:1.4;
}
.ig-faq-q:focus-visible{ outline:2px solid #AACE45; outline-offset:4px; border-radius:6px; }

/* +/- icon drawn in CSS, exactly as the HTML does it */
.ig-faq-icon{
  width:30px; height:30px; border-radius:50%; background:#EEF5DA; flex:none;
  display:flex; align-items:center; justify-content:center; position:relative;
  transition:transform .4s cubic-bezier(.22,.8,.32,1), background .3s ease;
}
.ig-faq-icon::before, .ig-faq-icon::after{
  content:""; position:absolute; background:#1C3F3A; transition:.3s;
}
.ig-faq-icon::before{ width:12px; height:2px; }
.ig-faq-icon::after{ width:2px; height:12px; }
.ig-faq-item.active .ig-faq-icon{ background:#AACE45; transform:rotate(180deg); }
.ig-faq-item.active .ig-faq-icon::after{ opacity:0; }

/* answer */
.ig-faq-a{ max-height:0; overflow:hidden; transition:max-height .45s cubic-bezier(.22,.8,.32,1); }
.ig-faq-a p{
  padding-top:16px; max-width:640px;
  font-family:'Rubik',sans-serif; font-size:16px; line-height:1.75; color:#000000; margin:0;
}

/* ---- FINAL CTA: matched to imigital-homepage.html ---- */
.ig-cta-sec .ig-wrap{ max-width:1240px !important; }
.ig-cta-sec .ig-wrap > .e-con-inner{ padding-left:24px !important; padding-right:24px !important; }

.ig-cta-card{
  position:relative !important; overflow:hidden !important; isolation:isolate;
  width:100% !important; max-width:100% !important; margin:0 !important;
  background:linear-gradient(120deg,#1C3F3A,#16302c) !important;
  border-radius:28px !important;
  padding:70px 60px !important;
  text-align:center !important;
  display:flex !important; flex-direction:column !important; align-items:center !important;
}
.ig-cta-card > .e-con-inner{
  display:flex !important; flex-direction:column !important; align-items:center !important;
  padding:0 !important; gap:0 !important; width:100%; position:relative; z-index:1;
}

/* lime glow, top-left, exactly as in the HTML */
.ig-cta-card::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  width:400px; height:400px; border-radius:50%;
  background:radial-gradient(circle, rgba(170,206,69,0.20), transparent 70%);
  top:-160px; left:-100px;
}
/* a softer second glow bottom-right for depth */
.ig-cta-card::after{
  content:""; position:absolute; z-index:0; pointer-events:none;
  width:340px; height:340px; border-radius:50%;
  background:radial-gradient(circle, rgba(170,206,69,0.12), transparent 70%);
  bottom:-150px; right:-90px;
}

.ig-cta-h2 .elementor-heading-title{
  color:#FFFFFF !important;
  font-size:clamp(28px,4vw,42px) !important;
  max-width:640px; margin:0 auto 16px !important;
  line-height:1.18 !important;
}
.ig-cta-p .elementor-heading-title{
  color:rgba(255,255,255,0.75) !important;
  max-width:520px; margin:0 auto 34px !important;
  font-size:16px !important; line-height:1.75 !important;
}
.ig-cta-btns, .ig-cta-btns > .e-con-inner{
  display:flex !important; flex-direction:row !important;
  gap:16px !important; justify-content:center !important; flex-wrap:wrap !important;
  padding:0 !important; width:100%;
}
@media (max-width:600px){
  .ig-cta-card{ padding:50px 26px !important; }
  .ig-cta-card::before{ width:280px; height:280px; top:-120px; left:-80px; }
  .ig-cta-card::after{ display:none; }
}

/* ---- CTA: full width + gradient above Elementor per-element CSS ---- */
/* card spans the whole 1240 container, no side inset */
.ig-cta-sec .ig-wrap > .e-con-inner{
  padding-left:0 !important; padding-right:0 !important; max-width:1240px !important;
}
.ig-cta-card.ig-cta-card.ig-cta-card{
  width:100% !important; max-width:100% !important; margin:0 !important;
  background-color:#1C3F3A !important;
  background-image:linear-gradient(120deg,#1C3F3A 0%,#16302c 100%) !important;
  border-radius:28px !important;
  overflow:hidden !important; position:relative !important;
}
@media (max-width:600px){
  .ig-cta-sec .ig-wrap > .e-con-inner{ padding-left:16px !important; padding-right:16px !important; }
}

/* ---- CTA paragraph: wider so it sits on two lines ---- */
.ig-cta-p .elementor-heading-title{
  max-width:720px !important;
  margin:0 auto 34px !important;
  font-size:16px !important; line-height:1.75 !important;
  color:rgba(255,255,255,0.75) !important;
  text-align:center !important;
}
@media (max-width:767px){
  .ig-cta-p .elementor-heading-title{ max-width:100% !important; }
}

/* ---- INNER PAGE BANNER (about, services, careers, contact ...) ---- */
.ig-page-banner{
  position:relative; isolation:isolate; overflow:hidden;
  min-height:38vh;
  display:flex !important; align-items:center !important;
  padding:150px 0 56px !important;
  background-color:#1C3F3A;
  background-image:
    linear-gradient(180deg, rgba(18,26,24,0.45) 0%, rgba(15,22,20,0.86) 100%),
    linear-gradient(120deg, #1C3F3A 0%, #16302c 65%, #10221f 100%);
}
/* soft lime glow, consistent with the homepage hero */
.ig-page-banner::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  width:420px; height:420px; border-radius:50%;
  background:radial-gradient(circle, rgba(170,206,69,0.16), transparent 70%);
  top:-170px; right:-120px;
}
.ig-banner-inner{ position:relative; z-index:1; }
.ig-banner-inner > .e-con-inner{
  gap:0 !important; align-items:flex-start !important; max-width:1240px; margin-inline:auto;
}

/* breadcrumb */
.ig-crumb-wrap{ padding:0 !important; margin-bottom:18px !important; }
.ig-crumb{
  display:flex; align-items:center; gap:10px;
  font-family:'Unbounded',sans-serif; font-size:12.5px; color:rgba(255,255,255,0.6);
}
.ig-crumb a{ color:rgba(255,255,255,0.85); text-decoration:none; transition:color .3s ease; }
.ig-crumb a:hover{ color:#AACE45; }
.ig-crumb .sep{ opacity:.5; }
.ig-crumb .cur{ color:#AACE45; }

/* title + lead */
.ig-banner-h1 .elementor-heading-title{ margin:0 0 12px 0 !important; }
.ig-banner-h1 .ig-accent{ color:#AACE45; }
.ig-banner-lead .elementor-heading-title{
  margin:0 !important; max-width:520px;
}

@media (max-width:900px){
  .ig-page-banner{ min-height:auto; padding:130px 0 48px !important; }
}
@media (max-width:600px){
  .ig-page-banner{ padding:118px 0 42px !important; }
  .ig-page-banner::before{ width:300px; height:300px; top:-130px; right:-90px; }
}

/* ---- HEADER NAV UNDERLINE ----
   Elementor's mega menu owns .e-n-menu-title::after for its divider
   (content:var(--n-menu-divider-content,none)) at a higher specificity,
   so the underline uses ::before instead. */
.ig-nav .e-n-menu-title{ position:relative !important; }
.ig-nav .e-n-menu-title::before{
  content:"" !important;
  position:absolute; left:0; right:auto; bottom:-6px;
  width:0; height:2px; border-radius:2px;
  background:#AACE45;
  transition:width .3s cubic-bezier(.22,.8,.32,1);
  pointer-events:none; z-index:1;
}
.ig-nav .e-n-menu-item:hover > .e-n-menu-title::before,
.ig-nav .e-n-menu-item:focus-within > .e-n-menu-title::before,
.ig-nav .e-n-menu-title:hover::before{
  width:100% !important;
}
/* keep Elementor's divider pseudo-element out of the way */
.ig-nav .e-n-menu-title::after{
  content:none !important; border:none !important; height:0 !important;
}
/* nav link colour + hover */
.ig-nav .e-n-menu-title-text{
  transition:color .3s ease;
}
.ig-nav .e-n-menu-item:hover .e-n-menu-title-text{ color:#AACE45 !important; }
.ig-header.ig-scrolled .ig-nav .e-n-menu-item:hover .e-n-menu-title-text{ color:#1C3F3A !important; }

@media (max-width:960px){
  .ig-nav .e-n-menu-title::before{ display:none !important; }
}

/* ---- ABOUT / WHO WE ARE ---- */
.ig-who-grid, .ig-who-grid > .e-con-inner{
  display:grid !important; grid-template-columns:1.3fr 0.7fr !important;
  gap:60px !important; align-items:start !important; padding:0 !important;
  margin-bottom:70px !important;
}
@media (max-width:900px){
  .ig-who-grid, .ig-who-grid > .e-con-inner{ grid-template-columns:1fr !important; gap:40px !important; margin-bottom:48px !important; }
}
.ig-who-text, .ig-who-media{ padding:0 !important; gap:0 !important; }
.ig-who-statement .elementor-heading-title{ max-width:680px; margin:0 !important; }
.ig-who-img img{
  width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:28px; display:block;
}

/* three beliefs, divided like the HTML */
.ig-beliefs, .ig-beliefs > .e-con-inner{
  display:grid !important; grid-template-columns:repeat(3,1fr) !important;
  gap:0 !important; padding:0 !important;
  border-top:1.5px solid #DDEBB5;
}
.ig-belief{
  padding:34px 34px 6px 0 !important; gap:0 !important;
  border-right:1.5px solid #DDEBB5;
}
.ig-belief > .e-con-inner{ padding:0 !important; gap:0 !important; align-items:flex-start !important; }
.ig-belief:last-child{ border-right:none; }
.ig-belief-mark .elementor-heading-title{
  text-transform:uppercase; margin:0 0 14px 0 !important; display:inline-block;
}
.ig-belief-text .elementor-heading-title{ margin:0 !important; }
@media (max-width:900px){
  .ig-beliefs, .ig-beliefs > .e-con-inner{ grid-template-columns:1fr !important; }
  .ig-belief{ border-right:none; border-bottom:1.5px solid #DDEBB5; padding:28px 0 !important; }
  .ig-belief:last-child{ border-bottom:none; }
}

/* ---- ABOUT / WHAT SETS US APART ---- */
.ig-diff-bento, .ig-diff-bento > .e-con-inner{
  display:grid !important; grid-template-columns:repeat(3,1fr) !important;
  gap:22px !important; padding:0 !important; align-items:stretch !important;
}
@media (max-width:900px){
  .ig-diff-bento, .ig-diff-bento > .e-con-inner{ grid-template-columns:1fr !important; }
}

/* wide dark feature card */
.ig-diff-feature{
  grid-column:1 / -1;
  background-color:#1C3F3A !important;
  background-image:linear-gradient(120deg,#1C3F3A 0%,#16302c 100%) !important;
  border-radius:28px !important; padding:46px 50px !important;
  display:flex !important; flex-direction:row !important; align-items:center !important;
  gap:34px !important; position:relative !important; overflow:hidden !important;
}
.ig-diff-feature > .e-con-inner{
  display:flex !important; flex-direction:row !important; align-items:center !important;
  gap:34px !important; padding:0 !important; position:relative; z-index:1; width:100%;
}
.ig-diff-feature::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  width:340px; height:340px; border-radius:50%;
  background:radial-gradient(circle, rgba(170,206,69,0.2), transparent 70%);
  top:-140px; right:-100px;
}
.ig-diff-feature-ico{ flex:0 0 auto !important; width:auto !important; padding:0 !important; }
.ig-diff-feature-ico .elementor-icon{
  width:68px; height:68px; border-radius:18px;
  background:rgba(170,206,69,0.14); color:#AACE45;
  display:flex; align-items:center; justify-content:center; font-size:26px;
  transition:background .4s cubic-bezier(.22,.8,.32,1), color .4s ease, transform .4s cubic-bezier(.22,.8,.32,1);
}
.ig-diff-feature:hover .ig-diff-feature-ico .elementor-icon{
  background:#AACE45; color:#1C3F3A; transform:scale(1.08) rotate(-4deg);
}
.ig-diff-feature-body{ padding:0 !important; gap:0 !important; flex:1 1 auto !important; }
.ig-diff-feature-body > .e-con-inner{ padding:0 !important; gap:0 !important; align-items:flex-start !important; }
.ig-diff-feature-title .elementor-heading-title{ margin:0 0 10px 0 !important; }
.ig-diff-feature-desc .elementor-heading-title{ margin:0 !important; max-width:560px; }

/* three cards */
.ig-diff-card{
  background:#FFFFFF !important; border:1.5px solid #DDEBB5 !important; border-radius:28px !important;
  padding:32px 28px !important; gap:0 !important; height:100%;
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  transition:transform .4s cubic-bezier(.22,.8,.32,1), box-shadow .4s cubic-bezier(.22,.8,.32,1), border-color .4s ease;
}
.ig-diff-card > .e-con-inner{
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  padding:0 !important; gap:0 !important;
}
.ig-diff-card:hover{
  transform:translateY(-8px); box-shadow:0 24px 60px rgba(0,0,0,0.14); border-color:#AACE45 !important;
}
.ig-diff-ico{ padding:0 !important; margin-bottom:22px !important; width:auto !important; }
.ig-diff-ico .elementor-icon{
  width:48px; height:48px; border-radius:12px; background:#EEF5DA; color:#1C3F3A;
  display:flex; align-items:center; justify-content:center; font-size:19px;
  transition:background .4s cubic-bezier(.22,.8,.32,1), color .4s ease, transform .4s cubic-bezier(.22,.8,.32,1);
}
.ig-diff-card:hover .ig-diff-ico .elementor-icon{
  background:#AACE45; color:#1C3F3A; transform:scale(1.08) rotate(-4deg);
}
.ig-diff-card .ig-card-title .elementor-heading-title{ margin:0 0 8px 0 !important; }
.ig-diff-card .ig-p .elementor-heading-title{ margin:0 !important; min-height:calc(2 * 1.75em); }

@media (max-width:900px){
  .ig-diff-feature, .ig-diff-feature > .e-con-inner{
    flex-direction:column !important; text-align:center; align-items:center !important;
    gap:20px !important;
  }
  .ig-diff-feature{ padding:38px 30px !important; }
  .ig-diff-feature-body > .e-con-inner{ align-items:center !important; }
  .ig-diff-feature-desc .elementor-heading-title{ margin-inline:auto !important; }
}

/* ---- ABOUT / MISSION, VISION, VALUES ---- */
.ig-compass-grid, .ig-compass-grid > .e-con-inner{
  display:grid !important; grid-template-columns:repeat(3,1fr) !important;
  gap:26px !important; padding:0 !important; align-items:stretch !important;
}
@media (max-width:900px){
  .ig-compass-grid, .ig-compass-grid > .e-con-inner{ grid-template-columns:1fr !important; }
}
.ig-compass-card{
  background:#EEF5DA !important; border:1px solid #DDEBB5 !important; border-radius:28px !important;
  padding:40px 32px !important; gap:0 !important; height:100%;
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  transition:transform .4s cubic-bezier(.22,.8,.32,1), box-shadow .4s cubic-bezier(.22,.8,.32,1);
}
.ig-compass-card > .e-con-inner{
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  padding:0 !important; gap:0 !important;
}
.ig-compass-card:hover{ transform:translateY(-8px); box-shadow:0 24px 60px rgba(0,0,0,0.14); }
.ig-compass-tag .elementor-heading-title{ text-transform:uppercase; margin:0 0 18px 0 !important; }
.ig-compass-ico{ padding:0 !important; margin-bottom:20px !important; width:auto !important; }
.ig-compass-ico .elementor-icon{
  width:52px; height:52px; border-radius:14px; background:#FFFFFF; color:#1C3F3A;
  display:flex; align-items:center; justify-content:center; font-size:20px;
  transition:background .4s cubic-bezier(.22,.8,.32,1), color .4s ease, transform .4s cubic-bezier(.22,.8,.32,1);
}
.ig-compass-card:hover .ig-compass-ico .elementor-icon{
  background:#AACE45; color:#1C3F3A; transform:scale(1.08) rotate(-4deg);
}
.ig-compass-title .elementor-heading-title{ margin:0 0 12px 0 !important; }
.ig-compass-card .ig-p .elementor-heading-title{ margin:0 !important; min-height:calc(3 * 1.75em); }

/* four value cells, 1px gap creates the dividers */
.ig-values-strip, .ig-values-strip > .e-con-inner{
  display:grid !important; grid-template-columns:repeat(4,1fr) !important;
  gap:1px !important; padding:0 !important;
  background:#DDEBB5; border:1px solid #DDEBB5; border-radius:28px; overflow:hidden;
  margin-top:60px !important;
}
@media (max-width:820px){
  .ig-values-strip, .ig-values-strip > .e-con-inner{ grid-template-columns:repeat(2,1fr) !important; }
}
@media (max-width:520px){
  .ig-values-strip, .ig-values-strip > .e-con-inner{ grid-template-columns:1fr !important; }
}
.ig-value-cell{
  background:#FFFFFF !important; padding:30px 24px !important; gap:0 !important; height:100%;
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  transition:background .35s ease;
}
.ig-value-cell > .e-con-inner{
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  padding:0 !important; gap:0 !important;
}
.ig-value-cell:hover{ background:#1C3F3A !important; }
.ig-value-cell:hover .ig-value-name .elementor-heading-title{ color:#FFFFFF !important; }
.ig-value-cell:hover .ig-value-desc .elementor-heading-title{ color:rgba(255,255,255,0.75) !important; }
.ig-vico{ padding:0 !important; margin-bottom:14px !important; width:auto !important; }
.ig-vico .elementor-icon{
  width:44px; height:44px; border-radius:12px; background:#EEF5DA; color:#1C3F3A;
  display:flex; align-items:center; justify-content:center; font-size:17px;
  transition:background .35s ease, color .35s ease, transform .4s cubic-bezier(.22,.8,.32,1);
}
.ig-value-cell:hover .ig-vico .elementor-icon{
  background:#AACE45; color:#1C3F3A; transform:scale(1.08) rotate(-4deg);
}
.ig-value-name .elementor-heading-title{ margin:0 0 8px 0 !important; transition:color .35s ease; }
.ig-value-desc .elementor-heading-title{ margin:0 !important; transition:color .35s ease; min-height:calc(2 * 1.75em); }

/* ---- ABOUT / HOW WE CREATE VALUE (dark band) ---- */
.ig-value-band{
  background-color:#1C3F3A !important; color:#FFFFFF;
  position:relative !important; overflow:hidden !important; isolation:isolate;
}
.ig-value-band::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  width:600px; height:600px; border-radius:50%;
  background:radial-gradient(circle, rgba(170,206,69,0.14), transparent 70%);
  top:-200px; left:-200px;
}
.ig-value-band > .e-con-inner, .ig-value-band .ig-wrap{ position:relative; z-index:1; }

.ig-vchain-track{ position:relative !important; padding:0 !important; gap:0 !important; }
.ig-vchain-track > .e-con-inner{ position:relative; padding:0 !important; gap:0 !important; }
/* dashed connector behind the number circles */
.ig-vchain-line-wrap{ padding:0 !important; }
.ig-vchain-line{
  position:absolute; top:34px; left:0; right:0; height:2px; z-index:0;
  background:repeating-linear-gradient(90deg, rgba(255,255,255,0.25) 0 10px, transparent 10px 20px);
}
.ig-vchain-grid, .ig-vchain-grid > .e-con-inner{
  display:grid !important; grid-template-columns:repeat(4,1fr) !important;
  gap:20px !important; padding:0 !important; position:relative; z-index:1; align-items:start !important;
}
@media (max-width:1000px){
  .ig-vchain-grid, .ig-vchain-grid > .e-con-inner{ grid-template-columns:repeat(2,1fr) !important; }
  .ig-vchain-line{ display:none; }
}
@media (max-width:520px){
  .ig-vchain-grid, .ig-vchain-grid > .e-con-inner{ grid-template-columns:1fr !important; }
}
.ig-vchain-step{ padding:0 !important; gap:0 !important; background:transparent !important; }
.ig-vchain-step > .e-con-inner{
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  padding:0 !important; gap:0 !important;
}
/* numbered circle */
.ig-vchain-num .elementor-heading-title{
  width:68px; height:68px; border-radius:50%;
  background:#284F49; border:2px solid rgba(170,206,69,0.4); color:#AACE45;
  display:flex; align-items:center; justify-content:center;
  margin:0 0 24px 0 !important; position:relative; z-index:1;
  transition:background .4s cubic-bezier(.22,.8,.32,1), border-color .4s ease, transform .4s cubic-bezier(.22,.8,.32,1);
}
.ig-vchain-step:hover .ig-vchain-num .elementor-heading-title{
  background:#AACE45; border-color:#AACE45; color:#1C3F3A; transform:scale(1.08) rotate(-4deg);
}
.ig-vchain-num.is-final .elementor-heading-title{ border-color:rgba(170,206,69,0.75); }
.ig-vc-tag .elementor-heading-title{ text-transform:uppercase; margin:0 0 14px 0 !important; }
.ig-vchain-title .elementor-heading-title{ margin:0 0 8px 0 !important; }
.ig-vchain-title.is-final .elementor-heading-title{ font-size:19px !important; }
.ig-vchain-desc .elementor-heading-title{ margin:0 !important; min-height:calc(3 * 1.75em); }

/* ---- dark band fixes: readable lead, visible connector, level steps ---- */
/* the global 16px/#000 paragraph rule would make this invisible on dark green */
.ig-value-band .ig-lead-sm .elementor-heading-title{
  color:rgba(255,255,255,0.72) !important;
}
.ig-value-band .ig-h2 .elementor-heading-title{ color:#FFFFFF !important; }
.ig-vchain-desc .elementor-heading-title{ color:rgba(255,255,255,0.68) !important; }
.ig-vchain-step.is-final .ig-vchain-desc .elementor-heading-title{ color:rgba(255,255,255,0.8) !important; }

/* dashed connector (background-image, not background) */
.ig-vchain-line{
  position:absolute !important; top:34px; left:0; right:0; height:2px; z-index:0;
  background-color:transparent !important;
  background-image:repeating-linear-gradient(90deg, rgba(255,255,255,0.25) 0, rgba(255,255,255,0.25) 10px, transparent 10px, transparent 20px) !important;
}
.ig-vchain-line-wrap{ position:static !important; height:0 !important; padding:0 !important; margin:0 !important; }

/* every step the same height */
.ig-vchain-grid, .ig-vchain-grid > .e-con-inner{ align-items:stretch !important; }
.ig-vchain-step{ height:100%; }
.ig-vchain-title .elementor-heading-title{ min-height:calc(2 * 1.3em); }
.ig-vchain-desc .elementor-heading-title{ min-height:calc(3 * 1.75em); }

/* ---- chain: tag below the circle so all circles align ---- */
.ig-vchain-step > .e-con-inner::before{ content:none !important; }
.ig-vc-tag .elementor-heading-title{
  text-transform:uppercase; margin:0 0 10px 0 !important;
}
.ig-vchain-num .elementor-heading-title{ margin:0 0 18px 0 !important; }


/* connector line: paint it on the track itself, no wrapper needed */
.ig-vchain-line-wrap{ display:none !important; }
.ig-vchain-track > .e-con-inner::before{
  content:"" !important; position:absolute; top:34px; left:0; right:0; height:2px; z-index:0;
  background-image:repeating-linear-gradient(90deg,
    rgba(255,255,255,0.28) 0px, rgba(255,255,255,0.28) 10px,
    rgba(255,255,255,0) 10px, rgba(255,255,255,0) 20px);
  pointer-events:none;
}
@media (max-width:1000px){
  .ig-vchain-track > .e-con-inner::before{ display:none; }
}

/* ---- chain connector: track is e-con-full (no inner wrapper) ---- */
.ig-vchain-track{ position:relative !important; }
.ig-vchain-track::before{
  content:"" !important;
  position:absolute !important; top:34px; left:0; right:0; height:2px; z-index:0;
  background-image:repeating-linear-gradient(90deg,
    rgba(255,255,255,0.28) 0px, rgba(255,255,255,0.28) 10px,
    rgba(255,255,255,0) 10px, rgba(255,255,255,0) 20px) !important;
  pointer-events:none;
}
.ig-vchain-grid{ position:relative; z-index:1; }
@media (max-width:1000px){
  .ig-vchain-track::before{ display:none !important; }
}

/* ---- ABOUT / TEAM ---- */
.ig-team-feature, .ig-team-feature > .e-con-inner{
  display:grid !important; grid-template-columns:0.85fr 1.15fr !important;
  gap:56px !important; align-items:center !important;
  padding:0 !important;
}
.ig-team-feature{
  background:#EEF5DA !important; border-radius:28px !important;
  padding:52px !important; margin-bottom:60px !important;
}
@media (max-width:900px){
  .ig-team-feature, .ig-team-feature > .e-con-inner{ grid-template-columns:1fr !important; gap:32px !important; }
  .ig-team-feature{ padding:34px !important; }
}
.ig-tf-media, .ig-tf-text{ padding:0 !important; gap:0 !important; }
.ig-tf-text > .e-con-inner{ padding:0 !important; gap:0 !important; align-items:flex-start !important; }
.ig-tf-img img{ width:100%; aspect-ratio:1/1.05; object-fit:cover; border-radius:18px; display:block; }
.ig-tf-role .elementor-heading-title{ text-transform:uppercase; margin:0 0 12px 0 !important; }
.ig-tf-name .elementor-heading-title{ margin:0 0 16px 0 !important; }
.ig-tf-quote .elementor-heading-title{ margin:0 0 22px 0 !important; max-width:520px; }
.ig-tf-desc .elementor-heading-title{ margin:0 !important; max-width:520px; }

/* four member cards, info revealed on hover */
.ig-team-grid, .ig-team-grid > .e-con-inner{
  display:grid !important; grid-template-columns:repeat(4,1fr) !important;
  gap:24px !important; padding:0 !important;
}
@media (max-width:960px){ .ig-team-grid, .ig-team-grid > .e-con-inner{ grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:560px){ .ig-team-grid, .ig-team-grid > .e-con-inner{ grid-template-columns:1fr !important; } }

.ig-team-card{
  position:relative !important; border-radius:18px !important; overflow:hidden !important;
  padding:0 !important; gap:0 !important;
  transition:transform .4s cubic-bezier(.22,.8,.32,1), box-shadow .4s cubic-bezier(.22,.8,.32,1);
}
.ig-team-card > .e-con-inner{ padding:0 !important; gap:0 !important; display:block !important; }
.ig-team-card:hover{ transform:translateY(-6px); box-shadow:0 24px 60px rgba(0,0,0,0.14); }
.ig-team-img{ width:100%; padding:0 !important; }
.ig-team-img img{
  width:100%; aspect-ratio:3/3.6; object-fit:cover; display:block;
  transition:transform .6s cubic-bezier(.22,.8,.32,1);
}
.ig-team-card:hover .ig-team-img img{ transform:scale(1.05); }

.ig-team-info{
  position:absolute !important; left:0; right:0; bottom:0;
  padding:20px !important; gap:0 !important;
  background:linear-gradient(0deg, rgba(18,21,20,0.86) 0%, rgba(18,21,20,0.45) 55%, transparent 100%);
  transform:translateY(8px); opacity:0;
  transition:transform .4s cubic-bezier(.22,.8,.32,1), opacity .4s cubic-bezier(.22,.8,.32,1);
  pointer-events:none;
}
.ig-team-info > .e-con-inner{
  padding:0 !important; gap:0 !important;
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
}
.ig-team-card:hover .ig-team-info,
.ig-team-card:focus-within .ig-team-info{ transform:translateY(0); opacity:1; }
.ig-team-name .elementor-heading-title{ margin:0 0 3px 0 !important; }
.ig-team-role .elementor-heading-title{ margin:0 !important; }

/* ---- team overlay gradient above Elementor's container background ---- */
.ig-team-card .ig-team-info.ig-team-info.ig-team-info{
  background-color:transparent !important;
  background-image:linear-gradient(0deg, rgba(18,21,20,0.88) 0%, rgba(18,21,20,0.48) 55%, rgba(18,21,20,0) 100%) !important;
  opacity:0;
  transition:transform .4s cubic-bezier(.22,.8,.32,1), opacity .4s cubic-bezier(.22,.8,.32,1);
}
.ig-team-card:hover .ig-team-info.ig-team-info.ig-team-info,
.ig-team-card:focus-within .ig-team-info.ig-team-info.ig-team-info{
  opacity:1; transform:translateY(0);
}

/* ---- ABOUT / DESIGN PRINCIPLES (dark manifesto bands) ---- */
.ig-principles{
  background-color:#1C3F3A !important; overflow:hidden !important; position:relative;
}
.ig-principles .ig-h2 .elementor-heading-title{ color:#FFFFFF !important; }
.ig-principles .ig-lead-sm .elementor-heading-title{ color:rgba(255,255,255,0.72) !important; }

.ig-principles-wrap, .ig-principles-wrap > .e-con-inner{
  padding:0 !important; gap:0 !important;
  border-top:1px solid rgba(255,255,255,0.14);
}
.ig-principle-band{
  padding:40px 4px !important; gap:24px !important;
  border-bottom:1px solid rgba(255,255,255,0.14);
  display:flex !important; flex-direction:row !important; flex-wrap:wrap !important;
  align-items:baseline !important; justify-content:space-between !important;
  transition:padding .4s cubic-bezier(.22,.8,.32,1);
}
.ig-principle-band > .e-con-inner{
  display:flex !important; flex-direction:row !important; flex-wrap:wrap !important;
  align-items:baseline !important; justify-content:space-between !important;
  gap:24px !important; padding:0 !important; width:100%;
}
.ig-principle-band:hover{ padding-left:20px !important; }

/* alternate direction on even bands */
.ig-principle-band:nth-child(even),
.ig-principle-band:nth-child(even) > .e-con-inner{
  flex-direction:row-reverse !important; text-align:right;
}
.ig-principle-band:nth-child(even):hover{ padding-left:4px !important; padding-right:20px !important; }

.ig-principle-name .elementor-heading-title{
  margin:0 !important; max-width:640px; transition:color .4s ease;
}
.ig-principle-band:hover .ig-principle-name .elementor-heading-title{ color:#AACE45 !important; }
.ig-principle-desc .elementor-heading-title{ margin:0 !important; max-width:340px; }
.ig-principle-name, .ig-principle-desc{ padding:0 !important; width:auto !important; }

@media (max-width:760px){
  .ig-principle-band,
  .ig-principle-band > .e-con-inner,
  .ig-principle-band:nth-child(even),
  .ig-principle-band:nth-child(even) > .e-con-inner{
    flex-direction:column !important; text-align:left !important;
    align-items:flex-start !important; gap:10px !important;
  }
  .ig-principle-band, .ig-principle-band:nth-child(even):hover, .ig-principle-band:hover{
    padding-left:4px !important; padding-right:4px !important;
  }
  .ig-principle-desc .elementor-heading-title{ max-width:100%; }
}

/* ---- ABOUT / OUR PROMISE ---- */
.ig-promise-grid, .ig-promise-grid > .e-con-inner{
  display:grid !important; grid-template-columns:1fr 1fr !important;
  gap:64px !important; align-items:start !important; padding:0 !important;
}
@media (max-width:900px){
  .ig-promise-grid, .ig-promise-grid > .e-con-inner{ grid-template-columns:1fr !important; gap:36px !important; }
}
.ig-promise-lead, .ig-promise-list{ padding:0 !important; gap:0 !important; }
.ig-promise-lead > .e-con-inner, .ig-promise-list > .e-con-inner{
  padding:0 !important; gap:0 !important; align-items:flex-start !important;
}
.ig-promise-h2 .elementor-heading-title{ margin:0 0 20px 0 !important; }
.ig-promise-intro .elementor-heading-title{ margin:0 0 28px 0 !important; max-width:480px; }

/* quote with the lime rule */
.ig-promise-quote{
  border-left:3px solid #AACE45; padding:0 0 0 22px !important; gap:0 !important;
}
.ig-promise-quote > .e-con-inner{ padding:0 !important; gap:0 !important; align-items:flex-start !important; }
.ig-promise-quote-text .elementor-heading-title{ margin:0 !important; max-width:460px; }
.ig-promise-cite .elementor-heading-title{ margin:14px 0 0 0 !important; }

/* four rows */
.ig-promise-row{
  display:flex !important; flex-direction:row !important; align-items:flex-start !important;
  gap:18px !important; padding:26px 0 !important;
  border-bottom:1px solid #DDEBB5;
}
.ig-promise-row > .e-con-inner{
  display:flex !important; flex-direction:row !important; align-items:flex-start !important;
  gap:18px !important; padding:0 !important; width:100%;
}
.ig-promise-row:first-child{ padding-top:0 !important; }
.ig-promise-row:last-child{ border-bottom:none; }
.ig-promise-check{ flex:0 0 auto !important; width:auto !important; padding:0 !important; }
.ig-promise-check .elementor-icon{
  width:32px; height:32px; border-radius:50%; background:#EEF5DA; color:#1C3F3A;
  display:flex; align-items:center; justify-content:center; font-size:13px;
  transition:background .3s ease, color .3s ease, transform .4s cubic-bezier(.22,.8,.32,1);
}
.ig-promise-row:hover .ig-promise-check .elementor-icon{
  background:#AACE45; color:#1C3F3A; transform:scale(1.08) rotate(-4deg);
}
.ig-promise-text{ flex:1 1 auto !important; padding:0 !important; gap:0 !important; }
.ig-promise-text > .e-con-inner{ padding:0 !important; gap:0 !important; align-items:flex-start !important; }
.ig-promise-row .ig-card-title .elementor-heading-title{ margin:0 0 6px 0 !important; }
.ig-promise-row .ig-p .elementor-heading-title{ margin:0 !important; }

/* ---- QA FIXES: contrast ---- */
/* lime on a light background only reached 1.6-1.8:1. A darker olive keeps the
   accent feel and clears WCAG AA. Lime stays as-is on dark backgrounds. */
.ig-belief-mark .elementor-heading-title,
.ig-compass-tag .elementor-heading-title,
.ig-tf-role .elementor-heading-title{
  color:#4A6B14 !important;
}
/* mega menu descriptions were #A4B2B0 on white (2.19:1) */
.ig-mega-link .elementor-icon-box-description,
.ig-mega-link p,
.ig-mega-link .elementor-icon-box-content p{
  color:#3A4A47 !important;
}

/* ---- QA FIX: values strip was still 4-up on tablet (195px columns) ---- */
@media (max-width:900px){
  .ig-values-strip, .ig-values-strip > .e-con-inner{
    grid-template-columns:repeat(2,1fr) !important;
  }
}
@media (max-width:560px){
  .ig-values-strip, .ig-values-strip > .e-con-inner{
    grid-template-columns:1fr !important;
  }
}

/* ---- WHO WE ARE: marker-pen highlight, matched to the HTML ---- */
.ig-who-statement .elementor-heading-title{
  font-size:42px !important; font-weight:500 !important; line-height:1.4 !important;
  color:#1C3F3A !important; max-width:680px; margin:0 !important;
}
@media (max-width:1024px){ .ig-who-statement .elementor-heading-title{ font-size:34px !important; } }
@media (max-width:767px){ .ig-who-statement .elementor-heading-title{ font-size:26px !important; } }

/* lime swipe across the lower 40% of the text, exactly as in the HTML */
.ig-who-statement .ig-hl{
  color:#1C3F3A;
  background:linear-gradient(to top, #DDEBB5 40%, transparent 40%);
  padding:0 3px;
}

/* ---- beliefs: 18px titles + breathing room off the divider ---- */
.ig-belief-mark .elementor-heading-title{
  font-family:'Unbounded',sans-serif !important;
  font-size:18px !important; font-weight:500 !important;
  line-height:1.3 !important; letter-spacing:-0.01em !important;
  text-transform:none !important;
  margin:0 0 10px 0 !important;
}
@media (max-width:767px){
  .ig-belief-mark .elementor-heading-title{ font-size:17px !important; }
}
/* first column stays flush left; the rest clear the divider line */
.ig-belief{ padding:34px 34px 6px 0 !important; }
.ig-belief:not(:first-child){ padding-left:34px !important; }
@media (max-width:900px){
  .ig-belief, .ig-belief:not(:first-child){ padding:28px 0 !important; }
}

/* ---- WHO WE ARE: statement vertically centred against the image ---- */
.ig-who-grid, .ig-who-grid > .e-con-inner{
  align-items:center !important;
}
.ig-who-text, .ig-who-text > .e-con-inner{
  justify-content:center !important; height:100%;
}
/* trim the portrait a little so the two columns balance */
.ig-who-img img{ aspect-ratio:4/4.5 !important; }
@media (max-width:900px){
  .ig-who-grid, .ig-who-grid > .e-con-inner{ align-items:start !important; }
  .ig-who-img img{ aspect-ratio:4/4 !important; }
}

/* ---- feature card: lime icon at rest, subtle on hover + full-width copy ---- */
.ig-diff-feature-ico .elementor-icon{
  background:#AACE45 !important; color:#1C3F3A !important;
  transition:background .4s cubic-bezier(.22,.8,.32,1), color .4s ease, transform .4s cubic-bezier(.22,.8,.32,1);
}
.ig-diff-feature:hover .ig-diff-feature-ico .elementor-icon{
  background:rgba(170,206,69,0.16) !important; color:#AACE45 !important;
  transform:scale(1.08) rotate(-4deg);
}
/* description runs the full width of the card */
.ig-diff-feature-desc .elementor-heading-title{
  max-width:100% !important; margin:0 !important;
}
.ig-diff-feature-body{ flex:1 1 auto !important; min-width:0; }

/* ---- VALUE CHAIN: 04 marker, no payoff tag, aligned rows, visible hover ---- */
.ig-vc-tag{ display:none !important; }

/* every step identical now, so titles and descriptions line up */
.ig-vchain-title .elementor-heading-title{
  font-size:18px !important; color:#FFFFFF !important;
  min-height:calc(2 * 1.3em) !important;   /* reserve two lines */
  margin:0 0 8px 0 !important;
}
.ig-vchain-title.is-final .elementor-heading-title{ font-size:18px !important; color:#FFFFFF !important; }
.ig-vchain-desc .elementor-heading-title{
  color:rgba(255,255,255,0.68) !important;
  min-height:calc(3 * 1.75em) !important;
  margin:0 !important;
}
.ig-vchain-grid, .ig-vchain-grid > .e-con-inner{ align-items:start !important; }

/* hover: Elementor's per-element colour was winning, leaving lime on lime */
.ig-vchain-num .elementor-heading-title{
  background:#284F49; border:2px solid rgba(170,206,69,0.4); color:#AACE45 !important;
}
.ig-vchain-step:hover .ig-vchain-num .elementor-heading-title,
.ig-vchain-step:focus-within .ig-vchain-num .elementor-heading-title{
  background:#AACE45 !important;
  border-color:#AACE45 !important;
  color:#1C3F3A !important;
  transform:scale(1.08) rotate(-4deg);
}

/* ---- value chain: identical circle spacing on every step ---- */
.ig-vchain-num .elementor-heading-title,
.ig-vchain-step.is-final .ig-vchain-num .elementor-heading-title{
  margin:0 0 18px 0 !important;
}

/* ---- feature icon: colour stays lime, only the motion changes ---- */
.ig-diff-feature-ico .elementor-icon{
  background:#AACE45 !important; color:#1C3F3A !important;
  transition:transform .45s cubic-bezier(.22,.8,.32,1), box-shadow .45s cubic-bezier(.22,.8,.32,1);
}
.ig-diff-feature:hover .ig-diff-feature-ico .elementor-icon{
  background:#AACE45 !important; color:#1C3F3A !important;
  transform:scale(1.08) rotate(-4deg);
  box-shadow:0 10px 26px rgba(170,206,69,0.28);
}

/* ---- value chain titles: exactly two lines on every step ---- */
.ig-vchain-title .elementor-heading-title{
  min-height:calc(2 * 1.3em) !important;
  line-height:1.3 !important;
}
.ig-vchain-title .elementor-heading-title br{ display:block; }
@media (max-width:520px){
  /* single column on phones, let it wrap naturally */
  .ig-vchain-title .elementor-heading-title br{ display:none; }
  .ig-vchain-title .elementor-heading-title{ min-height:0 !important; }
}

/* ---- OUR PROMISE: white section, outline check in a soft circle (matches the HTML) ---- */
.ig-promise{ background-color:#FFFFFF !important; }
.ig-promise-check{ flex:0 0 auto !important; width:auto !important; padding:0 !important; }
.ig-promise-check svg{
  width:32px; height:32px; padding:8px; box-sizing:border-box;
  border-radius:50%; background:#EEF5DA; color:#1C3F3A; display:block;
  transition:background .3s ease, color .3s ease, transform .4s cubic-bezier(.22,.8,.32,1);
}
.ig-promise-row:hover .ig-promise-check svg{
  background:#AACE45; color:#1C3F3A; transform:scale(1.08) rotate(-4deg);
}

/* ---- CTA: identical card height on every page (2-line heading, 2-line sub-copy) ---- */
.ig-cta-h2 .elementor-heading-title{
  min-height:calc(2 * 1.18em); display:flex; align-items:center; justify-content:center;
}
.ig-cta-p .elementor-heading-title{ min-height:calc(2 * 1.75em); }
@media (max-width:600px){
  .ig-cta-h2 .elementor-heading-title{ min-height:0; display:block; }
  .ig-cta-p .elementor-heading-title{ min-height:0; }
}

/* ---- SPACING NORMALISER: equal space at the top and bottom of every section ---- */
/* row lists opened flush at the top but kept trailing padding at the bottom */
.ig-promise-row:last-child,
.ig-why-item:last-child,
.ig-faq-item:last-child{ padding-bottom:0 !important; border-bottom:none !important; }
.ig-faq-item:first-child{ padding-top:0 !important; }
.ig-principle-band:last-child{ border-bottom:none !important; padding-bottom:0 !important; }

/* no stray margin on the first or last block inside any section */
.ig-section > .ig-wrap > .e-con-inner > *:first-child,
.ig-section-tight > .ig-wrap > .e-con-inner > *:first-child{ margin-top:0 !important; }
.ig-section > .ig-wrap > .e-con-inner > *:last-child,
.ig-section-tight > .ig-wrap > .e-con-inner > *:last-child{ margin-bottom:0 !important; }

/* promise: centre the short left column so it does not leave a void underneath */
.ig-promise-lead{ align-self:center !important; }
@media (max-width:900px){ .ig-promise-lead{ align-self:start !important; } }
.ig-promise-cite .elementor-heading-title{ margin:16px 0 0 0 !important; }
.ig-promise-role .elementor-heading-title{ margin:2px 0 0 0 !important; }

/* ---- INNER PAGE BANNER STANDARD: identical height and layout on every page ---- */
/* min-height governs, so a one-line or two-line H1 both produce the same banner */
.ig-page-banner{
  min-height:393px !important;
  padding:120px 0 50px !important;
  display:flex !important; align-items:center !important;
}
.ig-banner-h1 .elementor-heading-title{ margin:0 0 16px 0 !important; max-width:820px; }
/* sub-copy locked to one and a half lines */
.ig-banner-lead .elementor-heading-title{
  max-width:560px !important; min-height:42px !important; margin:0 !important;
}
@media (max-width:1024px){
  .ig-page-banner{ min-height:340px !important; padding:118px 0 46px !important; }
  .ig-banner-lead .elementor-heading-title{ max-width:520px !important; }
}
@media (max-width:767px){
  .ig-page-banner{ min-height:290px !important; padding:104px 0 40px !important; }
  .ig-banner-lead .elementor-heading-title{ max-width:100% !important; min-height:0 !important; }
}

/* ---- MOBILE HEADER: custom left off-canvas drawer ---- */
.ig-drawer-wrap{ padding:0 !important; width:auto !important; }
.ig-mob-toggle{ display:none; }

@media (max-width:1024px){
  /* Elementor's own menu and toggle are replaced by the drawer */
  .ig-header .e-n-menu,
  .ig-header .e-n-menu-toggle,
  .ig-header .ig-header-cta{ display:none !important; }
  .ig-header .elementor-element > .e-n-menu-layout-horizontal{ display:none !important; }

  /* the header row: logo left, burger hard right */
  .ig-header > .e-con-inner,
  .ig-header .e-con-inner{
    display:flex !important; flex-direction:row !important;
    align-items:center !important; justify-content:space-between !important;
    flex-wrap:nowrap !important;
  }
  .ig-drawer-wrap{ margin-left:auto !important; display:flex !important; align-items:center; }

  .ig-mob-toggle{
    display:flex !important; align-items:center; justify-content:center;
    width:44px !important; min-width:44px !important; max-width:44px !important;
    height:44px !important; padding:0 !important; margin:0 !important;
    flex:0 0 44px !important; box-sizing:border-box !important;
    background:transparent; border:1px solid rgba(255,255,255,0.22);
    border-radius:12px; cursor:pointer; -webkit-tap-highlight-color:transparent;
    transition:background .3s ease, border-color .3s ease;
  }
  .ig-mob-toggle:hover, .ig-mob-toggle:focus-visible{ background:rgba(255,255,255,0.08); border-color:#AACE45; }
  .ig-bars{ position:relative; display:block; width:20px; height:14px; }
  .ig-bars i{
    position:absolute; left:0; width:100%; height:2px; border-radius:2px;
    background:#FFFFFF; display:block;
    transition:transform .32s cubic-bezier(.22,.8,.32,1), opacity .2s ease, top .32s cubic-bezier(.22,.8,.32,1);
  }
  .ig-bars i:nth-child(1){ top:0; }
  .ig-bars i:nth-child(2){ top:6px; }
  .ig-bars i:nth-child(3){ top:12px; }
  .ig-mob-toggle.is-open .ig-bars i:nth-child(1){ top:6px; transform:rotate(45deg); }
  .ig-mob-toggle.is-open .ig-bars i:nth-child(2){ opacity:0; }
  .ig-mob-toggle.is-open .ig-bars i:nth-child(3){ top:6px; transform:rotate(-45deg); }
}
@media (min-width:1025px){
  .ig-drawer, .ig-drawer-backdrop, .ig-mob-toggle{ display:none !important; }
}

/* backdrop */
.ig-drawer-backdrop{
  position:fixed; inset:0; z-index:9998;
  background:rgba(12,18,16,0.55); backdrop-filter:blur(3px);
  opacity:0; transition:opacity .3s ease;
}
.ig-drawer-backdrop.is-open{ opacity:1; }

/* the panel, sliding in from the left */
.ig-drawer{
  position:fixed; top:0; left:0; bottom:0; z-index:9999;
  width:min(320px, 86vw);
  background:#FFFFFF;
  display:flex; flex-direction:column;
  transform:translateX(-100%);
  transition:transform .38s cubic-bezier(.22,.8,.32,1);
  box-shadow:0 0 60px rgba(0,0,0,0.28);
  overflow-y:auto; -webkit-overflow-scrolling:touch;
}
.ig-drawer.is-open{ transform:translateX(0) !important; }
html.ig-drawer-open{ overflow:hidden; }

.ig-drawer-top{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 22px; border-bottom:1px solid #DDEBB5; flex:none;
}
.ig-drawer-logo{
  font-family:'Unbounded',sans-serif; font-size:21px; font-weight:600;
  color:#1C3F3A; text-decoration:none; letter-spacing:-0.01em;
}
.ig-drawer-logo .ig-dot{ color:#AACE45; }
.ig-drawer-close{
  width:38px; height:38px; display:flex; align-items:center; justify-content:center;
  background:#EEF5DA; border:none; border-radius:10px; color:#1C3F3A; cursor:pointer;
  transition:background .3s ease, transform .3s ease;
}
.ig-drawer-close:hover{ background:#AACE45; transform:rotate(90deg); }

.ig-drawer-nav{ display:flex; flex-direction:column; padding:8px 0; flex:1 1 auto; }
.ig-dl{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  width:100%; padding:15px 22px; margin:0;
  font-family:'Unbounded',sans-serif; font-size:16px; font-weight:500;
  color:#1C3F3A; text-decoration:none; text-align:left;
  background:transparent; border:none; border-bottom:1px solid #EEF5DA;
  cursor:pointer; transition:background .25s ease, color .25s ease, padding-left .25s ease;
}
.ig-dl:hover, .ig-dl:focus-visible{ background:#EEF5DA; padding-left:26px; }
.ig-dl.is-current{ color:#4A6B14; }
.ig-dl.is-current::after{ content:""; width:6px; height:6px; border-radius:50%; background:#AACE45; }

.ig-chev{ transition:transform .3s cubic-bezier(.22,.8,.32,1); flex:none; }
.ig-dsub.is-open .ig-chev{ transform:rotate(180deg); }
.ig-dsub-panel{
  display:grid; grid-template-rows:0fr;
  transition:grid-template-rows .34s cubic-bezier(.22,.8,.32,1);
  background:#F7FBEF; overflow:hidden;
}
.ig-dsub.is-open .ig-dsub-panel{ grid-template-rows:1fr; }
.ig-dsub-panel > *{ min-height:0; }
.ig-dsub-panel a{
  display:block; padding:12px 22px 12px 34px;
  font-family:'Rubik',sans-serif; font-size:15px; color:#000000; text-decoration:none;
  border-bottom:1px solid #EEF5DA; transition:color .25s ease, padding-left .25s ease;
}
.ig-dsub-panel a:hover, .ig-dsub-panel a:focus-visible{ color:#4A6B14; padding-left:40px; }
.ig-dsub-panel a:last-child{ border-bottom:none; }
.ig-dsub-panel a.is-current{ color:#4A6B14; font-weight:500; }

.ig-drawer-foot{ padding:20px 22px 26px; border-top:1px solid #DDEBB5; flex:none; }
.ig-drawer-cta{
  display:block; width:100%; text-align:center;
  padding:14px 20px; border-radius:999px;
  background:#AACE45; color:#1C3F3A; text-decoration:none;
  font-family:'Unbounded',sans-serif; font-size:16px; font-weight:500;
  transition:background .3s ease, color .3s ease;
}
.ig-drawer-cta:hover{ background:#1C3F3A; color:#FFFFFF; }
.ig-drawer-mail{
  display:block; text-align:center; margin-top:14px;
  font-family:'Rubik',sans-serif; font-size:14px; color:#3A4A47; text-decoration:none;
}
.ig-drawer-mail:hover{ color:#4A6B14; }

@media (prefers-reduced-motion: reduce){
  .ig-drawer, .ig-drawer-backdrop, .ig-bars i, .ig-chev, .ig-dsub-panel{ transition:none !important; }
}

/* ---- INNER BANNER: lime glow + ring accent filling the right side ---- */
.ig-page-banner{
  background-color:#1C3F3A !important;
  background-image:
    /* warm lime bloom, upper right */
    radial-gradient(540px 400px at 86% 14%, rgba(170,206,69,0.30), transparent 66%),
    /* wider, softer wash carrying the glow down the right edge */
    radial-gradient(820px 660px at 106% 62%, rgba(170,206,69,0.15), transparent 70%),
    /* faint counter-glow so the left is not pure flat */
    radial-gradient(520px 420px at 2% 6%, rgba(170,206,69,0.10), transparent 68%),
    linear-gradient(180deg, rgba(18,26,24,0.42) 0%, rgba(15,22,20,0.84) 100%),
    linear-gradient(120deg, #1C3F3A 0%, #16302c 65%, #10221f 100%) !important;
}
/* thin concentric rings, echoing the brand circle motifs */
.ig-page-banner::before{
  content:"" !important; position:absolute; z-index:0; pointer-events:none;
  right:-120px; top:50%; transform:translateY(-50%);
  width:460px; height:460px; border-radius:50%;
  background:radial-gradient(circle, rgba(170,206,69,0.16), transparent 68%);
  border:1px solid rgba(170,206,69,0.16);
}
.ig-page-banner::after{
  content:""; position:absolute; z-index:0; pointer-events:none;
  right:20px; top:50%; transform:translateY(-50%);
  width:280px; height:280px; border-radius:50%;
  border:1px solid rgba(170,206,69,0.22);
  box-shadow:0 0 90px rgba(170,206,69,0.12);
}
@media (max-width:1024px){
  .ig-page-banner::before{ right:-190px; width:380px; height:380px; }
  .ig-page-banner::after{ display:none; }
  .ig-page-banner{
    background-image:
      radial-gradient(420px 330px at 92% 10%, rgba(170,206,69,0.26), transparent 66%),
      radial-gradient(620px 520px at 112% 66%, rgba(170,206,69,0.13), transparent 70%),
      linear-gradient(180deg, rgba(18,26,24,0.42) 0%, rgba(15,22,20,0.84) 100%),
      linear-gradient(120deg, #1C3F3A 0%, #16302c 65%, #10221f 100%) !important;
  }
}
@media (max-width:767px){
  .ig-page-banner::before{ right:-230px; width:320px; height:320px; opacity:.85; }
}

/* ---- DRAWER FIXES: button reset, visible close icon, real accordion collapse ---- */
/* Elementor's global button styling leaks into every <button> in the drawer */
.ig-drawer button,
.ig-drawer .ig-dl-toggle,
.ig-mob-toggle{
  -webkit-appearance:none; appearance:none;
  background-image:none !important; box-shadow:none !important;
  font-family:'Unbounded',sans-serif;
}
.ig-drawer .ig-dl-toggle{
  background:transparent !important; background-color:transparent !important;
  color:#1C3F3A !important; border:none !important;
  border-bottom:1px solid #EEF5DA !important; border-radius:0 !important;
  width:100% !important; max-width:none !important;
  padding:15px 22px !important; margin:0 !important;
  font-size:16px !important; font-weight:500 !important;
  letter-spacing:normal !important; text-transform:none !important;
  display:flex !important; align-items:center !important; justify-content:space-between !important;
}
.ig-drawer .ig-dl-toggle:hover,
.ig-drawer .ig-dl-toggle:focus-visible{
  background:#EEF5DA !important; color:#1C3F3A !important; padding-left:26px !important;
}
.ig-drawer .ig-dsub.is-open > .ig-dl-toggle,
.ig-drawer .ig-dsub.is-open > .ig-dl-toggle.ig-dl{
  background:#EEF5DA !important; background-color:#EEF5DA !important;
}

/* close button: fixed square, dark cross that cannot be blanked */
.ig-drawer-close{
  width:38px !important; min-width:38px !important; max-width:38px !important;
  height:38px !important; padding:0 !important; margin:0 !important;
  flex:0 0 38px !important; box-sizing:border-box !important;
  background:#EEF5DA !important; background-color:#EEF5DA !important;
  border:none !important; border-radius:10px !important;
  color:#1C3F3A !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
}
.ig-drawer-close:hover{ background:#AACE45 !important; }
.ig-drawer-close .ig-x{
  width:20px !important; height:20px !important; display:block !important;
  stroke:#1C3F3A !important; fill:none !important; opacity:1 !important;
}
.ig-drawer-close .ig-x path{ stroke:#1C3F3A !important; fill:none !important; }

/* accordion: one collapsible row, so every link collapses with it */
.ig-dsub-panel{
  display:grid !important; grid-template-rows:0fr !important;
  transition:grid-template-rows .34s cubic-bezier(.22,.8,.32,1);
  background:#F7FBEF;
}
.ig-dsub.is-open .ig-dsub-panel{ grid-template-rows:1fr !important; }
.ig-dsub-inner{ min-height:0 !important; overflow:hidden !important; }

/* ---- DRAWER FOOTER: single CTA, no email ---- */
.ig-drawer-mail{ display:none !important; }
.ig-drawer-cta{
  display:flex !important; align-items:center !important; justify-content:center !important;
  width:100% !important; max-width:none !important; box-sizing:border-box !important;
  min-height:50px !important; padding:14px 20px !important; margin:0 !important;
  border:none !important; border-radius:999px !important;
  background:#AACE45 !important; background-color:#AACE45 !important; background-image:none !important;
  color:#1C3F3A !important; text-decoration:none !important; box-shadow:none !important;
  font-family:'Unbounded',sans-serif !important; font-size:16px !important; font-weight:500 !important;
  line-height:1.2 !important; letter-spacing:normal !important; text-transform:none !important;
  white-space:nowrap !important;
}
.ig-drawer-cta:hover, .ig-drawer-cta:focus-visible{
  background:#1C3F3A !important; background-color:#1C3F3A !important; color:#FFFFFF !important;
}
.ig-drawer-foot{ padding:20px 22px 26px !important; }

/* ---- BURGER: lime button with dark bars so it reads on the dark header ---- */
@media (max-width:1024px){
  .ig-mob-toggle{
    background:#AACE45 !important; background-color:#AACE45 !important; background-image:none !important;
    border:none !important; border-radius:12px !important; box-shadow:none !important;
    width:44px !important; min-width:44px !important; max-width:44px !important;
    height:44px !important; padding:0 !important; margin:0 !important;
    flex:0 0 44px !important; box-sizing:border-box !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
  }
  .ig-mob-toggle:hover, .ig-mob-toggle:focus-visible{
    background:#BBD95F !important; background-color:#BBD95F !important;
  }
  .ig-mob-toggle .ig-bars i{ background:#1C3F3A !important; }
  .ig-mob-toggle.is-open .ig-bars i{ background:#1C3F3A !important; }
}

/* ---- open Services row: tint the wrapper, the button itself stays transparent ---- */
.ig-drawer .ig-dsub{ background:transparent; transition:background .25s ease; }
.ig-drawer .ig-dsub.is-open{ background:#EEF5DA; }

/* ---- DRAWER: no CTA button inside the menu ---- */
.ig-drawer-foot, .ig-drawer-cta, .ig-drawer-mail{ display:none !important; }
/* the nav now runs to the bottom of the panel */
.ig-drawer-nav{ padding:8px 0 24px !important; }
.ig-drawer-nav > *:last-child, .ig-drawer .ig-dl:last-child{ border-bottom:none !important; }

/* ---- BANNER: colour glow only, no rings or outlines ---- */
.ig-page-banner::after{ content:none !important; display:none !important; }
.ig-page-banner::before{
  content:"" !important; display:block !important;
  position:absolute; z-index:0; pointer-events:none;
  right:-140px; top:50%; transform:translateY(-50%);
  width:520px; height:520px; border-radius:50%;
  border:none !important; box-shadow:none !important;
  background:radial-gradient(circle, rgba(170,206,69,0.20), transparent 70%);
}
@media (max-width:1024px){
  .ig-page-banner::before{ right:-200px; width:400px; height:400px; }
}
@media (max-width:767px){
  .ig-page-banner::before{ right:-240px; width:330px; height:330px; opacity:.85; }
}

/* ---- SERVICES / ALL SERVICES LIST (mirrors .svc-row2 in services.html) ---- */
.ig-svc2-list, .ig-svc2-list > .e-con-inner{
  display:flex !important; flex-direction:column !important;
  gap:22px !important; padding:0 !important;
}
.ig-svc2-row{
  position:relative !important;
  display:flex !important; flex-direction:row !important; align-items:center !important;
  gap:28px !important;
  background:#FFFFFF !important; border-radius:28px !important;
  padding:34px 38px !important;
  transition:transform .4s cubic-bezier(.22,.8,.32,1), box-shadow .4s cubic-bezier(.22,.8,.32,1);
}
.ig-svc2-row > .e-con-inner{
  display:flex !important; flex-direction:row !important; align-items:center !important;
  gap:28px !important; padding:0 !important; width:100%;
}
.ig-svc2-row:hover{ transform:translateY(-4px); box-shadow:0 24px 60px rgba(18,21,20,0.14); }

/* icon tile */
.ig-svc2-ico{ flex:0 0 64px !important; width:64px !important; padding:0 !important; }
.ig-svc2-ico svg{
  width:64px; height:64px; padding:19px; box-sizing:border-box;
  border-radius:18px; background:#EEF5DA; color:#1C3F3A; display:block;
  transition:background .4s cubic-bezier(.22,.8,.32,1), transform .4s cubic-bezier(.22,.8,.32,1);
}
.ig-svc2-row:hover .ig-svc2-ico svg{ background:#AACE45; transform:scale(1.06) rotate(-4deg); }

/* body */
.ig-svc2-body{ flex:1 1 auto !important; min-width:0 !important; padding:0 !important; gap:0 !important; }
.ig-svc2-body > .e-con-inner{ padding:0 !important; gap:0 !important; align-items:flex-start !important; }
.ig-svc2-name .elementor-heading-title{ margin:0 0 8px 0 !important; }
.ig-svc2-desc .elementor-heading-title{ margin:0 0 16px 0 !important; }

/* chips */
.ig-svc2-chips{ padding:0 !important; width:100% !important; }
.ig-svc2-chips .ig-chips{ display:flex; gap:10px; flex-wrap:wrap; }
.ig-svc2-chips .ig-chips span{
  font-family:'Unbounded',sans-serif; font-size:12px; font-weight:500;
  color:#1C3F3A; background:#EEF5DA; padding:8px 16px; border-radius:100px;
  transition:background .35s ease;
}
.ig-svc2-row:hover .ig-chips span{ background:#DDEBB5; }

/* learn more + arrow */
.ig-svc2-cta{ flex:0 0 auto !important; width:auto !important; padding:0 !important; }
.ig-svc2-cta .elementor-heading-title{ margin:0 !important; white-space:nowrap; }
.ig-svc2-arrow{ flex:0 0 36px !important; width:36px !important; padding:0 !important; }
.ig-svc2-arrow svg{
  width:36px; height:36px; padding:10px; box-sizing:border-box;
  border-radius:50%; background:#EEF5DA; color:#1C3F3A; display:block;
  transition:background .4s cubic-bezier(.22,.8,.32,1), transform .4s cubic-bezier(.22,.8,.32,1);
}
.ig-svc2-row:hover .ig-svc2-arrow svg{ background:#AACE45; transform:translateX(4px); }

/* whole-card link */
.ig-svc2-link{ position:static !important; padding:0 !important; width:0 !important; }
.ig-svc2-link .ig-cardlink{
  position:absolute; inset:0; z-index:2; border-radius:28px;
  display:block; text-indent:-9999px; overflow:hidden;
}
.ig-svc2-link .ig-cardlink:focus-visible{ outline:2px solid #AACE45; outline-offset:3px; }

@media (max-width:860px){
  .ig-svc2-row, .ig-svc2-row > .e-con-inner{
    flex-wrap:wrap !important; align-items:flex-start !important; gap:20px !important;
  }
  .ig-svc2-row{ padding:28px 26px !important; }
  .ig-svc2-cta{ display:none !important; }
  .ig-svc2-arrow{ margin-left:auto !important; }
}
@media (max-width:560px){
  .ig-svc2-chips .ig-chips span{ font-size:11px; padding:6px 12px; }
  .ig-svc2-ico, .ig-svc2-ico svg{ flex-basis:56px !important; width:56px !important; height:56px !important; }
  .ig-svc2-ico svg{ padding:16px; }
}

/* ---- SERVICES / WHY CHOOSE IMIGITAL (mirrors .why-bg in services.html) ---- */
.ig-why-band{
  background-color:#1C3F3A !important;
  background-image:linear-gradient(120deg, #1C3F3A 0%, #16302c 100%) !important;
  color:#FFFFFF; position:relative !important; overflow:hidden !important; isolation:isolate;
}
/* the two lime blooms from the source file */
.ig-why-band::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  width:560px; height:560px; border-radius:50%;
  background:radial-gradient(circle, rgba(170,206,69,0.14), transparent 70%);
  top:-220px; right:-180px;
}
.ig-why-band::after{
  content:""; position:absolute; z-index:0; pointer-events:none;
  width:420px; height:420px; border-radius:50%;
  background:radial-gradient(circle, rgba(170,206,69,0.10), transparent 70%);
  bottom:-200px; left:-160px;
}
.ig-why-band > .e-con-inner, .ig-why-band .ig-wrap{ position:relative; z-index:1; }
.ig-why-band .ig-h2 .elementor-heading-title{ color:#FFFFFF !important; }
.ig-why-band .ig-lead-sm .elementor-heading-title{ color:rgba(255,255,255,0.72) !important; }

/* hairline grid: top+left on the wrapper, right+bottom on each cell */
.ig-reasons-grid, .ig-reasons-grid > .e-con-inner{
  display:grid !important; grid-template-columns:repeat(3,1fr) !important;
  gap:0 !important; padding:0 !important; position:relative;
}
.ig-reasons-grid{
  border-top:1px solid rgba(255,255,255,0.14);
  border-left:1px solid rgba(255,255,255,0.14);
}
.ig-reason-cell{
  padding:38px 34px !important; gap:0 !important; height:100%;
  border-right:1px solid rgba(255,255,255,0.14);
  border-bottom:1px solid rgba(255,255,255,0.14);
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  transition:background .4s cubic-bezier(.22,.8,.32,1);
}
.ig-reason-cell > .e-con-inner{
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  padding:0 !important; gap:0 !important;
}
.ig-reason-cell:hover{ background:rgba(255,255,255,0.05); }

.ig-reason-mark .elementor-heading-title{ margin:0 0 16px 0 !important; }
.ig-reason-title .elementor-heading-title{ margin:0 0 16px 0 !important; }
/* equal line count across all six cells */
.ig-reason-desc .elementor-heading-title{ margin:0 !important; min-height:calc(3 * 1.7em); }

@media (max-width:900px){
  .ig-reasons-grid, .ig-reasons-grid > .e-con-inner{ grid-template-columns:repeat(2,1fr) !important; }
  .ig-reason-desc .elementor-heading-title{ min-height:calc(4 * 1.7em); }
}
@media (max-width:600px){
  .ig-reasons-grid, .ig-reasons-grid > .e-con-inner{ grid-template-columns:1fr !important; }
  .ig-reason-cell{ padding:30px 24px !important; }
  .ig-reason-desc .elementor-heading-title{ min-height:0; }
  .ig-why-band::before{ width:340px; height:340px; top:-150px; right:-130px; }
  .ig-why-band::after{ display:none; }
}

/* ---- WHY BAND: gradient hardening + equal description blocks ---- */
body .ig-section.ig-why-band{
  background-color:#1C3F3A !important;
  background-image:linear-gradient(120deg, #1C3F3A 0%, #16302c 100%) !important;
}
.ig-reason-desc .elementor-heading-title{ min-height:calc(3 * 1.7em) !important; }
@media (max-width:900px){
  .ig-reason-desc .elementor-heading-title{ min-height:calc(4 * 1.7em) !important; }
}
@media (max-width:600px){
  .ig-reason-desc .elementor-heading-title{ min-height:0 !important; }
}

/* ---- SERVICES / FAQ (reuses the shared .ig-faq styles, white background here) ---- */
.ig-faq-js{ padding:0 !important; width:0 !important; height:0 !important; }

/* ---- CTA card: never let Elementor's background lazy-load flatten the gradient ---- */
.ig-cta-card, .ig-page-banner, .ig-why-band, .ig-value-band, .ig-principles{
  --e-con-bg-lazyload:none;
}
.e-con.e-parent:not(.e-lazyloaded) .ig-cta-card{
  background:linear-gradient(120deg,#1C3F3A,#16302c) !important;
}

/* ---- BANNER HEIGHT FLOORS: identical on every page whatever the title length ---- */
/* min-height must clear a three-line H1, otherwise a long title overruns it and the
   banner grows. Desktop already clears it at 393px. */
@media (max-width:1024px){
  .ig-page-banner{ min-height:372px !important; padding:118px 0 46px !important; }
}
@media (max-width:767px){
  /* must clear a three line H1 at 30px, which is the longest current page title */
  .ig-page-banner{ min-height:425px !important; padding:104px 0 40px !important; }
}

/* ---- SECTION SUB-COPY: same box on every page (156ish chars, two lines at 720px) ---- */
.ig-section-head .ig-lead-sm .elementor-heading-title{
  max-width:720px !important; margin-left:auto !important; margin-right:auto !important;
  min-height:calc(2 * 1.75em);
}
@media (max-width:767px){
  .ig-section-head .ig-lead-sm .elementor-heading-title{ min-height:0; }
}

/* ---- CONTACT / DETAILS AND FORM (mirrors .contact-grid in contact.html) ---- */
.ig-contact-grid, .ig-contact-grid > .e-con-inner{
  display:grid !important; grid-template-columns:0.85fr 1.15fr !important;
  gap:56px !important; align-items:start !important; padding:0 !important;
}
@media (max-width:940px){
  .ig-contact-grid, .ig-contact-grid > .e-con-inner{ grid-template-columns:1fr !important; gap:40px !important; }
}
.ig-contact-left{ padding:0 !important; gap:0 !important; }
.ig-contact-left > .e-con-inner{ padding:0 !important; gap:0 !important; align-items:flex-start !important; }
.ig-contact-left .ig-h2 .elementor-heading-title{ margin:0 0 16px 0 !important; text-align:left; }
.ig-contact-lead .elementor-heading-title{ margin:0 !important; max-width:520px; }

/* stacked info cards */
.ig-info-grid, .ig-info-grid > .e-con-inner{
  display:grid !important; grid-template-columns:1fr !important;
  gap:14px !important; padding:0 !important;
}
.ig-info-grid{ margin:36px 0 0 !important; width:100%; }
.ig-info-card{
  background:#FFFFFF !important; border:1px solid #DDEBB5 !important; border-radius:18px !important;
  padding:20px 22px !important; gap:18px !important;
  display:flex !important; flex-direction:row !important; align-items:center !important;
  transition:transform .4s cubic-bezier(.22,.8,.32,1), box-shadow .4s cubic-bezier(.22,.8,.32,1), border-color .4s ease;
}
.ig-info-card > .e-con-inner{
  display:flex !important; flex-direction:row !important; align-items:center !important;
  gap:18px !important; padding:0 !important; width:100%;
}
.ig-info-card:hover{
  transform:translateY(-4px); box-shadow:0 12px 32px rgba(18,21,20,0.10); border-color:#AACE45 !important;
}
.ig-info-ico{ flex:0 0 44px !important; width:44px !important; padding:0 !important; }
.ig-info-ico svg{
  width:44px; height:44px; padding:11px; box-sizing:border-box;
  border-radius:12px; background:#EEF5DA; color:#1C3F3A; display:block;
  transition:background .4s cubic-bezier(.22,.8,.32,1), transform .4s cubic-bezier(.22,.8,.32,1);
}
.ig-info-card:hover .ig-info-ico svg{ background:#AACE45; transform:scale(1.08) rotate(-4deg); }
.ig-info-text{ flex:1 1 auto !important; min-width:0 !important; padding:0 !important; gap:0 !important; }
.ig-info-text > .e-con-inner{ padding:0 !important; gap:0 !important; align-items:flex-start !important; }
.ig-info-label .elementor-heading-title{ text-transform:uppercase; margin:0 0 4px 0 !important; }
.ig-info-value{ padding:0 !important; width:100% !important; }
.ig-info-value p{
  margin:0; font-family:'Rubik',sans-serif; font-size:16px; font-weight:500; color:#000000; line-height:1.5;
}
.ig-info-value a{ color:#000000; text-decoration:none; transition:color .3s ease; }
.ig-info-value a:hover{ color:#4A6B14; }

/* social row, three networks */
.ig-contact-social{ display:flex; gap:8px; margin-top:6px; }
.ig-contact-social a{
  width:32px; height:32px; border-radius:50%;
  background:#EEF5DA; border:1px solid #DDEBB5; color:#1C3F3A;
  display:flex; align-items:center; justify-content:center; flex:none;
  transition:background .3s ease, border-color .3s ease, color .3s ease, transform .3s ease;
}
.ig-contact-social a:hover{
  background:#1C3F3A; border-color:#1C3F3A; color:#FFFFFF; transform:translateY(-3px);
}

/* form card */
.ig-form-card{
  background:#EEF5DA !important; border:1px solid #DDEBB5 !important; border-radius:28px !important;
  padding:44px !important; position:relative !important; overflow:hidden !important;
  gap:0 !important; isolation:isolate;
}
.ig-form-card > .e-con-inner{ padding:0 !important; gap:0 !important; position:relative; z-index:1; }
.ig-form-card::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  width:280px; height:280px; border-radius:50%;
  background:radial-gradient(circle, rgba(170,206,69,0.16), transparent 70%);
  top:-120px; right:-100px;
}
.ig-form-head, .ig-form-head > .e-con-inner{
  display:flex !important; flex-direction:row !important; align-items:flex-start !important;
  gap:16px !important; padding:0 !important;
}
.ig-form-head{ margin-bottom:30px !important; }
.ig-form-head-ico{ flex:0 0 50px !important; width:50px !important; padding:0 !important; }
.ig-form-head-ico svg{
  width:50px; height:50px; padding:13px; box-sizing:border-box;
  border-radius:14px; background:#1C3F3A; color:#AACE45; display:block;
}
.ig-form-head-text{ flex:1 1 auto !important; padding:0 !important; gap:0 !important; }
.ig-form-head-text > .e-con-inner{ padding:0 !important; gap:0 !important; align-items:flex-start !important; }
.ig-form-title .elementor-heading-title{ margin:0 0 6px 0 !important; }
.ig-form-sub .elementor-heading-title{ margin:0 !important; }

/* form fields */
.ig-contact-form{ width:100% !important; padding:0 !important; }
.ig-contact-form .elementor-field-group{ margin-bottom:20px; }
.ig-contact-form .elementor-field-group > label{
  font-family:'Unbounded',sans-serif !important; font-size:12.5px !important; font-weight:500 !important;
  color:#1C3F3A !important; margin-bottom:8px !important; display:block;
}
.ig-contact-form input[type="text"],
.ig-contact-form input[type="email"],
.ig-contact-form input[type="tel"],
.ig-contact-form textarea,
.ig-contact-form select{
  width:100% !important; background:#FFFFFF !important;
  border:1px solid #DDEBB5 !important; border-radius:12px !important;
  padding:13px 16px !important;
  font-family:'Rubik',sans-serif !important; font-size:15px !important; color:#000000 !important;
  transition:border-color .3s ease, box-shadow .3s ease;
}
.ig-contact-form textarea{ resize:vertical; min-height:130px !important; }
.ig-contact-form input:focus,
.ig-contact-form textarea:focus,
.ig-contact-form select:focus{
  border-color:#AACE45 !important; box-shadow:0 0 0 4px rgba(170,206,69,0.18) !important; outline:none !important;
}
.ig-contact-form input::placeholder,
.ig-contact-form textarea::placeholder{ color:#A4B2B0 !important; }

/* submit button, matching the site button language */
.ig-contact-form .elementor-button[type="submit"],
.ig-contact-form button[type="submit"]{
  background:#AACE45 !important; background-image:none !important; color:#1C3F3A !important;
  border:none !important; border-radius:100px !important; box-shadow:none !important;
  padding:14px 32px !important; min-height:50px !important;
  font-family:'Unbounded',sans-serif !important; font-size:18px !important; font-weight:500 !important;
  letter-spacing:normal !important; text-transform:none !important;
  transition:background .3s ease, color .3s ease;
}
.ig-contact-form .elementor-button[type="submit"]:hover,
.ig-contact-form button[type="submit"]:hover{
  background:#1C3F3A !important; color:#FFFFFF !important;
}
.ig-contact-form .elementor-button[type="submit"] svg,
.ig-contact-form .elementor-button-icon{ display:none !important; }

.ig-form-note{ padding:0 !important; }
.ig-form-note .elementor-heading-title{ margin:14px 0 0 0 !important; }

@media (max-width:560px){
  .ig-form-card{ padding:30px 24px !important; }
  .ig-contact-form .elementor-button[type="submit"]{ width:100% !important; }
}

/* ---- CONTACT FORM REFINEMENTS ---- */
/* head no longer carries an icon, so it is a plain block */
.ig-form-head, .ig-form-head > .e-con-inner{
  display:block !important; padding:0 !important;
}
.ig-form-head-text{ width:100% !important; }
.ig-form-title .elementor-heading-title{ margin:0 0 12px 0 !important; }

/* info cards: value in Unbounded 18, label in Rubik 16 */
.ig-info-label .elementor-heading-title{
  text-transform:none !important; letter-spacing:normal !important;
  font-family:'Rubik',sans-serif !important; font-size:16px !important; font-weight:400 !important;
  color:#3A4A47 !important; margin:0 0 2px 0 !important;
}
.ig-info-value p{
  font-family:'Unbounded',sans-serif !important; font-size:18px !important; font-weight:500 !important;
  color:#1C3F3A !important; line-height:1.4 !important; margin:0 !important;
}
.ig-info-value a{ color:#1C3F3A !important; }
.ig-info-value a:hover{ color:#4A6B14 !important; }
.ig-info-card{ padding:18px 22px !important; }

/* required asterisk */
.ig-contact-form .elementor-mark-required .elementor-field-label:after{
  content:"*"; color:#C0392B; margin-left:3px; font-weight:600;
}

/* character counter above the message box */
.ig-charcount{
  display:block; text-align:right; margin:-24px 0 6px 0;
  font-family:'Rubik',sans-serif; font-size:13px; color:#3A4A47;
}
.ig-charcount.is-full{ color:#C0392B; font-weight:500; }

/* country code select matches the text inputs */
.ig-contact-form select{
  appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231C3F3A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important; background-position:right 14px center !important;
  padding-right:38px !important;
}

.ig-form-js{ padding:0 !important; width:0 !important; height:0 !important; }

@media (max-width:560px){
  /* country code and phone stack rather than squeeze */
  .ig-contact-form .elementor-field-group.elementor-col-25{ width:100% !important; }
}

/* ---- MESSAGE FIELD: right aligned counter, breathing room above Submit ---- */
.ig-contact-form .ig-msg-group{ position:relative; padding-bottom:0 !important; }
.ig-charcount{
  display:block; width:100%; text-align:right;
  margin:6px 0 0 0;
  font-family:'Rubik',sans-serif; font-size:13px; color:#3A4A47;
}
.ig-charcount.is-full{ color:#C0392B; font-weight:500; }

/* space between the message block and the submit button */
.ig-contact-form .elementor-field-group.ig-msg-group{ margin-bottom:34px !important; }
.ig-contact-form .elementor-field-type-submit{ margin-top:0 !important; }

/* ---- FORM HEAD: single line sub-copy sitting above the fields ---- */
.ig-form-head{ margin-bottom:34px !important; }
.ig-form-title .elementor-heading-title{ margin:0 0 10px 0 !important; }
/* no nowrap: the copy is short enough to hold one line on its own, so a narrow
   card wraps gracefully instead of overflowing */
.ig-form-sub .elementor-heading-title{ margin:0 !important; max-width:none !important; }

/* ---- DRAWER, iOS HARDENING ---- */
/* the panel now lives on <body>; make sure nothing in the header can ever
   render it, in case a sticky clone briefly holds a copy before the script
   relocates it */
.ig-header .ig-drawer,
.ig-header .ig-drawer-backdrop,
.elementor-sticky--effects .ig-drawer,
.elementor-sticky--effects .ig-drawer-backdrop{
  display:none !important;
}
@media (max-width:1024px){
  body > .ig-drawer{ display:flex !important; }
  body > .ig-drawer-backdrop{ display:block !important; }
  body > .ig-drawer-backdrop[hidden]{ display:none !important; }
}
@media (min-width:1025px){
  body > .ig-drawer, body > .ig-drawer-backdrop, .ig-mob-toggle{ display:none !important; }
}

/* iOS Safari needs an explicit stacking and momentum scrolling context */
body > .ig-drawer{
  -webkit-overflow-scrolling:touch;
  will-change:transform;
  max-height:100dvh;
}
html.ig-drawer-open, html.ig-drawer-open body{ overflow:hidden !important; }
/* the toggle must stay tappable above the sticky header */
.ig-mob-toggle{ position:relative; z-index:10000; }

/* ---- interim intro block used by pages still being built out ---- */
.ig-stub-intro .ig-section-head{ margin-bottom:0 !important; }
.ig-stub-intro .ig-lead-sm .elementor-heading-title{ max-width:720px; margin-inline:auto !important; }

/* ---- CONTACT / BOOK A CALL (mirrors .calendly-bg in contact.html) ---- */
.ig-book-call{
  background-color:#1C3F3A !important; color:#FFFFFF;
  position:relative !important; overflow:hidden !important; isolation:isolate;
}
.ig-book-call::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  width:560px; height:560px; border-radius:50%;
  background:radial-gradient(circle, rgba(170,206,69,0.14), transparent 70%);
  top:-220px; left:-180px;
}
.ig-book-call > .e-con-inner, .ig-book-call .ig-wrap{ position:relative; z-index:1; }
.ig-book-call .ig-h2 .elementor-heading-title{ color:#FFFFFF !important; }
.ig-book-call .ig-lead-sm .elementor-heading-title{ color:rgba(255,255,255,0.72) !important; }

.ig-cal-card{
  background:#FFFFFF !important; border-radius:28px !important;
  overflow:hidden !important; position:relative !important;
  box-shadow:0 24px 60px rgba(18,21,20,0.14) !important;
  padding:0 !important; gap:0 !important; width:100%;
}
.ig-cal-card > .e-con-inner{ padding:0 !important; gap:0 !important; }

.ig-cal-fallback{
  min-height:420px !important;
  display:flex !important; flex-direction:column !important;
  align-items:center !important; justify-content:center !important;
  gap:0 !important; text-align:center !important; padding:56px 40px !important;
  background:
    repeating-linear-gradient(135deg, rgba(28,63,58,0.04) 0 12px, rgba(28,63,58,0.015) 12px 24px),
    linear-gradient(135deg, #EEF5DA, #FFFFFF) !important;
}
.ig-cal-fallback > .e-con-inner{
  display:flex !important; flex-direction:column !important;
  align-items:center !important; justify-content:center !important;
  padding:0 !important; gap:0 !important;
}
.ig-cal-ico{ padding:0 !important; width:auto !important; }
.ig-cal-ico svg{ width:44px; height:44px; color:#1C3F3A; opacity:.55; display:block; }
.ig-cal-title .elementor-heading-title{ margin:18px 0 10px 0 !important; }
.ig-cal-copy .elementor-heading-title{ margin:0 !important; max-width:420px; }

.ig-cal-actions{ padding:0 !important; width:auto !important; }
.ig-cal-btns{ display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin-top:26px; }
.ig-cal-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:13px 28px; border-radius:100px; text-decoration:none;
  font-family:'Unbounded',sans-serif; font-size:16px; font-weight:500;
  transition:background .3s ease, color .3s ease, border-color .3s ease;
}
.ig-cal-btn.primary{ background:#AACE45; color:#1C3F3A; border:1px solid #AACE45; }
.ig-cal-btn.primary:hover{ background:#1C3F3A; color:#FFFFFF; border-color:#1C3F3A; }
.ig-cal-btn.ghost{ background:transparent; color:#1C3F3A; border:1px solid #DDEBB5; }
.ig-cal-btn.ghost:hover{ background:#1C3F3A; color:#FFFFFF; border-color:#1C3F3A; }

.ig-cal-note{ padding:0 !important; width:100% !important; }
.ig-cal-note .elementor-heading-title{ text-align:center; margin:22px 0 0 0 !important; }

@media (max-width:560px){
  .ig-cal-fallback{ min-height:360px !important; padding:44px 24px !important; }
  .ig-cal-btns{ flex-direction:column; width:100%; }
  .ig-cal-btn{ width:100%; }
}

/* ---- CALENDLY EMBED ---- */
.ig-cal-embed{ padding:0 !important; width:100% !important; }
.ig-cal-embed-wrap{ position:relative; width:100%; min-height:680px; }
.calendly-inline-widget{ width:100% !important; min-height:680px; }
.calendly-inline-widget iframe{ border-radius:28px; }

/* fallback sits underneath and is hidden the moment the iframe paints */
.ig-cal-fallback-inline{
  position:absolute; inset:0; z-index:1;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:0; text-align:center; padding:56px 40px; border-radius:28px;
  background:
    repeating-linear-gradient(135deg, rgba(28,63,58,0.04) 0 12px, rgba(28,63,58,0.015) 12px 24px),
    linear-gradient(135deg, #EEF5DA, #FFFFFF);
}
.ig-cal-fallback-inline svg{ width:44px; height:44px; color:#1C3F3A; opacity:.55; }
.ig-cal-fallback-inline h3{
  font-family:'Unbounded',sans-serif; font-size:22px; font-weight:500; color:#1C3F3A;
  margin:18px 0 10px 0;
}
.ig-cal-fallback-inline p{
  font-family:'Rubik',sans-serif; font-size:16px; color:#000000; margin:0; max-width:420px; line-height:1.7;
}
.ig-cal-fallback-inline a{ color:#4A6B14; text-decoration:none; font-weight:500; }
.ig-cal-fallback-inline a:hover{ text-decoration:underline; }

@media (max-width:560px){
  .ig-cal-embed-wrap, .calendly-inline-widget{ min-height:620px; }
  .ig-cal-fallback-inline{ padding:44px 24px; }
}

/* ---- in page anchors clear the fixed header ---- */
html{ scroll-behavior:smooth; }
#contact-form{ scroll-margin-top:110px; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

/* ---- BANNER H1: let long service titles hold one line ---- */
.ig-banner-h1 .elementor-heading-title{
  max-width:none !important;      /* was 820px, which wrapped "Website Design and Development" */
  white-space:nowrap;
}
@media (max-width:1200px){
  .ig-banner-h1 .elementor-heading-title{ white-space:normal; }
}

/* ================= SERVICE DETAIL: WEBSITE DESIGN AND DEVELOPMENT ================= */

/* ---- 2. OVERVIEW ---- */
.ig-ov-grid, .ig-ov-grid > .e-con-inner{
  display:grid !important; grid-template-columns:1.15fr 0.85fr !important;
  gap:60px !important; align-items:start !important; padding:0 !important;
}
@media (max-width:900px){ .ig-ov-grid, .ig-ov-grid > .e-con-inner{ grid-template-columns:1fr !important; gap:40px !important; } }
.ig-ov-text, .ig-ov-text > .e-con-inner{ padding:0 !important; gap:0 !important; align-items:flex-start !important; }
.ig-ov-text .ig-h2 .elementor-heading-title{ text-align:left !important; margin:0 0 16px 0 !important; max-width:none !important; }
.ig-ov-lead .elementor-heading-title{ margin:0 0 18px 0 !important; }
.ig-ov-support .elementor-heading-title{ margin:0 0 22px 0 !important; }
.ig-ov-statwrap{ padding:0 !important; width:100% !important; }
.ig-ov-stats{ display:flex; gap:36px; flex-wrap:wrap; border-top:1px solid #DDEBB5; padding-top:26px; margin-top:6px; }
.ig-ov-stats strong{
  display:block; font-family:'Unbounded',sans-serif; font-size:28px; font-weight:600;
  color:#1C3F3A; line-height:1.1; margin-bottom:4px;
}
.ig-ov-stats span{ font-family:'Rubik',sans-serif; font-size:16px; color:#3A4A47; }

.ig-ov-card{
  background:#1C3F3A !important; border-radius:28px !important;
  padding:38px 34px !important; position:relative !important; overflow:hidden !important;
  gap:0 !important; isolation:isolate;
}
.ig-ov-card > .e-con-inner{ padding:0 !important; gap:0 !important; position:relative; z-index:1; }
.ig-ov-card::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  width:260px; height:260px; border-radius:50%;
  background:radial-gradient(circle, rgba(170,206,69,0.16), transparent 70%); top:-110px; right:-90px;
}
.ig-ov-card-title .elementor-heading-title{ margin:0 0 22px 0 !important; }
.ig-ov-checkwrap{ padding:0 !important; width:100% !important; }
.ig-ov-checks{ display:flex; flex-direction:column; gap:16px; }
.ig-ov-check{ display:flex; gap:14px; align-items:flex-start; transition:transform .3s cubic-bezier(.22,.8,.32,1); }
.ig-ov-check:hover{ transform:translateX(6px); }
.ig-ov-check .oc-tick{
  width:26px; height:26px; border-radius:50%; background:rgba(170,206,69,0.16); color:#AACE45;
  display:flex; align-items:center; justify-content:center; flex:none; margin-top:2px;
}
.ig-ov-check p{ color:rgba(255,255,255,0.82); font-family:'Rubik',sans-serif; font-size:16px; line-height:1.6; margin:0; }

/* ---- 3. WHY THIS MATTERS ---- */
.ig-whyneed-split, .ig-whyneed-split > .e-con-inner{
  display:grid !important; grid-template-columns:1fr 1fr !important;
  gap:50px !important; padding:0 !important; align-items:start !important;
}
@media (max-width:900px){ .ig-whyneed-split, .ig-whyneed-split > .e-con-inner{ grid-template-columns:1fr !important; gap:36px !important; } }
.ig-painwrap{ padding:0 !important; width:100% !important; }
.ig-pain-item{
  display:flex; gap:16px; padding:20px 0; border-bottom:1px solid #DDEBB5;
  transition:padding-left .3s cubic-bezier(.22,.8,.32,1);
}
.ig-pain-item:first-child{ padding-top:0; }
.ig-pain-item:last-child{ border-bottom:none; padding-bottom:0; }
.ig-pain-item:hover{ padding-left:8px; }
.ig-pain-item .mark{ font-family:'Unbounded',sans-serif; font-size:20px; color:#AACE45; flex:none; line-height:1.4; }
.ig-pain-item p{ font-family:'Rubik',sans-serif; font-size:16px; line-height:1.7; color:#000000; margin:0; }
.ig-pain-item strong{ font-weight:500; color:#1C3F3A; }

.ig-stat-stack, .ig-stat-stack > .e-con-inner{
  display:grid !important; grid-template-columns:1fr 1fr !important;
  gap:18px !important; padding:0 !important; align-content:start !important;
}
@media (max-width:520px){ .ig-stat-stack, .ig-stat-stack > .e-con-inner{ grid-template-columns:1fr !important; } }
.ig-stat-card{
  background:#1C3F3A !important; border-radius:18px !important; padding:28px 22px !important;
  gap:0 !important; transition:transform .4s cubic-bezier(.22,.8,.32,1);
}
.ig-stat-card > .e-con-inner{ padding:0 !important; gap:0 !important; align-items:flex-start !important; }
.ig-stat-card:hover{ transform:translateY(-6px); }
.ig-stat-card.is-light{ background:#FFFFFF !important; border:1px solid #DDEBB5 !important; }
.ig-stat-num .elementor-heading-title{ margin:0 0 8px 0 !important; }
.ig-stat-copy .elementor-heading-title{ margin:0 !important; }

/* ---- 4. WEBSITE SOLUTIONS ---- */
.ig-sol-grid, .ig-sol-grid > .e-con-inner{
  display:grid !important; grid-template-columns:repeat(3,1fr) !important;
  gap:22px !important; padding:0 !important; align-items:stretch !important;
}
@media (max-width:960px){ .ig-sol-grid, .ig-sol-grid > .e-con-inner{ grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:600px){ .ig-sol-grid, .ig-sol-grid > .e-con-inner{ grid-template-columns:1fr !important; } }
.ig-sol-card{
  background:#FFFFFF !important; border:1px solid #DDEBB5 !important; border-radius:18px !important;
  padding:30px 26px !important; gap:0 !important; min-height:230px; height:100%;
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  transition:transform .4s cubic-bezier(.22,.8,.32,1), box-shadow .4s cubic-bezier(.22,.8,.32,1), border-color .4s ease;
}
.ig-sol-card > .e-con-inner{
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  padding:0 !important; gap:0 !important; height:100%;
}
.ig-sol-card:hover{ transform:translateY(-8px); box-shadow:0 24px 60px rgba(18,21,20,0.14); border-color:#AACE45 !important; }
.ig-sol-card.is-accent{ background:#1C3F3A !important; border-color:transparent !important; }
.ig-sol-ico{ padding:0 !important; width:auto !important; margin-bottom:auto !important; }
.ig-sol-ico svg{
  width:46px; height:46px; padding:12px; box-sizing:border-box; border-radius:12px;
  background:#EEF5DA; color:#1C3F3A; display:block;
  transition:background .4s cubic-bezier(.22,.8,.32,1), transform .4s cubic-bezier(.22,.8,.32,1);
}
.ig-sol-card.is-accent .ig-sol-ico svg{ background:rgba(255,255,255,0.14); color:#AACE45; }
.ig-sol-card:hover .ig-sol-ico svg{ background:#AACE45; color:#1C3F3A; transform:scale(1.08) rotate(-4deg); }
.ig-sol-title .elementor-heading-title{ margin:26px 0 8px 0 !important; }
.ig-sol-copy .elementor-heading-title{ margin:0 !important; min-height:calc(2 * 1.6em); }

/* ---- 5. SHOWCASE ---- */
.ig-showcase{ padding:0 !important; }
.ig-showcase-img{ padding:0 !important; width:100% !important; }
.ig-showcase-img img{ width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }

/* ---- 6. THE FUNDAMENTALS ---- */
.ig-great{
  background-color:#1C3F3A !important; color:#FFFFFF;
  position:relative !important; overflow:hidden !important; isolation:isolate;
}
.ig-great::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle, rgba(170,206,69,0.14), transparent 70%); bottom:-220px; left:-200px;
}
.ig-great > .e-con-inner, .ig-great .ig-wrap{ position:relative; z-index:1; }
.ig-great .ig-h2 .elementor-heading-title{ color:#FFFFFF !important; }
.ig-great .ig-lead-sm .elementor-heading-title{ color:rgba(255,255,255,0.72) !important; }
.ig-great-grid, .ig-great-grid > .e-con-inner{
  display:grid !important; grid-template-columns:repeat(4,1fr) !important;
  gap:20px !important; padding:0 !important; align-items:stretch !important;
}
@media (max-width:960px){ .ig-great-grid, .ig-great-grid > .e-con-inner{ grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:560px){ .ig-great-grid, .ig-great-grid > .e-con-inner{ grid-template-columns:1fr !important; } }
.ig-great-card{
  background:rgba(255,255,255,0.06) !important; border:1px solid rgba(255,255,255,0.14) !important;
  border-radius:18px !important; padding:26px 22px !important; gap:0 !important;
  position:relative !important; overflow:hidden !important; height:100%;
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  transition:transform .4s cubic-bezier(.22,.8,.32,1), background .4s ease;
}
.ig-great-card > .e-con-inner{
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  padding:0 !important; gap:0 !important;
}
.ig-great-card:hover{ transform:translateY(-8px); background:rgba(255,255,255,0.1) !important; }
.ig-great-num{ position:absolute !important; top:-14px; right:6px; width:auto !important; padding:0 !important; z-index:0; }
.ig-great-num .elementor-heading-title{ margin:0 !important; }
.ig-great-title .elementor-heading-title{ margin:18px 0 8px 0 !important; position:relative; z-index:1; }
.ig-great-copy .elementor-heading-title{ margin:0 !important; position:relative; z-index:1; min-height:calc(2 * 1.6em); }

/* ---- 7. THE PAYOFF ---- */
.ig-ben-grid, .ig-ben-grid > .e-con-inner{
  display:grid !important; grid-template-columns:repeat(3,1fr) !important;
  gap:22px !important; padding:0 !important; align-items:stretch !important;
}
@media (max-width:960px){ .ig-ben-grid, .ig-ben-grid > .e-con-inner{ grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:600px){ .ig-ben-grid, .ig-ben-grid > .e-con-inner{ grid-template-columns:1fr !important; } }
.ig-ben-card{
  background:#EEF5DA !important; border:1px solid #DDEBB5 !important; border-radius:18px !important;
  padding:32px 26px !important; gap:0 !important; height:100%;
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  transition:transform .4s cubic-bezier(.22,.8,.32,1), box-shadow .4s cubic-bezier(.22,.8,.32,1), background .4s ease, border-color .4s ease;
}
.ig-ben-card > .e-con-inner{
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  padding:0 !important; gap:0 !important; height:100%;
}
.ig-ben-card:hover{ transform:translateY(-8px); box-shadow:0 24px 60px rgba(18,21,20,0.14); background:#FFFFFF !important; border-color:transparent !important; }
.ig-ben-ico{ padding:0 !important; width:auto !important; }
.ig-ben-ico svg{
  width:52px; height:52px; padding:14px; box-sizing:border-box; border-radius:14px;
  background:#FFFFFF; color:#1C3F3A; display:block;
  transition:background .4s cubic-bezier(.22,.8,.32,1), transform .4s cubic-bezier(.22,.8,.32,1);
}
.ig-ben-card:hover .ig-ben-ico svg{ background:#AACE45; transform:scale(1.08) rotate(-4deg); }
.ig-ben-title .elementor-heading-title{ margin:22px 0 8px 0 !important; }
.ig-ben-copy .elementor-heading-title{ margin:0 0 20px 0 !important; min-height:calc(2 * 1.6em); }
.ig-ben-tagwrap{ padding:0 !important; width:auto !important; margin-top:auto !important; }
.ig-ben-tag{
  font-family:'Unbounded',sans-serif; font-size:11px; letter-spacing:.05em; text-transform:uppercase;
  color:#1C3F3A; background:#FFFFFF; display:inline-block; padding:6px 14px;
  border-radius:100px; border:1px solid #DDEBB5;
}

/* ---- 8. MID CTA ---- */
.ig-midcta-card{
  background:linear-gradient(120deg,#1C3F3A,#16302c) !important; border-radius:28px !important;
  padding:60px 50px !important; text-align:center !important;
  position:relative !important; overflow:hidden !important; isolation:isolate;
  gap:0 !important; width:100% !important;
  display:flex !important; flex-direction:column !important; align-items:center !important;
}
.ig-midcta-card > .e-con-inner{
  display:flex !important; flex-direction:column !important; align-items:center !important;
  padding:0 !important; gap:0 !important; position:relative; z-index:1; width:100%;
}
.ig-midcta-card::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  width:320px; height:320px; border-radius:50%;
  background:radial-gradient(circle, rgba(170,206,69,0.18), transparent 70%); top:-140px; right:-100px;
}
.ig-midcta-h2 .elementor-heading-title{ color:#FFFFFF !important; margin:0 0 10px 0 !important; max-width:640px; }
.ig-midcta-p .elementor-heading-title{ color:rgba(255,255,255,0.78) !important; margin:0 auto 26px !important; max-width:520px; }
.ig-midcta-btns, .ig-midcta-btns > .e-con-inner{
  display:flex !important; flex-direction:row !important; flex-wrap:wrap !important;
  justify-content:center !important; gap:14px !important; padding:0 !important; width:auto !important;
}
.ig-midcta-card .ig-btn-outline .elementor-button{
  background:transparent !important; background-image:none !important;
  color:#FFFFFF !important; border:1px solid rgba(255,255,255,0.35) !important; box-shadow:none !important;
}
.ig-midcta-card .ig-btn-outline .elementor-button:hover{
  background:#FFFFFF !important; color:#1C3F3A !important; border-color:#FFFFFF !important;
}
@media (max-width:600px){ .ig-midcta-card{ padding:44px 26px !important; } }

/* ---- 9. OUR PROCESS ---- */
.ig-proc{
  background-color:#1C3F3A !important; color:#FFFFFF;
  position:relative !important; overflow:hidden !important; isolation:isolate;
}
.ig-proc::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  width:600px; height:600px; border-radius:50%;
  background:radial-gradient(circle, rgba(170,206,69,0.14), transparent 70%); top:-200px; right:-200px;
}
.ig-proc > .e-con-inner, .ig-proc .ig-wrap{ position:relative; z-index:1; }
.ig-proc .ig-h2 .elementor-heading-title{ color:#FFFFFF !important; }
.ig-proc .ig-lead-sm .elementor-heading-title{ color:rgba(255,255,255,0.72) !important; }
.ig-proc-track{ position:relative !important; padding:0 !important; gap:0 !important; }
.ig-proc-track > .e-con-inner{ position:relative; padding:0 !important; gap:0 !important; }
.ig-proc-linewrap{ padding:0 !important; }
.ig-proc-line{
  position:absolute; top:34px; left:0; right:0; height:2px; z-index:0;
  background:repeating-linear-gradient(90deg, rgba(255,255,255,0.25) 0 10px, transparent 10px 20px);
}
.ig-proc-grid, .ig-proc-grid > .e-con-inner{
  display:grid !important; grid-template-columns:repeat(5,1fr) !important;
  gap:20px !important; padding:0 !important; position:relative; z-index:1; align-items:start !important;
}
@media (max-width:1000px){
  .ig-proc-grid, .ig-proc-grid > .e-con-inner{ grid-template-columns:repeat(2,1fr) !important; }
  .ig-proc-line{ display:none; }
}
@media (max-width:520px){ .ig-proc-grid, .ig-proc-grid > .e-con-inner{ grid-template-columns:1fr !important; } }
.ig-proc-step{ padding:0 !important; gap:0 !important; background:transparent !important; }
.ig-proc-step > .e-con-inner{
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  padding:0 !important; gap:0 !important;
}
.ig-proc-num .elementor-heading-title{
  width:68px; height:68px; border-radius:50%;
  background:#284F49; border:2px solid rgba(170,206,69,0.4); color:#AACE45 !important;
  display:flex; align-items:center; justify-content:center;
  margin:0 0 24px 0 !important; position:relative; z-index:1;
  transition:background .4s cubic-bezier(.22,.8,.32,1), border-color .4s ease, transform .4s cubic-bezier(.22,.8,.32,1), color .4s ease;
}
.ig-proc-step:hover .ig-proc-num .elementor-heading-title{
  background:#AACE45; border-color:#AACE45; color:#1C3F3A !important; transform:scale(1.08) rotate(-4deg);
}
.ig-proc-title .elementor-heading-title{ margin:0 0 8px 0 !important; }
.ig-proc-copy .elementor-heading-title{ margin:0 !important; min-height:calc(3 * 1.6em); }

/* ---- 10. WHY CHOOSE IMIGITAL ---- */
.ig-diff-bento, .ig-diff-bento > .e-con-inner{
  display:grid !important; grid-template-columns:repeat(3,1fr) !important;
  gap:22px !important; padding:0 !important; align-items:stretch !important;
}
@media (max-width:860px){ .ig-diff-bento, .ig-diff-bento > .e-con-inner{ grid-template-columns:1fr !important; } }
.ig-diff-feature{
  grid-column:1/-1 !important;
  background:linear-gradient(120deg,#1C3F3A,#16302c) !important; border-radius:28px !important;
  padding:46px 50px !important; gap:34px !important;
  display:flex !important; flex-direction:row !important; align-items:center !important;
  position:relative !important; overflow:hidden !important; isolation:isolate;
}
.ig-diff-feature > .e-con-inner{
  display:flex !important; flex-direction:row !important; align-items:center !important;
  gap:34px !important; padding:0 !important; position:relative; z-index:1; width:100%;
}
.ig-diff-feature::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  width:340px; height:340px; border-radius:50%;
  background:radial-gradient(circle, rgba(170,206,69,0.2), transparent 70%); top:-140px; right:-100px;
}
.ig-diff-feature-ico{ flex:0 0 68px !important; width:68px !important; padding:0 !important; }
.ig-diff-feature-ico svg{
  width:68px; height:68px; padding:18px; box-sizing:border-box; border-radius:18px;
  background:rgba(170,206,69,0.14); color:#AACE45; display:block;
}
.ig-diff-feature-body{ flex:1 1 auto !important; padding:0 !important; gap:0 !important; }
.ig-diff-feature-body > .e-con-inner{ padding:0 !important; gap:0 !important; align-items:flex-start !important; }
.ig-diff-feature-title .elementor-heading-title{ margin:0 0 10px 0 !important; }
.ig-diff-feature-copy .elementor-heading-title{ margin:0 !important; max-width:620px; }
@media (max-width:860px){
  .ig-diff-feature, .ig-diff-feature > .e-con-inner{
    flex-direction:column !important; text-align:center !important; align-items:center !important; gap:20px !important;
  }
  .ig-diff-feature{ padding:38px 30px !important; }
  .ig-diff-feature-body > .e-con-inner{ align-items:center !important; }
}
.ig-diff-card{
  background:#FFFFFF !important; border:1.5px solid #DDEBB5 !important; border-radius:28px !important;
  padding:32px 28px !important; gap:0 !important; position:relative !important; height:100%;
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  transition:transform .4s cubic-bezier(.22,.8,.32,1), box-shadow .4s cubic-bezier(.22,.8,.32,1), border-color .4s ease;
}
.ig-diff-card > .e-con-inner{
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  padding:0 !important; gap:0 !important;
}
.ig-diff-card:hover{ transform:translateY(-8px); box-shadow:0 24px 60px rgba(18,21,20,0.14); border-color:#AACE45 !important; }
.ig-diff-numwrap{ position:absolute !important; top:24px; right:24px; padding:0 !important; width:auto !important; }
.ig-diff-num{ font-family:'Unbounded',sans-serif; font-size:12px; color:#3A4A47; letter-spacing:.04em; }
.ig-diff-ico{ padding:0 !important; width:auto !important; }
.ig-diff-ico svg{
  width:48px; height:48px; padding:13px; box-sizing:border-box; border-radius:12px;
  background:#EEF5DA; color:#1C3F3A; display:block;
  transition:background .4s cubic-bezier(.22,.8,.32,1), transform .4s cubic-bezier(.22,.8,.32,1);
}
.ig-diff-card:hover .ig-diff-ico svg{ background:#AACE45; transform:scale(1.08) rotate(-4deg); }
.ig-diff-title .elementor-heading-title{ margin:22px 0 8px 0 !important; }
.ig-diff-copy .elementor-heading-title{ margin:0 !important; min-height:calc(2 * 1.6em); }

/* ---- 12. TECHNOLOGIES ---- */
.ig-tech-marquee{ padding:0 !important; width:100% !important; margin-top:0 !important; }
.ig-tech-row:last-child{ margin-bottom:0 !important; }
.ig-tech-row{
  overflow:hidden; margin-bottom:18px;
  -webkit-mask-image:linear-gradient(90deg, transparent, black 8%, black 92%, transparent);
  mask-image:linear-gradient(90deg, transparent, black 8%, black 92%, transparent);
}
.ig-tech-track{ display:flex; gap:18px; width:max-content; }
.ig-tech-track.left{ animation:igTechLeft 26s linear infinite; }
.ig-tech-track.right{ animation:igTechRight 26s linear infinite; }
@keyframes igTechLeft{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
@keyframes igTechRight{ from{transform:translateX(-50%);} to{transform:translateX(0);} }
.ig-tech-pill{
  display:flex; align-items:center; gap:10px; padding:14px 24px; border-radius:100px;
  background:#EEF5DA; border:1px solid #DDEBB5;
  font-family:'Unbounded',sans-serif; font-size:16px; color:#1C3F3A; white-space:nowrap;
  transition:background .3s ease, border-color .3s ease, transform .3s ease;
}
.ig-tech-pill:hover{ background:#AACE45; border-color:#AACE45; transform:translateY(-3px); }
.ig-tech-pill .dot2{ width:8px; height:8px; border-radius:50%; background:#AACE45; flex:none; }
.ig-tech-pill:hover .dot2{ background:#1C3F3A; }
@media (prefers-reduced-motion: reduce){ .ig-tech-track{ animation:none !important; } }

/* ---- 13. GET IN TOUCH ---- */
.ig-quote-card{
  max-width:820px; margin-inline:auto !important;
  display:flex !important; flex-direction:column !important; align-items:stretch !important;
}
.ig-quote-card .ig-h2 .elementor-heading-title{ text-align:center !important; margin:0 0 10px 0 !important; }
.ig-quote-card .ig-form-sub .elementor-heading-title{ text-align:center !important; margin:0 0 30px 0 !important; }
.ig-quote-card .elementor-widget-form{ width:100% !important; }

/* ---- tech marquee: match the 120px bottom the other sections resolve to ---- */
.ig-stack .ig-tech-marquee{ margin-bottom:10px !important; }

/* ========================= CAREERS ========================= */

/* ---- 2. WHY JOIN: stat pills + staggered culture wall ---- */
.ig-hero-statwrap{ padding:0 !important; width:100% !important; margin-bottom:44px; }
.ig-hero-stats{ display:flex; gap:14px; flex-wrap:wrap; justify-content:center; }
.ig-hsp{
  display:flex; align-items:center; gap:12px;
  background:#EEF5DA; border:1px solid #DDEBB5; border-radius:100px; padding:12px 22px 12px 12px;
  transition:background .3s ease, border-color .3s ease, transform .3s ease;
}
.ig-hsp:hover{ background:#DDEBB5; border-color:#AACE45; transform:translateY(-3px); }
.ig-hsp .hsp-ico{
  width:34px; height:34px; border-radius:50%; background:#FFFFFF; color:#1C3F3A;
  display:flex; align-items:center; justify-content:center; flex:none;
}
.ig-hsp .hsp-ico svg{ width:16px; height:16px; }
.ig-hsp strong{ display:block; font-family:'Unbounded',sans-serif; font-size:16px; font-weight:500; color:#1C3F3A; line-height:1.2; }
.ig-hsp span:not(.hsp-ico){ font-family:'Rubik',sans-serif; font-size:16px; color:#3A4A47; }
.ig-hsp > div span{ font-size:14px; }

.ig-cult-wall, .ig-cult-wall > .e-con-inner{
  display:grid !important; grid-template-columns:repeat(4,1fr) !important;
  gap:22px !important; padding:0 !important; align-items:stretch !important;
}
@media (max-width:900px){ .ig-cult-wall, .ig-cult-wall > .e-con-inner{ grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:560px){ .ig-cult-wall, .ig-cult-wall > .e-con-inner{ grid-template-columns:1fr !important; } }
.ig-cult-card{
  background:#FFFFFF !important; border:1px solid #DDEBB5 !important; border-radius:28px !important;
  padding:32px 28px !important; gap:0 !important; height:100%;
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  transition:transform .4s cubic-bezier(.22,.8,.32,1), box-shadow .4s cubic-bezier(.22,.8,.32,1), border-color .4s ease;
}
.ig-cult-card > .e-con-inner{
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  padding:0 !important; gap:0 !important;
}
.ig-cult-card:hover{ transform:translateY(-10px); box-shadow:0 24px 60px rgba(18,21,20,0.14); border-color:#AACE45 !important; }
/* the offset rhythm from the source file */
.ig-cult-wall > .e-con-inner > .ig-cult-card:nth-child(2),
.ig-cult-wall > .e-con-inner > .ig-cult-card:nth-child(4){ transform:translateY(30px); }
.ig-cult-wall > .e-con-inner > .ig-cult-card:nth-child(2):hover,
.ig-cult-wall > .e-con-inner > .ig-cult-card:nth-child(4):hover{ transform:translateY(20px); }
@media (max-width:900px){
  .ig-cult-wall > .e-con-inner > .ig-cult-card:nth-child(2),
  .ig-cult-wall > .e-con-inner > .ig-cult-card:nth-child(4){ transform:none; }
  .ig-cult-wall > .e-con-inner > .ig-cult-card:nth-child(2):hover,
  .ig-cult-wall > .e-con-inner > .ig-cult-card:nth-child(4):hover{ transform:translateY(-10px); }
}
.ig-cult-badge{ padding:0 !important; width:auto !important; }
.ig-cult-badge svg{
  width:52px; height:52px; padding:14px; box-sizing:border-box; border-radius:16px;
  background:#EEF5DA; color:#1C3F3A; display:block;
  transition:background .4s cubic-bezier(.22,.8,.32,1), transform .4s cubic-bezier(.22,.8,.32,1);
}
.ig-cult-card:hover .ig-cult-badge svg{ background:#AACE45; transform:scale(1.08) rotate(-4deg); }
.ig-cult-title .elementor-heading-title{ margin:22px 0 10px 0 !important; }
.ig-cult-copy .elementor-heading-title{ margin:0 !important; min-height:calc(3 * 1.65em); }

/* ---- 3. OPEN POSITIONS ---- */
.ig-positions{
  background-color:#1C3F3A !important; color:#FFFFFF;
  position:relative !important; overflow:hidden !important; isolation:isolate;
}
.ig-positions::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  width:620px; height:620px; border-radius:50%;
  background:radial-gradient(circle, rgba(170,206,69,0.14), transparent 70%); top:-220px; right:-200px;
}
.ig-positions > .e-con-inner, .ig-positions .ig-wrap{ position:relative; z-index:1; }
.ig-positions .ig-h2 .elementor-heading-title{ color:#FFFFFF !important; }
.ig-positions .ig-lead-sm .elementor-heading-title{ color:rgba(255,255,255,0.72) !important; }

.ig-filterwrap{ padding:0 !important; width:100% !important; margin-bottom:26px; }
.ig-dept-filters{ display:flex; gap:10px; flex-wrap:wrap; justify-content:center; }
.ig-dept-btn{
  -webkit-appearance:none; appearance:none;
  font-family:'Unbounded',sans-serif !important; font-size:16px !important; font-weight:500 !important;
  padding:10px 22px !important; border-radius:100px !important;
  border:1px solid rgba(255,255,255,0.22) !important;
  color:rgba(255,255,255,0.78) !important; background:transparent !important; background-image:none !important;
  cursor:pointer; box-shadow:none !important; letter-spacing:normal !important; text-transform:none !important;
  transition:background .3s ease, color .3s ease, border-color .3s ease;
}
.ig-dept-btn.is-active, .ig-dept-btn:hover{
  background:#AACE45 !important; color:#1C3F3A !important; border-color:#AACE45 !important;
}

.ig-jobwrap{ padding:0 !important; width:100% !important; }
.ig-job-list{ display:flex; flex-direction:column; gap:14px; }
.ig-job-item{
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.14);
  border-radius:18px; overflow:hidden; transition:border-color .35s ease, background .35s ease;
}
.ig-job-item:hover{ border-color:rgba(170,206,69,0.4); }
.ig-job-head{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:24px 26px; cursor:pointer; flex-wrap:wrap;
}
.ig-job-left{ display:flex; flex-direction:column; gap:10px; }
.ig-job-head h3{
  font-family:'Unbounded',sans-serif; font-size:18px; font-weight:500; color:#FFFFFF; margin:0; line-height:1.35;
}
.ig-job-tags{ display:flex; gap:8px; flex-wrap:wrap; }
.ig-job-chip{
  font-family:'Unbounded',sans-serif; font-size:11px; letter-spacing:.04em; text-transform:uppercase;
  color:rgba(255,255,255,0.75); background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.14);
  padding:5px 12px; border-radius:100px; display:inline-flex; align-items:center; gap:6px;
}
.ig-job-chip svg{ width:12px; height:12px; flex:none; }
.ig-job-toggle{
  width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,0.08); color:#AACE45;
  display:flex; align-items:center; justify-content:center; flex:none;
  transition:transform .4s cubic-bezier(.22,.8,.32,1), background .3s ease, color .3s ease;
}
.ig-job-item.is-open .ig-job-toggle{ background:#AACE45; color:#1C3F3A; transform:rotate(135deg); }
.ig-job-body{ max-height:0; overflow:hidden; transition:max-height .45s cubic-bezier(.22,.8,.32,1); }
.ig-job-body-inner{
  margin:0 26px; padding:20px 0 28px;
  border-top:1px solid rgba(255,255,255,0.1);
  display:flex; flex-wrap:wrap; gap:24px; align-items:flex-end; justify-content:space-between;
}
.ig-job-body-inner p{
  font-family:'Rubik',sans-serif; font-size:16px; line-height:1.7;
  color:rgba(255,255,255,0.72); margin:0; flex:1 1 420px; max-width:720px;
}
.ig-job-apply{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 26px; border-radius:100px; background:#AACE45; color:#1C3F3A; text-decoration:none;
  font-family:'Unbounded',sans-serif; font-size:16px; font-weight:500; white-space:nowrap; flex:none;
  transition:background .3s ease, color .3s ease;
}
.ig-job-apply:hover{ background:#FFFFFF; color:#1C3F3A; }
.ig-job-js{ padding:0 !important; width:0 !important; height:0 !important; }

/* ---- 4. HIRING PROCESS ---- */
.ig-flow-track, .ig-flow-track > .e-con-inner{
  display:flex !important; flex-direction:row !important; align-items:stretch !important;
  flex-wrap:wrap !important; gap:0 !important; padding:0 !important;
}
.ig-flow-step{
  flex:1 1 180px !important; padding:0 14px !important; gap:0 !important;
  display:flex !important; flex-direction:column !important; align-items:center !important;
  text-align:center !important;
}
.ig-flow-step > .e-con-inner{
  display:flex !important; flex-direction:column !important; align-items:center !important;
  padding:0 !important; gap:0 !important;
}
.ig-flow-chip .elementor-heading-title{
  width:64px; height:64px; border-radius:50%;
  background:#EEF5DA; border:2px solid #DDEBB5; color:#1C3F3A;
  display:flex; align-items:center; justify-content:center; margin:0 0 20px 0 !important;
  transition:background .4s cubic-bezier(.22,.8,.32,1), border-color .3s ease, transform .4s cubic-bezier(.22,.8,.32,1);
}
.ig-flow-step:hover .ig-flow-chip .elementor-heading-title{ background:#AACE45; border-color:#AACE45; transform:scale(1.08); }
.ig-flow-title .elementor-heading-title{ margin:0 0 8px 0 !important; text-align:center; }
.ig-flow-copy .elementor-heading-title{ margin:0 !important; text-align:center; min-height:calc(3 * 1.65em); }
.ig-flow-arrow{ display:flex !important; align-items:flex-start !important; padding:30px 0 0 0 !important; width:auto !important; flex:0 0 auto !important; color:#A4B2B0; }
.ig-flow-arrow svg{ width:22px; height:22px; }
@media (max-width:900px){
  .ig-flow-track, .ig-flow-track > .e-con-inner{ flex-direction:column !important; align-items:stretch !important; }
  .ig-flow-step, .ig-flow-step > .e-con-inner{
    flex-direction:row !important; text-align:left !important; align-items:flex-start !important;
  }
  .ig-flow-step{ padding:22px 0 !important; border-bottom:1px solid #DDEBB5; }
  .ig-flow-step:last-of-type{ border-bottom:none; }
  .ig-flow-chip .elementor-heading-title{ margin:0 20px 0 0 !important; flex:none; }
  .ig-flow-title .elementor-heading-title, .ig-flow-copy .elementor-heading-title{ text-align:left; }
  .ig-flow-copy .elementor-heading-title{ min-height:0; }
  .ig-flow-arrow{ display:none !important; }
}

/* ---- 5. BENEFITS ---- */
.ig-btile-grid, .ig-btile-grid > .e-con-inner{
  display:grid !important; grid-template-columns:repeat(3,1fr) !important;
  gap:20px !important; padding:0 !important; align-items:stretch !important;
}
@media (max-width:900px){ .ig-btile-grid, .ig-btile-grid > .e-con-inner{ grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:560px){ .ig-btile-grid, .ig-btile-grid > .e-con-inner{ grid-template-columns:1fr !important; } }
.ig-btile{
  border-radius:28px !important; padding:32px 28px !important; gap:0 !important; height:100%;
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  transition:transform .4s cubic-bezier(.22,.8,.32,1), box-shadow .4s cubic-bezier(.22,.8,.32,1);
}
.ig-btile > .e-con-inner{
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  padding:0 !important; gap:0 !important;
}
.ig-btile:hover{ transform:translateY(-8px); box-shadow:0 12px 32px rgba(18,21,20,0.12); }
.ig-btile.is-t1{ background:#EEF5DA !important; }
.ig-btile.is-t2{ background:#1C3F3A !important; }
.ig-btile.is-t3{ background:#FFFFFF !important; border:1.5px solid #DDEBB5 !important; }
.ig-bt-ico{ padding:0 !important; width:auto !important; }
.ig-bt-ico svg{ width:50px; height:50px; padding:13px; box-sizing:border-box; border-radius:14px; display:block; }
.ig-btile.is-t1 .ig-bt-ico svg{ background:#FFFFFF; color:#1C3F3A; }
.ig-btile.is-t2 .ig-bt-ico svg{ background:rgba(170,206,69,0.16); color:#AACE45; }
.ig-btile.is-t3 .ig-bt-ico svg{ background:#EEF5DA; color:#1C3F3A; }
.ig-bt-title .elementor-heading-title{ margin:22px 0 8px 0 !important; }
.ig-bt-copy .elementor-heading-title{ margin:0 !important; min-height:calc(2 * 1.65em); }

/* ---- 6. TALENT POOL ---- */
.ig-talent-split, .ig-talent-split > .e-con-inner{
  display:grid !important; grid-template-columns:1fr 1fr !important;
  gap:56px !important; align-items:start !important; padding:0 !important;
}
@media (max-width:940px){ .ig-talent-split, .ig-talent-split > .e-con-inner{ grid-template-columns:1fr !important; gap:40px !important; } }
.ig-talent-copy, .ig-talent-copy > .e-con-inner{ padding:0 !important; gap:0 !important; align-items:flex-start !important; }
.ig-talent-copy .ig-h2 .elementor-heading-title{ text-align:left !important; margin:0 0 16px 0 !important; max-width:none !important; }
.ig-talent-lead .elementor-heading-title{ margin:0 0 28px 0 !important; max-width:520px; }
.ig-talent-pointwrap{ padding:0 !important; width:100% !important; }
.ig-talent-points{ display:flex; flex-direction:column; gap:16px; }
.ig-talent-point{ display:flex; gap:14px; align-items:flex-start; }
.ig-talent-point .tp-tick{
  width:26px; height:26px; border-radius:50%; background:#EEF5DA; color:#1C3F3A;
  display:flex; align-items:center; justify-content:center; flex:none; margin-top:2px;
  transition:background .3s ease;
}
.ig-talent-point:hover .tp-tick{ background:#AACE45; }
.ig-talent-point p{ font-family:'Rubik',sans-serif; font-size:16px; line-height:1.65; color:#000000; margin:0; }

.ig-apply-card{ padding:40px 36px !important; }
.ig-apply-title .elementor-heading-title{ margin:0 0 26px 0 !important; font-size:22px !important; }
.ig-apply-form .elementor-field-group{ margin-bottom:18px; }
@media (max-width:560px){ .ig-apply-card{ padding:30px 24px !important; } }

/* ---- shared: the careers CTA button label is long, keep it on one line ---- */
.ig-cta-btns .elementor-button{ white-space:nowrap; }

/* ========================= CASE STUDIES ========================= */
/* filter tabs */
.ig-cs-tabwrap{ padding:0 !important; width:100% !important; margin-bottom:36px; }
.ig-cs-tabs{ display:flex; gap:10px; flex-wrap:wrap; justify-content:center; }
.ig-cs-tab{
  -webkit-appearance:none; appearance:none; cursor:pointer;
  font-family:'Unbounded',sans-serif !important; font-size:16px !important; font-weight:500 !important;
  padding:11px 24px !important; border-radius:100px !important;
  background:#FFFFFF !important; background-image:none !important;
  border:1px solid #DDEBB5 !important; color:#1C3F3A !important;
  box-shadow:none !important; letter-spacing:normal !important; text-transform:none !important;
  transition:background .3s ease, color .3s ease, border-color .3s ease, transform .3s ease;
}
.ig-cs-tab:hover{ background:#EEF5DA !important; border-color:#AACE45 !important; transform:translateY(-2px); }
.ig-cs-tab.is-active{ background:#AACE45 !important; border-color:#AACE45 !important; color:#1C3F3A !important; }

/* three per row, homepage card treatment */
.ig-cs-grid, .ig-cs-grid > .e-con-inner{
  display:grid !important; grid-template-columns:repeat(3,1fr) !important;
  gap:26px !important; padding:0 !important; align-items:stretch !important;
}
@media (max-width:960px){ .ig-cs-grid, .ig-cs-grid > .e-con-inner{ grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:600px){ .ig-cs-grid, .ig-cs-grid > .e-con-inner{ grid-template-columns:1fr !important; } }

.ig-cs-card{
  position:relative !important; overflow:hidden !important;
  border-radius:18px !important; padding:0 !important; gap:0 !important;
  background:transparent !important; box-shadow:0 4px 16px rgba(0,0,0,0.06) !important;
  transition:box-shadow .4s cubic-bezier(.22,.8,.32,1), transform .4s cubic-bezier(.22,.8,.32,1);
}
.ig-cs-card > .e-con-inner{ padding:0 !important; gap:0 !important; display:block !important; }
.ig-cs-card:hover{ box-shadow:0 24px 60px rgba(0,0,0,0.14) !important; transform:translateY(-4px); }
.ig-cs-card.is-hidden{ display:none !important; }

.ig-cs-img{ width:100%; padding:0 !important; }
.ig-cs-img img{
  width:100%; aspect-ratio:4/3.1; object-fit:cover; display:block;
  transition:transform .6s cubic-bezier(.22,.8,.32,1);
}
.ig-cs-card:hover .ig-cs-img img{ transform:scale(1.05); }

/* title revealed on hover, same gradient as the homepage */
.ig-cs-overlay{
  position:absolute !important; inset:0 !important;
  display:flex !important; flex-direction:column !important;
  justify-content:flex-end !important; align-items:flex-start !important;
  padding:26px !important; gap:0 !important;
  background:linear-gradient(180deg, rgba(28,63,58,0) 0%, rgba(28,63,58,0.55) 45%, rgba(16,34,31,0.94) 100%);
  opacity:0; transition:opacity .4s cubic-bezier(.22,.8,.32,1); pointer-events:none;
}
.ig-cs-overlay > .e-con-inner{
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  gap:0 !important; padding:0 !important; width:100%;
}
.ig-cs-card:hover .ig-cs-overlay,
.ig-cs-card:focus-within .ig-cs-overlay{ opacity:1; }
.ig-cs-title .elementor-heading-title{ margin:0 !important; color:#FFFFFF !important; }

.ig-cs-emptywrap{ padding:0 !important; width:100% !important; }
.ig-cs-empty{
  font-family:'Rubik',sans-serif; font-size:16px; color:#3A4A47;
  text-align:center; margin:40px 0 0 0;
}
.ig-cs-js{ padding:0 !important; width:0 !important; height:0 !important; }

/* ========================= BLOG ========================= */
/* toolbar: live count on the left, category tabs on the right */
.ig-blog-toolwrap{ padding:0 !important; width:100% !important; margin-bottom:36px; }
.ig-blog-toolbar{
  display:flex; align-items:center; justify-content:space-between;
  gap:20px; flex-wrap:wrap;
  padding-bottom:22px; border-bottom:1px solid #DDEBB5;
}
.ig-blog-count{ font-family:'Rubik',sans-serif; font-size:16px; color:#3A4A47; flex:none; }
.ig-blog-count strong{ font-family:'Unbounded',sans-serif; font-weight:600; color:#1C3F3A; }
.ig-blog-tabs{ display:flex; gap:8px; flex-wrap:wrap; }
.ig-blog-tab{
  -webkit-appearance:none; appearance:none; cursor:pointer;
  font-family:'Unbounded',sans-serif !important; font-size:16px !important; font-weight:500 !important;
  padding:9px 18px !important; border-radius:100px !important;
  background:#FFFFFF !important; background-image:none !important;
  border:1px solid #DDEBB5 !important; color:#1C3F3A !important;
  box-shadow:none !important; letter-spacing:normal !important; text-transform:none !important;
  transition:background .3s ease, color .3s ease, border-color .3s ease, transform .3s ease;
}
.ig-blog-tab:hover{ background:#EEF5DA !important; border-color:#AACE45 !important; transform:translateY(-2px); }
.ig-blog-tab.is-active{ background:#AACE45 !important; border-color:#AACE45 !important; }

/* the Elementor Posts cards, restyled to the site card language */
.ig-blog-loop .elementor-posts{ gap:30px !important; }
.ig-blog-loop .elementor-post{
  background:#FFFFFF !important; border:1px solid #DDEBB5 !important;
  border-radius:18px !important; overflow:hidden !important;
  box-shadow:0 4px 16px rgba(0,0,0,0.06);
  transition:transform .4s cubic-bezier(.22,.8,.32,1), box-shadow .4s cubic-bezier(.22,.8,.32,1), border-color .4s ease;
}
.ig-blog-loop .elementor-post:hover{
  transform:translateY(-6px); box-shadow:0 24px 60px rgba(0,0,0,0.14); border-color:#AACE45 !important;
}
.ig-blog-loop .elementor-post__thumbnail__link{ margin:0 !important; }
.ig-blog-loop .elementor-post__thumbnail{ padding-bottom:0 !important; aspect-ratio:4/2.6; }
.ig-blog-loop .elementor-post__thumbnail img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .6s cubic-bezier(.22,.8,.32,1);
}
.ig-blog-loop .elementor-post:hover .elementor-post__thumbnail img{ transform:scale(1.05); }
.ig-blog-loop .elementor-post__text{ padding:26px !important; }

/* category badge */
.ig-blog-loop .elementor-post__badge{
  font-family:'Unbounded',sans-serif !important; font-size:11px !important;
  letter-spacing:.06em; text-transform:uppercase;
  color:#1C3F3A !important; background:#EEF5DA !important;
  padding:6px 14px !important; border-radius:100px !important;
  top:18px !important; left:18px !important; margin:0 !important;
}

.ig-blog-loop .elementor-post__title{
  font-family:'Unbounded',sans-serif !important; font-size:18px !important; font-weight:500 !important;
  line-height:1.4 !important; margin:0 0 10px 0 !important;
}
.ig-blog-loop .elementor-post__title a{ color:#1C3F3A !important; text-decoration:none; transition:color .3s ease; }
.ig-blog-loop .elementor-post:hover .elementor-post__title a{ color:#284F49 !important; }

.ig-blog-loop .elementor-post__excerpt p{
  font-family:'Rubik',sans-serif !important; font-size:16px !important; line-height:1.7 !important;
  color:#000000 !important; margin:0 0 16px 0 !important;
}
.ig-blog-loop .elementor-post__meta-data{
  font-family:'Rubik',sans-serif !important; font-size:14px !important; color:#3A4A47 !important;
  margin:0 0 14px 0 !important; padding:0 !important; border:none !important;
}
.ig-blog-loop .elementor-post__read-more{
  font-family:'Unbounded',sans-serif !important; font-size:16px !important; font-weight:500 !important;
  color:#1C3F3A !important; text-decoration:none !important;
  display:inline-flex; align-items:center;
  padding:10px 22px; border-radius:100px; background:#EEF5DA;
  transition:background .3s ease, color .3s ease;
}
.ig-blog-loop .elementor-post__read-more:hover{ background:#AACE45 !important; color:#1C3F3A !important; }

.ig-blog-emptywrap{ padding:0 !important; width:100% !important; }
.ig-blog-empty{ font-family:'Rubik',sans-serif; font-size:16px; color:#3A4A47; text-align:center; margin:40px 0 0 0; }
.ig-blog-js{ padding:0 !important; width:0 !important; height:0 !important; }

@media (max-width:600px){
  .ig-blog-toolbar{ flex-direction:column; align-items:flex-start; }
}

/* ---- OVERVIEW: stats sit on the card's bottom edge, card copy in white ---- */
/* stretch both columns to the same height, then push the stats row to the
   bottom so it lines up with the card no matter how the copy reflows */
.ig-ov-grid, .ig-ov-grid > .e-con-inner{ align-items:stretch !important; }
.ig-ov-text, .ig-ov-text > .e-con-inner{
  display:flex !important; flex-direction:column !important; height:100%;
}
.ig-ov-statwrap{ margin-top:auto !important; }
.ig-ov-card{ align-self:start !important; }

/* pure white inside the green card */
.ig-ov-check p{ color:#FFFFFF !important; }
.ig-ov-card-title .elementor-heading-title{ color:#FFFFFF !important; }

@media (max-width:900px){
  .ig-ov-grid, .ig-ov-grid > .e-con-inner{ align-items:start !important; }
  .ig-ov-statwrap{ margin-top:6px !important; }
}

/* ---- WHY THIS MATTERS: stat cards grow to match the pain list height ---- */
.ig-whyneed-split, .ig-whyneed-split > .e-con-inner{ align-items:stretch !important; }
.ig-painwrap{ display:flex !important; flex-direction:column !important; }
.ig-pain-list{ display:flex; flex-direction:column; height:100%; }
.ig-stat-stack, .ig-stat-stack > .e-con-inner{
  height:100% !important;
  grid-template-rows:1fr 1fr !important;
  align-content:stretch !important;
}
.ig-stat-card{
  height:100% !important;
  justify-content:center !important;
}
.ig-stat-card > .e-con-inner{ justify-content:center !important; height:100%; }
@media (max-width:900px){
  .ig-whyneed-split, .ig-whyneed-split > .e-con-inner{ align-items:start !important; }
  .ig-stat-stack, .ig-stat-stack > .e-con-inner{ height:auto !important; grid-template-rows:auto auto !important; }
}

/* ---- WDD FIXES ---- */
/* 1. the accent (green) solution cards were losing the hover state because the
      .is-accent rule was declared after the :hover rule at equal specificity */
.ig-sol-card.is-accent:hover .ig-sol-ico svg{
  background:#AACE45 !important; color:#1C3F3A !important;
  transform:scale(1.08) rotate(-4deg) !important;
}

/* 2. the big watermark numbers were clipped by the card's overflow:hidden */
.ig-great-num{ top:10px !important; right:14px !important; }
.ig-great-num .elementor-heading-title{
  font-size:44px !important; line-height:1 !important;
}
@media (max-width:560px){ .ig-great-num .elementor-heading-title{ font-size:40px !important; } }

/* 3. the white band above the mid CTA was 220px; tighten it and keep it equal
      above and below the card */
/* The Payoff above is light and Our Process below is dark, so the visible white
   band is (payoff bottom padding + this section's top padding) above the card and
   only this section's bottom padding below it. Zeroing the top makes both 120. */
.ig-midcta-sec{ padding-top:0 !important; padding-bottom:120px !important; }

/* 5. the feature icon had no hover animation, unlike every other icon */
.ig-diff-feature-ico svg{
  transition:background .4s cubic-bezier(.22,.8,.32,1), color .4s ease, transform .4s cubic-bezier(.22,.8,.32,1);
}
.ig-diff-feature:hover .ig-diff-feature-ico svg{
  background:#AACE45 !important; color:#1C3F3A !important;
  transform:scale(1.08) rotate(-4deg);
}
/* the overview checklist card and the form head icon get the same treatment */
.ig-form-head-ico svg{ transition:background .4s cubic-bezier(.22,.8,.32,1), color .4s ease, transform .4s cubic-bezier(.22,.8,.32,1); }
.ig-form-card:hover .ig-form-head-ico svg{ background:#AACE45 !important; color:#1C3F3A !important; transform:scale(1.08) rotate(-4deg); }

/* ---- QUOTE FORM: full width, breathing room before Submit ---- */
.ig-quote-card{ max-width:none !important; }
.ig-quote-card .elementor-field-group.ig-msg-group{ margin-bottom:34px !important; }
.ig-quote-card .elementor-field-type-submit{ margin-top:0 !important; }
.ig-quote-card .ig-charcount{
  display:block; width:100%; text-align:right; margin:6px 0 0 0;
  font-family:'Rubik',sans-serif; font-size:13px; color:#3A4A47;
}
.ig-quote-card .ig-charcount.is-full{ color:#C0392B; font-weight:500; }

/* ---- SOLUTIONS + FUNDAMENTALS: uniform white cards, aligned titles ---- */
/* every solution card is white now, so the accent variant is retired */
.ig-sol-card.is-accent{ background:#FFFFFF !important; border-color:#DDEBB5 !important; }
.ig-sol-card.is-accent .ig-sol-ico svg{ background:#EEF5DA !important; color:#1C3F3A !important; }

/* reserve two lines for every card title so the copy underneath starts on the
   same baseline whether the title runs to one line or two */
.ig-sol-title .elementor-heading-title,
.ig-great-title .elementor-heading-title{ min-height:0; display:block; }
.ig-great-title .elementor-heading-title{ align-items:flex-start; }

@media (max-width:600px){
  .ig-sol-title .elementor-heading-title,
  .ig-great-title .elementor-heading-title{ min-height:0; display:block; }
}

/* ---- MEGA MENU: two column service list, standard type sizes ---- */
/* panel sits on the container width rather than bleeding full bleed */

/* the panel container IS .ig-mega-grid, so its padding has to live here, not on
   a parent, otherwise the first row sits flush against the panel's top edge */
.ig-mega-grid, .ig-mega-grid > .e-con-inner{
  display:grid !important; grid-template-columns:1fr 1fr !important;
  gap:8px 24px !important; align-items:start !important;
  padding:0 !important; margin-top:0 !important;
}
.ig-mega-grid > .e-con-inner{ padding:0 !important; }
@media (max-width:1024px){
  .ig-mega-grid, .ig-mega-grid > .e-con-inner{ grid-template-columns:1fr !important; }
}

/* each row: icon tile left, title and one line of copy right */
.ig-mega-grid .elementor-widget-icon-box{ padding:0 !important; }
.ig-mega-grid .elementor-icon-box-wrapper{
  display:flex !important; flex-direction:row !important; align-items:flex-start !important;
  gap:16px !important; text-align:left !important;
  padding:12px 14px !important; border-radius:14px !important;
  transition:background .3s ease;
}
.ig-mega-grid .elementor-widget-icon-box:hover .elementor-icon-box-wrapper{ background:#EEF5DA; }
.ig-mega-grid .elementor-icon-box-icon{ margin:0 !important; flex:0 0 44px !important; }
.ig-mega-grid .elementor-icon{
  width:44px !important; height:44px !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  border-radius:12px !important; background:#EEF5DA !important; color:#1C3F3A !important;
  font-size:18px !important;
  transition:background .35s cubic-bezier(.22,.8,.32,1), transform .35s cubic-bezier(.22,.8,.32,1);
}
.ig-mega-grid .elementor-widget-icon-box:hover .elementor-icon{
  background:#AACE45 !important; transform:scale(1.08) rotate(-4deg);
}
.ig-mega-grid .elementor-icon svg{ width:20px !important; height:20px !important; fill:currentColor; }
.ig-mega-grid .elementor-icon-box-content{ flex:1 1 auto !important; min-width:0; }

/* site standard type: 18px Unbounded title, 16px Rubik description */
.ig-mega-grid .elementor-icon-box-title{
  margin:0 0 4px 0 !important;
  font-family:'Unbounded',sans-serif !important;
  font-size:18px !important; font-weight:500 !important; line-height:1.35 !important;
  letter-spacing:-0.01em !important;
  white-space:nowrap !important;      /* every service name stays on one line */
}
.ig-mega-grid .elementor-icon-box-title,
.ig-mega-grid .elementor-icon-box-title a{ color:#1C3F3A !important; }
.ig-mega-grid .elementor-widget-icon-box:hover .elementor-icon-box-title a{ color:#284F49 !important; }
.ig-mega-grid .elementor-icon-box-description{
  margin:0 !important;
  font-family:'Rubik',sans-serif !important;
  font-size:16px !important; font-weight:400 !important; line-height:1.55 !important;
  color:#3A4A47 !important;
}
@media (max-width:1200px){
  .ig-mega-grid .elementor-icon-box-title{ white-space:normal !important; }
}

/* ---- SOLUTION CARDS: tighter icon to title gap, shorter card ---- */
/* the icon was pushed to the top with margin-bottom:auto, which stretched the
   gap to fill the card; a fixed gap keeps it tight and lets the card shrink */
.ig-sol-ico{ margin-bottom:18px !important; }
.ig-sol-card{ min-height:0 !important; padding:26px 24px !important; }
.ig-sol-title .elementor-heading-title{
  margin:0 0 8px 0 !important;
  min-height:0 !important; display:block !important;   /* titles are all one line here */
}
.ig-sol-copy .elementor-heading-title{ min-height:calc(2 * 1.6em); }

/* ---- MEGA MENU: the whole row is the link, not just the title ---- */
.ig-mega-grid .elementor-widget-icon-box{ position:relative !important; }
/* stretch the title's own anchor across the entire item so the icon, the
   description and the padded whitespace all navigate */
.ig-mega-grid .elementor-icon-box-title a::after{
  content:""; position:absolute; inset:0; z-index:2;
  border-radius:14px;
}
.ig-mega-grid .elementor-icon-box-title a:focus-visible::after{
  outline:2px solid #AACE45; outline-offset:2px;
}
/* keep the icon's own anchor from sitting above the stretched one */
.ig-mega-grid .elementor-icon-box-icon a{ position:relative; z-index:1; }
.ig-mega-grid .elementor-icon-box-wrapper{ cursor:pointer; }

/* ---- MEGA MENU PANEL: the white box is the grid's PARENT, so its padding and
        its offset below the header both belong here, not on .ig-mega-grid ---- */
.ig-nav .e-n-menu-content > .e-con{
  max-width:1000px !important;
  margin-inline:auto !important;
  padding:24px 28px !important;
  /* margin-top is set by the align script; no !important here or it would
     outrank the inline value and pin the panel under the header */
}
.ig-nav .e-n-menu-content > .e-con > .e-con-inner{ padding:0 !important; }
.ig-mega-grid, .ig-mega-grid > .e-con-inner{ padding:0 !important; margin-top:0 !important; }

/* ---- MEGA MENU, matched to the source HTML ---- */
.ig-nav .e-n-menu-content > .e-con{
  width:760px !important; max-width:calc(100vw - 40px) !important;
  /* margin auto never centred it because the content box is not the panel's
     offset parent; positioning it explicitly does */
  position:absolute !important;
  left:50% !important; right:auto !important;
  transform:translateX(-50%) !important;
  background:#FFFFFF !important; border:1px solid #DDEBB5 !important;
  border-radius:28px !important; box-shadow:0 24px 60px rgba(18,21,20,0.14) !important;
  padding:28px !important;
}
.ig-nav .e-n-menu-content > .e-con > .e-con-inner{ padding:0 !important; }

.ig-mega-grid, .ig-mega-grid > .e-con-inner{
  display:grid !important; grid-template-columns:1fr 1fr !important;
  gap:6px 22px !important; padding:0 !important; margin:0 0 18px 0 !important;
  align-items:start !important;
}
.ig-mega-grid .elementor-widget-icon-box{ padding:0 !important; position:relative !important; }
.ig-mega-grid .elementor-icon-box-wrapper{
  display:flex !important; flex-direction:row !important; align-items:flex-start !important;
  gap:12px !important; text-align:left !important;
  padding:10px !important; border-radius:12px !important;
  transition:background .25s ease;
}
.ig-mega-grid .elementor-widget-icon-box:hover .elementor-icon-box-wrapper{ background:#EEF5DA; }
.ig-mega-grid .elementor-icon-box-icon{ margin:0 !important; flex:0 0 38px !important; }
.ig-mega-grid .elementor-icon{
  width:38px !important; height:38px !important; border-radius:10px !important;
  background:#EEF5DA !important; color:#1C3F3A !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  font-size:16px !important; transition:background .3s ease;
}
.ig-mega-grid .elementor-widget-icon-box:hover .elementor-icon{ background:#AACE45 !important; }
.ig-mega-grid .elementor-icon svg{ width:18px !important; height:18px !important; fill:currentColor; }
.ig-mega-grid .elementor-icon-box-content{ flex:1 1 auto !important; min-width:0; }
.ig-mega-grid .elementor-icon-box-title{
  margin:0 0 2px 0 !important;
  font-family:'Unbounded',sans-serif !important;
  font-size:13.5px !important; font-weight:500 !important; line-height:1.35 !important;
  letter-spacing:normal !important; white-space:nowrap !important;
}
.ig-mega-grid .elementor-icon-box-title,
.ig-mega-grid .elementor-icon-box-title a{ color:#1C3F3A !important; }
.ig-mega-grid .elementor-icon-box-description{
  margin:0 !important; font-family:'Rubik',sans-serif !important;
  font-size:12.5px !important; line-height:1.4 !important; color:#3A4A47 !important;
}
/* whole row stays clickable */
.ig-mega-grid .elementor-icon-box-title a::after{
  content:""; position:absolute; inset:0; z-index:2; border-radius:12px;
}
.ig-mega-grid .elementor-icon-box-icon a{ position:relative; z-index:1; }

/* footer row */
.ig-mega-footwrap{ padding:0 !important; width:100% !important; }
.ig-mega-foot{
  border-top:1px solid #DDEBB5; padding-top:18px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.ig-mega-foot p{
  font-family:'Rubik',sans-serif; font-size:13px; line-height:1.5;
  color:#000000; margin:0; max-width:520px;
}
.ig-mega-btn{
  display:inline-flex; align-items:center; justify-content:center; flex:none;
  padding:11px 24px; border-radius:100px;
  background:#1C3F3A !important; color:#FFFFFF !important; text-decoration:none !important;
  font-family:'Unbounded',sans-serif; font-size:14px; font-weight:500;
  transition:background .3s ease, color .3s ease;
}
.ig-mega-btn:hover{ background:#AACE45 !important; color:#1C3F3A !important; }

@media (max-width:1024px){
  .ig-nav .e-n-menu-content > .e-con{ width:100% !important; }
  .ig-mega-grid, .ig-mega-grid > .e-con-inner{ grid-template-columns:1fr !important; }
  .ig-mega-grid .elementor-icon-box-title{ white-space:normal !important; }
  .ig-mega-foot{ flex-direction:column; align-items:flex-start; gap:12px; }
}

/* ---- HOME: whole service row links through to its detail page ---- */
.ig-svc-row{ position:relative !important; }
.ig-svc-link{ position:static !important; padding:0 !important; width:0 !important; }
.ig-svc-link .ig-cardlink{
  position:absolute; inset:0; z-index:2; display:block;
  border-radius:18px; text-indent:-9999px; overflow:hidden;
}
.ig-svc-link .ig-cardlink:focus-visible{ outline:2px solid #AACE45; outline-offset:3px; }
.ig-svc-row{ cursor:pointer; }

/* ---- CASE STUDIES: breathing room between the tabs and the grid ---- */
/* the wrapper's margin was being zeroed, so the spacing goes on the tab row */
.ig-cs-tabwrap{ margin-bottom:0 !important; padding:0 0 40px 0 !important; }
.ig-cs-tabs{ margin-bottom:0 !important; }
@media (max-width:600px){
  .ig-cs-tabwrap{ padding-bottom:28px !important; }
}

/* ---- CTA following a light section: equal white above and below the card ---- */
/* Where the preceding section is light, its 120px bottom padding stacks with the
   CTA's own top padding, giving 220px above the card against 100px below it.
   Zeroing the top lets that 120px serve as the gap, and matching the bottom
   keeps the card visually centred in its white band. */
.ig-cases + .ig-cta-sec,
.ig-blogsec + .ig-cta-sec,
.ig-quote-sec + .ig-cta-sec,
.ig-article-sec + .ig-cta-sec{
  padding-top:0 !important;
  padding-bottom:120px !important;
}

/* ---- BLOG CARDS: identical to the homepage insight cards ---- */
/* no avatar, no badge; the classic skin has neither, these are belt and braces */
.ig-blog-loop .elementor-post__avatar,
.ig-blog-loop .elementor-post__badge{ display:none !important; }

.ig-blog-loop .elementor-posts{ gap:26px !important; }
.ig-blog-loop .elementor-post{
  background:#FFFFFF !important; border:1px solid #DDEBB5 !important;
  border-radius:18px !important; overflow:hidden !important; padding:0 !important;
  box-shadow:none !important; display:flex !important; flex-direction:column !important;
  transition:transform .4s cubic-bezier(.22,.8,.32,1), box-shadow .4s cubic-bezier(.22,.8,.32,1), border-color .4s ease;
}
.ig-blog-loop .elementor-post:hover{
  transform:translateY(-8px); box-shadow:0 24px 60px rgba(0,0,0,0.14); border-color:#AACE45 !important;
}
.ig-blog-loop .elementor-post__thumbnail__link{ margin:0 !important; overflow:hidden; width:100%; }
.ig-blog-loop .elementor-post__thumbnail{
  padding-bottom:0 !important; aspect-ratio:16/10; width:100%; height:auto;
}
.ig-blog-loop .elementor-post__thumbnail img{
  position:static !important; width:100% !important; height:100% !important;
  object-fit:cover !important; display:block;
  transform:none; transition:transform .6s cubic-bezier(.22,.8,.32,1);
}
.ig-blog-loop .elementor-post:hover .elementor-post__thumbnail img{ transform:scale(1.06); }

.ig-blog-loop .elementor-post__text{ padding:26px !important; margin:0 !important; flex:1 1 auto; }
.ig-blog-loop .elementor-post__title,
.ig-blog-loop h2.elementor-post__title{
  font-family:'Unbounded',sans-serif !important;
  font-size:18px !important; font-weight:500 !important;
  line-height:1.4 !important; letter-spacing:-0.01em !important;
  margin:0 0 10px 0 !important;
}
.ig-blog-loop .elementor-post__title a{ color:#1C3F3A !important; text-decoration:none !important; font-size:18px !important; }
.ig-blog-loop .elementor-post:hover .elementor-post__title a{ color:#284F49 !important; }
.ig-blog-loop .elementor-post__excerpt p{
  font-family:'Rubik',sans-serif !important; font-size:16px !important; line-height:1.7 !important;
  color:#000000 !important; margin:0 0 18px 0 !important;
}
.ig-blog-loop .elementor-post__meta-data{
  display:flex !important; align-items:center !important; justify-content:space-between !important;
  gap:12px !important; flex-wrap:wrap !important;
  font-family:'Rubik',sans-serif !important; font-size:14px !important; color:#3A4A47 !important;
  margin:0 !important; padding:16px 0 0 0 !important; border-top:1px solid #EEF5DA !important;
}
.ig-blog-loop .elementor-post__read-more{
  font-family:'Unbounded',sans-serif !important; font-size:14px !important; font-weight:500 !important;
  color:#1C3F3A !important; text-decoration:none !important;
  margin:0 !important; padding:0 !important; background:none !important; transition:color .3s ease;
}
.ig-blog-loop .elementor-post:hover .elementor-post__read-more{ color:#4A6B14 !important; }

/* ---- HOME about points: every title on one line ---- */
/* "Transparent Process" measured 229px in a 229px column, so it wrapped by a
   hair. Tightening the grid and icon gaps buys the few pixels it needed. */
.ig-about-points, .ig-about-points > .e-con-inner{ gap:20px 14px !important; }
.ig-about-point, .ig-about-point > .e-con-inner{ gap:10px !important; }
.ig-point-title .elementor-heading-title{
  white-space:nowrap !important;
  letter-spacing:-0.02em !important;
}
@media (max-width:900px){
  .ig-point-title .elementor-heading-title{ white-space:normal !important; }
}

/* ---- Contact FAQ: no button in the side column ---- */
.ig-contact-sec ~ .ig-faq .ig-faq-side .ig-btn-primary{ display:none !important; }
.ig-faq-side .ig-faq-intro .elementor-heading-title{ margin-bottom:0 !important; }

/* ---- CAREERS culture cards: one line titles, aligned copy ---- */
/* "Fast-Moving Projects" needed 232px in a 224px column, so the card gives back
   a little horizontal padding and the title tracks slightly tighter */
.ig-cult-card{ padding:32px 22px !important; }
.ig-cult-title .elementor-heading-title{
  white-space:nowrap !important;
  letter-spacing:-0.02em !important;
  margin:22px 0 10px 0 !important;
}
.ig-cult-copy .elementor-heading-title{ min-height:calc(3 * 1.65em) !important; }
@media (max-width:900px){
  .ig-cult-title .elementor-heading-title{ white-space:normal !important; }
  .ig-cult-copy .elementor-heading-title{ min-height:0 !important; }
}

/* ---- CAREERS: space between the department filters and the job list ---- */
/* the wrapper's margin is stripped by Elementor's container handling, so the
   spacing goes on padding instead, matching the case studies tabs */
.ig-filterwrap{ margin-bottom:0 !important; padding:0 0 40px 0 !important; }
.ig-dept-filters{ margin-bottom:0 !important; }
@media (max-width:600px){
  .ig-filterwrap{ padding-bottom:28px !important; }
}

/* ---- CAREERS hiring process: six steps, three across ---- */
.ig-hp-grid, .ig-hp-grid > .e-con-inner{
  display:grid !important; grid-template-columns:repeat(3,1fr) !important;
  gap:52px 44px !important; padding:0 !important; align-items:start !important;
}
@media (max-width:900px){ .ig-hp-grid, .ig-hp-grid > .e-con-inner{ grid-template-columns:repeat(2,1fr) !important; gap:44px 32px !important; } }
@media (max-width:560px){ .ig-hp-grid, .ig-hp-grid > .e-con-inner{ grid-template-columns:1fr !important; } }

.ig-hp-step{ padding:0 !important; gap:0 !important; background:transparent !important; }
.ig-hp-step > .e-con-inner{
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  padding:0 !important; gap:0 !important;
}

/* number sitting on a soft disc, with a dotted rule running to the right */
.ig-hp-numwrap{ padding:0 !important; width:100% !important; }
.ig-hp-numrow{ display:flex; align-items:center; gap:0; width:100%; }
.ig-hp-num{
  position:relative; flex:none;
  font-family:'Unbounded',sans-serif; font-size:38px; font-weight:700;
  color:#1C3F3A; line-height:1; letter-spacing:-0.02em;
  padding:0 6px 0 0;
}
.ig-hp-num::before{
  content:""; position:absolute; z-index:-1;
  width:54px; height:54px; border-radius:50%;
  background:#EEF5DA;
  left:-12px; top:50%; transform:translateY(-50%);
}
.ig-hp-rule{
  flex:1 1 auto; height:1px; margin-left:14px;
  background-image:linear-gradient(90deg, #AACE45 0 6px, transparent 6px 12px);
  background-size:12px 1px; background-repeat:repeat-x;
  opacity:.75;
}
.ig-hp-title .elementor-heading-title{ margin:22px 0 8px 0 !important; }
.ig-hp-copy .elementor-heading-title{ margin:0 !important; min-height:calc(2 * 1.7em); }

@media (max-width:560px){
  .ig-hp-copy .elementor-heading-title{ min-height:0; }
}

/* ---- CAREERS benefits: uniform white cards with the standard hover ---- */
.ig-btile,
.ig-btile.is-t1, .ig-btile.is-t2, .ig-btile.is-t3{
  background:#FFFFFF !important;
  border:1px solid #DDEBB5 !important;
  border-radius:28px !important;
  box-shadow:none !important;
  transition:transform .4s cubic-bezier(.22,.8,.32,1), box-shadow .4s cubic-bezier(.22,.8,.32,1), border-color .4s ease;
}
.ig-btile:hover{
  transform:translateY(-8px);
  box-shadow:0 24px 60px rgba(18,21,20,0.14) !important;
  border-color:#AACE45 !important;
}
/* icon tile: lime tint at rest, filling lime with the tilt on hover */
.ig-btile .ig-bt-ico svg,
.ig-btile.is-t1 .ig-bt-ico svg,
.ig-btile.is-t2 .ig-bt-ico svg,
.ig-btile.is-t3 .ig-bt-ico svg{
  background:#EEF5DA !important; color:#1C3F3A !important;
  transition:background .4s cubic-bezier(.22,.8,.32,1), transform .4s cubic-bezier(.22,.8,.32,1);
}
.ig-btile:hover .ig-bt-ico svg{
  background:#AACE45 !important; color:#1C3F3A !important;
  transform:scale(1.08) rotate(-4deg);
}
.ig-btile .ig-bt-title .elementor-heading-title{ color:#1C3F3A !important; }
.ig-btile .ig-bt-copy .elementor-heading-title{ color:#000000 !important; }

/* ---- TALENT POOL: copy column centres against the taller form card ---- */
.ig-talent-split, .ig-talent-split > .e-con-inner{ align-items:stretch !important; }
.ig-talent-copy{ height:100% !important; }
.ig-talent-copy > .e-con-inner{
  height:100% !important; display:flex !important; flex-direction:column !important;
  justify-content:center !important; align-items:flex-start !important;
}
.ig-talent-points{ gap:18px !important; }
@media (max-width:940px){
  .ig-talent-copy > .e-con-inner{ justify-content:flex-start !important; }
}

/* application form: counter sits below the box, exactly as on the contact form */
.ig-apply-form .ig-msg-group{ position:relative; padding-bottom:0 !important; margin-bottom:34px !important; }
.ig-apply-form .ig-charcount{
  position:static; display:block; width:100%; text-align:right;
  margin:6px 0 0 0;
  font-family:'Rubik',sans-serif; font-size:13px; color:#3A4A47;
}
.ig-apply-form .ig-charcount.is-full{ color:#C0392B; font-weight:500; }
.ig-apply-form .elementor-field-type-submit{ margin-top:0 !important; }
.ig-apply-form .elementor-field-type-upload input[type="file"]{ font-family:'Rubik',sans-serif; font-size:15px; }

/* ---- scroll reveal for section headings and their sub-copy ---- */
html.ig-reveal-on .ig-rv{ opacity:0; transform:translateY(24px); will-change:opacity, transform; }
html.ig-reveal-on .ig-rv.is-in{
  opacity:1; transform:none;
  transition:opacity .75s cubic-bezier(.22,.8,.32,1), transform .75s cubic-bezier(.22,.8,.32,1);
}
@media (prefers-reduced-motion:reduce){
  html.ig-reveal-on .ig-rv{ opacity:1 !important; transform:none !important; }
}

/* ========================= CAREERS APPLY ========================= */
.ig-apply2-split, .ig-apply2-split > .e-con-inner{
  display:block !important; padding:0 !important;
}
.ig-apply2-card{ width:100% !important; max-width:none !important; }
@media (max-width:960px){
  .ig-apply2-split, .ig-apply2-split > .e-con-inner{ grid-template-columns:1fr !important; gap:32px !important; }
}

/* card head: title over a hairline, no icon */
.ig-apply2-head, .ig-apply2-head > .e-con-inner{
  padding:0 !important; gap:0 !important; align-items:flex-start !important;
}
.ig-apply2-head{
  margin-bottom:32px !important; padding-bottom:26px !important;
  border-bottom:1px solid #DDEBB5 !important; width:100% !important;
}
.ig-apply2-title .elementor-heading-title{ margin:0 0 8px 0 !important; }
.ig-apply2-sub .elementor-heading-title{ margin:0 !important; max-width:none !important; }

/* number input and the file field inherit the shared field look */
.ig-contact-form input[type="number"]{
  width:100% !important; background:#FFFFFF !important;
  border:1px solid #DDEBB5 !important; border-radius:12px !important;
  padding:13px 16px !important;
  font-family:'Rubik',sans-serif !important; font-size:15px !important; color:#000000 !important;
  transition:border-color .3s ease, box-shadow .3s ease;
}
.ig-contact-form input[type="number"]:focus{
  border-color:#AACE45 !important; box-shadow:0 0 0 4px rgba(170,206,69,0.18) !important; outline:none !important;
}

/* select: native arrow replaced with the brand chevron */
.ig-apply2-form select{
  appearance:none; -webkit-appearance:none; -moz-appearance:none;
  padding-right:44px !important; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231C3F3A' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important; background-position:right 16px center !important;
}
.ig-apply2-form .elementor-select-wrapper .select-caret-down-wrapper{ display:none !important; }
.ig-apply2-form select:invalid, .ig-apply2-form select option[value=""]{ color:#A4B2B0 !important; }

/* upload field */
.ig-apply2-form .elementor-field-type-upload input[type="file"]{
  width:100% !important; background:#FFFFFF !important;
  border:1px dashed #DDEBB5 !important; border-radius:12px !important;
  padding:13px 16px !important;
  font-family:'Rubik',sans-serif !important; font-size:15px !important; color:#000000 !important;
  cursor:pointer;
}
.ig-apply2-form .elementor-field-type-upload input[type="file"]:hover{ border-color:#AACE45 !important; }
.ig-apply2-form .ig-file-hint{
  display:block; width:100%; margin:8px 0 0 0;
  font-family:'Rubik',sans-serif; font-size:13px; color:#3A4A47;
}

/* consent checkbox sits beside its sentence, not above it */
.ig-apply2-form .elementor-field-type-acceptance > label{ display:none !important; }
.ig-apply2-form .elementor-field-type-acceptance{ margin-bottom:26px !important; }
.ig-apply2-form .elementor-field-subgroup{ display:block !important; }
.ig-apply2-form .elementor-field-option{
  display:flex !important; align-items:flex-start !important; gap:12px !important;
}
.ig-apply2-form .elementor-field-option input[type="checkbox"]{
  appearance:none; -webkit-appearance:none;
  width:20px !important; height:20px !important; flex:none; margin:2px 0 0 0 !important;
  border:1px solid #DDEBB5 !important; border-radius:6px !important; background:#FFFFFF !important;
  cursor:pointer; transition:background .25s ease, border-color .25s ease;
}
.ig-apply2-form .elementor-field-option input[type="checkbox"]:checked{
  background:#AACE45 !important; border-color:#AACE45 !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231C3F3A' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important; background-position:center !important;
}
.ig-apply2-form .elementor-field-option label{
  font-family:'Rubik',sans-serif !important; font-size:16px !important; font-weight:400 !important;
  line-height:1.65 !important; color:#000000 !important; margin:0 !important; cursor:pointer;
}
.ig-apply2-form .elementor-field-option label a{ color:#1C3F3A !important; text-decoration:underline !important; }
.ig-apply2-form .elementor-field-option label a:hover{ color:#AACE45 !important; }

/* character counter, same treatment as the other two forms */
.ig-apply2-form .ig-msg-group{ position:relative; margin-bottom:34px !important; }
.ig-apply2-form .ig-charcount{
  position:static; display:block; width:100%; text-align:right; margin:6px 0 0 0;
  font-family:'Rubik',sans-serif; font-size:13px; color:#3A4A47;
}
.ig-apply2-form .ig-charcount.is-full{ color:#C0392B; font-weight:500; }
.ig-apply2-form .elementor-field-type-submit{ margin-top:0 !important; }

/* ---- sidebar ---- */
.ig-apply2-side, .ig-apply2-side > .e-con-inner{
  display:flex !important; flex-direction:column !important; gap:20px !important;
  padding:0 !important; align-items:stretch !important;
}
.ig-apply2-side{ position:sticky; top:110px; }
@media (max-width:960px){ .ig-apply2-side{ position:static; } }

.ig-side-card{
  background:#FFFFFF !important; border:1px solid #DDEBB5 !important; border-radius:24px !important;
  padding:30px 28px !important; gap:0 !important; box-shadow:none !important;
  transition:transform .4s cubic-bezier(.22,.8,.32,1), box-shadow .4s cubic-bezier(.22,.8,.32,1), border-color .4s ease;
}
.ig-side-card > .e-con-inner{ padding:0 !important; gap:0 !important; align-items:flex-start !important; }
.ig-side-card:hover{
  transform:translateY(-6px); border-color:#AACE45 !important;
  box-shadow:0 24px 60px rgba(18,21,20,0.12) !important;
}
.ig-side-title .elementor-heading-title{ margin:0 0 16px 0 !important; }
.ig-side-copy .elementor-heading-title{ margin:0 0 18px 0 !important; max-width:none !important; }
.ig-side-listwrap, .ig-side-contactwrap{ padding:0 !important; width:100% !important; }

.ig-side-list{ display:flex; flex-direction:column; gap:14px; margin:0; padding:0; list-style:none; }
.ig-side-list li{
  display:flex; gap:12px; align-items:flex-start; list-style:none;
  font-family:'Rubik',sans-serif; font-size:16px; line-height:1.65; color:#000000;
}
.ig-side-list .sl-num{
  width:26px; height:26px; border-radius:50%; flex:none; margin-top:2px;
  background:#1C3F3A; color:#AACE45;
  font-family:'Unbounded',sans-serif; font-size:12px; font-weight:600;
  display:flex; align-items:center; justify-content:center;
  transition:background .3s ease, color .3s ease;
}
.ig-side-card:hover .sl-num{ background:#AACE45; color:#1C3F3A; }

.ig-side-contact{ display:flex; flex-direction:column; gap:12px; }
.ig-side-contact a{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Rubik',sans-serif; font-size:16px; font-weight:500;
  color:#1C3F3A !important; text-decoration:none !important; transition:color .3s ease;
}
.ig-side-contact a svg{ width:18px; height:18px; flex:none; color:#AACE45; transition:transform .4s cubic-bezier(.22,.8,.32,1); }
.ig-side-contact a:hover{ color:#AACE45 !important; }
.ig-side-contact a:hover svg{ transform:scale(1.12) rotate(-6deg); }

@media (max-width:560px){
  .ig-side-card{ padding:26px 22px !important; }
}

/* ========================= BLOG POST (single) ========================= */
/* a post title has to wrap, unlike the fixed one-line page titles */
.ig-post-banner .ig-banner-h1 .elementor-heading-title{
  white-space:normal !important; max-width:900px !important;
}
.ig-post-banner{ height:auto !important; }
/* two line box: a one line and a two line title give the same banner height */
.ig-post-banner .ig-banner-h1 .elementor-heading-title{
  min-height:calc(2 * 1.15em) !important;
}

/* featured image lifts into the banner, as in the source design */
.ig-post-herowrap{ padding:60px 0 0 0 !important; position:relative; z-index:2; margin-top:0 !important; }
.ig-post-hero{ width:100% !important; padding:0 !important; }
.ig-post-hero img{
  display:block; width:100%; height:auto; aspect-ratio:16/8; object-fit:cover;
  border-radius:28px; border:1px solid #DDEBB5;
  box-shadow:0 30px 80px rgba(18,21,20,0.18);
}
@media (max-width:700px){
  .ig-post-herowrap{ margin-top:0 !important; padding-top:40px !important; }
  .ig-post-hero img{ aspect-ratio:4/3.6; border-radius:20px; }
}

/* ---- article column, 760px as in the source design ---- */
.ig-article-wrap, .ig-article-wrap > .e-con-inner{
  max-width:760px !important; margin-inline:auto !important; padding:0 !important;
  display:flex !important; flex-direction:column !important;
  align-items:stretch !important; gap:0 !important;
}

/* ---- prose ---- */
.ig-prose{ padding:0 !important; }
.ig-prose p{ font-family:'Rubik',sans-serif; font-size:16px; line-height:1.8; color:#000000; margin:0 0 22px 0; }
.ig-prose > *:last-child{ margin-bottom:0 !important; }
.ig-prose h2{
  font-family:'Unbounded',sans-serif; font-size:28px; font-weight:600;
  line-height:1.25; letter-spacing:-0.02em; color:#1C3F3A; margin:44px 0 18px 0;
}
.ig-prose h3{
  font-family:'Unbounded',sans-serif; font-size:19px; font-weight:500;
  line-height:1.35; letter-spacing:-0.01em; color:#1C3F3A; margin:32px 0 14px 0;
}
.ig-prose h2:first-child, .ig-prose h3:first-child{ margin-top:0; }
@media (max-width:767px){ .ig-prose h2{ font-size:24px; } .ig-prose h3{ font-size:18px; } }

.ig-prose ul{ margin:0 0 24px 0; padding:0; display:flex; flex-direction:column; gap:12px; list-style:none; }
.ig-prose ul li{
  position:relative; padding-left:26px; list-style:none;
  font-family:'Rubik',sans-serif; font-size:16px; line-height:1.7; color:#000000;
}
.ig-prose ul li::before{
  content:""; position:absolute; left:0; top:10px;
  width:8px; height:8px; border-radius:2px; background:#AACE45;
}
.ig-prose ol{ margin:0 0 24px 0; padding:0; display:flex; flex-direction:column; gap:12px; list-style:none; counter-reset:igp; }
.ig-prose ol li{
  position:relative; padding-left:30px; list-style:none; counter-increment:igp;
  font-family:'Rubik',sans-serif; font-size:16px; line-height:1.7; color:#000000;
}
.ig-prose ol li::before{
  content:counter(igp) "."; position:absolute; left:0; top:1px;
  font-family:'Unbounded',sans-serif; font-size:14px; font-weight:600; color:#AACE45;
}

.ig-prose blockquote{
  margin:36px 0; padding:26px 28px;
  background:#EEF5DA; border:1px solid #DDEBB5; border-left:3px solid #AACE45; border-radius:20px;
}
.ig-prose blockquote p{
  font-family:'Unbounded',sans-serif; font-weight:500; font-size:19px;
  line-height:1.5; color:#1C3F3A; margin:0;
}
.ig-prose blockquote cite{
  display:block; font-style:normal; font-family:'Rubik',sans-serif;
  font-size:13px; color:#3A4A47; margin-top:14px;
}
.ig-prose img{ max-width:100%; height:auto; border-radius:20px; display:block; }
.ig-prose figure{ margin:36px 0; }
.ig-prose figcaption{
  font-family:'Unbounded',sans-serif; font-size:13px; color:#3A4A47;
  text-align:center; margin-top:12px;
}
.ig-prose a{ color:#1C3F3A !important; text-decoration:underline; }
.ig-prose a:hover{ color:#AACE45 !important; }

/* ---- category pills under the article ---- */
.ig-tags-row{ padding:44px 0 0 0 !important; }
.ig-tags-row .elementor-post-info{
  padding-top:28px !important; border-top:1px solid #DDEBB5;
  display:flex !important; flex-wrap:wrap; gap:10px; margin:0 !important;
}
.ig-tags-row .elementor-icon-list-item{ padding:0 !important; margin:0 !important; }
.ig-tags-row .elementor-icon-list-item::after{ display:none !important; }
.ig-tags-row .elementor-icon-list-icon{ display:none !important; }
.ig-tags-row .elementor-post-info__terms-list{ display:flex; flex-wrap:wrap; gap:10px; }
.ig-tags-row .elementor-post-info__terms-list-item{
  display:inline-block;
  font-family:'Unbounded',sans-serif; font-size:12px; font-weight:500;
  color:#1C3F3A !important; background:#EEF5DA;
  border:1px solid #DDEBB5; border-radius:100px;
  padding:8px 16px; text-decoration:none !important;
  transition:background .3s ease, color .3s ease, border-color .3s ease;
}
.ig-tags-row .elementor-post-info__terms-list-item:hover{
  background:#1C3F3A; color:#FFFFFF !important; border-color:#1C3F3A;
}

/* ---- share row ---- */
.ig-share-wrap{ padding:30px 0 0 0 !important; }
.ig-share-row{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.ig-share-label{
  font-family:'Unbounded',sans-serif; font-size:13px; font-weight:500;
  color:#1C3F3A; margin-right:4px;
}
/* pinned hard: the kit's global button styles otherwise reshape any <button> */
.ig-share-row .ig-share-btn{
  width:38px !important; height:38px !important; min-height:0 !important;
  padding:0 !important; border-radius:50% !important;
  border:1px solid #DDEBB5 !important; background:#FFFFFF !important;
  color:#1C3F3A !important; box-shadow:none !important;
  display:flex !important; align-items:center; justify-content:center;
  cursor:pointer; flex:none;
  transition:background .3s ease, border-color .3s ease, transform .3s ease;
}
.ig-share-row .ig-share-btn svg{ width:15px; height:15px; display:block; }
.ig-share-row .ig-share-btn:hover{
  background:#AACE45 !important; border-color:#AACE45 !important; transform:translateY(-3px);
}
.ig-share-copied{ font-family:'Rubik',sans-serif; font-size:13px; color:#5C8A1E; }

/* ---- related grid reuses the blog loop card treatment ---- */
.ig-related .ig-blog-loop{ padding-top:0 !important; }

/* ---- FOOTER: social row and newsletter ---- */
/* the icons inherited the dark brand green and vanished against the footer */
.ig-footer-social .elementor-social-icon{
  width:38px !important; height:38px !important;
  background:rgba(255,255,255,0.06) !important;
  border:1px solid rgba(255,255,255,0.16) !important;
  border-radius:50% !important;
  color:#FFFFFF !important;
  transition:background .3s ease, border-color .3s ease, color .3s ease, transform .3s ease;
}
.ig-footer-social .elementor-social-icon svg{
  width:15px !important; height:15px !important; fill:currentColor !important;
}
.ig-footer-social .elementor-social-icon:hover{
  background:#AACE45 !important; border-color:#AACE45 !important;
  color:#1C3F3A !important; transform:translateY(-3px);
}

/* newsletter: one pill, the arrow sitting inside it */
.ig-footer-newsletter .elementor-form{
  display:block !important; max-width:none !important;
  border:none !important; border-radius:0 !important;
  background:transparent !important; padding:0 !important;
}

/* validation messages */
.ig-footer-newsletter .elementor-message{
  display:block !important; position:relative;
  margin:10px 0 0 0 !important; padding:0 0 0 20px !important;
  background:transparent !important; border:none !important; border-radius:0 !important;
  font-family:'Rubik',sans-serif !important; font-size:13px !important; line-height:1.55 !important;
}
.ig-footer-newsletter .elementor-message::before{
  position:absolute; left:0; top:0;
  font-family:'Rubik',sans-serif !important; font-size:13px; line-height:1.55;
  width:auto !important; height:auto !important; margin:0 !important;
}
.ig-footer-newsletter .elementor-message-success{ color:#AACE45 !important; }
.ig-footer-newsletter .elementor-message-success::before{ content:"✓" !important; color:#AACE45 !important; }
.ig-footer-newsletter .elementor-message-danger{ color:#FF8B7D !important; }
.ig-footer-newsletter .elementor-message-danger::before{ content:"!" !important; font-weight:600; color:#FF8B7D !important; }
.ig-footer-newsletter .elementor-help-inline{ margin-top:8px !important; }
/* the field error already says it; the generic line just repeats it */
.ig-footer-newsletter .elementor-form:has(.elementor-help-inline) .elementor-message-danger:not(.elementor-help-inline){
  display:none !important;
}
.ig-footer-newsletter .elementor-form-fields-wrapper{
  position:relative !important; width:100% !important; flex:1 1 100% !important; margin:0 !important;
}
.ig-footer-newsletter .elementor-field-group > label{ display:none !important; }
.ig-footer-newsletter .elementor-field-group{
  margin-bottom:0 !important; width:100% !important; max-width:none !important; padding:0 !important;
}
.ig-footer-newsletter input[type="email"]{
  width:100% !important; height:52px !important;
  background:rgba(255,255,255,0.06) !important;
  border:1px solid rgba(255,255,255,0.16) !important;
  border-radius:100px !important;
  padding:0 58px 0 22px !important;
  font-family:'Rubik',sans-serif !important; font-size:15px !important;
  color:#FFFFFF !important; box-shadow:none !important;
  transition:border-color .3s ease;
}
.ig-footer-newsletter input[type="email"]::placeholder{ color:rgba(255,255,255,0.45) !important; }
.ig-footer-newsletter input[type="email"]:focus{
  border-color:#AACE45 !important; outline:none !important; box-shadow:none !important;
}
.ig-footer-newsletter .elementor-field-type-submit{
  position:absolute !important; right:6px !important; top:6px !important;
  width:auto !important; padding:0 !important; margin:0 !important;
}
.ig-footer-newsletter button[type="submit"]{
  width:40px !important; height:40px !important; min-height:0 !important;
  padding:0 !important; margin:0 !important; border-radius:50% !important;
  background:#AACE45 !important; background-image:none !important;
  color:#1C3F3A !important; border:none !important; box-shadow:none !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  transition:background .3s ease, transform .3s ease;
}
.ig-footer-newsletter button[type="submit"] svg{
  width:15px !important; height:15px !important; fill:currentColor !important; display:block !important;
}
.ig-footer-newsletter button[type="submit"]:hover{
  background:#FFFFFF !important; transform:scale(1.06);
}


/* ---- FOOTER type scale: 16px column titles, 14px links so the long service
        names hold one line in a 217px column ---- */
.ig-footer-col-title .elementor-heading-title{
  font-size:16px !important; line-height:1.4 !important;
}
.ig-footer-links .elementor-icon-list-text,
.ig-footer-links .elementor-icon-list-item > a{
  font-size:13px !important; line-height:1.5 !important;
}
.ig-footer-contact .elementor-icon-list-text{ font-size:14px !important; line-height:1.6 !important; }

/* bottom row reads as plain links, lime only on hover */
.ig-footer-bottom-links a,
.ig-footer-bottom-links a .elementor-icon-list-text,
.ig-footer-bottom-links .elementor-icon-list-text{
  color:#FFFFFF !important; font-size:14px !important;
  transition:color .3s ease;
}
.ig-footer-bottom-links a:hover,
.ig-footer-bottom-links a:hover .elementor-icon-list-text{ color:#AACE45 !important; }

/* ---- legal pages ---- */
.ig-legal-sec .ig-prose h2{ font-size:22px !important; margin:38px 0 14px 0 !important; }
.ig-legal-sec .ig-prose h2:first-child{ margin-top:0 !important; }
.ig-legal-updated{
  font-family:'Rubik',sans-serif; font-size:14px; color:#3A4A47;
  margin:0 0 34px 0; padding-bottom:22px; border-bottom:1px solid #DDEBB5;
}

/* ========================= 404 ========================= */
/* the numeral carries the banner on its own, so it runs larger */
.ig-404-h1 .elementor-heading-title{
  font-size:96px !important; line-height:1 !important; letter-spacing:-0.04em !important;
}
@media (max-width:1024px){ .ig-404-h1 .elementor-heading-title{ font-size:82px !important; } }
@media (max-width:767px){ .ig-404-h1 .elementor-heading-title{ font-size:64px !important; } }

.ig-404-sec{ padding-top:60px !important; padding-bottom:90px !important; }
@media (max-width:767px){ .ig-404-sec{ padding-top:44px !important; padding-bottom:70px !important; } }
.ig-404-sec .ig-wrap > .e-con-inner{
  display:flex !important; flex-direction:column !important; align-items:center !important; gap:0 !important;
}
.ig-404-artwrap{ padding:0 !important; width:100% !important; }
.ig-404-art{ max-width:560px; margin:0 auto; }
.ig-404-art svg{ display:block; width:100%; height:auto; }
@media (max-width:767px){ .ig-404-art{ max-width:340px; } }

.ig-404-btn{ padding:40px 0 0 0 !important; width:100% !important; }
.ig-404-btn .elementor-button{
  background:#AACE45 !important; background-image:none !important; color:#1C3F3A !important;
  border:none !important; border-radius:100px !important; box-shadow:none !important;
  padding:14px 32px !important; min-height:50px !important;
  font-family:'Unbounded',sans-serif !important; font-size:18px !important; font-weight:500 !important;
  letter-spacing:normal !important; text-transform:none !important;
  transition:background .3s ease, color .3s ease;
}
.ig-404-btn .elementor-button:hover{ background:#1C3F3A !important; color:#FFFFFF !important; }
.ig-404-btn .elementor-button-icon, .ig-404-btn .elementor-button svg{ display:none !important; }

/* ---- FAQ: breathing room between the sub-copy and the button ---- */
.ig-faq .ig-btn-primary{ padding-top:34px !important; }
@media (max-width:767px){ .ig-faq .ig-btn-primary{ padding-top:26px !important; } }

/* ---- hero H1: lime close, kept on one line so the rag holds ---- */
.ig-h1-accent{ color:#AACE45; white-space:nowrap; }
@media (max-width:420px){ .ig-h1-accent{ white-space:normal; } }

/* ---- no single word left alone on a last line ---- */
.elementor-heading-title,
.ig-prose p, .ig-prose li,
.ig-faq-a p, .ig-testi-card p,
.ig-side-list li, .ig-talent-point p,
.elementor-icon-box-description, .elementor-image-box-description{
  text-wrap: pretty;
}

/* ---- cta button may wrap on small screens rather than overflow ---- */
@media (max-width:480px){
  .ig-cta-btns .elementor-button{
    white-space:normal !important;
    padding-left:24px !important; padding-right:24px !important;
    max-width:100% !important;
  }
}

/* ---- section headings: balance lines so none ends on one word ---- */
.ig-h2 .elementor-heading-title,
.ig-cta-h2 .elementor-heading-title,
.ig-promise-h2 .elementor-heading-title,
.ig-section-head .elementor-heading-title{
  text-wrap: balance;
}


/* ig-blog-media */
.ig-post-herowrap .e-con-inner{ max-width:760px !important; margin-left:auto !important; margin-right:auto !important; }
.ig-post-hero{ max-width:760px !important; margin-left:auto !important; margin-right:auto !important; width:100%; }
.ig-post-hero img{ display:block; width:100%; height:auto; }
.ig-article-sec{ padding-top:48px !important; }
.ig-prose img{ display:block; width:100%; height:auto; margin:28px auto; }
.ig-prose figure{ margin:28px 0; }
.ig-prose figure img{ margin:0; }
.ig-prose figcaption{ font-size:14px; color:#5A5F52; margin-top:10px; text-align:center; }
.ig-prose h2 > img, .ig-prose h3 > img{ margin-top:0; }
@media (max-width:1024px){
  .ig-post-herowrap .e-con-inner{ max-width:100% !important; }
  .ig-post-hero{ max-width:100% !important; }
  .ig-article-sec{ padding-top:36px !important; }
}
/* end ig-blog-media */

/* ig-cal-state */
#book{ scroll-margin-top:104px; }
.ig-cal-embed-wrap{ position:relative; min-height:820px; }
.ig-cal-embed-wrap .calendly-inline-widget{ position:relative; z-index:1; }
.ig-cal-skeleton{
  position:absolute; inset:0; z-index:3; border-radius:18px; pointer-events:none;
  background:linear-gradient(100deg,#EFF3E6 30%,#F9FBF4 50%,#EFF3E6 70%);
  background-size:220% 100%;
  animation:igCalShim 1.5s linear infinite;
  transition:opacity .4s ease;
}
.ig-cal-skeleton.is-done{ opacity:0; }
@keyframes igCalShim{ from{ background-position:170% 0; } to{ background-position:-70% 0; } }
@media (prefers-reduced-motion:reduce){ .ig-cal-skeleton{ animation:none; } }
.ig-cal-fallback-inline[hidden]{ display:none !important; }
.ig-cal-fallback-inline{
  position:absolute; inset:0; z-index:4;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:24px;
}
/* end ig-cal-state */

/* ig-anchor-offsets */
#content, #work{ scroll-margin-top:104px; }
/* end ig-anchor-offsets */

/* ig-a11y-contrast */
.ig-read-time{ color:#5A6663 !important; }
/* end ig-a11y-contrast */

/* ig-a11y-targets */
.ig-testi-dot{
  box-sizing:content-box !important;
  padding:8px !important;
  background-clip:content-box !important;
}
.ig-testi-dots{ gap:0 !important; }
.elementor-icon-list-item > a{
  min-height:24px;
  display:inline-flex;
  align-items:center;
}
/* the arrows are a fixed 44px circle and must never be compressed */
.ig-testi-btn{
  flex:0 0 44px !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  padding:0 !important;
}
@media (max-width:600px){
  .ig-testi-nav{ gap:10px !important; }
  .ig-testi-dots{ flex-wrap:wrap !important; justify-content:center !important; row-gap:2px !important; }
}
/* end ig-a11y-targets */

/* ig-header-vw */
.elementor-location-header .elementor-element-3497e5f{
  width:auto !important;
  left:0 !important;
  right:0 !important;
  max-width:100% !important;
}
/* end ig-header-vw */

/* ig-logo-img */
.ig-logo-wrap .ig-logo-link{ display:inline-block; line-height:0; }
.ig-logo-wrap .ig-logo-img{ display:block; width:auto; height:34px; max-width:100%; }
.ig-drawer-logo .ig-logo-img{ display:block; width:auto; height:30px; }

/* transparent header over the dark banner shows white,
   the stuck white header shows the colour version */
.ig-logo-wrap .ig-logo-dark{ display:none; }
.ig-header.elementor-sticky--effects .ig-logo-wrap .ig-logo-light,
.ig-header.ig-scrolled .ig-logo-wrap .ig-logo-light{ display:none; }
.ig-header.elementor-sticky--effects .ig-logo-wrap .ig-logo-dark,
.ig-header.ig-scrolled .ig-logo-wrap .ig-logo-dark{ display:block; }

@media (max-width:767px){
  .ig-logo-wrap .ig-logo-img{ height:30px; }
}
/* end ig-logo-img */

/* ig-brand-numbers */
/* Careers: pale lime circle, dark green number */
.ig-hp-num{ color:#1C3F3A !important; }
.ig-hp-num::before{ background:#EEF5DA !important; }

/* Home: same treatment */
.ig-why-num{ position:relative; }
.ig-why-num::before{
  content:""; position:absolute; left:50%; top:50%;
  transform:translate(-50%,-50%);
  width:30px; height:30px; border-radius:50%;
  background:#EEF5DA; z-index:0;
}
.ig-why-num .elementor-heading-title{
  color:#1C3F3A !important; position:relative; z-index:1;
  text-align:center;
}
/* end ig-brand-numbers */

/* ig-icon-polish */
.ig-contact-social a svg{ width:14px; height:14px; fill:currentColor; display:block; }
.ig-footer-social .elementor-grid{ justify-content:flex-start !important; }
.ig-footer-social .elementor-widget-container{ text-align:left !important; }
/* end ig-icon-polish */

/* ig-crumb-mobile */
@media (max-width:767px){
  .ig-crumb-wrap{ display:none !important; }
  .ig-page-banner{
    justify-content:center !important;
    padding-top:var(--ig-hdr-visual,88px) !important;
    padding-bottom:0 !important;
  }
  .ig-banner-inner{ align-items:flex-start !important; text-align:left !important; }
  .ig-banner-h1, .ig-banner-lead{ text-align:left !important; }
}
/* end ig-crumb-mobile */

/* ig-ux-tweaks */
/* twelve 24px dots cannot sit on one line on a phone, so the arrows take over */
@media (max-width:767px){
  .ig-testi-dots{ display:none !important; }
  .ig-testi-nav{ justify-content:center !important; gap:20px !important; }
}
/* the whole blog card is the link, not just Read More. one anchor, so the
   card stays a single tab stop and keeps its accessible name */
.ig-insight-card{ position:relative; }
.ig-insight-card .ig-read-more::after{
  content:""; position:absolute; inset:0; z-index:2;
}
.ig-insight-card:hover{ cursor:pointer; }
/* end ig-ux-tweaks */

/* ig-btn-hover */
.ig-job-apply:hover,
.ig-job-apply:focus-visible{ color:#1C3F3A !important; background:#FFFFFF !important; }
.ig-read-more:hover,
.ig-read-more:focus-visible{ color:#1C3F3A !important; }
/* end ig-btn-hover *//* End custom CSS */