.elementor-kit-2994{--e-global-color-primary:#035940;--e-global-color-secondary:#FFFFFF;--e-global-color-text:#5A5A5A;--e-global-color-accent:#2A7D2E;--e-global-color-efe2b8d:#FFFFFF00;--e-global-color-ec672a9:#F3F3F3;--e-global-color-1c3b735:#F2E206;--e-global-color-84ab1ca:#0F0F0F;--e-global-color-dedfa28:#3BDF42;--e-global-typography-primary-font-family:"Plus Jakarta Sans";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Plus Jakarta Sans";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Plus Jakarta Sans";--e-global-typography-text-font-size:1.1rem;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Plus Jakarta Sans";--e-global-typography-accent-font-size:1.15rem;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:capitalize;--e-global-typography-accent-line-height:1.1em;--e-global-typography-945efa9-font-family:"Plus Jakarta Sans";--e-global-typography-945efa9-font-size:4rem;--e-global-typography-945efa9-font-weight:700;--e-global-typography-945efa9-text-transform:capitalize;--e-global-typography-945efa9-line-height:1.1em;--e-global-typography-200c3d5-font-family:"Plus Jakarta Sans";--e-global-typography-200c3d5-font-size:4rem;--e-global-typography-200c3d5-font-weight:400;--e-global-typography-200c3d5-text-transform:capitalize;--e-global-typography-200c3d5-line-height:1.1em;--e-global-typography-8a23ff8-font-family:"Plus Jakarta Sans";--e-global-typography-8a23ff8-font-size:3rem;--e-global-typography-8a23ff8-font-weight:700;--e-global-typography-8a23ff8-text-transform:capitalize;--e-global-typography-8a23ff8-line-height:1.1em;--e-global-typography-66c3ec9-font-family:"Plus Jakarta Sans";--e-global-typography-66c3ec9-font-size:3rem;--e-global-typography-66c3ec9-font-weight:400;--e-global-typography-66c3ec9-text-transform:capitalize;--e-global-typography-66c3ec9-line-height:1.1em;--e-global-typography-b2114cd-font-family:"Plus Jakarta Sans";--e-global-typography-b2114cd-font-size:2rem;--e-global-typography-b2114cd-font-weight:700;--e-global-typography-b2114cd-text-transform:capitalize;--e-global-typography-b2114cd-line-height:1.1em;--e-global-typography-2e17194-font-family:"Plus Jakarta Sans";--e-global-typography-2e17194-font-size:2rem;--e-global-typography-2e17194-font-weight:400;--e-global-typography-2e17194-text-transform:capitalize;--e-global-typography-2e17194-line-height:1.1em;--e-global-typography-061bb9c-font-family:"Plus Jakarta Sans";--e-global-typography-061bb9c-font-size:1.563rem;--e-global-typography-061bb9c-font-weight:700;--e-global-typography-061bb9c-text-transform:capitalize;--e-global-typography-061bb9c-line-height:1.1em;--e-global-typography-4a611e7-font-family:"Plus Jakarta Sans";--e-global-typography-4a611e7-font-size:1.375rem;--e-global-typography-4a611e7-font-weight:700;--e-global-typography-4a611e7-text-transform:capitalize;--e-global-typography-4a611e7-line-height:1.1em;--e-global-typography-1f5f544-font-family:"Plus Jakarta Sans";--e-global-typography-1f5f544-font-size:1.25rem;--e-global-typography-1f5f544-font-weight:600;--e-global-typography-1f5f544-text-transform:capitalize;--e-global-typography-1f5f544-line-height:1.1em;--e-global-typography-408bfc8-font-family:"Plus Jakarta Sans";--e-global-typography-408bfc8-font-size:1.1rem;--e-global-typography-408bfc8-font-weight:600;--e-global-typography-f5582ed-font-family:"Plus Jakarta Sans";--e-global-typography-f5582ed-font-size:18rem;--e-global-typography-f5582ed-font-weight:900;--e-global-typography-f5582ed-text-transform:capitalize;--e-global-typography-f5582ed-line-height:1.1em;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-kit-2994 button,.elementor-kit-2994 input[type="button"],.elementor-kit-2994 input[type="submit"],.elementor-kit-2994 .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );color:var( --e-global-color-secondary );border-radius:25px 25px 25px 25px;padding:15px 30px 15px 30px;}.elementor-kit-2994 e-page-transition{background-color:#FFBC7D;}.elementor-kit-2994 a{color:var( --e-global-color-1c3b735 );}.elementor-kit-2994 a:hover{color:var( --e-global-color-secondary );}.elementor-kit-2994 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-945efa9-font-family ), Sans-serif;font-size:var( --e-global-typography-945efa9-font-size );font-weight:var( --e-global-typography-945efa9-font-weight );text-transform:var( --e-global-typography-945efa9-text-transform );line-height:var( --e-global-typography-945efa9-line-height );}.elementor-kit-2994 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-8a23ff8-font-family ), Sans-serif;font-size:var( --e-global-typography-8a23ff8-font-size );font-weight:var( --e-global-typography-8a23ff8-font-weight );text-transform:var( --e-global-typography-8a23ff8-text-transform );line-height:var( --e-global-typography-8a23ff8-line-height );}.elementor-kit-2994 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-b2114cd-font-family ), Sans-serif;font-size:var( --e-global-typography-b2114cd-font-size );font-weight:var( --e-global-typography-b2114cd-font-weight );text-transform:var( --e-global-typography-b2114cd-text-transform );line-height:var( --e-global-typography-b2114cd-line-height );}.elementor-kit-2994 h4{color:var( --e-global-color-primary );font-family:var( --e-global-typography-061bb9c-font-family ), Sans-serif;font-size:var( --e-global-typography-061bb9c-font-size );font-weight:var( --e-global-typography-061bb9c-font-weight );text-transform:var( --e-global-typography-061bb9c-text-transform );line-height:var( --e-global-typography-061bb9c-line-height );}.elementor-kit-2994 h5{color:var( --e-global-color-primary );font-family:var( --e-global-typography-4a611e7-font-family ), Sans-serif;font-size:var( --e-global-typography-4a611e7-font-size );font-weight:var( --e-global-typography-4a611e7-font-weight );text-transform:var( --e-global-typography-4a611e7-text-transform );line-height:var( --e-global-typography-4a611e7-line-height );}.elementor-kit-2994 h6{color:var( --e-global-color-accent );font-family:var( --e-global-typography-1f5f544-font-family ), Sans-serif;font-size:var( --e-global-typography-1f5f544-font-size );font-weight:var( --e-global-typography-1f5f544-font-weight );text-transform:var( --e-global-typography-1f5f544-text-transform );line-height:var( --e-global-typography-1f5f544-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1340px;}.e-con{--container-max-width:1340px;}.elementor-widget:not(:last-child){margin-block-end: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-2994{--e-global-typography-text-font-size:1rem;--e-global-typography-accent-font-size:1.063rem;--e-global-typography-945efa9-font-size:2.9rem;--e-global-typography-200c3d5-font-size:2.9rem;--e-global-typography-8a23ff8-font-size:2.4rem;--e-global-typography-66c3ec9-font-size:2.4rem;--e-global-typography-b2114cd-font-size:1.5rem;--e-global-typography-2e17194-font-size:1.5rem;--e-global-typography-061bb9c-font-size:1.375rem;--e-global-typography-4a611e7-font-size:1.25rem;--e-global-typography-1f5f544-font-size:1.125rem;--e-global-typography-408bfc8-font-size:1rem;--e-global-typography-f5582ed-font-size:14.5rem;font-size:var( --e-global-typography-text-font-size );}.elementor-kit-2994 h1{font-size:var( --e-global-typography-945efa9-font-size );line-height:var( --e-global-typography-945efa9-line-height );}.elementor-kit-2994 h2{font-size:var( --e-global-typography-8a23ff8-font-size );line-height:var( --e-global-typography-8a23ff8-line-height );}.elementor-kit-2994 h3{font-size:var( --e-global-typography-b2114cd-font-size );line-height:var( --e-global-typography-b2114cd-line-height );}.elementor-kit-2994 h4{font-size:var( --e-global-typography-061bb9c-font-size );line-height:var( --e-global-typography-061bb9c-line-height );}.elementor-kit-2994 h5{font-size:var( --e-global-typography-4a611e7-font-size );line-height:var( --e-global-typography-4a611e7-line-height );}.elementor-kit-2994 h6{font-size:var( --e-global-typography-1f5f544-font-size );line-height:var( --e-global-typography-1f5f544-line-height );}.elementor-kit-2994 button,.elementor-kit-2994 input[type="button"],.elementor-kit-2994 input[type="submit"],.elementor-kit-2994 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:90%;}.e-con{--container-max-width:90%;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}@media(max-width:767px){.elementor-kit-2994{--e-global-typography-text-font-size:0.9rem;--e-global-typography-accent-font-size:0.9rem;--e-global-typography-945efa9-font-size:2rem;--e-global-typography-200c3d5-font-size:2rem;--e-global-typography-8a23ff8-font-size:1.5rem;--e-global-typography-66c3ec9-font-size:1.5rem;--e-global-typography-b2114cd-font-size:1.25rem;--e-global-typography-2e17194-font-size:1.25rem;--e-global-typography-061bb9c-font-size:1.125rem;--e-global-typography-4a611e7-font-size:1rem;--e-global-typography-1f5f544-font-size:0.938rem;--e-global-typography-408bfc8-font-size:0.9rem;--e-global-typography-f5582ed-font-size:9rem;font-size:var( --e-global-typography-text-font-size );}.elementor-kit-2994 h1{font-size:var( --e-global-typography-945efa9-font-size );line-height:var( --e-global-typography-945efa9-line-height );}.elementor-kit-2994 h2{font-size:var( --e-global-typography-8a23ff8-font-size );line-height:var( --e-global-typography-8a23ff8-line-height );}.elementor-kit-2994 h3{font-size:var( --e-global-typography-b2114cd-font-size );line-height:var( --e-global-typography-b2114cd-line-height );}.elementor-kit-2994 h4{font-size:var( --e-global-typography-061bb9c-font-size );line-height:var( --e-global-typography-061bb9c-line-height );}.elementor-kit-2994 h5{font-size:var( --e-global-typography-4a611e7-font-size );line-height:var( --e-global-typography-4a611e7-line-height );}.elementor-kit-2994 h6{font-size:var( --e-global-typography-1f5f544-font-size );line-height:var( --e-global-typography-1f5f544-line-height );}.elementor-kit-2994 button,.elementor-kit-2994 input[type="button"],.elementor-kit-2994 input[type="submit"],.elementor-kit-2994 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:90%;}.e-con{--container-max-width:90%;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}/* Start custom CSS *//* ============================================================
   IMAGE IRRIGATION — Global CSS
   Paste into: WordPress Dashboard → Elementor → Custom CSS
   OR Appearance → Customize → Additional CSS
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,700&family=Syne:wght@400;500;600;700;800&display=swap');

/* ── TOKENS ─────────────────────────────────────────────── */
:root {
  --ii-black:       #0d1208;
  --ii-soil:        #1c2b18;
  --ii-forest:      #2a4a2e;
  --ii-moss:        #3d6b42;
  --ii-sage:        #6b9e6e;
  --ii-fern:        #93c47d;
  --ii-meadow:      #c0ddb8;
  --ii-dew:         #eaf4e6;
  --ii-cream:       #f5f1eb;
  --ii-warm:        #faf7f2;
  --ii-stone:       #ddd8ce;
  --ii-gold:        #c49a3c;
  --ii-gold-light:  #e8c46a;
  --ii-white:       #ffffff;
  --ii-ink:         #141a10;
  --ii-muted:       #5a6854;

  --ii-font-display: 'Playfair Display', Georgia, serif;
  --ii-font-body:    'Syne', sans-serif;

  --ii-r:    8px;
  --ii-r-lg: 16px;
  --ii-r-xl: 24px;

  --ii-shadow-sm:  0 2px 12px rgba(13,18,8,.08);
  --ii-shadow-md:  0 6px 32px rgba(13,18,8,.12);
  --ii-shadow-lg:  0 16px 64px rgba(13,18,8,.18);
  --ii-shadow-xl:  0 32px 96px rgba(13,18,8,.24);

  --ii-transition: .28s cubic-bezier(.4,0,.2,1);
}

/* ── GLOBAL RESETS (scoped safely) ──────────────────────── */
.ii-page *, .ii-page *::before, .ii-page *::after {
  box-sizing: border-box;
}
.ii-page {
  font-family: var(--ii-font-body);
  color: var(--ii-ink);
  background: var(--ii-warm);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
.ii-page a { text-decoration: none; color: inherit; }
.ii-page ul { list-style: none; margin: 0; padding: 0; }
.ii-page img { display: block; max-width: 100%; }
.ii-page p { margin: 0; }
.ii-page h1, .ii-page h2, .ii-page h3,
.ii-page h4, .ii-page h5 { margin: 0; }
.ii-page button { font-family: var(--ii-font-body); cursor: pointer; border: none; background: none; }



/* ── HERO ────────────────────────────────────────────────── */
.ii-hero {
  position: relative;
  min-height: 92vh;
  display: grid;
  grid-template-columns: 52% 48%;
  overflow: hidden;
}
.ii-hero-left {
  position: relative;
  background: var(--ii-soil);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 6rem 5vw 6rem 6vw;
  overflow: hidden;
  z-index: 2;
}
/* diagonal clip on right edge */
.ii-hero-left::after {
  content: '';
  position: absolute;
  top: 0; right: -80px; bottom: 0;
  width: 160px;
  background: var(--ii-soil);
  clip-path: polygon(0 0, 50% 0, 100% 50%, 50% 100%, 0 100%);
  z-index: 3;
}
/* abstract background circle */
.ii-hero-left::before {
  content: '';
  position: absolute;
  top: -200px; right: -200px;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(93,156,98,.12) 0%, transparent 65%);
  pointer-events: none;
}
.ii-hero-right {
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.ii-hero-right img,
.ii-hero-img-placeholder {
  width: 100%; height: 100%;
  object-fit: cover;
}
.ii-hero-img-placeholder {
  background: linear-gradient(160deg, #4a7c4e 0%, #2a4a2e 50%, #1c2b18 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: rgba(255,255,255,.4);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.ii-hero-img-placeholder svg { opacity: .3; }
/* dark overlay gradient on photo */
.ii-hero-right::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(28,43,24,.5) 0%, transparent 50%);
  pointer-events: none;
  z-index: 2;
}
/* floating badge */
.ii-hero-badge {
  position: absolute;
  bottom: 3rem;
  right: 3rem;
  z-index: 10;
  background: rgba(255,255,255,.95);
  border-radius: var(--ii-r-lg);
  padding: 1.1rem 1.4rem;
  box-shadow: var(--ii-shadow-lg);
  display: flex;
  align-items: center;
  gap: .75rem;
  backdrop-filter: blur(8px);
}
.ii-hero-badge-icon {
  width: 44px; height: 44px;
  background: var(--ii-dew);
  border-radius: 10px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.ii-hero-badge-icon svg { width: 22px; height: 22px; }
.ii-hero-badge-text strong {
  display: block;
  font-size: .85rem;
  font-weight: 700;
  color: var(--ii-soil);
}
.ii-hero-badge-text span {
  font-size: .72rem;
  color: var(--ii-muted);
  font-weight: 500;
}
/* hero text content */
.ii-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(147,196,125,.15);
  border: 1px solid rgba(147,196,125,.25);
  color: var(--ii-fern);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  padding: .38rem .9rem;
  border-radius: 100px;
  width: fit-content;
  margin-bottom: 1.6rem;
  animation: ii-fade-up .7s ease both;
}
.ii-hero-h1 {
  font-family: var(--ii-font-display);
  font-size: clamp(2.8rem, 4.5vw, 4.2rem);
  font-weight: 900;
  color: var(--ii-white);
  line-height: 1.05;
  letter-spacing: -.02em;
  margin-bottom: 1.5rem;
  animation: ii-fade-up .7s .1s ease both;
}
.ii-hero-h1 em {
  font-style: italic;
  color: var(--ii-fern);
}
.ii-hero-sub {
  font-size: 1.05rem;
  font-weight: 400;
  color: rgba(255,255,255,.72);
  line-height: 1.8;
  max-width: 440px;
  margin-bottom: 2.5rem;
  animation: ii-fade-up .7s .2s ease both;
}
.ii-hero-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 3rem;
  animation: ii-fade-up .7s .3s ease both;
}
.ii-btn-primary {
  background: var(--ii-fern);
  color: var(--ii-soil) !important;
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .03em;
  padding: .9rem 1.8rem;
  border-radius: var(--ii-r);
  transition: background var(--ii-transition), transform var(--ii-transition), box-shadow var(--ii-transition);
  box-shadow: 0 6px 24px rgba(93,156,98,.35);
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}
.ii-btn-primary:hover {
  background: var(--ii-meadow);
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(93,156,98,.4);
}
.ii-btn-call {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.85) !important;
  font-size: .9rem;
  font-weight: 600;
  letter-spacing: .03em;
  padding: .9rem 1.4rem;
  border-radius: var(--ii-r);
  border: 1.5px solid rgba(255,255,255,.25);
  transition: border-color var(--ii-transition), color var(--ii-transition), background var(--ii-transition);
  white-space: nowrap;
}
.ii-btn-call:hover {
  border-color: rgba(255,255,255,.6);
  color: white !important;
  background: rgba(255,255,255,.07);
}
.ii-hero-stats {
  display: flex;
  gap: 2.5rem;
  flex-wrap: wrap;
  padding-top: 2.5rem;
  border-top: 1px solid rgba(255,255,255,.1);
  animation: ii-fade-up .7s .4s ease both;
}
.ii-stat strong {
  display: block;
  font-family: var(--ii-font-display);
  font-size: 2.2rem;
  font-weight: 700;
  color: white;
  line-height: 1;
}
.ii-stat span {
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.45);
  margin-top: 4px;
  display: block;
}

/* ── TICKER STRIP ────────────────────────────────────────── */
.ii-ticker {
  background: var(--ii-forest);
  overflow: hidden;
  padding: .85rem 0;
  position: relative;
}
.ii-ticker-track {
  display: flex;
  gap: 0;
  white-space: nowrap;
  animation: ii-ticker 28s linear infinite;
  width: max-content;
}
.ii-ticker-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,.8);
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 0 2.5rem;
}
.ii-ticker-item::after {
  content: '✦';
  color: var(--ii-fern);
  font-size: .6rem;
  margin-left: 2.5rem;
}
@keyframes ii-ticker {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
/* ── HERO CONTENT CONSTRAINT ─────────────────────────────── */
.ii-hero-left {
  padding: 6rem 4vw 6rem max(3vw, calc((100vw - 1280px) / 2 + 3vw));
}
/* ── SECTION BASE ────────────────────────────────────────── */
.ii-section {
  padding: 6rem 5vw;
}
.ii-section-inner {
  max-width: 1240px;
  margin: 0 auto;
}
.ii-label {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--ii-sage);
  margin-bottom: .6rem;
  display: block;
}
.ii-h2 {
  font-family: var(--ii-font-display);
  font-size: clamp(2rem, 3.5vw, 2.9rem);
  font-weight: 700;
  color: var(--ii-soil);
  line-height: 1.12;
  letter-spacing: -.02em;
}
.ii-h2 em {
  font-style: italic;
  color: var(--ii-moss);
}
.ii-body-text {
  font-size: .97rem;
  color: var(--ii-muted);
  line-height: 1.8;
  max-width: 580px;
}

/* ── SERVICES ────────────────────────────────────────────── */
.ii-services-bg { background: var(--ii-warm); }
.ii-services-head {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 2rem;
  margin-bottom: 3.5rem;
}
.ii-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
/* big featured card spans 2 cols */
.ii-services-grid .ii-card-featured {
  grid-column: span 2;
}
.ii-card {
  background: var(--ii-white);
  border-radius: var(--ii-r-xl);
  overflow: hidden;
  border: 1px solid var(--ii-stone);
  transition: transform var(--ii-transition), box-shadow var(--ii-transition);
  display: flex;
  flex-direction: column;
}
.ii-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--ii-shadow-xl);
  border-color: transparent;
}
.ii-card-img {
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}
.ii-card-img-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: rgba(255,255,255,.45);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ii-card-img-placeholder svg { opacity: .35; }
.ii-card .ii-card-img { height: 220px; }
.ii-card-featured .ii-card-img { height: 300px; }
/* color gradients per card */
.ii-card-img.c1 { background: linear-gradient(145deg,#b0d4ac,#3d6b42); }
.ii-card-img.c2 { background: linear-gradient(145deg,#8db38b,#2a4a2e); }
.ii-card-img.c3 { background: linear-gradient(145deg,#c0ddb8,#4a7c4e); }
.ii-card-img.c4 { background: linear-gradient(145deg,#93c47d,#3d6b42); }
.ii-card-img.c5 { background: linear-gradient(145deg,#a8cca6,#2a4a2e); }
.ii-card-img.c6 { background: linear-gradient(145deg,#b5d5b0,#1c2b18); }
.ii-card-tag {
  position: absolute;
  top: 1rem; left: 1rem;
  background: rgba(255,255,255,.9);
  color: var(--ii-forest);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: .3rem .7rem;
  border-radius: 100px;
  backdrop-filter: blur(4px);
}
.ii-card-body {
  padding: 1.6rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.ii-card-body h3 {
  font-family: var(--ii-font-display);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--ii-soil);
  margin-bottom: .55rem;
  letter-spacing: -.01em;
}
.ii-card-featured .ii-card-body h3 { font-size: 1.6rem; }
.ii-card-body p {
  font-size: .87rem;
  color: var(--ii-muted);
  line-height: 1.7;
  flex: 1;
  margin-bottom: 1.4rem;
}
.ii-card-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .82rem;
  font-weight: 700;
  color: var(--ii-moss);
  letter-spacing: .04em;
  transition: gap var(--ii-transition), color var(--ii-transition);
  margin-top: auto;
}
.ii-card-link::after { content: '→'; transition: transform var(--ii-transition); }
.ii-card-link:hover { color: var(--ii-forest); gap: 10px; }
.ii-card-link:hover::after { transform: translateX(4px); }

/* ── WHY US ──────────────────────────────────────────────── */
.ii-why-bg {
  background: var(--ii-soil);
  position: relative;
  overflow: hidden;
}
.ii-why-bg::before {
  content: '';
  position: absolute;
  top: -300px; right: -300px;
  width: 800px; height: 800px;
  background: radial-gradient(circle, rgba(61,107,66,.18) 0%, transparent 65%);
  pointer-events: none;
}
.ii-why-bg::after {
  content: '';
  position: absolute;
  bottom: -200px; left: -200px;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(196,154,60,.08) 0%, transparent 65%);
  pointer-events: none;
}
.ii-why-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6rem;
  align-items: center;
  position: relative;
  z-index: 2;
}
.ii-why-media {
  position: relative;
}
.ii-why-img-wrap {
  border-radius: var(--ii-r-xl);
  overflow: hidden;
  height: 500px;
  box-shadow: var(--ii-shadow-xl);
}
.ii-why-img-wrap img,
.ii-why-img-placeholder {
  width: 100%; height: 100%;
  object-fit: cover;
}
.ii-why-img-placeholder {
  background: linear-gradient(160deg, #4a7c4e, #1c2b18);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: rgba(255,255,255,.35);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
/* floating years badge */
.ii-years-badge {
  position: absolute;
  bottom: -1.5rem;
  right: -1.5rem;
  width: 110px; height: 110px;
  background: var(--ii-gold);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: var(--ii-shadow-lg);
  border: 4px solid var(--ii-soil);
}
.ii-years-badge strong {
  font-family: var(--ii-font-display);
  font-size: 2rem;
  font-weight: 900;
  color: white;
  line-height: 1;
}
.ii-years-badge span {
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.8);
  text-align: center;
  line-height: 1.3;
  padding: 0 8px;
}
.ii-why-content .ii-label { color: var(--ii-fern); }
.ii-why-content .ii-h2 { color: white; margin-bottom: 1.2rem; }
.ii-why-content .ii-body-text { color: rgba(255,255,255,.65); margin-bottom: 2.5rem; }
.ii-why-list {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.ii-why-item {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}
.ii-why-dot {
  width: 10px; height: 10px;
  background: var(--ii-fern);
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: .4rem;
  box-shadow: 0 0 0 4px rgba(147,196,125,.2);
}
.ii-why-item-text h4 {
  font-size: .92rem;
  font-weight: 700;
  color: white;
  margin-bottom: .25rem;
}
.ii-why-item-text p {
  font-size: .84rem;
  color: rgba(255,255,255,.55);
  line-height: 1.65;
}

/* ── AREAS ───────────────────────────────────────────────── */
.ii-areas-bg { background: var(--ii-dew); }
.ii-areas-layout {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 5rem;
  align-items: center;
}
.ii-areas-map-placeholder {
  border-radius: var(--ii-r-xl);
  overflow: hidden;
  height: 380px;
  background: linear-gradient(160deg, #c0ddb8, #6b9e6e);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: rgba(255,255,255,.5);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  border: 1px solid rgba(255,255,255,.4);
  box-shadow: var(--ii-shadow-md);
}
/* PHOTO SLOT: Replace placeholder div with <img src="/wp-content/uploads/service-area-map.jpg" alt="Image Irrigation service area map North Branch MN"> */
.ii-areas-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .75rem;
  margin-top: 2rem;
}
.ii-area-chip {
  background: white;
  border: 1px solid var(--ii-stone);
  border-radius: var(--ii-r);
  padding: .75rem 1rem;
  text-align: center;
  font-size: .82rem;
  font-weight: 600;
  color: var(--ii-moss);
  transition: all var(--ii-transition);
}
.ii-area-chip:hover {
  background: var(--ii-moss);
  color: white;
  border-color: var(--ii-moss);
  transform: translateY(-2px);
  box-shadow: var(--ii-shadow-sm);
}
.ii-area-chip.ii-featured {
  background: var(--ii-forest);
  color: white;
  border-color: var(--ii-forest);
  font-size: .85rem;
}

/* ── CTA BAND ────────────────────────────────────────────── */
.ii-cta-band {
  background: linear-gradient(135deg, var(--ii-forest) 0%, var(--ii-soil) 100%);
  padding: 5rem 5vw;
  position: relative;
  overflow: hidden;
}
.ii-cta-band::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 20% 50%, rgba(147,196,125,.08) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(196,154,60,.06) 0%, transparent 50%);
}
.ii-cta-inner {
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 3rem;
  position: relative;
  z-index: 2;
}
.ii-cta-text .ii-h2 {
  color: white;
  margin-bottom: .75rem;
}
.ii-cta-text p {
  color: rgba(255,255,255,.65);
  font-size: 1rem;
  line-height: 1.7;
}
.ii-cta-actions {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  align-items: flex-end;
  flex-shrink: 0;
}
.ii-btn-gold {
  background: var(--ii-gold);
  color: white !important;
  font-size: .92rem;
  font-weight: 700;
  padding: .9rem 1.8rem;
  border-radius: var(--ii-r);
  box-shadow: 0 6px 24px rgba(196,154,60,.4);
  transition: background var(--ii-transition), transform var(--ii-transition), box-shadow var(--ii-transition);
  white-space: nowrap;
  display: inline-block;
  text-align: center;
}
.ii-btn-gold:hover {
  background: var(--ii-gold-light);
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(196,154,60,.5);
}
.ii-cta-phone {
  color: rgba(255,255,255,.7) !important;
  font-size: 1.5rem;
  font-family: var(--ii-font-display);
  font-weight: 700;
  transition: color var(--ii-transition);
  white-space: nowrap;
}
.ii-cta-phone:hover { color: white !important; }

/* ── REVIEWS ─────────────────────────────────────────────── */
.ii-reviews-bg { background: var(--ii-warm); }
.ii-reviews-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 2.5rem;
  gap: 2rem;
  flex-wrap: wrap;
}
.ii-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.ii-review {
  background: white;
  border-radius: var(--ii-r-xl);
  padding: 2rem;
  border: 1px solid var(--ii-stone);
  transition: transform var(--ii-transition), box-shadow var(--ii-transition);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.ii-review:hover {
  transform: translateY(-4px);
  box-shadow: var(--ii-shadow-lg);
}
.ii-review-stars {
  display: flex;
  gap: 3px;
}
.ii-review-stars span {
  color: var(--ii-gold);
  font-size: 1.1rem;
}
.ii-review-text {
  font-size: .9rem;
  color: var(--ii-muted);
  line-height: 1.75;
  font-style: italic;
  flex: 1;
}
.ii-review-author {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding-top: 1rem;
  border-top: 1px solid var(--ii-stone);
}
.ii-review-avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--ii-dew);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  font-family: var(--ii-font-display);
  font-weight: 700;
  font-size: 1rem;
  color: var(--ii-moss);
}
.ii-review-info strong {
  display: block;
  font-size: .85rem;
  font-weight: 700;
  color: var(--ii-soil);
}
.ii-review-info span {
  font-size: .75rem;
  color: var(--ii-muted);
}

/* ── FAQ ─────────────────────────────────────────────────── */
.ii-faq-bg {
  background: var(--ii-dew);
  border-top: 1px solid var(--ii-stone);
}
.ii-faq-layout {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 5rem;
  align-items: start;
}
.ii-faq-sticky { position: sticky; top: 100px; }
.ii-faq-list { display: flex; flex-direction: column; gap: .75rem; }
.ii-faq-item {
  background: white;
  border-radius: var(--ii-r-lg);
  border: 1px solid var(--ii-stone);
  overflow: hidden;
  transition: box-shadow var(--ii-transition);
}
.ii-faq-item:hover { box-shadow: var(--ii-shadow-sm); }
.ii-faq-q {
  width: 100%;
  background: none;
  border: none;
  padding: 1.2rem 1.5rem;
  text-align: left;
  font-family: var(--ii-font-body);
  font-size: .9rem;
  font-weight: 600;
  color: var(--ii-soil);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.ii-faq-icon {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--ii-dew);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  font-size: 1.1rem;
  color: var(--ii-sage);
  transition: background var(--ii-transition), transform var(--ii-transition);
}
.ii-faq-item.ii-open .ii-faq-icon {
  background: var(--ii-forest);
  color: white;
  transform: rotate(45deg);
}
.ii-faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s cubic-bezier(.4,0,.2,1), padding .35s;
  font-size: .87rem;
  color: var(--ii-muted);
  line-height: 1.75;
  padding: 0 1.5rem;
}
.ii-faq-item.ii-open .ii-faq-a { max-height: 250px; padding: 0 1.5rem 1.3rem; }

/* ── FOOTER ──────────────────────────────────────────────── */
.ii-footer {
  background: var(--ii-black);
  color: rgba(255,255,255,.6);
}
.ii-footer-main {
  max-width: 1240px;
  margin: 0 auto;
  padding: 5rem 5vw 3rem;
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr 1fr;
  gap: 3rem;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.ii-footer-brand .ii-logo-text strong { color: white; }
.ii-footer-brand .ii-logo-text span { color: var(--ii-sage); }
.ii-footer-desc {
  font-size: .85rem;
  line-height: 1.8;
  margin-top: 1rem;
  margin-bottom: 1.5rem;
}
.ii-footer-phone-link {
  font-family: var(--ii-font-display);
  font-size: 1.6rem;
  font-weight: 700;
  color: white !important;
  display: block;
  transition: color var(--ii-transition);
}
.ii-footer-phone-link:hover { color: var(--ii-fern) !important; }
.ii-footer-col h5 {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ii-fern);
  margin-bottom: 1.1rem;
}
.ii-footer-col ul {
  display: flex;
  flex-direction: column;
  gap: .6rem;
}
.ii-footer-col a {
  font-size: .84rem;
  transition: color var(--ii-transition);
}
.ii-footer-col a:hover { color: white; }
.ii-footer-bottom {
  max-width: 1240px;
  margin: 0 auto;
  padding: 1.8rem 5vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: .75rem;
  font-size: .76rem;
}
.ii-footer-bottom a { color: var(--ii-sage); }
.ii-footer-bottom a:hover { color: white; }

/* ── ANIMATIONS ──────────────────────────────────────────── */
@keyframes ii-fade-up {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
.ii-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .6s cubic-bezier(.4,0,.2,1), transform .6s cubic-bezier(.4,0,.2,1);
}
.ii-reveal.ii-visible { opacity: 1; transform: none; }
.ii-reveal-delay-1 { transition-delay: .08s; }
.ii-reveal-delay-2 { transition-delay: .16s; }
.ii-reveal-delay-3 { transition-delay: .24s; }
.ii-reveal-delay-4 { transition-delay: .32s; }

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 1024px) {
  .ii-hero { grid-template-columns: 1fr 1fr; }
  .ii-why-grid { gap: 4rem; }
  .ii-areas-layout { gap: 3rem; }
  .ii-footer-main { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 860px) {
  .ii-nav-links { display: none; }
  .ii-hamburger { display: flex; }
  .ii-hero { grid-template-columns: 1fr; min-height: auto; }
  .ii-hero-left { padding: 4rem 6vw 3rem; order: 2; }
  .ii-hero-left::after { display: none; }
  .ii-hero-right { height: 55vw; min-height: 280px; order: 1; }
  .ii-hero-badge { bottom: 1.5rem; right: 1.5rem; }
  .ii-services-head { grid-template-columns: 1fr; }
  .ii-services-grid { grid-template-columns: 1fr 1fr; }
  .ii-services-grid .ii-card-featured { grid-column: span 2; }
  .ii-why-grid { grid-template-columns: 1fr; gap: 3rem; }
  .ii-why-img-wrap { height: 300px; }
  .ii-years-badge { right: 1rem; bottom: -1rem; width: 90px; height: 90px; }
  .ii-areas-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .ii-cta-inner { grid-template-columns: 1fr; }
  .ii-cta-actions { align-items: flex-start; flex-direction: row; flex-wrap: wrap; }
  .ii-reviews-grid { grid-template-columns: 1fr; }
  .ii-faq-layout { grid-template-columns: 1fr; gap: 2rem; }
  .ii-faq-sticky { position: static; }
  .ii-footer-main { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .ii-hero-stats { gap: 1.5rem; }
  .ii-services-grid { grid-template-columns: 1fr; }
  .ii-services-grid .ii-card-featured { grid-column: span 1; }
  .ii-areas-grid { grid-template-columns: 1fr 1fr; }
  .ii-footer-main { grid-template-columns: 1fr; gap: 2rem; }
}
/* ============================================================
   IMAGE IRRIGATION — Homepage FAQ Mobile Fix
   Append to bottom of your Global CSS
   ============================================================ */

@media (max-width: 860px) {

  /* FAQ layout already collapses to 1fr at 860px but      */
  /* gap:5rem is still huge and items have no width guard  */
  .ii-faq-layout {
    gap: 2rem;
  }

  /* Constrain the list and every item strictly to viewport */
  .ii-faq-list,
  .ii-faq-item {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  /* The question button — long text was breaking out       */
  .ii-faq-q {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    white-space: normal;
    word-break: break-word;
    box-sizing: border-box;
    padding: 1rem 1.1rem;
  }

  /* Answer text — same */
  .ii-faq-a {
    max-width: 100%;
    min-width: 0;
    word-break: break-word;
    padding-left: 1.1rem;
    padding-right: 1.1rem;
    box-sizing: border-box;
  }
  .ii-faq-item.ii-open .ii-faq-a {
    padding: 0 1.1rem 1.1rem;
  }

  /* Hide sticky sidebar on mobile — shows orphaned         */
  .ii-faq-sticky {
    display: none;
  }
}

@media (max-width: 560px) {
  /* Extra tight on small phones */
  .ii-faq-layout {
    gap: 1.5rem;
  }
  .ii-faq-q {
    font-size: .85rem;
    padding: .9rem 1rem;
  }
}
/* ============================================================
   IMAGE IRRIGATION — Service Pages Master CSS  v2
   Append to: Elementor → Site Settings → Custom CSS
   (add below your existing header CSS)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,700&family=Syne:wght@400;500;600;700;800&display=swap');

/* ── DESIGN TOKENS ───────────────────────────────────────── */
:root {
  --g-soil:    #1c2b18;
  --g-forest:  #2a4a2e;
  --g-moss:    #3d6b42;
  --g-sage:    #6b9e6e;
  --g-fern:    #93c47d;
  --g-meadow:  #c0ddb8;
  --g-dew:     #eaf4e6;
  --g-cream:   #f5f1eb;
  --g-warm:    #faf7f2;
  --g-stone:   #ddd8ce;
  --g-ink:     #141a10;
  --g-muted:   #5a6854;
  --g-gold:    #c49a3c;
  --g-gold-lt: #e2b84a;
  --g-white:   #ffffff;
  --g-fd:      'Playfair Display', Georgia, serif;
  --g-fb:      'Syne', sans-serif;
  --g-ease:    cubic-bezier(.4,0,.2,1);
}

/* ── BASE — overflow fix lives here ─────────────────────── */
.iis-page {
  font-family: var(--g-fb);
  color: var(--g-ink);
  background: var(--g-warm);
  -webkit-font-smoothing: antialiased;
  /* prevent ALL children from causing horizontal scroll */
  overflow-x: hidden;
  width: 100%;
  max-width: 100%;
}
.iis-page *, .iis-page *::before, .iis-page *::after {
  box-sizing: border-box;
  min-width: 0; /* prevents flex/grid blowout */
}
.iis-page img  { display: block; max-width: 100%; height: auto; object-fit: cover; }
.iis-page a    { text-decoration: none; color: inherit; }
.iis-page ul   { list-style: none; margin: 0; padding: 0; }
.iis-page p, .iis-page h1, .iis-page h2,
.iis-page h3, .iis-page h4 { margin: 0; }

/* ── SECTION SHELL — clamp keeps spacing sane on all screens */
.iis-wrap {
  width: 100%;
  padding-left:  clamp(1.25rem, 5vw, 5rem);
  padding-right: clamp(1.25rem, 5vw, 5rem);
  padding-top:    clamp(3rem, 6vw, 5.5rem);
  padding-bottom: clamp(3rem, 6vw, 5.5rem);
}
.iis-inner {
  max-width: 1140px;
  margin: 0 auto;
  width: 100%;
}

/* background swatches */
.iis-bg-w { background: var(--g-white); }
.iis-bg-c { background: var(--g-cream); }
.iis-bg-d { background: var(--g-dew); border-top: 1px solid var(--g-stone); border-bottom: 1px solid var(--g-stone); }
.iis-bg-s { background: var(--g-soil); }

/* ── HERO — typographic, image floats up from bottom ─────── */
.iis-hero {
  background: var(--g-soil);
  width: 100%;
  overflow: hidden;
  position: relative;
  padding: clamp(4rem, 8vw, 7rem) clamp(1.25rem, 5vw, 5rem) 0;
}
.iis-hero-wm {
  position: absolute;
  top: -.1em; right: -.05em;
  font-family: var(--g-fd);
  font-size: clamp(8rem, 20vw, 18rem);
  font-weight: 900;
  color: rgba(255,255,255,.03);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
  overflow: hidden;
  max-width: 60%;
}
.iis-hero-inner {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 4vw, 4rem);
  align-items: end;
}
.iis-hero-left { padding-bottom: clamp(2.5rem, 5vw, 4rem); }
.iis-breadcrumb {
  display: flex; align-items: center; gap: 6px;
  margin-bottom: 1.4rem;
  font-size: .72rem; font-weight: 600; letter-spacing: .06em;
  color: rgba(255,255,255,.35); flex-wrap: wrap;
}
.iis-breadcrumb a { color: rgba(255,255,255,.35); transition: color .2s; }
.iis-breadcrumb a:hover { color: var(--g-fern); }
.iis-breadcrumb span { color: rgba(255,255,255,.2); }
.iis-pill {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(147,196,125,.13);
  border: 1px solid rgba(147,196,125,.22);
  color: var(--g-fern);
  font-size: .67rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
  padding: .3rem .85rem; border-radius: 100px;
  margin-bottom: 1.4rem; width: fit-content;
}
.iis-hero-h1 {
  font-family: var(--g-fd);
  font-size: clamp(2.6rem, 5.5vw, 5rem);
  font-weight: 900; color: var(--g-white);
  line-height: 1.04; letter-spacing: -.03em;
  margin-bottom: 1.4rem;
}
.iis-hero-h1 em { font-style: italic; color: var(--g-fern); }
.iis-hero-sub {
  font-size: clamp(.9rem, 1.4vw, 1.03rem);
  font-weight: 400; color: rgba(255,255,255,.62);
  line-height: 1.82; max-width: 460px;
  margin-bottom: 2.2rem;
}
.iis-hero-btns {
  display: flex; gap: .85rem; flex-wrap: wrap; align-items: center;
  margin-bottom: 3rem;
}
.iis-hero-stats {
  display: flex; gap: clamp(1.5rem, 3vw, 3rem);
  padding: 1.5rem 0;
  border-top: 1px solid rgba(255,255,255,.1);
  flex-wrap: wrap;
}
.iis-stat strong {
  display: block; font-family: var(--g-fd);
  font-size: clamp(1.7rem, 3vw, 2.4rem); font-weight: 900;
  color: var(--g-white); line-height: 1;
}
.iis-stat span {
  font-size: .67rem; font-weight: 600; letter-spacing: .12em;
  text-transform: uppercase; color: rgba(255,255,255,.4);
  margin-top: 3px; display: block;
}
.iis-hero-img-col { position: relative; align-self: end; }
.iis-hero-img-frame {
  border-radius: 18px 18px 0 0; overflow: hidden;
  height: clamp(260px, 40vw, 500px);
  box-shadow: 0 -12px 60px rgba(0,0,0,.22);
}
.iis-hero-img-frame img, .iis-hero-ph {
  width: 100%; height: 100%; object-fit: cover;
}
.iis-hero-ph {
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 10px;
  background: linear-gradient(160deg, #3d6b42, #1c2b18);
  color: rgba(255,255,255,.3);
  font-size: .68rem; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase;
  height: 100%;
}
.iis-hero-ph svg { opacity: .3; width: 36px; height: 36px; fill: none; stroke: currentColor; stroke-width: 1.2; }

/* ── BUTTONS ──────────────────────────────────────────────── */
.iis-btn {
  display: inline-flex; align-items: center; gap: 7px;
  font-family: var(--g-fb); font-size: .88rem; font-weight: 700;
  letter-spacing: .025em; padding: .82rem 1.7rem;
  border-radius: 8px; border: none; cursor: pointer;
  transition: background .22s var(--g-ease), transform .18s var(--g-ease), box-shadow .22s var(--g-ease);
  white-space: nowrap; text-decoration: none; line-height: 1;
}
.iis-btn svg { flex-shrink: 0; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; }
.iis-btn-g   { background: var(--g-fern); color: var(--g-soil); box-shadow: 0 5px 20px rgba(93,156,98,.3); }
.iis-btn-g:hover { background: var(--g-meadow); transform: translateY(-2px); }
.iis-btn-dk  { background: var(--g-forest); color: var(--g-white); box-shadow: 0 5px 18px rgba(42,74,46,.26); }
.iis-btn-dk:hover { background: var(--g-soil); transform: translateY(-2px); }
.iis-btn-gh  { background: transparent; color: rgba(255,255,255,.82); border: 1.5px solid rgba(255,255,255,.28); }
.iis-btn-gh:hover { border-color: rgba(255,255,255,.65); color: var(--g-white); background: rgba(255,255,255,.06); }
.iis-btn-gold { background: var(--g-gold); color: var(--g-white); box-shadow: 0 5px 20px rgba(196,154,60,.32); }
.iis-btn-gold:hover { background: var(--g-gold-lt); transform: translateY(-2px); }

/* ── TYPE HELPERS ─────────────────────────────────────────── */
.iis-label {
  font-size: .67rem; font-weight: 700;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--g-sage); display: block; margin-bottom: .6rem;
}
.iis-label-lt { color: var(--g-fern); }
.iis-h2 {
  font-family: var(--g-fd);
  font-size: clamp(1.65rem, 3vw, 2.55rem);
  font-weight: 700; line-height: 1.13;
  letter-spacing: -.02em; color: var(--g-soil); margin-bottom: 1rem;
}
.iis-h2 em { font-style: italic; color: var(--g-moss); }
.iis-h2-lt { color: var(--g-white); }
.iis-h2-lt em { color: var(--g-fern); }
.iis-body {
  font-size: clamp(.88rem, 1.2vw, .98rem);
  color: var(--g-muted); line-height: 1.82;
}
.iis-body + .iis-body { margin-top: .85rem; }
.iis-body-lt { color: rgba(255,255,255,.62); }

/* ── EDITORIAL INTRO — large counter + copy ──────────────── */
.iis-intro {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(2rem, 4vw, 5rem);
  align-items: start;
  padding-bottom: clamp(3rem, 5vw, 5rem);
  border-bottom: 1px solid var(--g-stone);
}
.iis-intro-num {
  font-family: var(--g-fd);
  font-size: clamp(5rem, 10vw, 9rem); font-weight: 900;
  color: var(--g-dew); line-height: .9; flex-shrink: 0;
  user-select: none; letter-spacing: -.04em;
  width: clamp(80px, 12vw, 140px); text-align: right;
}
.iis-intro-content { padding-top: .5rem; }

/* ── PULL QUOTE ───────────────────────────────────────────── */
.iis-pullquote {
  border-left: 4px solid var(--g-fern);
  padding: 1.2rem 0 1.2rem 1.8rem;
  margin: 2.2rem 0;
}
.iis-pullquote p {
  font-family: var(--g-fd);
  font-size: clamp(1.05rem, 1.8vw, 1.35rem);
  font-style: italic; color: var(--g-forest); line-height: 1.55; font-weight: 700;
}
.iis-pullquote cite {
  display: block; margin-top: .5rem;
  font-style: normal; font-size: .76rem; font-weight: 600;
  color: var(--g-sage); letter-spacing: .06em;
}

/* ── PHOTO GRID — asymmetric collage ─────────────────────── */
.iis-photo-grid {
  display: grid;
  grid-template-columns: 3fr 2fr;
  grid-template-rows: auto auto;
  gap: .85rem;
  margin: 2.5rem 0;
}
.iis-photo-cell { border-radius: 14px; overflow: hidden; }
.iis-photo-cell.span2 { grid-column: span 2; }
.iis-photo-tall   { height: clamp(200px, 34vw, 400px); }
.iis-photo-short  { height: clamp(130px, 18vw, 220px); }
.iis-photo-wide   { height: clamp(170px, 24vw, 280px); }
.iis-ph {
  width: 100%; height: 100%;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 8px;
  background: linear-gradient(145deg, var(--g-meadow), var(--g-moss));
  color: rgba(255,255,255,.4);
  font-size: .67rem; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase;
}
.iis-ph.v2 { background: linear-gradient(145deg, #8db38b, #2a4a2e); }
.iis-ph.v3 { background: linear-gradient(145deg, #c0ddb8, #3d6b42); }
.iis-ph svg { opacity: .3; width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.2; }

/* ── WHAT'S INCLUDED — horizontal rule list ──────────────── */
.iis-include-list { display: flex; flex-direction: column; }
.iis-include-row {
  display: grid;
  grid-template-columns: 44px 1fr auto;
  align-items: center; gap: 1.2rem;
  padding: 1.2rem 0;
  border-bottom: 1px solid var(--g-stone);
  transition: background .16s;
}
.iis-include-row:first-child { border-top: 1px solid var(--g-stone); }
.iis-include-icon {
  width: 44px; height: 44px; border-radius: 10px;
  background: var(--g-dew); display: grid; place-items: center; flex-shrink: 0;
  transition: background .18s;
}
.iis-include-icon svg { width: 20px; height: 20px; stroke: var(--g-moss); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.iis-include-row:hover .iis-include-icon { background: var(--g-meadow); }
.iis-include-text h4 { font-size: .9rem; font-weight: 700; color: var(--g-soil); margin-bottom: .18rem; }
.iis-include-text p  { font-size: .8rem; color: var(--g-muted); line-height: 1.55; }
.iis-include-tag {
  font-size: .64rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--g-sage); background: var(--g-dew);
  padding: .26rem .6rem; border-radius: 100px; white-space: nowrap; flex-shrink: 0;
}

/* ── PROCESS — vertical numbered list ────────────────────── */
.iis-process { display: flex; flex-direction: column; }
.iis-step {
  display: grid; grid-template-columns: 3rem 1fr;
  gap: 1.5rem; padding: 2rem 0;
  border-bottom: 1px solid var(--g-stone);
}
.iis-step:first-child { border-top: 1px solid var(--g-stone); }
.iis-step-n {
  font-family: var(--g-fd);
  font-size: 2rem; font-weight: 900;
  color: var(--g-meadow); line-height: 1;
  padding-top: .1rem; text-align: right;
}
.iis-step-content h3 {
  font-family: var(--g-fb); font-size: .97rem; font-weight: 700;
  color: var(--g-soil); margin-bottom: .38rem;
}
.iis-step-content p { font-size: .84rem; color: var(--g-muted); line-height: 1.7; }

/* ── DARK PANEL ───────────────────────────────────────────── */
.iis-dark-panel {
  background: var(--g-soil); border-radius: 20px;
  padding: clamp(2rem, 4vw, 3.5rem);
  position: relative; overflow: hidden;
}
.iis-dark-panel::before {
  content: '';
  position: absolute; top: -120px; right: -120px;
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(93,156,98,.1) 0%, transparent 65%);
  pointer-events: none;
}
.iis-checklist {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: .75rem 2.5rem; margin-top: 1.8rem;
}
.iis-check {
  display: flex; align-items: flex-start; gap: .75rem;
  font-size: .86rem; color: rgba(255,255,255,.72); line-height: 1.6;
}
.iis-check::before {
  content: '';
  width: 18px; height: 18px; border-radius: 50%;
  border: 1.5px solid var(--g-fern);
  flex-shrink: 0; margin-top: .14rem;
  background: rgba(147,196,125,.15)
    url("data:image/svg+xml,%3Csvg width='10' height='8' viewBox='0 0 10 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 4l2.5 2.5L9 1' stroke='%2393c47d' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
    no-repeat center / 10px 8px;
}

/* ── FAQ — clean borderless accordion ────────────────────── */
.iis-faq { display: flex; flex-direction: column; }
.iis-faq-item { border-bottom: 1px solid var(--g-stone); }
.iis-faq-item:first-child { border-top: 1px solid var(--g-stone); }
.iis-faq-q {
  width: 100%; background: none; border: none;
  padding: 1.15rem 0; text-align: left;
  font-family: var(--g-fb); font-size: .9rem; font-weight: 600;
  color: var(--g-soil); cursor: pointer;
  display: flex; justify-content: space-between; align-items: center; gap: 1.5rem;
}
.iis-faq-q:hover { color: var(--g-moss); }
.iis-faq-icon {
  width: 24px; height: 24px; border-radius: 50%;
  border: 1.5px solid var(--g-stone);
  display: grid; place-items: center;
  font-size: .9rem; color: var(--g-sage); flex-shrink: 0;
  transition: border-color .2s, background .2s, transform .25s;
}
.iis-faq-item.open .iis-faq-icon { background: var(--g-forest); border-color: var(--g-forest); color: white; transform: rotate(45deg); }
.iis-faq-a {
  max-height: 0; overflow: hidden;
  transition: max-height .38s cubic-bezier(.4,0,.2,1), padding-bottom .38s cubic-bezier(.4,0,.2,1);
  font-size: .86rem; color: var(--g-muted); line-height: 1.78;
  padding: 0 0 0 0;
}
/* max-height is set by JS via scrollHeight for smooth animation */
.iis-faq-item.open .iis-faq-a { padding-bottom: 1.1rem; }

/* ── CTA STRIP — side by side text + buttons ─────────────── */
.iis-cta {
  background: var(--g-forest);
  padding: clamp(3rem, 6vw, 5rem) clamp(1.25rem, 5vw, 5rem);
  position: relative; overflow: hidden;
}
.iis-cta::after {
  content: ''; position: absolute; inset: 0;
  background-image: radial-gradient(circle at 0% 100%, rgba(147,196,125,.08) 0%, transparent 50%),
                    radial-gradient(circle at 100% 0%, rgba(196,154,60,.06) 0%, transparent 50%);
  pointer-events: none;
}
.iis-cta-inner {
  max-width: 1140px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr auto;
  align-items: center; gap: clamp(1.5rem, 3vw, 3rem);
  position: relative; z-index: 2;
}
.iis-cta-text .iis-h2 { color: var(--g-white); margin-bottom: .65rem; }
.iis-cta-text p { font-size: .94rem; color: rgba(255,255,255,.6); line-height: 1.72; max-width: 520px; }
.iis-cta-side { display: flex; flex-direction: column; gap: .85rem; align-items: flex-end; flex-shrink: 0; }
.iis-phone-big {
  font-family: var(--g-fd); font-size: clamp(1.15rem, 2.2vw, 1.55rem);
  font-weight: 700; color: rgba(255,255,255,.65);
  display: flex; align-items: center; gap: 8px;
  transition: color .2s; white-space: nowrap;
}
.iis-phone-big:hover { color: var(--g-white); }
.iis-phone-big svg { stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; flex-shrink: 0; }

/* ── REVIEWS ──────────────────────────────────────────────── */
.iis-reviews {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem; margin-top: 2.5rem;
}
.iis-rev {
  background: var(--g-white); border: 1px solid var(--g-stone);
  border-radius: 16px; padding: 1.6rem;
  display: flex; flex-direction: column; gap: .85rem;
  transition: transform .22s var(--g-ease), box-shadow .22s var(--g-ease);
}
.iis-rev:hover { transform: translateY(-4px); box-shadow: 0 14px 40px rgba(13,18,8,.1); border-color: var(--g-meadow); }
.iis-stars { color: var(--g-gold); letter-spacing: 2px; font-size: .9rem; }
.iis-rev-txt { font-size: .87rem; color: var(--g-muted); line-height: 1.75; font-style: italic; flex: 1; }
.iis-rev-footer { display: flex; align-items: center; gap: .65rem; padding-top: .85rem; border-top: 1px solid var(--g-stone); }
.iis-rev-av {
  width: 36px; height: 36px; border-radius: 50%;
  background: var(--g-dew); display: grid; place-items: center;
  font-family: var(--g-fd); font-weight: 700; font-size: .9rem; color: var(--g-moss); flex-shrink: 0;
}
.iis-rev-name { font-size: .82rem; font-weight: 700; color: var(--g-soil); }
.iis-rev-loc  { font-size: .72rem; color: var(--g-muted); }

/* ── RELATED SERVICES ─────────────────────────────────────── */
.iis-related {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1rem; margin-top: 2.5rem;
}
.iis-rel-card {
  border: 1.5px solid var(--g-stone); border-radius: 14px; padding: 1.4rem;
  display: flex; flex-direction: column; gap: .6rem;
  transition: border-color .2s, box-shadow .2s, transform .2s;
  background: var(--g-white); text-decoration: none;
}
.iis-rel-card:hover { border-color: var(--g-fern); box-shadow: 0 8px 28px rgba(13,18,8,.08); transform: translateY(-3px); }
.iis-rel-icon {
  width: 40px; height: 40px; border-radius: 9px;
  background: var(--g-dew); display: grid; place-items: center; flex-shrink: 0;
}
.iis-rel-icon svg { width: 18px; height: 18px; stroke: var(--g-moss); fill: none; stroke-width: 1.8; stroke-linecap: round; }
.iis-rel-card h4 { font-size: .9rem; font-weight: 700; color: var(--g-soil); }
.iis-rel-card p  { font-size: .8rem; color: var(--g-muted); line-height: 1.6; flex: 1; }
.iis-rel-arrow { font-size: .8rem; font-weight: 700; color: var(--g-moss); display: flex; align-items: center; gap: 4px; margin-top: auto; }
.iis-rel-arrow::after { content: '→'; transition: transform .18s; }
.iis-rel-card:hover .iis-rel-arrow::after { transform: translateX(4px); }

/* ── SCROLL REVEAL ────────────────────────────────────────── */
.iis-rv { opacity: 0; transform: translateY(20px); transition: opacity .52s var(--g-ease), transform .52s var(--g-ease); }
.iis-rv.on { opacity: 1; transform: none; }
.iis-rv.d1 { transition-delay: .07s; }
.iis-rv.d2 { transition-delay: .14s; }
.iis-rv.d3 { transition-delay: .21s; }
.iis-rv.d4 { transition-delay: .28s; }

/* ── RESPONSIVE ───────────────────────────────────────────── */
@media (max-width: 860px) {
  /* hero: stack vertically, image shows below text full width */
  .iis-hero-inner {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
  }
  .iis-hero-img-col {
    display: block;
    width: 100%;
    /* pull out of normal padding so it bleeds edge to edge */
    margin-left:  calc(-1 * clamp(1.25rem, 5vw, 5rem));
    margin-right: calc(-1 * clamp(1.25rem, 5vw, 5rem));
    width: calc(100% + clamp(2.5rem, 10vw, 10rem));
  }
  .iis-hero-img-frame {
    border-radius: 0;
    height: clamp(220px, 55vw, 340px);
    box-shadow: none;
  }
  .iis-hero { padding-bottom: 0; }
  .iis-hero-sub { max-width: 100%; }
  /* editorial intro: kill number on small screens */
  .iis-intro { grid-template-columns: 1fr; gap: 1rem; }
  .iis-intro-num { display: none; }
  /* CTA strip: stack */
  .iis-cta-inner { grid-template-columns: 1fr; }
  .iis-cta-side { align-items: flex-start; flex-direction: row; flex-wrap: wrap; }
  /* reviews / related: single col */
  .iis-reviews  { grid-template-columns: 1fr; }
  .iis-related  { grid-template-columns: 1fr 1fr; }
  /* photo grid: single col */
  .iis-photo-grid { grid-template-columns: 1fr; }
  .iis-photo-cell.span2 { grid-column: span 1; }
  /* checklist: single col */
  .iis-checklist { grid-template-columns: 1fr; }
  /* two col sections inside iis-wrap */
  .iis-two-col { grid-template-columns: 1fr !important; }
  .iis-sticky { position: static !important; }
  /* include row: drop tag on small screens */
  .iis-include-row { grid-template-columns: 40px 1fr; }
  .iis-include-tag { display: none; }
}
@media (max-width: 560px) {
  .iis-related { grid-template-columns: 1fr; }
  .iis-hero-btns { flex-direction: column; align-items: stretch; }
  .iis-hero-btns .iis-btn { justify-content: center; }
  .iis-hero-stats { gap: 1.2rem; }
  .iis-step { grid-template-columns: 2.2rem 1fr; gap: .85rem; }
  .iis-step-n { font-size: 1.55rem; }
  .iis-dark-panel { padding: 1.5rem; border-radius: 14px; }
  .iis-pullquote { padding-left: 1.2rem; }
  .iis-hero-wm { display: none; }
}

/* ============================================================
   PATCH — button visibility + mobile FAQ fix
   Add to bottom of ii-services-master.css
   ============================================================ */

/* ── Ghost button — more visible on dark backgrounds ─────── */
.iis-btn-gh {
  color: #ffffff !important;
  border-color: rgba(255,255,255,.55) !important;
}
.iis-btn-gh:hover {
  border-color: #ffffff !important;
  background: rgba(255,255,255,.12) !important;
}

/* ── CTA strip phone — make it white so it reads ─────────── */
.iis-phone-big {
  color: rgba(255,255,255,.88) !important;
}

/* ── FAQ two-col — FORCE single column on mobile ─────────── */
@media (max-width: 860px) {
  /* any inline two-col grid used for FAQ layout */
  .iis-wrap .iis-inner > div[style*="grid-template-columns:1fr 1.7fr"],
  .iis-wrap .iis-inner > div[style*="grid-template-columns: 1fr 1.7fr"] {
    display: block !important;
  }
  /* kill sticky on mobile — it fights scroll */
  div[style*="position:sticky"],
  div[style*="position: sticky"] {
    position: static !important;
  }
  /* FAQ accordion — constrain width, no overflow */
  .iis-faq {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }
  .iis-faq-q {
    /* long question text can wrap awkwardly */
    white-space: normal;
    word-break: break-word;
  }
  .iis-faq-a {
    word-break: break-word;
  }
  /* The sticky FAQ sidebar — add bottom spacing when stacked */
  .iis-sticky {
    margin-bottom: 2rem;
  }
}

/* ── Two-col layout sections — collapse on mobile ────────── */
@media (max-width: 860px) {
  .iis-two-col {
    display: block !important;
    grid-template-columns: unset !important;
  }
  .iis-two-col > * + * {
    margin-top: clamp(1.5rem, 4vw, 2.5rem);
  }
  .iis-sticky {
    position: static !important;
    margin-bottom: 2rem !important;
  }
}

/* ── FAQ MOBILE — hide the sidebar label block entirely ───── */
/* On mobile the sticky sidebar (label + h2 + body + btn)     */
/* sits orphaned above the accordion. We show a simpler       */
/* inline header instead and hide the sidebar.                */
@media (max-width: 860px) {
  /* hide the sticky sidebar FAQ header on mobile */
  .iis-two-col .iis-sticky {
    display: none !important;
  }
  /* make sure faq list takes full width */
  .iis-two-col .iis-faq {
    width: 100%;
  }
  /* add a simple mobile FAQ heading above the accordion */
  .iis-faq::before {
    content: 'Frequently Asked Questions';
    display: block;
    font-family: var(--g-fd);
    font-size: 1.55rem;
    font-weight: 700;
    color: var(--g-soil);
    letter-spacing: -.02em;
    margin-bottom: 1.5rem;
  }
}

/* ── FAQ sidebar button — hide on mobile (direct class hit) ── */
@media (max-width: 860px) {
  .iis-sticky {
    display: none !important;
  }
  .iis-faq::before {
    content: 'Frequently Asked Questions';
    display: block;
    font-family: var(--g-fd);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--g-soil);
    letter-spacing: -.02em;
    margin-bottom: 1.5rem;
  }
}

/* ── Button color overrides — beat Elementor specificity ─── */
.iis-page .iis-btn-dk,
.iis-page a.iis-btn-dk,
.iis-page .iis-btn-dk:visited {
  color: #ffffff !important;
  background: var(--g-forest) !important;
}
.iis-page .iis-btn-dk:hover {
  color: #ffffff !important;
  background: var(--g-soil) !important;
}
.iis-page .iis-btn-g,
.iis-page a.iis-btn-g {
  color: var(--g-soil) !important;
  background: var(--g-fern) !important;
}
.iis-page .iis-btn-gold,
.iis-page a.iis-btn-gold {
  color: #ffffff !important;
  background: var(--g-gold) !important;
}
.iis-page .iis-btn-gh,
.iis-page a.iis-btn-gh {
  color: #ffffff !important;
  background: transparent !important;
  border: 1.5px solid rgba(255,255,255,.55) !important;
}

/* ── Photo collage — stack on mobile ────────────────────── */
@media (max-width: 860px) {
  .iis-photo-grid {
    grid-template-columns: 1fr !important;
  }
  /* the side-by-side short photos div stacks too */
  .iis-photo-grid > div[style] {
    display: flex !important;
    flex-direction: column !important;
    gap: .85rem !important;
  }
  .iis-photo-tall  { height: clamp(200px, 55vw, 300px); }
  .iis-photo-short { height: clamp(160px, 42vw, 220px); }
}

/* ── CTA heading — force white over Elementor overrides ─── */
.iis-cta .iis-h2,
.iis-cta .iis-h2-lt,
.iis-page .iis-cta h2 {
  color: #ffffff !important;
}
/* dark panel heading too */
.iis-dark-panel .iis-h2,
.iis-dark-panel .iis-h2-lt {
  color: #ffffff !important;
}
/* why choose us section on about page */
.iia-bg-soil .iia-h2,
.iia-bg-soil .iia-h2-lt {
  color: #ffffff !important;
}
/* ── Fix hero diagonal clip overflow ── */
.ii-hero {
  overflow: hidden !important;
}
.ii-page {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}
body {
  overflow-x: hidden !important;
}
/* ============================================================
   IMAGE IRRIGATION — Location / Service Area Pages CSS
   Append to bottom of ii-services-master.css
   ============================================================ */

/* ── LOCATION HERO — tighter than service hero ───────────── */
.iil-hero {
  background: var(--g-soil);
  width: 100%; overflow: hidden; position: relative;
  padding: clamp(3.5rem, 7vw, 6rem) clamp(1.25rem, 5vw, 5rem) clamp(2.5rem, 5vw, 4rem);
}
.iil-hero-inner {
  max-width: 1140px; margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: clamp(2rem, 4vw, 4rem);
  align-items: center;
}
.iil-breadcrumb {
  display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
  margin-bottom: 1.2rem;
  font-size: .7rem; font-weight: 600; letter-spacing: .06em;
  color: rgba(255,255,255,.35);
}
.iil-breadcrumb a { color: rgba(255,255,255,.4); transition: color .2s; }
.iil-breadcrumb a:hover { color: var(--g-fern); }
.iil-breadcrumb span { color: rgba(255,255,255,.2); }
.iil-pill {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(147,196,125,.13);
  border: 1px solid rgba(147,196,125,.22);
  color: var(--g-fern);
  font-size: .67rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
  padding: .28rem .85rem; border-radius: 100px;
  margin-bottom: 1.2rem; width: fit-content;
}
.iil-h1 {
  font-family: var(--g-fd);
  font-size: clamp(2.2rem, 4.5vw, 4rem);
  font-weight: 900; color: var(--g-white);
  line-height: 1.06; letter-spacing: -.03em;
  margin-bottom: 1.2rem;
}
.iil-h1 em { font-style: italic; color: var(--g-fern); }
.iil-hero-sub {
  font-size: clamp(.88rem, 1.3vw, 1rem);
  color: rgba(255,255,255,.62); line-height: 1.8;
  max-width: 520px; margin-bottom: 2rem;
}
.iil-hero-btns {
  display: flex; gap: .75rem; flex-wrap: wrap; align-items: center;
  margin-bottom: 2rem;
}
.iil-hero-stats {
  display: flex; gap: clamp(1.2rem, 3vw, 2.5rem);
  padding: 1.4rem 0;
  border-top: 1px solid rgba(255,255,255,.1);
  flex-wrap: wrap;
}
.iil-stat strong {
  display: block; font-family: var(--g-fd);
  font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 900;
  color: var(--g-white); line-height: 1;
}
.iil-stat span {
  font-size: .65rem; font-weight: 600; letter-spacing: .1em;
  text-transform: uppercase; color: rgba(255,255,255,.4);
  margin-top: 3px; display: block;
}

/* ── HERO SIDEBAR CARD ────────────────────────────────────── */
.iil-contact-card {
  background: var(--g-white);
  border-radius: 20px;
  padding: clamp(1.5rem, 3vw, 2rem);
  box-shadow: 0 20px 60px rgba(0,0,0,.18);
  display: flex; flex-direction: column; gap: 1.1rem;
}
.iil-card-label {
  font-size: .65rem; font-weight: 700; letter-spacing: .2em;
  text-transform: uppercase; color: var(--g-sage);
}
.iil-card-title {
  font-family: var(--g-fd); font-size: 1.25rem; font-weight: 700;
  color: var(--g-soil); line-height: 1.2;
}
.iil-card-services {
  display: flex; flex-direction: column; gap: .5rem;
}
.iil-card-service {
  display: flex; align-items: center; gap: .7rem;
  font-size: .84rem; font-weight: 600; color: var(--g-forest);
  padding: .6rem .85rem;
  background: var(--g-dew); border-radius: 8px;
  text-decoration: none;
  transition: background .18s, color .18s;
}
.iil-card-service:hover { background: var(--g-meadow); color: var(--g-soil); }
.iil-card-service::before { content: '✓'; color: var(--g-moss); font-weight: 800; }
.iil-card-divider { border: none; border-top: 1px solid var(--g-stone); margin: .2rem 0; }
.iil-card-phone {
  font-family: var(--g-fd); font-size: 1.35rem; font-weight: 700;
  color: var(--g-soil) !important; display: flex; align-items: center; gap: 8px;
  text-decoration: none; transition: color .2s;
}
.iil-card-phone:hover { color: var(--g-moss) !important; }
.iil-card-phone svg { stroke: var(--g-moss); fill: none; stroke-width: 2; stroke-linecap: round; flex-shrink: 0; }

/* ── SECTION SHELLS (reuse iis-wrap / iis-inner) ─────────── */

/* ── SERVICE GRID — for hub and location pages ────────────── */
.iil-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem; margin-top: 2.5rem;
}
.iil-service-card {
  background: var(--g-white);
  border: 1.5px solid var(--g-stone);
  border-radius: 16px; padding: 1.5rem;
  display: flex; flex-direction: column; gap: .75rem;
  transition: border-color .2s, box-shadow .2s, transform .2s;
  text-decoration: none;
}
.iil-service-card:hover {
  border-color: var(--g-fern);
  box-shadow: 0 8px 32px rgba(13,18,8,.1);
  transform: translateY(-3px);
}
.iil-service-icon {
  width: 44px; height: 44px; border-radius: 10px;
  background: var(--g-dew); display: grid; place-items: center;
}
.iil-service-icon svg { width: 20px; height: 20px; stroke: var(--g-moss); fill: none; stroke-width: 1.8; stroke-linecap: round; }
.iil-service-card h3 { font-size: .97rem; font-weight: 700; color: var(--g-soil); }
.iil-service-card p  { font-size: .82rem; color: var(--g-muted); line-height: 1.65; flex: 1; }
.iil-service-card-footer {
  font-size: .8rem; font-weight: 700; color: var(--g-moss);
  display: flex; align-items: center; gap: 4px; margin-top: auto;
}
.iil-service-card-footer::after { content: '→'; transition: transform .18s; }
.iil-service-card:hover .iil-service-card-footer::after { transform: translateX(4px); }

/* ── LOCATION GRID — hub page ─────────────────────────────── */
.iil-locations-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem; margin-top: 2.5rem;
}
.iil-location-card {
  background: var(--g-white);
  border: 1.5px solid var(--g-stone);
  border-radius: 16px; overflow: hidden;
  text-decoration: none;
  transition: border-color .2s, box-shadow .2s, transform .2s;
  display: flex; flex-direction: column;
}
.iil-location-card:hover {
  border-color: var(--g-fern);
  box-shadow: 0 10px 36px rgba(13,18,8,.1);
  transform: translateY(-3px);
}
.iil-location-img {
  height: 160px; overflow: hidden;
  background: linear-gradient(145deg, #3d6b42, #1c2b18);
  display: flex; align-items: center; justify-content: center;
  position: relative;
}
.iil-location-img svg { opacity: .2; width: 48px; height: 48px; stroke: white; fill: none; stroke-width: 1; }
.iil-location-img-label {
  position: absolute; bottom: .75rem; left: .75rem;
  background: rgba(28,43,24,.8); color: var(--g-fern);
  font-size: .62rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  padding: .25rem .6rem; border-radius: 100px;
}
.iil-location-body { padding: 1.25rem; flex: 1; display: flex; flex-direction: column; gap: .5rem; }
.iil-location-body h3 { font-family: var(--g-fd); font-size: 1.15rem; font-weight: 700; color: var(--g-soil); }
.iil-location-body p  { font-size: .8rem; color: var(--g-muted); line-height: 1.6; flex: 1; }
.iil-location-chips {
  display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .5rem;
}
.iil-chip {
  font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--g-sage); background: var(--g-dew);
  padding: .22rem .6rem; border-radius: 100px;
}
.iil-location-arrow {
  font-size: .8rem; font-weight: 700; color: var(--g-moss);
  display: flex; align-items: center; gap: 4px; margin-top: .5rem;
}
.iil-location-arrow::after { content: '→'; transition: transform .18s; }
.iil-location-card:hover .iil-location-arrow::after { transform: translateX(4px); }

/* ── NEARBY LOCATIONS STRIP ───────────────────────────────── */
.iil-nearby-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .85rem; margin-top: 2rem;
}
.iil-nearby-card {
  border: 1.5px solid var(--g-stone);
  border-radius: 12px; padding: 1.1rem 1.25rem;
  text-decoration: none; background: var(--g-white);
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.iil-nearby-card:hover {
  border-color: var(--g-fern); transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(13,18,8,.08);
}
.iil-nearby-card h4 { font-size: .9rem; font-weight: 700; color: var(--g-soil); }
.iil-nearby-card p  { font-size: .75rem; color: var(--g-muted); margin-top: 2px; }
.iil-nearby-arrow   { font-size: 1rem; color: var(--g-moss); flex-shrink: 0; }

/* ── SUB-PAGE NAV (residential / commercial tabs) ─────────── */
.iil-subnav {
  background: var(--g-white);
  border-bottom: 1px solid var(--g-stone);
  padding: 0 clamp(1.25rem, 5vw, 5rem);
}
.iil-subnav-inner {
  max-width: 1140px; margin: 0 auto;
  display: flex; gap: 0; align-items: center;
  overflow-x: auto; -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.iil-subnav-inner::-webkit-scrollbar { display: none; }
.iil-subnav-link {
  font-size: .82rem; font-weight: 600; letter-spacing: .04em;
  color: var(--g-muted); padding: 1rem 1.25rem;
  text-decoration: none; white-space: nowrap;
  border-bottom: 2.5px solid transparent;
  transition: color .18s, border-color .18s;
}
.iil-subnav-link:hover { color: var(--g-soil); }
.iil-subnav-link.active { color: var(--g-moss); border-bottom-color: var(--g-moss); }

/* ── LOCAL SEO TEXT BLOCK ─────────────────────────────────── */
.iil-local-block {
  background: var(--g-dew);
  border: 1px solid var(--g-stone);
  border-radius: 16px;
  padding: clamp(1.5rem, 3vw, 2.2rem);
  margin-top: 2.5rem;
}
.iil-local-block h3 {
  font-family: var(--g-fd); font-size: 1.15rem; font-weight: 700;
  color: var(--g-soil); margin-bottom: .75rem;
}
.iil-local-block p {
  font-size: .86rem; color: var(--g-muted); line-height: 1.82;
}
.iil-local-block p + p { margin-top: .65rem; }

/* ── DARK PANEL (reused from service pages) ───────────────── */
/* Already defined as .iis-dark-panel — no duplicate needed   */

/* ── RESPONSIVE ───────────────────────────────────────────── */
@media (max-width: 860px) {
  .iil-hero-inner { grid-template-columns: 1fr; }
  .iil-contact-card { display: none; } /* show as sticky CTA on mobile instead */
  .iil-services-grid { grid-template-columns: 1fr 1fr; }
  .iil-locations-grid { grid-template-columns: 1fr 1fr; }
  .iil-nearby-strip { grid-template-columns: 1fr 1fr; }
  .iil-hero-sub { max-width: 100%; }
}
@media (max-width: 560px) {
  .iil-services-grid { grid-template-columns: 1fr; }
  .iil-locations-grid { grid-template-columns: 1fr; }
  .iil-nearby-strip { grid-template-columns: 1fr; }
  .iil-hero-btns { flex-direction: column; align-items: stretch; }
  .iil-hero-btns .iis-btn { justify-content: center; }
}

/* ── MOBILE STICKY CTA BAR ────────────────────────────────── */
.iil-mobile-cta {
  display: none;
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 100;
  background: var(--g-soil);
  padding: .85rem clamp(1rem, 4vw, 1.5rem);
  box-shadow: 0 -4px 24px rgba(0,0,0,.2);
  gap: .75rem;
  align-items: center; justify-content: center;
  border-top: 1px solid rgba(255,255,255,.08);
}
@media (max-width: 860px) {
  .iil-mobile-cta { display: flex; }
  /* pad bottom of page so content isn't hidden behind bar */
  .iis-page { padding-bottom: 70px; }
}
.iil-mobile-cta a {
  flex: 1; text-align: center; max-width: 220px;
}
/* ── Service area linked chips — green instead of gold ── */
a.ii-area-chip {
  background: var(--ii-forest, #2a4a2e) !important;
  color: #fff !important;
  border-color: var(--ii-forest, #2a4a2e) !important;
}
a.ii-area-chip:hover {
  background: var(--ii-moss, #3d6b42) !important;
  border-color: var(--ii-moss, #3d6b42) !important;
}

/* Featured chip stays distinct */
a.ii-area-chip.ii-featured {
  background: var(--ii-fern, #93c47d) !important;
  color: var(--ii-soil, #1c2b18) !important;
  border-color: var(--ii-fern, #93c47d) !important;
}

/* View all service areas link — make it pop */
.ii-areas-layout .ii-btn-outline {
  color: var(--ii-forest, #2a4a2e) !important;
  border-color: var(--ii-forest, #2a4a2e) !important;
  font-weight: 700 !important;
}
.ii-areas-layout .ii-btn-outline:hover {
  background: var(--ii-forest, #2a4a2e) !important;
  color: #fff !important;
}
/* View all service areas — no fill hover, just clean arrow shift */
.ii-areas-layout .ii-btn-outline {
  color: var(--ii-forest, #2a4a2e) !important;
  border: none !important;
  background: transparent !important;
  padding-left: 0 !important;
  font-weight: 700 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.ii-areas-layout .ii-btn-outline:hover {
  background: transparent !important;
  color: var(--ii-moss, #3d6b42) !important;
  text-decoration: underline;
}
/* ── Service card links — green instead of gold ── */
.ii-card-link,
.ii-service-link,
.ii-services-section a[style*="color"],
.ii-services-section .ii-card a {
  color: var(--ii-moss, #3d6b42) !important;
}
.ii-card-link:hover,
.ii-service-link:hover {
  color: var(--ii-forest, #2a4a2e) !important;
}
/* ============================================================
   IMAGE IRRIGATION — Contact Page CSS  (ii-contact.css)
   Append to: Elementor → Site Settings → Custom CSS
   ============================================================ */

/* ── HERO ────────────────────────────────────────────────── */
.iico-hero {
  background: var(--g-cream, #f5f1eb);
  padding: clamp(3.5rem,7vw,6rem) clamp(1.25rem,5vw,5rem) clamp(2.5rem,5vw,4rem);
  border-bottom: 1px solid var(--g-stone, #ddd8ce);
  width: 100%; overflow: hidden; position: relative;
}
.iico-hero::after {
  content: '';
  position: absolute; top: 0; right: 0; bottom: 0;
  width: 40%;
  background: radial-gradient(ellipse at top right, rgba(147,196,125,.1) 0%, transparent 70%);
  pointer-events: none;
}
.iico-hero-inner {
  max-width: 1140px; margin: 0 auto;
  display: flex; flex-direction: column;
  align-items: flex-start; gap: 1.2rem;
}
.iico-h1 {
  font-family: var(--g-fd, 'Playfair Display', serif);
  font-size: clamp(2.2rem,4.5vw,4rem);
  font-weight: 900; color: var(--g-soil, #1c2b18);
  line-height: 1.06; letter-spacing: -.03em; margin: 0;
}
.iico-h1 em { font-style: italic; color: var(--g-moss, #3d6b42); }
.iico-hero-sub {
  font-size: clamp(.88rem,1.3vw,1rem);
  color: var(--g-muted, #5a6854); line-height: 1.82;
  max-width: 580px; margin: 0;
}
.iico-hero-trust {
  display: flex; flex-wrap: wrap; gap: .6rem 1.5rem;
  margin-top: .25rem;
}
.iico-trust-item {
  display: flex; align-items: center; gap: 6px;
  font-size: .8rem; font-weight: 600;
  color: var(--g-forest, #2a4a2e);
}
.iico-trust-item svg { stroke: var(--g-moss, #3d6b42); flex-shrink: 0; }

/* ── INFO PANEL (left column) ────────────────────────────── */
.iico-info-panel {
  display: flex; flex-direction: column; gap: 0;
  height: 100%;
}
.iico-info-block {
  display: flex; gap: 1rem; align-items: flex-start;
  padding: 1.4rem 0;
}
.iico-info-icon {
  width: 42px; height: 42px; border-radius: 10px;
  background: var(--g-dew, #eaf4e6);
  display: grid; place-items: center; flex-shrink: 0;
  margin-top: .1rem;
}
.iico-info-icon svg { stroke: var(--g-moss, #3d6b42); }
.iico-info-content {
  display: flex; flex-direction: column; gap: .2rem; flex: 1;
}
.iico-info-label {
  font-size: .65rem; font-weight: 700; letter-spacing: .18em;
  text-transform: uppercase; color: var(--g-sage, #6b9e6e);
}
.iico-info-main {
  font-family: var(--g-fd, 'Playfair Display', serif);
  font-size: 1.25rem; font-weight: 700;
  color: var(--g-soil, #1c2b18) !important;
  text-decoration: none; line-height: 1.2;
  transition: color .18s;
}
a.iico-info-main:hover { color: var(--g-moss, #3d6b42) !important; }
.iico-info-sub {
  font-size: .76rem; color: var(--g-muted, #5a6854); line-height: 1.55;
}
.iico-divider {
  border: none; border-top: 1px solid var(--g-stone, #ddd8ce);
  margin: 0;
}

/* ── HOURS ───────────────────────────────────────────────── */
.iico-hours {
  display: flex; flex-direction: column; gap: .3rem;
  margin-top: .4rem;
}
.iico-hours-row {
  display: flex; justify-content: space-between; align-items: center;
  font-size: .84rem; color: var(--g-soil, #1c2b18);
  padding: .3rem 0;
  border-bottom: 1px solid var(--g-stone, #ddd8ce);
}
.iico-hours-row:last-child { border-bottom: none; }
.iico-hours-row span:first-child { font-weight: 500; }
.iico-hours-time {
  font-weight: 700; color: var(--g-forest, #2a4a2e) !important;
}
.iico-hours-closed {
  font-weight: 600; color: var(--g-muted, #5a6854) !important;
  font-size: .8rem;
}

/* ── SERVICE AREA CHIPS ──────────────────────────────────── */
.iico-area-chips {
  display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .5rem;
}
.iico-chip {
  font-size: .7rem; font-weight: 600; letter-spacing: .06em;
  padding: .28rem .7rem; border-radius: 100px;
  background: var(--g-dew, #eaf4e6);
  color: var(--g-forest, #2a4a2e);
  white-space: nowrap;
}
.iico-chip-linked {
  text-decoration: none !important;
  background: var(--g-forest, #2a4a2e) !important;
  color: #fff !important;
  transition: background .18s;
}
.iico-chip-linked:hover {
  background: var(--g-moss, #3d6b42) !important;
}
.iico-areas-link {
  font-size: .8rem; font-weight: 700;
  color: var(--g-moss, #3d6b42) !important;
  text-decoration: none; margin-top: .6rem; display: inline-block;
  transition: color .18s;
}
.iico-areas-link:hover { color: var(--g-forest, #2a4a2e) !important; }

/* ── GOOGLE RATING ───────────────────────────────────────── */
.iico-rating-block {
  display: flex; align-items: center; gap: .85rem;
  padding: 1.2rem 1.25rem;
  background: var(--g-dew, #eaf4e6);
  border: 1px solid var(--g-meadow, #c0ddb8);
  border-radius: 14px; flex-wrap: wrap;
}
.iico-rating-stars {
  font-size: 1.1rem; color: #f4b942; letter-spacing: 2px; flex-shrink: 0;
}
.iico-rating-text {
  flex: 1; display: flex; flex-direction: column; gap: 1px;
}
.iico-rating-text strong {
  font-size: .9rem; font-weight: 700; color: var(--g-soil, #1c2b18);
}
.iico-rating-text span {
  font-size: .72rem; color: var(--g-muted, #5a6854);
}
.iico-reviews-link {
  font-size: .78rem; font-weight: 700;
  color: var(--g-moss, #3d6b42) !important;
  text-decoration: none; white-space: nowrap;
  transition: color .18s;
}
.iico-reviews-link:hover { color: var(--g-forest, #2a4a2e) !important; }

/* ── ELEMENTOR FORM STYLING ──────────────────────────────── */
/* Targets Elementor's default form widget classes            */

/* Form container */
.iico-form-wrap .elementor-form,
.elementor-widget-form .elementor-form {
  background: var(--g-white, #fff) !important;
  border: 1.5px solid var(--g-stone, #ddd8ce) !important;
  border-radius: 20px !important;
  padding: clamp(1.5rem,3vw,2.25rem) !important;
  box-shadow: 0 8px 40px rgba(13,18,8,.08) !important;
}

/* Field rows */
.elementor-field-group { margin-bottom: .85rem !important; }

/* Labels */
.elementor-field-label {
  font-family: 'Syne', sans-serif !important;
  font-size: .72rem !important; font-weight: 700 !important;
  letter-spacing: .12em !important; text-transform: uppercase !important;
  color: var(--g-muted, #5a6854) !important;
  margin-bottom: .4rem !important; display: block !important;
}

/* Inputs & textareas */
.elementor-field-textual,
.elementor-field-textual:focus {
  font-family: 'Syne', sans-serif !important;
  font-size: .9rem !important;
  color: var(--g-soil, #1c2b18) !important;
  background: var(--g-warm, #faf7f2) !important;
  border: 1.5px solid var(--g-stone, #ddd8ce) !important;
  border-radius: 9px !important;
  padding: .75rem 1rem !important;
  width: 100% !important;
  transition: border-color .18s, box-shadow .18s !important;
  outline: none !important;
  box-shadow: none !important;
}
.elementor-field-textual:focus {
  border-color: var(--g-moss, #3d6b42) !important;
  box-shadow: 0 0 0 3px rgba(61,107,66,.12) !important;
  background: var(--g-white, #fff) !important;
}

/* Select dropdowns */
.elementor-field-type-select select {
  font-family: 'Syne', sans-serif !important;
  font-size: .9rem !important;
  color: var(--g-soil, #1c2b18) !important;
  background: var(--g-warm, #faf7f2) !important;
  border: 1.5px solid var(--g-stone, #ddd8ce) !important;
  border-radius: 9px !important;
  padding: .75rem 1rem !important;
  width: 100% !important;
  appearance: none !important;
  transition: border-color .18s !important;
}
.elementor-field-type-select select:focus {
  border-color: var(--g-moss, #3d6b42) !important;
  outline: none !important;
}

/* Submit button */
.elementor-button[type="submit"],
.elementor-form .elementor-button {
  font-family: 'Syne', sans-serif !important;
  font-size: .95rem !important; font-weight: 700 !important;
  letter-spacing: .03em !important;
  background: var(--g-forest, #2a4a2e) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 9px !important;
  padding: .9rem 2rem !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: background .2s, transform .18s, box-shadow .18s !important;
  box-shadow: 0 4px 18px rgba(42,74,46,.28) !important;
}
.elementor-button[type="submit"]:hover,
.elementor-form .elementor-button:hover {
  background: var(--g-soil, #1c2b18) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(42,74,46,.35) !important;
}

/* Success message */
.elementor-message.elementor-message-success {
  background: var(--g-dew, #eaf4e6) !important;
  border: 1px solid var(--g-meadow, #c0ddb8) !important;
  color: var(--g-forest, #2a4a2e) !important;
  border-radius: 9px !important;
  font-family: 'Syne', sans-serif !important;
  font-weight: 600 !important;
}

/* ── HERO DECORATIVE ELEMENTS ────────────────────────────── */
.iico-hero-deco {
  position: absolute; top: 0; right: 0; bottom: 0;
  width: 50%; pointer-events: none; overflow: hidden;
}
.iico-deco-arc {
  position: absolute; bottom: 0; right: -2rem;
  width: clamp(280px, 45vw, 420px);
  height: auto; opacity: .9;
}
.iico-deco-pin {
  position: absolute; top: clamp(1.5rem, 4vw, 3rem); right: clamp(3rem, 8vw, 7rem);
  display: flex; flex-direction: column; align-items: center; gap: 5px;
  animation: iico-pin-bounce 3s ease-in-out infinite;
}
.iico-deco-pin span {
  font-size: .65rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--g-forest, #2a4a2e);
  background: white; padding: .25rem .65rem;
  border-radius: 100px; border: 1px solid var(--g-meadow, #c0ddb8);
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(13,18,8,.1);
}
@keyframes iico-pin-bounce {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-7px); }
}

/* ── TRUST GRID ──────────────────────────────────────────── */
.iico-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem; margin-top: 2rem;
}
.iico-trust-card {
  background: var(--g-white, #fff);
  border: 1.5px solid var(--g-stone, #ddd8ce);
  border-radius: 16px; padding: 1.5rem;
  transition: border-color .2s, transform .2s;
}
.iico-trust-card:hover {
  border-color: var(--g-fern, #93c47d);
  transform: translateY(-2px);
}
.iico-tc-icon {
  width: 44px; height: 44px; border-radius: 11px;
  background: var(--g-dew, #eaf4e6);
  display: grid; place-items: center; margin-bottom: .9rem;
}
.iico-tc-icon svg {
  width: 20px; height: 20px;
  stroke: var(--g-moss, #3d6b42); fill: none;
  stroke-width: 1.8; stroke-linecap: round;
}
.iico-trust-card h3 {
  font-size: .92rem; font-weight: 700;
  color: var(--g-soil, #1c2b18); margin-bottom: .4rem;
}
.iico-trust-card p {
  font-size: .8rem; color: var(--g-muted, #5a6854); line-height: 1.72;
}

/* ── MAP ─────────────────────────────────────────────────── */
.iico-map-wrap { display: flex; flex-direction: column; }
.iico-map-chips {
  display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1.25rem;
}

/* ── FAQ TEASER ──────────────────────────────────────────── */
.iico-faq-bg { background: var(--g-soil, #1c2b18); }
.iico-faq-teaser {
  display: grid; grid-template-columns: 380px 1fr;
  gap: clamp(2rem,5vw,5rem); align-items: start;
}
.iico-faq-left {
  display: flex; flex-direction: column; gap: 1.25rem;
}
.iico-faq-icon {
  width: 56px; height: 56px; border-radius: 14px;
  background: rgba(255,255,255,.08);
  display: grid; place-items: center;
}
.iico-faq-icon svg { stroke: var(--g-fern, #93c47d); }
.iico-faq-left .iis-h2 em { color: var(--g-fern, #93c47d); }
.iico-faq-left .iis-h2 { color: #fff !important; }
.iico-faq-left .iis-label { color: var(--g-sage, #6b9e6e) !important; }

.iico-faq-questions {
  display: flex; flex-direction: column; gap: .5rem;
  padding-top: .25rem;
}
.iico-faq-item {
  display: flex; justify-content: space-between; align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  text-decoration: none !important;
  transition: background .18s, border-color .18s;
}
.iico-faq-item:hover {
  background: rgba(255,255,255,.1);
  border-color: rgba(147,196,125,.3);
}
.iico-faq-item span {
  font-size: .9rem; font-weight: 600;
  color: rgba(255,255,255,.85); line-height: 1.4;
}
.iico-faq-item svg { stroke: var(--g-sage, #6b9e6e); flex-shrink: 0; }
.iico-faq-all {
  font-size: .82rem; font-weight: 700;
  color: var(--g-sage, #6b9e6e) !important;
  text-decoration: none; padding: .5rem 0;
  transition: color .18s; display: inline-block;
}
.iico-faq-all:hover { color: var(--g-fern, #93c47d) !important; }

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 860px) {
  .iico-hero-deco { width: 60%; opacity: .5; }
  .iico-trust-grid { grid-template-columns: 1fr 1fr; }
  .iico-faq-teaser { grid-template-columns: 1fr; gap: 2rem; }
}
@media (max-width: 560px) {
  .iico-hero-deco { display: none; }
  .iico-hero-trust { gap: .5rem 1rem; }
  .iico-h1 { font-size: clamp(1.9rem,6vw,2.8rem); }
  .iico-trust-grid { grid-template-columns: 1fr; }
  .iico-info-block { gap: .75rem; }
  .iico-info-main { font-size: 1.1rem; }
}/* End custom CSS */