/* site-base.css */
/* Jopestkil integrated base — typography and safe cross-section defaults. */
:root {
  --site-font: "Akt", "Aptos", "Segoe UI", Arial, Helvetica, sans-serif;
  --site-shell: 1330px;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
  background: #fff;
}

body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  background: #fff;
  color: #17221e;
  font-family: var(--site-font);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img, svg { max-width: 100%; }
img { height: auto; }
button, input, textarea, select { font: inherit; }
a { text-underline-offset: 3px; }

/* Keep the supplied font family consistent through all integrated sections. */
.site-header,
.jp-pest-strip,
.jop-about,
.jr-section,
.coverage-faq,
.jpf-cta,
.jpf-footer { font-family: var(--site-font); }

/* Google lettering remains a logo treatment, not body typography. */
.jr-google-wordmark { font-family: Arial, Helvetica, sans-serif; }

/* Integration safety: prevent long content from creating horizontal overflow. */
.site-header *,
.jp-pest-strip *,
.jop-about *,
.jr-section *,
.coverage-faq *,
.jpf-cta *,
.jpf-footer * { min-width: 0; }

@media (max-width: 560px) {
  body { min-width: 0; }
}

/* Canonical brand palette for new/integration layers. Existing source sections remain intact. */
:root {
  --brand-green-deep: #003f28;
  --brand-green: #005234;
  --brand-green-mid: #0b6a3c;
  --brand-lime: #69c71f;
  --brand-lime-soft: #9adf43;
  --brand-text: #17221e;
  --brand-muted: #66736c;
  --brand-line: #e7eee9;
}

.site-header, .jp-pest-strip, .jop-about, .jps-services-wrap, .jr-section, .coverage-faq, .jpf-cta, .jpf-footer { font-family: var(--site-font); }


/* header.css */
:root {
  --green-950: #003f28;
  --green-900: #005234;
  --green-850: #075c39;
  --green-700: #15923a;
  --lime-500: #69c71f;
  --lime-600: #48b311;
  --text: #18211d;
  --muted: #66736c;
  --line: #e7eee9;
  --white: #ffffff;
  --shell: 1340px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background: #fff;
  font-family: var(--site-font);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }

.header-shell {
  width: min(calc(100% - 48px), var(--shell));
  margin-inline: auto;
}

.site-header {
  width: 100%;
  position: relative;
  z-index: 1000;
  background: #fff;
}

/* Top green strip: 42px in the reference */
.top-strip {
  min-height: 42px;
  background: linear-gradient(90deg, #004a2f 0%, #005d38 52%, #005131 100%);
  color: rgba(255,255,255,.94);
  border-bottom: 1px solid rgba(255,255,255,.14);
}

.top-strip__inner {
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.top-strip__message,
.top-strip__contacts {
  margin: 0;
  display: flex;
  align-items: center;
  white-space: nowrap;
}

.top-strip__message {
  gap: 11px;
  font-size: 12.8px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: -.01em;
}

.top-strip__contacts {
  gap: 12px;
  font-size: 12.6px;
  line-height: 1;
  font-weight: 500;
}

.top-strip__divider {
  width: 1px;
  height: 14px;
  background: rgba(255,255,255,.45);
  flex: 0 0 1px;
}

.top-strip__divider--contact { height: 17px; opacity: .55; }

.top-contact {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.92);
  transition: opacity .18s ease;
}
.top-contact:hover { opacity: .78; }
.top-contact svg {
  width: 16px;
  height: 16px;
  fill: #8ed339;
  flex: 0 0 16px;
}

/* Main white navigation: 82px in the reference */
.main-nav-wrap {
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid #edf1ee;
  box-shadow: 0 3px 12px rgba(8, 45, 28, .04);
}

.main-nav {
  height: 100px;
  display: grid;
  grid-template-columns: 190px 1fr 224px;
  align-items: center;
  column-gap: 24px;
}

.brand {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  line-height: 0;
}
.brand img {
  display: block;
  width: 160px;
  height: auto;
  max-height: 88px;
}

.desktop-nav {
  height: 100%;
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: clamp(23px, 2.35vw, 38px);
}

.nav-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 100%;
  color: #18231f;
  font-size: 13.2px;
  font-weight: 500;
  letter-spacing: -.02em;
  transition: color .18s ease;
}

.nav-link::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -1px;
  width: 0;
  height: 3px;
  border-radius: 4px 4px 0 0;
  transform: translateX(-50%);
  background: #78ce34;
  transition: width .18s ease;
}

.nav-link:hover,
.nav-link.is-active { color: #15963b; }
.nav-link:hover::after,
.nav-link.is-active::after { width: 46px; }

.main-nav__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.quote-btn {
  width: 224px;
  height: 54px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -.01em;
  background: linear-gradient(135deg, #7ad21f 0%, #4ebc13 48%, #2daa0d 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 6px 15px rgba(62, 170, 15, .19);
  border: 1px solid rgba(78, 170, 18, .35);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.quote-btn:hover {
  transform: translateY(-1px);
  filter: saturate(1.04);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.36), 0 8px 20px rgba(62, 170, 15, .24);
}
.quote-btn svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
}

.menu-toggle {
  display: none;
  width: 45px;
  height: 45px;
  padding: 0;
  border: 1px solid #dde7df;
  border-radius: 12px;
  background: #fff;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
}
.menu-toggle span {
  width: 20px;
  height: 2px;
  border-radius: 2px;
  background: #0c5c38;
  transition: transform .2s ease, opacity .2s ease;
}
.menu-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle.is-open span:nth-child(2) { opacity: 0; }
.menu-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.mobile-menu {
  display: none;
  border-top: 1px solid #edf2ee;
  background: rgba(255,255,255,.99);
}
.mobile-menu__inner { padding: 10px 0 20px; }
.mobile-link {
  display: block;
  padding: 12px 4px;
  border-bottom: 1px solid #eff3f0;
  color: #203129;
  font-size: 14px;
  font-weight: 500;
}
.mobile-link.is-active { color: #15963b; }
.mobile-quote {
  margin-top: 16px;
  min-height: 48px;
  border-radius: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  background: linear-gradient(135deg, #78cf1f, #32aa0d);
}

.demo-content { min-height: 70vh; background: #fff; }

@media (max-width: 1200px) {
  .header-shell { width: min(calc(100% - 36px), var(--shell)); }
  .main-nav { grid-template-columns: 175px 1fr 190px; column-gap: 16px; }
  .brand img { width: 145px; }
  .desktop-nav { gap: 20px; }
  .nav-link { font-size: 12.5px; }
  .quote-btn { width: 190px; font-size: 13px; }
  .top-strip__message { display: none; }
  .top-strip__inner { justify-content: flex-end; }
}

@media (max-width: 980px) {
  .top-strip__contacts { width: 100%; justify-content: space-between; gap: 9px; }
  .desktop-nav { display: none; }
  .main-nav { grid-template-columns: 1fr auto; height: 82px; }
  .main-nav__actions { grid-column: 2; }
  .brand img { width: 132px; }
  .quote-btn { width: 176px; height: 49px; border-radius: 14px; }
  .menu-toggle { display: inline-flex; }
  .mobile-menu.is-open { display: block; }
}

@media (max-width: 720px) {
  .header-shell { width: min(calc(100% - 28px), var(--shell)); }
  .top-strip { min-height: 38px; }
  .top-strip__inner { height: 38px; }
  .top-strip__contacts { justify-content: center; }
  .top-contact--hours,
  .top-strip__divider--contact:last-of-type { display: none; }
  .top-contact { font-size: 11.3px; }
  .top-contact svg { width: 14px; height: 14px; flex-basis: 14px; }
  .main-nav { height: 76px; }
  .brand img { width: 118px; }
  .quote-btn { display: none; }
}

@media (max-width: 480px) {
  .header-shell { width: calc(100% - 24px); }
  .top-strip__contacts { justify-content: space-between; }
  .top-contact { gap: 5px; font-size: 10.4px; }
  .top-strip__divider--contact { height: 14px; }
  .main-nav { height: 72px; }
  .brand img { width: 108px; }
  .menu-toggle { width: 43px; height: 43px; border-radius: 11px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .001ms !important; animation-duration: .001ms !important; }
}


/* 2026 update — clearer typography sizing */
.top-strip__message{font-size:14.2px;font-weight:500}
.top-strip__contacts{font-size:13.4px;font-weight:600}
.nav-link{font-size:14.4px;font-weight:600}
.quote-btn{font-size:15px;font-weight:700}
@media (max-width:1200px){.top-strip__contacts{font-size:13px}.nav-link{font-size:13.5px}.quote-btn{font-size:14px}}
@media (max-width:980px){.mobile-link{font-size:15px;font-weight:600}.mobile-quote{font-size:15px;font-weight:700}}
@media (max-width:560px){.top-strip{min-height:48px}.top-strip__inner{height:auto;min-height:48px;padding:8px 0}.top-strip__contacts{font-size:12.5px;gap:8px;flex-wrap:wrap;justify-content:center}.top-contact{min-height:24px}}

/* V10 mobile top strip: phone contacts only, one clean row. */
@media (max-width:720px){
  .top-strip{min-height:42px;}
  .top-strip__inner{height:42px;min-height:42px;padding:0;}
  .top-strip__contacts{justify-content:center;flex-wrap:nowrap;gap:0;width:100%;}
  .top-strip__contacts > a[href^="mailto:"],
  .top-contact--hours,
  .top-strip__divider--contact{display:none!important;}
  .top-strip__contacts .top-contact[href^="tel:"]{
    display:inline-flex!important;
    min-height:42px;
    gap:8px;
    font-size:13.2px;
    font-weight:800;
    white-space:nowrap;
  }
  .top-strip__contacts .top-contact[href^="tel:"] svg{width:16px;height:16px;flex-basis:16px;}
}
@media (max-width:390px){
  .top-strip__contacts .top-contact[href^="tel:"]{font-size:12.1px;gap:6px;}
}


/* about-us.css */
:root{
  --about-green:#05683a;
  --about-green-2:#0b7b47;
  --about-lime:#73d42d;
  --about-text:#26352f;
  --about-muted:#65736d;
  --about-line:#e7eee9;
  --about-bg:#ffffff;
  --about-soft:#f5faf7;
  --about-shadow:0 24px 60px rgba(8,74,45,.12);
}

.jop-about,
.jop-about *,
.jop-about *::before,
.jop-about *::after{box-sizing:border-box}

.jop-about{
  position:relative;
  overflow:hidden;
  width:100%;
  background:
    radial-gradient(circle at 8% 15%, rgba(115,212,45,.09), transparent 28%),
    radial-gradient(circle at 92% 90%, rgba(5,104,58,.06), transparent 28%),
    var(--about-bg);
  padding:clamp(56px,7vw,104px) 0;
  font-family:var(--site-font);
}

.jop-about::before{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--about-line),transparent);
}

.jop-about__container{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:clamp(44px,5vw,76px);
  align-items:center;
}

.jop-about__visual{
  position:relative;
  min-width:0;
}

.jop-about__frame{
  position:relative;
  border-radius:26px;
  overflow:hidden;
  box-shadow:var(--about-shadow);
  background:#eaf4ee;
  aspect-ratio:1.34/1;
}

.jop-about__frame::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);
}

.jop-about__image{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

.jop-about__accent{
  position:absolute;
  z-index:-1;
  width:145px;
  height:145px;
  right:-24px;
  bottom:-28px;
  border:1px solid rgba(5,104,58,.15);
  border-radius:36px;
  transform:rotate(12deg);
}

.jop-about__content{
  min-width:0;
  max-width:590px;
}

.jop-about__eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 14px;
  color:#4cb63f;
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.jop-about__eyebrow::after{
  content:"";
  width:62px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#55bf42,transparent);
}

.jop-about__title{
  margin:0;
  max-width:650px;
  color:var(--about-green);
  font-size:clamp(36px,4vw,58px);
  line-height:.98;
  letter-spacing:-.045em;
  font-weight:800;
  text-wrap:balance;
}

.jop-about__lead{
  margin:23px 0 25px;
  max-width:600px;
  color:var(--about-muted);
  font-size:clamp(15px,1.25vw,17px);
  line-height:1.72;
  font-weight:500;
}

.jop-about__features{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:13px;
}

.jop-about__feature{
  display:flex;
  align-items:flex-start;
  gap:12px;
  color:var(--about-text);
  font-size:15px;
  line-height:1.42;
  font-weight:700;
}

.jop-about__check{
  flex:0 0 22px;
  width:22px;
  height:22px;
  margin-top:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(135deg,#61c93f,#2aaa49);
  box-shadow:0 5px 13px rgba(57,180,67,.18);
}

.jop-about__check svg{
  width:12px;
  height:12px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.jop-about__actions{
  margin-top:30px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
}

.jop-about__button{
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  padding:0 23px;
  border-radius:10px;
  color:#fff;
  background:linear-gradient(135deg,var(--about-green),var(--about-green-2));
  text-decoration:none;
  font-size:14px;
  font-weight:800;
  box-shadow:0 14px 30px rgba(5,104,58,.18);
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}

.jop-about__button:hover{
  transform:translateY(-2px);
  box-shadow:0 17px 34px rgba(5,104,58,.23);
  filter:saturate(1.06);
}

.jop-about__button:focus-visible{
  outline:3px solid rgba(115,212,45,.42);
  outline-offset:3px;
}

.jop-about__button svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.jop-about__note{
  display:flex;
  align-items:center;
  gap:9px;
  color:#728078;
  font-size:13px;
  font-weight:700;
}

.jop-about__note-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--about-lime);
  box-shadow:0 0 0 5px rgba(115,212,45,.12);
}

@media (max-width:1024px){
  .jop-about__container{
    width:min(940px,calc(100% - 36px));
    grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);
    gap:38px;
  }

  .jop-about__title{
    font-size:clamp(34px,4.6vw,48px);
  }

  .jop-about__frame{
    border-radius:22px;
  }
}

@media (max-width:820px){
  .jop-about{
    padding:60px 0;
  }

  .jop-about__container{
    width:min(700px,calc(100% - 32px));
    grid-template-columns:1fr;
    gap:38px;
  }

  .jop-about__visual{
    max-width:680px;
    width:100%;
    margin:0 auto;
  }

  .jop-about__frame{
    aspect-ratio:1.45/1;
  }

  .jop-about__content{
    max-width:680px;
    margin:0 auto;
  }

  .jop-about__title{
    max-width:640px;
    font-size:clamp(36px,7vw,52px);
  }
}

@media (max-width:560px){
  .jop-about{
    padding:42px 0 48px;
  }

  .jop-about__container{
    width:calc(100% - 28px);
    gap:30px;
  }

  .jop-about__frame{
    aspect-ratio:1.16/1;
    border-radius:18px;
  }

  .jop-about__image{
    object-position:center;
  }

  .jop-about__eyebrow{
    margin-bottom:11px;
    font-size:10px;
    letter-spacing:.11em;
  }

  .jop-about__eyebrow::after{
    width:46px;
  }

  .jop-about__title{
    font-size:34px;
    line-height:1.02;
    letter-spacing:-.04em;
  }

  .jop-about__lead{
    margin:18px 0 21px;
    font-size:14px;
    line-height:1.62;
  }

  .jop-about__features{
    gap:11px;
  }

  .jop-about__feature{
    gap:10px;
    font-size:14px;
  }

  .jop-about__check{
    flex-basis:20px;
    width:20px;
    height:20px;
  }

  .jop-about__actions{
    margin-top:25px;
    align-items:flex-start;
    flex-direction:column;
  }

  .jop-about__button{
    min-height:50px;
    width:100%;
    padding:0 18px;
  }

  .jop-about__accent{
    display:none;
  }
}

@media (prefers-reduced-motion:reduce){
  .jop-about__button{
    transition:none;
  }
}

/* === Sept 13 refinement: single-line about title === */
.jop-about__title{
  max-width:100%;
  text-wrap:initial;
}


/* pest-strip.css */
:root{
  --jp-green:#0b6a3c;
  --jp-green-deep:#063c2c;
  --jp-lime:#9adf43;
  --jp-text:#17221e;
  --jp-muted:#707d77;
  --jp-line:#e8eeea;
}

*,
*::before,
*::after{box-sizing:border-box}

body{
  margin:0;
  background:#fff;
  color:var(--jp-text);
  font-family:var(--site-font);
}

.jp-pest-strip{
  width:100%;
  background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%);
  border-top:1px solid var(--jp-line);
  border-bottom:1px solid var(--jp-line);
}

.jp-pest-strip__inner{
  width:min(1360px,calc(100% - 28px));
  margin:0 auto;
  min-height:154px;
  padding:22px 0;
  display:grid;
  grid-template-columns:230px minmax(0,1fr) 190px;
  gap:22px;
  align-items:center;
}

.jp-pest-strip__intro{
  position:relative;
  padding:4px 14px 4px 18px;
}

.jp-pest-strip__intro::before{
  content:"";
  position:absolute;
  left:0;
  top:4px;
  bottom:4px;
  width:4px;
  background:linear-gradient(180deg,var(--jp-green),var(--jp-lime));
}

.jp-pest-strip__eyebrow{
  margin:0 0 6px;
  color:#5c8f70;
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.jp-pest-strip__title{
  margin:0;
  color:#11211b;
  font-size:23px;
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:800;
}

.jp-pest-strip__text{
  margin:9px 0 0;
  color:var(--jp-muted);
  font-size:13px;
  line-height:1.4;
  font-weight:500;
}

.jp-pest-strip__list{
  min-width:0;
  display:grid;
  grid-template-columns:repeat(10,minmax(68px,1fr));
  gap:7px;
  align-items:end;
}

.jp-pest{
  position:relative;
  min-width:0;
  text-align:center;
  padding:5px 3px 2px;
}

.jp-pest::after{
  content:"";
  position:absolute;
  top:16%;
  right:-4px;
  width:1px;
  height:62%;
  background:#edf1ee;
}

.jp-pest:last-child::after{display:none}

.jp-pest__visual{
  width:78px;
  height:70px;
  margin:0 auto 7px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.jp-pest__visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 5px 7px rgba(7,40,28,.10));
  transition:transform .22s ease,filter .22s ease;
}

.jp-pest:hover .jp-pest__visual img{
  transform:translateY(-3px) scale(1.04);
  filter:drop-shadow(0 8px 10px rgba(7,40,28,.15));
}

.jp-pest__name{
  display:block;
  color:#25332e;
  font-size:11.5px;
  line-height:1.2;
  font-weight:800;
  white-space:nowrap;
}

.jp-pest-strip__cta{
  display:flex;
  justify-content:flex-end;
}

.jp-pest-strip__button{
  width:190px;
  min-height:68px;
  padding:0 16px 0 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:linear-gradient(90deg,#07382e 0%,#0a5b37 62%,#4b8f1e 100%);
  color:#ddff97;
  text-decoration:none;
  box-shadow:0 12px 28px rgba(6,60,44,.13);
  transition:transform .2s ease,box-shadow .2s ease;
}

.jp-pest-strip__button:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(6,60,44,.18);
}

.jp-pest-strip__button-text{
  max-width:118px;
  font-size:13px;
  line-height:1.12;
  font-weight:900;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.jp-pest-strip__button-icon{
  flex:0 0 34px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-left:1px solid rgba(221,255,151,.32);
}

.jp-pest-strip__button-icon svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:#ddff97;
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media (max-width:1180px){
  .jp-pest-strip__inner{
    width:min(1100px,calc(100% - 24px));
    grid-template-columns:210px minmax(0,1fr);
    gap:18px;
  }

  .jp-pest-strip__list{
    grid-template-columns:repeat(5,minmax(76px,1fr));
    row-gap:12px;
  }

  .jp-pest-strip__cta{
    grid-column:1 / -1;
    justify-content:flex-end;
  }

  .jp-pest-strip__button{width:220px}
}

@media (max-width:760px){
  .jp-pest-strip__inner{
    width:calc(100% - 20px);
    grid-template-columns:1fr;
    gap:15px;
    padding:18px 0;
  }

  .jp-pest-strip__intro{max-width:360px}

  .jp-pest-strip__title{font-size:20px}

  .jp-pest-strip__list{
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding:2px 1px 8px;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
    scrollbar-color:#c9d7cf transparent;
  }

  .jp-pest{
    flex:0 0 84px;
    scroll-snap-align:start;
  }

  .jp-pest__visual{
    width:74px;
    height:66px;
  }

  .jp-pest-strip__cta{
    grid-column:auto;
    justify-content:stretch;
  }

  .jp-pest-strip__button{
    width:100%;
    min-height:58px;
  }
}

@media (prefers-reduced-motion:reduce){
  .jp-pest__visual img,
  .jp-pest-strip__button{transition:none}

  .jp-pest:hover .jp-pest__visual img,
  .jp-pest-strip__button:hover{transform:none}
}


/* 2026 update — stronger mobile grid */
.jp-pest-strip{padding:10px 0 0;background:#fff}
.jp-pest-strip__title{font-size:26px}
.jp-pest-strip__text{font-size:14px}
.jp-pest__name{font-size:12px;font-weight:800}
@media (max-width:760px){
  .jp-pest-strip__inner{width:calc(100% - 16px);gap:18px;padding:16px 0 20px}
  .jp-pest-strip__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;overflow:visible;padding:0;scroll-snap-type:none}
  .jp-pest{flex:initial;padding:8px 2px}
  .jp-pest::after{display:none}
  .jp-pest__visual{width:min(100%,70px);height:58px}
  .jp-pest__name{white-space:normal;font-size:11.5px;line-height:1.25}
}
@media (max-width:460px){.jp-pest-strip__list{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.jp-pest__visual{height:52px}.jp-pest__name{font-size:10.5px}}

/* =========================================================
   Homepage common pests showcase — premium square cards
========================================================= */
.jp-pest-showcase{
  position:relative;
  width:100%;
  background:#fff;
  padding:42px 0 34px;
  overflow:hidden;
}

.jp-pest-showcase__inner{
  width:min(1380px,calc(100% - 44px));
  margin:0 auto;
}

.jp-pest-showcase__head{
  max-width:900px;
  margin:0 auto 28px;
  text-align:center;
}

.jp-pest-showcase__eyebrow{
  margin:0 0 10px;
  color:#176044;
  font-size:12.5px;
  line-height:1.1;
  font-weight:850;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.jp-pest-showcase__title{
  margin:0;
  color:#101b18;
  font-size:clamp(32px,3.6vw,50px);
  line-height:1.02;
  letter-spacing:-.04em;
  font-weight:900;
  text-wrap:balance;
}

.jp-pest-showcase__copy{
  max-width:740px;
  margin:12px auto 0;
  color:#69736f;
  font-size:16px;
  line-height:1.55;
  font-weight:500;
}

.jp-pest-showcase__grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}

.jp-pest-card{
  position:relative;
  min-width:0;
  min-height:174px;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  align-items:stretch;
  gap:8px;
  padding:13px 12px 14px;
  overflow:hidden;
  background:linear-gradient(145deg,#f6f7f7 0%,#eceff0 100%);
  border:1px solid #dfe4e2;
  border-radius:0;
  color:#14201c;
  text-decoration:none;
  box-shadow:0 8px 22px rgba(14,31,23,.055);
  isolation:isolate;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;
}

.jp-pest-card::before{
  content:"";
  position:absolute;
  z-index:3;
  top:0;
  left:0;
  width:0;
  height:3px;
  background:#0c7847;
  transition:width .24s ease;
}

.jp-pest-card:hover,
.jp-pest-card:focus-visible{
  transform:translateY(-3px);
  border-color:#c9d4cf;
  background:linear-gradient(145deg,#f8f9f9 0%,#edf1ef 100%);
  box-shadow:0 15px 30px rgba(14,31,23,.10);
}

.jp-pest-card:hover::before,
.jp-pest-card:focus-visible::before{width:100%;}

.jp-pest-card:focus-visible{
  outline:2px solid #0c7847;
  outline-offset:3px;
}

.jp-pest-card__visual{
  position:relative;
  min-height:118px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:2px 4px 6px;
  overflow:visible;
}

.jp-pest-card__visual::after{
  content:"";
  position:absolute;
  z-index:0;
  left:18%;
  right:18%;
  bottom:7px;
  height:14px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(19,25,22,.24) 0%,rgba(19,25,22,.10) 46%,rgba(19,25,22,0) 76%);
  filter:blur(4px);
  transform:scaleX(.92);
  pointer-events:none;
}

.jp-pest-card__visual img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:112px;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 9px 7px rgba(14,20,17,.20));
  transform:translateY(0) scale(.98);
  transition:transform .24s ease,filter .24s ease;
}

.jp-pest-card:hover .jp-pest-card__visual img,
.jp-pest-card:focus-visible .jp-pest-card__visual img{
  transform:translateY(-4px) scale(1.025);
  filter:drop-shadow(0 13px 9px rgba(14,20,17,.25));
}

.jp-pest-card__name{
  position:relative;
  z-index:2;
  display:block;
  padding-top:2px;
  color:#17211e;
  text-align:center;
  font-size:14.5px;
  line-height:1.2;
  font-weight:850;
  letter-spacing:-.015em;
}

@media (max-width:1180px){
  .jp-pest-showcase__inner{width:min(1040px,calc(100% - 36px));}
  .jp-pest-showcase__grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .jp-pest-card{min-height:170px;}
}

@media (max-width:760px){
  .jp-pest-showcase{padding:34px 0 28px;}
  .jp-pest-showcase__inner{width:calc(100% - 22px);}
  .jp-pest-showcase__head{margin-bottom:22px;}
  .jp-pest-showcase__eyebrow{font-size:11px;letter-spacing:.15em;}
  .jp-pest-showcase__title{font-size:clamp(29px,8vw,38px);line-height:1.05;}
  .jp-pest-showcase__copy{margin-top:10px;font-size:14.5px;line-height:1.5;}
  .jp-pest-showcase__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;}
  .jp-pest-card{min-height:142px;padding:10px 8px 11px;gap:6px;}
  .jp-pest-card__visual{min-height:92px;padding:0 2px 5px;}
  .jp-pest-card__visual img{height:88px;}
  .jp-pest-card__visual::after{left:16%;right:16%;bottom:5px;height:12px;}
  .jp-pest-card__name{font-size:12.5px;}
}

@media (max-width:480px){
  .jp-pest-showcase__inner{width:calc(100% - 18px);}
  .jp-pest-showcase__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .jp-pest-card{min-height:146px;padding:10px 9px 12px;}
  .jp-pest-card__visual{min-height:96px;}
  .jp-pest-card__visual img{height:92px;}
  .jp-pest-card__name{font-size:13px;}
}

@media (prefers-reduced-motion:reduce){
  .jp-pest-card,
  .jp-pest-card::before,
  .jp-pest-card__visual img{transition:none;}
  .jp-pest-card:hover,
  .jp-pest-card:focus-visible,
  .jp-pest-card:hover .jp-pest-card__visual img,
  .jp-pest-card:focus-visible .jp-pest-card__visual img{transform:none;}
}


/* services-section.css */
:root{
  --jps-lime:#99df42;
  --jps-lime-dark:#6eaf24;
  --jps-green:#0d6a3d;
  --jps-deep:#071316;
  --jps-deep-2:#0b1719;
  --jps-white:#ffffff;
  --jps-text:#24312d;
  --jps-muted:#6e7b76;
  --jps-line:#e8ece9;
  --jps-soft:#f7faf8;
}

*,
*::before,
*::after{box-sizing:border-box}

.jps-services-wrap{
  width:100%;
  background:#fff;
  padding:32px 0 40px;
}

.jps-services-wrap__inner{
  width:min(1360px, calc(100% - 24px));
  margin:0 auto;
}

.jps-sec-head{
  padding:0 14px 28px;
  text-align:center;
}

.jps-sec-head__eyebrow{
  margin:0 0 12px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:16px;
  color:#4c8f68;
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.28em;
  text-transform:uppercase;
}

.jps-sec-head__eyebrow::before,
.jps-sec-head__eyebrow::after{
  content:"";
  width:120px;
  height:2px;
  background:#c7d1cb;
  border-radius:999px;
}

.jps-sec-head__title{
  margin:0;
  color:#072d26;
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(38px, 5vw, 66px);
  line-height:.98;
  letter-spacing:-.04em;
  font-weight:700;
}

.jps-sec-head__sub{
  max-width:860px;
  margin:14px auto 0;
  color:#687670;
  font-size:clamp(16px, 1.65vw, 19px);
  line-height:1.5;
  font-weight:500;
}

.jps-services-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:4px;
  background:#fff;
}

.jps-service-card{
  position:relative;
  min-height:320px;
  overflow:hidden;
  background:#091316;
  isolation:isolate;
}

.jps-service-card__media{
  position:absolute;
  inset:0;
  z-index:-3;
}

.jps-service-card__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.01);
  transition:transform .45s ease;
}

.jps-service-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(180deg, rgba(4,10,12,.06) 0%, rgba(4,10,12,.18) 28%, rgba(4,10,12,.56) 58%, rgba(4,10,12,.96) 100%);
}

.jps-service-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg, rgba(4,10,12,.90) 0%, rgba(4,10,12,.68) 28%, rgba(4,10,12,.20) 62%, rgba(4,10,12,.05) 100%);
}

.jps-service-card:hover .jps-service-card__media img{
  transform:scale(1.04);
}

.jps-service-card__content{
  height:100%;
  display:flex;
  flex-direction:column;
  padding:18px 20px 18px;
}

.jps-service-card__number{
  margin:0 0 12px;
  color:#fff;
  font-size:14px;
  line-height:1;
  font-weight:500;
  letter-spacing:.02em;
}

.jps-service-card__icon{
  width:42px;
  height:42px;
  background:var(--jps-lime);
  margin-bottom:12px;
  overflow:hidden;
  box-shadow:0 8px 20px rgba(0,0,0,.16);
}

.jps-service-card__icon img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.jps-service-card__.jps-service-card__title{
  margin:0 0 9px;
  color:#fff;
  font-size:20px;
  line-height:1.03;
  letter-spacing:-.03em;
  font-weight:800;
  max-width:255px;
}

.jps-service-card__desc{
  margin:0 0 16px;
  color:rgba(255,255,255,.92);
  font-size:13px;
  line-height:1.36;
  font-weight:500;
  max-width:270px;
}

.jps-service-card__link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#fff;
  font-size:11.5px;
  line-height:1;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-decoration:none;
}

.jps-service-card__link svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:#c5f35d;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.jps-pests{
  margin-top:6px;
  background:#fff;
  border-top:1px solid var(--jps-line);
  padding:18px 22px 18px;
  display:grid;
  grid-template-columns:208px minmax(0, 1fr) 178px;
  gap:18px;
  align-items:center;
}

.jps-pests__intro{
  padding:6px 8px 6px 18px;
  border-left:4px solid var(--jps-lime-dark);
}

.jps-pests__title{
  margin:0 0 8px;
  color:#13221d;
  font-size:22px;
  line-height:1.05;
  letter-spacing:-.03em;
  font-weight:800;
}

.jps-pests__text{
  margin:0;
  color:#75817c;
  font-size:14px;
  line-height:1.42;
  font-weight:500;
}

.jps-pests__items{
  display:grid;
  grid-template-columns:repeat(12, minmax(68px, 1fr));
  gap:8px;
  min-width:0;
}

.jps-pest{
  min-width:0;
  text-align:center;
}

.jps-pest__thumb{
  width:64px;
  height:64px;
  margin:0 auto 8px;
  border:1px solid #e5eae7;
  background:#fff;
  border-radius:2px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 12px rgba(7,19,22,.04);
}

.jps-pest__thumb img{
  width:52px;
  height:52px;
  object-fit:contain;
  display:block;
}

.jps-pest__label{
  display:block;
  color:#1b2623;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
}

.jps-pests__cta{
  display:flex;
  justify-content:flex-end;
}

.jps-pests__button{
  min-height:78px;
  width:178px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:linear-gradient(90deg, #09392f 0%, #2f6d1b 100%);
  color:#d9ff92;
  text-decoration:none;
  font-size:15px;
  line-height:1.1;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
  box-shadow:0 14px 30px rgba(11,40,31,.10);
}

.jps-pests__button span{
  max-width:110px;
  text-align:left;
}

.jps-pests__button svg{
  width:18px;
  height:18px;
  flex:0 0 18px;
  fill:none;
  stroke:#d9ff92;
  stroke-width:2.3;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media (max-width:1200px){
  .jps-services-wrap__inner{
    width:min(1120px, calc(100% - 20px));
  }

  .jps-services-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .jps-pests{
    grid-template-columns:1fr;
    gap:18px;
  }

  .jps-pests__intro{
    max-width:360px;
  }

  .jps-pests__items{
    grid-template-columns:repeat(6, minmax(72px, 1fr));
  }

  .jps-pests__cta{
    justify-content:flex-start;
  }
}

@media (max-width:760px){
  .jps-services-wrap{
    padding:28px 0 32px;
  }

  .jps-services-wrap__inner{
    width:calc(100% - 16px);
  }

  .jps-sec-head{
    padding:0 8px 22px;
  }

  .jps-sec-head__eyebrow{
    gap:10px;
    font-size:10px;
    letter-spacing:.24em;
  }

  .jps-sec-head__eyebrow::before,
  .jps-sec-head__eyebrow::after{
    width:56px;
  }

  .jps-sec-head__title{
    font-size:40px;
    line-height:1.02;
  }

  .jps-sec-head__sub{
    font-size:15px;
    margin-top:12px;
  }

  .jps-services-grid{
    grid-template-columns:1fr;
    gap:4px;
  }

  .jps-service-card{
    min-height:312px;
  }

  .jps-service-card__content{
    padding:16px 18px 16px;
  }

  .jps-service-card__title{
    font-size:19px;
  }

  .jps-service-card__desc{
    font-size:13px;
  }

  .jps-pests{
    padding:16px 12px 16px;
  }

  .jps-pests__title{
    font-size:18px;
  }

  .jps-pests__text{
    font-size:13px;
  }

  .jps-pests__items{
    display:flex;
    overflow-x:auto;
    gap:10px;
    padding-bottom:4px;
    scroll-snap-type:x proximity;
  }

  .jps-pest{
    flex:0 0 74px;
    scroll-snap-align:start;
  }

  .jps-pests__button{
    width:100%;
    min-height:62px;
  }

  .jps-pests__button span{
    max-width:none;
  }
}

@media (prefers-reduced-motion:reduce){
  .jps-service-card__media img,
  .jps-service-card:hover .jps-service-card__media img{
    transition:none;
    transform:none;
  }
}


/* Integration overrides */
.jps-services-wrap{padding:78px 0 34px;background:#fff;}
.jps-services-wrap__inner{width:min(1380px, calc(100% - 36px));}
.jps-sec-head{padding:0 14px 34px;}
.jps-sec-head__title{font-family:var(--site-font);font-size:clamp(34px,4.2vw,58px);line-height:1.02;font-weight:800;}
.jps-sec-head__sub{max-width:880px;font-size:clamp(16px,1.35vw,18px);}
.jps-service-card{min-height:370px;}
.jps-service-card__content{padding:20px 22px 22px;}
.jps-service-card__number{font-size:15px;font-weight:700;opacity:.92;}
.jps-service-card__icon{width:48px;height:48px;border-radius:14px;}
.jps-service-card__title{font-family:var(--site-font);font-size:24px;line-height:1.04;font-weight:800;}
.jps-service-card__desc{font-size:14px;line-height:1.5;max-width:290px;}
.jps-service-card__link{font-size:12px;letter-spacing:.08em;}
.jps-service-card:hover::after{background:linear-gradient(90deg, rgba(4,10,12,.84) 0%, rgba(4,10,12,.58) 30%, rgba(4,10,12,.15) 62%, rgba(4,10,12,.02) 100%);} 
@media (max-width:1200px){
  .jps-services-wrap__inner{width:min(1120px, calc(100% - 28px));}
}
@media (max-width:760px){
  .jps-services-wrap{padding:58px 0 24px;}
  .jps-services-wrap__inner{width:calc(100% - 16px);} 
  .jps-sec-head{padding:0 4px 22px;}
  .jps-sec-head__title{font-size:clamp(28px,8vw,38px);} 
  .jps-services-grid{grid-template-columns:1fr;} 
  .jps-service-card{min-height:326px;}
  .jps-service-card__content{padding:18px 16px 18px;}
  .jps-service-card__title{font-size:22px;}
  .jps-service-card__desc{font-size:13.5px;}
}

/* Services grid refresh: three service cards per desktop row + integrated pest card. */
.jps-services-grid{
  gap:10px;
}

.jps-service-card__title{
  margin:0 0 9px;
  color:#fff;
  max-width:280px;
}

.jps-more-pests-card{
  position:relative;
  min-height:370px;
  overflow:hidden;
  padding:22px 22px 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(153,223,66,.22), transparent 36%),
    linear-gradient(145deg,#f5f8ef 0%,#edf3e8 100%);
  border:1px solid #dfe8da;
  display:flex;
  flex-direction:column;
  isolation:isolate;
}

.jps-more-pests-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg,#0d6a3d 0%,#99df42 62%,rgba(153,223,66,.2) 100%);
}

.jps-more-pests-card::after{
  content:"";
  position:absolute;
  right:-54px;
  bottom:-72px;
  width:180px;
  height:180px;
  border:1px solid rgba(13,106,61,.08);
  border-radius:50%;
  box-shadow:0 0 0 28px rgba(13,106,61,.025),0 0 0 58px rgba(13,106,61,.018);
  pointer-events:none;
  z-index:-1;
}

.jps-more-pests-card__head{
  position:relative;
  z-index:1;
  margin-bottom:14px;
}

.jps-more-pests-card__eyebrow{
  margin:0 0 7px;
  color:#4d795e;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.jps-more-pests-card__title{
  margin:0;
  max-width:360px;
  color:#0a3028;
  font-size:clamp(22px,2vw,28px);
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:900;
}

.jps-more-pests-card__text{
  margin:7px 0 0;
  color:#627269;
  font-size:12px;
  line-height:1.35;
  font-weight:600;
}

.jps-more-pests-card__grid{
  position:relative;
  z-index:1;
  margin-top:auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px 6px;
  align-items:stretch;
}

.jps-more-pest{
  min-width:0;
  min-height:62px;
  padding:4px 2px 3px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  text-align:center;
  border-bottom:1px solid rgba(29,74,54,.08);
}

.jps-more-pest__visual{
  width:48px;
  height:43px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 3px;
}

.jps-more-pest__visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 5px 6px rgba(7,40,28,.11));
  transition:transform .22s ease,filter .22s ease;
}

.jps-more-pest:hover .jps-more-pest__visual img{
  transform:translateY(-2px) scale(1.05);
  filter:drop-shadow(0 7px 8px rgba(7,40,28,.16));
}

.jps-more-pest__name{
  display:block;
  min-height:13px;
  color:#28372f;
  font-size:9.5px;
  line-height:1.12;
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.jps-more-pests-card__cta{
  grid-column:span 2;
  min-height:62px;
  padding:10px 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  background:linear-gradient(100deg,#073c30 0%,#0d6a3d 100%);
  color:#e5ffad;
  text-decoration:none;
  font-size:10px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
  box-shadow:0 9px 20px rgba(7,60,48,.14);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}

.jps-more-pests-card__cta svg{
  width:18px;
  height:18px;
  flex:0 0 18px;
  fill:none;
  stroke:#bdf266;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.jps-more-pests-card__cta:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 25px rgba(7,60,48,.20);
  background:linear-gradient(100deg,#06372c 0%,#0b6238 100%);
}

@media (min-width:1021px){
  .jps-services-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (min-width:761px) and (max-width:1020px){
  .jps-services-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:760px){
  .jps-services-grid{
    gap:8px;
  }

  .jps-more-pests-card{
    min-height:350px;
    padding:20px 14px 15px;
  }

  .jps-more-pests-card__head{
    margin-bottom:12px;
  }

  .jps-more-pests-card__title{
    font-size:24px;
  }

  .jps-more-pests-card__grid{
    gap:6px 4px;
  }

  .jps-more-pest{
    min-height:59px;
  }

  .jps-more-pest__visual{
    width:44px;
    height:39px;
  }

  .jps-more-pest__name{
    font-size:9px;
  }

  .jps-more-pests-card__cta{
    min-height:59px;
    padding:8px 10px;
    font-size:9px;
  }
}

@media (prefers-reduced-motion:reduce){
  .jps-more-pest__visual img,
  .jps-more-pests-card__cta{
    transition:none;
  }
}

/* === Final approved service-card treatment: reference-image match === */
@media (min-width:1021px){
  .jps-services-wrap__inner{width:min(1292px,calc(100% - 40px));}
  .jps-services-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
}

.jps-service-card{
  min-height:350px;
  border-radius:0;
  background:#07110e;
}
.jps-service-card__media img{transform:scale(1.01);}
.jps-service-card::before{
  background:linear-gradient(180deg,rgba(2,8,6,.05) 0%,rgba(2,8,6,.10) 27%,rgba(2,8,6,.52) 61%,rgba(2,8,6,.93) 100%);
}
.jps-service-card::after{
  background:linear-gradient(90deg,rgba(2,9,7,.88) 0%,rgba(2,9,7,.65) 31%,rgba(2,9,7,.23) 63%,rgba(2,9,7,.03) 100%);
}
.jps-service-card__content{position:relative;height:350px;padding:0;display:block;}
.jps-service-card__number{
  position:absolute;top:21px;right:22px;margin:0;
  color:rgba(255,255,255,.78);font-size:12px;font-weight:800;letter-spacing:.14em;
}
.jps-service-card__icon{
  position:absolute;left:24px;bottom:160px;
  width:49px;height:49px;margin:0;border-radius:13px;
  background:#91e63a;box-shadow:none;
}
.jps-service-card__icon img{width:100%;height:100%;object-fit:cover;}
.jps-service-card__body{position:absolute;left:24px;right:22px;bottom:25px;}
.jps-service-card__title{
  margin:0 0 8px;color:#fff;max-width:315px;
  font-family:var(--site-font);font-size:28px;line-height:1.03;font-weight:900;letter-spacing:-.045em;
}
.jps-service-card__desc{
  margin:0 0 23px;max-width:340px;color:rgba(255,255,255,.78);
  font-size:14.5px;line-height:1.5;font-weight:650;
}
.jps-service-card__link{
  gap:10px;color:#9bea42;font-size:11.5px;font-weight:900;letter-spacing:.055em;
}
.jps-service-card__link svg{width:15px;height:15px;stroke:#9bea42;}
.jps-service-card:hover .jps-service-card__media img{transform:scale(1.035);}

/* Ninth card: simple, high-visibility additional-pest grid */
.jps-more-pests-card{
  min-height:350px;padding:22px 20px 18px;border:0;border-radius:0;
  background:linear-gradient(145deg,#f4f7ef 0%,#edf3e8 100%);
  box-shadow:inset 0 0 0 1px #dde6d8;
}
.jps-more-pests-card::before{height:4px;background:#8dde35;}
.jps-more-pests-card::after{display:none;}
.jps-more-pests-card__head{margin-bottom:10px;}
.jps-more-pests-card__eyebrow{margin-bottom:6px;color:#4c765b;font-size:10px;letter-spacing:.16em;}
.jps-more-pests-card__title{max-width:100%;font-size:26px;line-height:1.03;color:#0b3027;}
.jps-more-pests-card__text{margin-top:6px;font-size:12px;color:#657269;}
.jps-more-pests-card__grid{
  margin-top:10px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px 4px;align-items:start;
}
.jps-more-pest{min-height:69px;padding:0;border:0;justify-content:flex-start;}
.jps-more-pest__visual{width:58px;height:51px;margin:0 auto 3px;}
.jps-more-pest__name{min-height:12px;color:#2c3933;font-size:10px;line-height:1.1;letter-spacing:.01em;}
.jps-more-pests-card__cta{
  grid-column:1/-1;min-height:42px;margin-top:3px;padding:0 15px;
  justify-content:center;gap:9px;background:#0b5b39;color:#fff;
  font-size:11px;letter-spacing:.06em;box-shadow:none;
}
.jps-more-pests-card__cta svg{width:15px;height:15px;stroke:#a5eb50;}
.jps-more-pests-card__cta:hover{background:#084c31;box-shadow:none;transform:translateY(-1px);}

@media (max-width:1020px){
  .jps-service-card,.jps-more-pests-card{min-height:350px;}
  .jps-service-card__content{height:350px;}
}
@media (max-width:760px){
  .jps-services-grid{gap:10px;}
  .jps-service-card{min-height:330px;}
  .jps-service-card__content{height:330px;}
  .jps-service-card__number{top:18px;right:18px;}
  .jps-service-card__icon{left:18px;bottom:151px;width:48px;height:48px;}
  .jps-service-card__body{left:18px;right:18px;bottom:21px;}
  .jps-service-card__title{font-size:26px;}
  .jps-service-card__desc{font-size:14px;margin-bottom:19px;}
  .jps-more-pests-card{min-height:360px;padding:20px 14px 15px;}
  .jps-more-pests-card__grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px 2px;}
  .jps-more-pest__visual{width:49px;height:44px;}
  .jps-more-pest__name{font-size:9px;}
}

/* === Sept 13 refinement: fix service-title/icon spacing and right-size View All CTA === */
.jps-service-card__icon{
  top:108px;
  bottom:auto;
}
.jps-service-card__body{
  left:24px;
  right:22px;
  bottom:24px;
}
.jps-service-card__title{
  max-width:300px;
}
.jps-more-pests-card__grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.jps-more-pests-card__cta{
  grid-column:1 / span 2;
  justify-self:start;
  width:auto;
  min-width:138px;
  max-width:160px;
  padding:0 14px;
  justify-content:center;
}
@media (max-width:760px){
  .jps-service-card__icon{
    top:98px;
    left:18px;
  }
  .jps-service-card__title{
    max-width:270px;
    font-size:24px;
  }
  .jps-more-pests-card__grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
  .jps-more-pests-card__cta{
    grid-column:1 / span 3;
    min-width:126px;
    max-width:150px;
  }
}

/* V10 — the ninth service card is intentionally simple: one direct View All action. */
.jps-more-pests-card--simple{
  min-height:350px;
  padding:34px 28px 28px;
  justify-content:center;
  align-items:flex-start;
  background:linear-gradient(145deg,#f5f8f1 0%,#eef3eb 100%);
}
.jps-more-pests-card--simple .jps-more-pests-card__head{
  margin:0 0 24px;
  max-width:420px;
}
.jps-more-pests-card--simple .jps-more-pests-card__title{
  font-size:clamp(28px,2.6vw,38px);
  line-height:1.02;
}
.jps-more-pests-card--simple .jps-more-pests-card__text{
  margin-top:12px;
  max-width:390px;
  font-size:14px;
  line-height:1.6;
}
.jps-more-pests-card--simple .jps-more-pests-card__cta{
  grid-column:auto;
  justify-self:auto;
  width:auto;
  min-width:190px;
  max-width:none;
  min-height:50px;
  margin:0;
  padding:0 18px;
  justify-content:center;
  font-size:11px;
}
@media(max-width:760px){
  .jps-more-pests-card--simple{
    min-height:250px;
    padding:28px 20px 24px;
  }
  .jps-more-pests-card--simple .jps-more-pests-card__head{margin-bottom:20px;}
  .jps-more-pests-card--simple .jps-more-pests-card__title{font-size:30px;}
  .jps-more-pests-card--simple .jps-more-pests-card__text{font-size:13.5px;}
  .jps-more-pests-card--simple .jps-more-pests-card__cta{min-width:178px;max-width:none;}
}


/* floating-contact.css */

.jop-float-contact{position:fixed;right:18px;bottom:18px;z-index:1100;display:flex;flex-direction:column;gap:12px;align-items:flex-end}
.jop-float-btn{position:relative;display:inline-flex;align-items:center;gap:12px;min-width:62px;min-height:62px;padding:0 18px 0 14px;border-radius:999px;color:#fff;text-decoration:none;font-family:var(--site-font);font-weight:800;font-size:14px;letter-spacing:-.01em;box-shadow:0 16px 32px rgba(0,0,0,.16);transform:translateZ(0);transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;overflow:hidden}
.jop-float-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 20px 36px rgba(0,0,0,.2);filter:saturate(1.04)}
.jop-float-btn::before{content:"";position:absolute;inset:-25% auto auto -45%;width:60%;height:160%;background:linear-gradient(90deg, rgba(255,255,255,.22), rgba(255,255,255,0));transform:rotate(18deg);animation:jop-float-shine 4s linear infinite}
.jop-float-btn--call{background:linear-gradient(135deg,#0a5e40 0%, #087c52 54%, #1e9a57 100%)}
.jop-float-btn--wa{background:linear-gradient(135deg,#0d7b44 0%, #1fa855 52%, #25d366 100%)}
.jop-float-btn__icon{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);backdrop-filter:blur(2px)}
.jop-float-btn__icon svg{width:20px;height:20px;fill:currentColor}
.jop-float-btn__text{display:flex;flex-direction:column;line-height:1.05}
.jop-float-btn__text small{font-size:11px;font-weight:700;opacity:.9;letter-spacing:.02em}
.jop-float-badge{position:absolute;left:-8px;top:-8px;width:16px;height:16px;border-radius:50%;background:#9ce232;box-shadow:0 0 0 0 rgba(156,226,50,.7);animation:jop-float-pulse 2s infinite}
@keyframes jop-float-pulse{0%{box-shadow:0 0 0 0 rgba(156,226,50,.65)}70%{box-shadow:0 0 0 14px rgba(156,226,50,0)}100%{box-shadow:0 0 0 0 rgba(156,226,50,0)}}
@keyframes jop-float-shine{0%{transform:translateX(-20%) rotate(18deg)}100%{transform:translateX(250%) rotate(18deg)}}
@media (max-width:720px){.jop-float-contact{right:12px;bottom:12px;gap:10px}.jop-float-btn{min-height:58px;min-width:58px;padding:0 14px 0 12px}.jop-float-btn__text span{font-size:13px}.jop-float-btn__text small{font-size:10px}.jop-float-btn__icon{width:32px;height:32px;flex-basis:32px}} 
@media (max-width:480px){.jop-float-btn{padding:0 12px 0 10px}.jop-float-btn__text{display:none}.jop-float-btn{min-width:58px;justify-content:center;border-radius:22px}.jop-float-btn__icon{background:none}}
@media (prefers-reduced-motion:reduce){.jop-float-btn,.jop-float-btn:hover{transition:none;transform:none}.jop-float-btn::before,.jop-float-badge{animation:none}}

/* V10 floating contacts: compact icons that expand only on hover/focus. */
.jop-float-contact{right:18px;bottom:20px;gap:10px;pointer-events:none;}
.jop-float-btn{
  pointer-events:auto;
  min-width:56px;
  width:56px;
  min-height:56px;
  height:56px;
  padding:0 11px;
  gap:9px;
  border-radius:50%;
  justify-content:flex-start;
  overflow:hidden;
  animation:jop-float-bob 3.8s ease-in-out infinite;
  transition:width .24s ease,border-radius .24s ease,transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.jop-float-btn--wa{animation-delay:.35s;}
.jop-float-btn__icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  background:transparent;
}
.jop-float-btn__icon svg{width:22px;height:22px;}
.jop-float-btn__text{
  flex:0 0 auto;
  opacity:0;
  transform:translateX(6px);
  transition:opacity .18s ease,transform .18s ease;
  white-space:nowrap;
}
.jop-float-btn:hover,.jop-float-btn:focus-visible{
  width:148px;
  border-radius:28px;
  transform:translateY(-2px);
}
.jop-float-btn:hover .jop-float-btn__text,.jop-float-btn:focus-visible .jop-float-btn__text{
  opacity:1;
  transform:none;
}
.jop-float-badge{left:2px;top:1px;width:10px;height:10px;}
@keyframes jop-float-bob{0%,100%{translate:0 0}50%{translate:0 -3px}}
@media(max-width:720px){
  .jop-float-contact{right:10px;bottom:max(12px,env(safe-area-inset-bottom));gap:9px;}
  .jop-float-btn,.jop-float-btn:hover,.jop-float-btn:focus-visible{
    width:52px;min-width:52px;height:52px;min-height:52px;padding:0 9px;border-radius:50%;transform:none;
  }
  .jop-float-btn__text{display:none;}
  .jop-float-btn__icon{width:34px;height:34px;flex-basis:34px;}
}
@media(prefers-reduced-motion:reduce){
  .jop-float-btn{animation:none;}
}
/* Cross-browser stability: the pulse + shine provide motion without transform conflicts. */
.jop-float-btn{animation:none;}


/* jopestkil-sections.css */
/* =========================================================
   JOPESTKIL MODERN SECTIONS
   Scoped with .jps- classes to avoid conflicts.
   No JS or external icon library required.
========================================================= */
.jps-home-sections,
.jps-home-sections * { box-sizing: border-box; }

.jps-home-sections {
  --jps-green: #0b6a3c;
  --jps-green-dark: #005234;
  --jps-green-deep: #003f28;
  --jps-lime: #69c71f;
  --jps-text: #17221e;
  --jps-muted: #66736c;
  --jps-line: #e7eee9;
  width: 100%;
  overflow: hidden;
  color: var(--jps-text);
  background: #fff;
  font-family: var(--site-font);
}

.jps-home-sections h2,
.jps-home-sections h3,
.jps-home-sections p { margin-top: 0; }

.jps-container {
  width: min(1440px, calc(100% - 64px));
  margin-inline: auto;
}

.jps-center { text-align: center; }

.jps-section-head { max-width: 920px; margin: 0 auto 54px; }
.jps-eyebrow {
  display: inline-flex; align-items: center; justify-content: center; gap: 14px;
  margin-bottom: 13px; color: var(--jps-green); font-size: 13px; font-weight: 800;
  letter-spacing: 3.5px; line-height: 1;
}
.jps-eyebrow span { width: 34px; height: 2px; background: currentColor; }
.jps-section-head h2 { margin-bottom: 0; font-size: clamp(31px, 3vw, 49px); line-height: 1.08; letter-spacing: -1.6px; }
.jps-section-head p { margin: 11px 0 0; color: var(--jps-muted); font-size: 19px; line-height: 1.55; }
.jps-small-title { display: inline-block; margin-bottom: 14px; color: var(--jps-lime); font-size: 13px; font-weight: 900; letter-spacing: 3px; }
.jps-green-title { color: var(--jps-green); }

/* PROCESS */
.jps-process {
  position: relative; padding: 88px 0 84px;
  background:
    radial-gradient(circle at 3% 8%, rgba(140,222,52,.11), transparent 21%),
    radial-gradient(circle at 97% 0%, rgba(8,115,63,.075), transparent 22%), #fff;
}
.jps-process-grid {
  display: grid; grid-template-columns: minmax(0,1fr) 52px minmax(0,1fr) 52px minmax(0,1fr) 52px minmax(0,1fr);
  gap: 12px; align-items: start;
}
.jps-process-item { text-align: center; min-width: 0; }
.jps-process-icon-wrap { position: relative; width: 112px; height: 112px; margin: 0 auto 24px; }
.jps-process-icon {
  display: grid; place-items: center; width: 112px; height: 112px; border: 1px solid #dce9e3; border-radius: 50%; background: rgba(255,255,255,.96);
  box-shadow: 0 18px 40px rgba(12,82,53,.08), 0 3px 12px rgba(12,82,53,.045);
}
.jps-process-icon svg { width: 44px; height: 44px; fill: none; stroke: var(--jps-green-dark); stroke-width: 1.85; stroke-linecap: round; stroke-linejoin: round; }
.jps-process-item:first-child .jps-process-icon svg path { fill: var(--jps-green-dark); stroke: var(--jps-green-dark); }
.jps-step-number {
  position: absolute; z-index: 2; top: -8px; left: -8px; display: grid; place-items: center; width: 38px; height: 38px;
  border: 4px solid #fff; border-radius: 50%; color: #fff; background: linear-gradient(145deg,#69c71f,#005234); font-size: 18px; font-weight: 900;
  box-shadow: 0 8px 18px rgba(4,111,60,.26);
}
.jps-process-item h3 { margin-bottom: 7px; font-size: 21px; line-height: 1.2; font-weight: 850; }
.jps-process-item p { max-width: 260px; margin: 0 auto; color: var(--jps-muted); font-size: 15.5px; line-height: 1.55; }
.jps-process-arrow { display: flex; justify-content: center; align-items: center; padding-top: 42px; }
.jps-process-arrow svg { width: 33px; height: 33px; fill: none; stroke: #89a69b; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

/* WHY CHOOSE */
.jps-why {
  position: relative; isolation: isolate; padding: 54px 0; color: #fff;
  background: linear-gradient(118deg,#003f28 0%,#005234 48%,#003f28 100%);
}
.jps-why::before {
  content: ""; position: absolute; inset: 0; z-index: -1; opacity: .22;
  background-image:
    radial-gradient(circle at 20% 20%, rgba(178,244,66,.45) 0 1px, transparent 2px),
    radial-gradient(circle at 80% 70%, rgba(178,244,66,.28) 0 1px, transparent 2px);
  background-size: 72px 72px, 92px 92px;
}
.jps-why-orb { position: absolute; border-radius: 50%; filter: blur(75px); pointer-events: none; opacity: .12; }
.jps-why-orb-left { width: 360px; height: 360px; left: -130px; bottom: -210px; background: var(--jps-lime); }
.jps-why-orb-right { width: 300px; height: 300px; right: -90px; top: -170px; background: #3af090; }
.jps-why-layout { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(320px,.9fr) minmax(720px,1.7fr); gap: 48px; align-items: center; }
.jps-why-intro h2 { margin-bottom: 14px; color: #fff; font-size: clamp(30px,2.6vw,43px); line-height: 1.1; letter-spacing: -1.1px; }
.jps-why-intro h2 strong { font-weight: 850; }
.jps-why-intro p { max-width: 520px; margin-bottom: 0; color: rgba(255,255,255,.76); font-size: 15px; line-height: 1.65; }
.jps-benefits { display: grid; grid-template-columns: repeat(6,minmax(110px,1fr)); gap: 12px; }
.jps-benefit-card {
  min-height: 148px; padding: 22px 10px 18px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center;
  border: 1px solid rgba(255,255,255,.15); border-radius: 13px; background: linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.035));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 12px 28px rgba(0,0,0,.07); transition: transform .22s ease, border-color .22s ease, background .22s ease;
}
.jps-benefit-card:hover { transform: translateY(-5px); border-color: rgba(169,237,43,.5); background: rgba(255,255,255,.105); }
.jps-benefit-icon { margin-bottom: 13px; }
.jps-benefit-icon svg { width: 38px; height: 38px; fill: none; stroke: var(--jps-lime); stroke-width: 1.85; stroke-linecap: round; stroke-linejoin: round; }
.jps-benefit-card h3 { margin: 0; color: #fff; font-size: 13.5px; line-height: 1.28; font-weight: 800; }

/* SAFETY - NO IMAGE */
.jps-safety {
  position: relative; padding: 90px 0;
  background:
    radial-gradient(circle at 0 100%, rgba(129,222,62,.09), transparent 31%),
    radial-gradient(circle at 100% 0, rgba(8,115,63,.075), transparent 31%),
    linear-gradient(115deg,#fff 0%,#f8fcfa 100%);
}
.jps-safety::before { content:""; position:absolute; width:360px; height:360px; right:-210px; bottom:-210px; border:84px solid rgba(8,115,63,.04); border-radius:50%; }
.jps-safety-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(340px,.9fr) minmax(620px,1.35fr); gap: 76px; align-items: center; }
.jps-safety-copy h2 { margin-bottom: 20px; font-size: clamp(39px,4vw,61px); line-height: 1.02; letter-spacing: -2px; }
.jps-safety-copy > p { max-width: 590px; margin-bottom: 0; color: var(--jps-muted); font-size: 17px; line-height: 1.75; }
.jps-safety-note { display: flex; align-items: center; gap: 13px; margin-top: 28px; color: var(--jps-green-dark); font-size: 14.5px; }
.jps-safety-note span { width: 42px; height: 3px; background: var(--jps-lime); }
.jps-safety-features { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.jps-safety-card {
  min-height: 155px; padding: 27px; display: flex; align-items: flex-start; gap: 18px; border: 1px solid #e0ebe5; border-radius: 16px; background: rgba(255,255,255,.94);
  box-shadow: 0 18px 50px rgba(20,84,56,.06),0 3px 12px rgba(20,84,56,.04); transition: transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.jps-safety-card:hover { transform: translateY(-4px); border-color: rgba(8,115,63,.28); box-shadow: 0 22px 50px rgba(20,84,56,.1),0 4px 12px rgba(20,84,56,.05); }
.jps-safety-card-icon { flex: 0 0 58px; display:grid; place-items:center; width:58px; height:58px; border-radius:14px; background:linear-gradient(145deg,rgba(169,237,43,.18),rgba(8,115,63,.08)); }
.jps-safety-card-icon svg { width: 30px; height: 30px; fill: none; stroke: var(--jps-green); stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.jps-safety-card h3 { margin: 3px 0 7px; font-size: 18px; line-height: 1.28; }
.jps-safety-card p { margin: 0; color: var(--jps-muted); font-size: 14px; line-height: 1.58; }

/* INDUSTRIES */
.jps-industries { padding: 84px 0 96px; background: #fff; }
.jps-industries-head { margin-bottom: 34px; }
.jps-industries-head h2 { font-size: clamp(26px,2.35vw,37px); }
.jps-industries-grid { display: grid; grid-template-columns: repeat(9,minmax(0,1fr)); gap: 10px; }
.jps-industry-card {
  min-height: 145px; padding: 22px 8px 18px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center;
  border: 1px solid #e4ece8; border-radius: 12px; background: #fff; box-shadow: 0 9px 24px rgba(12,77,47,.045);
  transition: transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.jps-industry-card:hover { transform: translateY(-5px); border-color: rgba(8,115,63,.28); box-shadow: 0 17px 36px rgba(12,77,47,.09); }
.jps-industry-icon { margin-bottom: 13px; }
.jps-industry-icon svg { width: 38px; height: 38px; fill: none; stroke: var(--jps-green); stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.jps-industry-card h3 { margin: 0; color: #1f2937; font-size: 13px; line-height: 1.35; font-weight: 800; }

/* RESPONSIVE */
@media (max-width: 1250px) {
  .jps-container { width: min(1180px, calc(100% - 40px)); }
  .jps-why-layout { grid-template-columns: 1fr; gap: 34px; }
  .jps-why-intro { text-align: center; }
  .jps-why-intro p { margin-inline: auto; }
  .jps-industries-grid { grid-template-columns: repeat(5,1fr); }
  .jps-safety-layout { gap: 44px; }
}

@media (max-width: 900px) {
  .jps-container { width: min(760px, calc(100% - 32px)); }
  .jps-process { padding: 70px 0; }
  .jps-process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 44px 25px; }
  .jps-process-arrow { display: none; }
  .jps-benefits { grid-template-columns: repeat(3,1fr); }
  .jps-safety-layout { grid-template-columns: 1fr; gap: 44px; }
  .jps-safety-copy { text-align: center; }
  .jps-safety-copy > p { margin-inline: auto; }
  .jps-safety-note { justify-content: center; }
  .jps-industries-grid { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 600px) {
  .jps-container { width: calc(100% - 28px); }
  .jps-section-head { margin-bottom: 38px; }
  .jps-eyebrow { gap: 8px; font-size: 10.5px; letter-spacing: 2.2px; }
  .jps-eyebrow span { width: 22px; }
  .jps-section-head h2 { font-size: 31px; letter-spacing: -1px; }
  .jps-section-head p { font-size: 16px; }

  .jps-process { padding: 62px 0; }
  .jps-process-grid { grid-template-columns: 1fr; gap: 42px; }
  .jps-process-icon-wrap, .jps-process-icon { width: 94px; height: 94px; }
  .jps-process-icon-wrap { margin-bottom: 19px; }
  .jps-process-icon svg { width: 38px; height: 38px; }
  .jps-step-number { width: 34px; height: 34px; font-size: 15px; }

  .jps-why { padding: 56px 0; }
  .jps-why-intro h2 { font-size: 30px; }
  .jps-benefits { grid-template-columns: repeat(2,1fr); gap: 10px; }
  .jps-benefit-card { min-height: 135px; }

  .jps-safety { padding: 66px 0; }
  .jps-safety-copy h2 { font-size: 38px; letter-spacing: -1.3px; }
  .jps-safety-copy > p { font-size: 15px; }
  .jps-safety-features { grid-template-columns: 1fr; gap: 12px; }
  .jps-safety-card { min-height: 0; padding: 22px; }

  .jps-industries { padding: 65px 0 76px; }
  .jps-industries-grid { grid-template-columns: repeat(2,1fr); gap: 9px; }
  .jps-industry-card { min-height: 126px; padding: 18px 7px; }
  .jps-industry-icon svg { width: 33px; height: 33px; }
  .jps-industry-card h3 { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .jps-benefit-card,.jps-safety-card,.jps-industry-card { transition: none; }
}

/* =========================================================
   SEPT 13 UPDATES — refreshed Why Choose Us + Blog blocks
========================================================= */
.jps-why-trust{
  padding:82px 0 88px;
  background:linear-gradient(180deg,#fbfcfb 0%,#f4f8f5 100%);
  border-top:1px solid #edf2ee;
}
.jps-why-trust-head{margin-bottom:36px;}
.jps-why-trust-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.jps-why-trust-card{
  min-height:192px;
  padding:26px 24px 24px;
  background:#fff;
  border:1px solid #e2ebe5;
  border-radius:0;
  box-shadow:0 10px 28px rgba(13,71,44,.045);
}
.jps-why-trust-card h3{
  margin:0 0 10px;
  color:#13221d;
  font-size:21px;
  line-height:1.2;
  font-weight:850;
}
.jps-why-trust-card p{
  margin:0;
  color:#62716a;
  font-size:15px;
  line-height:1.7;
}

.jps-blog{
  padding:0 0 90px;
  background:#fff;
}
.jps-blog-head{margin-bottom:34px;}
.jps-blog-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.jps-blog-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  background:#fff;
  border:1px solid #e4ece7;
  border-radius:0;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(10,64,40,.05);
}
.jps-blog-card__media{
  display:block;
  aspect-ratio:4 / 3;
  overflow:hidden;
}
.jps-blog-card__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .3s ease;
}
.jps-blog-card:hover .jps-blog-card__media img{
  transform:scale(1.04);
}
.jps-blog-card__body{
  display:flex;
  flex-direction:column;
  gap:16px;
  padding:22px 22px 24px;
  flex:1 1 auto;
}
.jps-blog-card__body h3{
  margin:0;
  font-size:21px;
  line-height:1.25;
  font-weight:850;
  letter-spacing:-.02em;
}
.jps-blog-card__body h3 a{
  color:#13221d;
  text-decoration:none;
}
.jps-blog-card__link{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  width:fit-content;
  color:#fff;
  text-decoration:none;
  font-size:12px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  background:#0b5b39;
}
.jps-blog-card__link:hover{background:#084c31;}

@media (max-width:1250px){
  .jps-why-trust-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .jps-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:700px){
  .jps-why-trust{padding:62px 0 68px;}
  .jps-why-trust-grid,
  .jps-blog-grid{grid-template-columns:1fr;}
  .jps-why-trust-card{min-height:0;padding:22px 18px;}
  .jps-why-trust-card h3{font-size:19px;}
  .jps-why-trust-card p{font-size:14px;line-height:1.65;}
  .jps-blog{padding:0 0 66px;}
  .jps-blog-card__body{padding:18px 16px 20px;gap:14px;}
  .jps-blog-card__body h3{font-size:18px;}
}

@media (prefers-reduced-motion: reduce){
  .jps-blog-card__media img{transition:none;}
}

/* === Sept 13 refinement: Why Choose Us + Blog spacing and simpler blog cards === */
.jps-why-trust{
  padding:72px 0 74px;
}
.jps-why-trust-head{margin-bottom:28px;}
.jps-why-trust-card{
  min-height:176px;
  padding:24px 22px 22px;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.jps-why-trust-card:hover{
  transform:translateY(-4px);
  border-color:rgba(11,106,60,.25);
  box-shadow:0 16px 34px rgba(13,71,44,.08);
}
.jps-blog{
  padding:0 0 82px;
}
.jps-blog-head{margin-bottom:28px;}
.jps-blog-card{
  box-shadow:0 10px 24px rgba(10,64,40,.045);
}
.jps-blog-card__body{
  gap:12px;
  padding:18px 18px 20px;
}
.jps-blog-card__body h3{font-size:19px;}
.jps-blog-card__link{
  min-height:40px;
  padding:0 14px;
}

/* V10 concise Why Choose summary + premium grey blog band. */
.jps-why-trust-head{max-width:1180px;}
.jps-why-trust-summary{
  max-width:none!important;
  white-space:nowrap;
  font-size:15.5px!important;
}
.jps-why-trust-summary span{display:inline;}
.jps-why-trust-summary span + span::before{content:" ";}
.jps-blog{
  padding:72px 0 82px;
  background:#f1f3f2;
  border-top:1px solid #e5eae7;
}
@media(max-width:700px){
  .jps-why-trust-summary{white-space:normal;font-size:13px!important;line-height:1.45!important;}
  .jps-why-trust-summary span{display:block;white-space:nowrap;}
  .jps-why-trust-summary span + span::before{content:none;}
  .jps-blog{padding:58px 0 66px;}
}
@media(max-width:390px){
  .jps-why-trust-summary{font-size:12px!important;letter-spacing:-.01em;}
}


/* google-reviews.css */
/* =========================================================
   JOPESTKIL — PREMIUM GOOGLE REVIEWS
   Scoped to .jgr-section only. Sharp/square card treatment.
   ========================================================= */
:root{
  --jgr-bg:#eef1ef;
  --jgr-card:#ffffff;
  --jgr-text:#0e1720;
  --jgr-muted:#697487;
  --jgr-line:#dfe5e2;
  --jgr-green:#07834a;
  --jgr-green-2:#0aa153;
  --jgr-blue:#1a73e8;
  --jgr-star:#f9ab00;
  --jgr-shadow:0 14px 34px rgba(18,34,27,.07);
}

.jgr-section,
.jgr-section *{box-sizing:border-box}

.jgr-section{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 8% 13%, rgba(69,123,79,.08), transparent 17%),
    radial-gradient(circle at 92% 8%, rgba(100,112,107,.075), transparent 17%),
    var(--jgr-bg);
  padding:70px 0 62px;
  color:var(--jgr-text);
}

/* very light botanical accent like the approved mock-up */
.jgr-section::before{
  content:"";
  position:absolute;
  left:-92px;
  top:-116px;
  width:330px;
  height:420px;
  opacity:.16;
  pointer-events:none;
  background:
    linear-gradient(114deg, transparent 40%, rgba(38,101,53,.31) 41% 42%, transparent 43%),
    linear-gradient(89deg, transparent 49%, rgba(38,101,53,.22) 50% 51.5%, transparent 52.5%),
    linear-gradient(66deg, transparent 58%, rgba(38,101,53,.18) 59% 60.5%, transparent 61.5%);
  transform:rotate(-11deg);
  z-index:-1;
}

.jgr-section::after{
  content:"G";
  position:absolute;
  right:4.2%;
  top:12px;
  font:900 178px/1 Arial,Helvetica,sans-serif;
  color:rgba(76,89,83,.052);
  pointer-events:none;
  z-index:-1;
}

.jgr-shell{
  width:min(1580px, calc(100% - 46px));
  margin:0 auto;
}

.jgr-heading{
  width:min(940px,100%);
  margin:0 auto 30px;
  text-align:center;
}

.jgr-kicker{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  color:var(--jgr-green);
  font-size:16px;
  font-weight:850;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.jgr-kicker span{
  width:58px;
  height:2px;
  background:var(--jgr-green);
  display:block;
}

.jgr-heading h2{
  margin:17px 0 0;
  font-size:clamp(46px,5.1vw,78px);
  line-height:.98;
  letter-spacing:-.055em;
  font-weight:900;
  color:#0d1620;
}

.jgr-heading h2 em{
  position:relative;
  display:inline-block;
  color:#078d4e;
  font-style:normal;
}

.jgr-heading h2 em::after{
  content:"";
  position:absolute;
  left:9%;
  right:6%;
  bottom:-12px;
  height:3px;
  background:linear-gradient(90deg,#2eb761,#087f47);
  transform:rotate(-1deg);
}

.jgr-heading p{
  width:min(805px,100%);
  margin:29px auto 0;
  color:#647083;
  font-size:18px;
  line-height:1.55;
}

.jgr-layout{
  display:grid;
  grid-template-columns:380px minmax(0,1fr);
  gap:28px;
  align-items:stretch;
}

/* ----- left Google summary ----- */
.jgr-summary{
  min-height:442px;
  background:#fff;
  border:1px solid var(--jgr-line);
  border-radius:0;
  box-shadow:var(--jgr-shadow);
  padding:29px 28px 24px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.jgr-google-wordmark{
  width:136px;
  height:auto;
  display:block;
  margin:0 0 18px;
}

.jgr-summary h3{
  margin:0;
  font-size:24px;
  line-height:1.1;
  font-weight:850;
  letter-spacing:-.025em;
}

.jgr-business-type{
  margin:5px 0 0;
  color:#778195;
  font-size:16px;
}

.jgr-rating-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:15px;
  margin-top:22px;
}

.jgr-rating-row > strong{
  font-size:52px;
  line-height:1;
  letter-spacing:-.045em;
  font-weight:900;
  color:#111923;
}

.jgr-stars,
.jgr-card-stars{
  color:var(--jgr-star);
  white-space:nowrap;
  font-family:Arial,Helvetica,sans-serif;
}

.jgr-stars{
  font-size:28px;
  letter-spacing:1px;
}

.jgr-count{
  margin:10px 0 0;
  color:#5f6a7d;
  font-size:16px;
}

.jgr-count strong{font-weight:500}

.jgr-google-btn{
  width:100%;
  min-height:62px;
  margin-top:25px;
  padding:12px 18px;
  border:0;
  border-radius:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  background:var(--jgr-blue);
  color:#fff !important;
  text-decoration:none !important;
  font-size:16px;
  font-weight:800;
  transition:background .2s ease, transform .2s ease;
}

.jgr-google-btn:hover{
  background:#155fbe;
  transform:translateY(-1px);
}

.jgr-google-btn img{
  width:31px;
  height:31px;
  display:block;
}

.jgr-avatar-stack{
  display:flex;
  align-items:center;
  min-height:52px;
  margin-top:20px;
}

.jgr-avatar-stack img,
.jgr-mini-fallback{
  width:49px;
  height:49px;
  border-radius:50%;
  object-fit:cover;
  display:grid;
  place-items:center;
  border:3px solid #fff;
  background:#edf1ef;
  color:#20563f;
  font-size:13px;
  font-weight:800;
  margin-left:-10px;
}

.jgr-avatar-stack > :first-child{margin-left:0}

.jgr-more{
  min-width:62px;
  height:49px;
  margin-left:-6px;
  padding:0 10px;
  border-radius:25px;
  background:#f0f3f5;
  color:#354153;
  display:grid;
  place-items:center;
  font-size:15px;
  font-weight:800;
}

.jgr-source-line{
  margin-top:auto;
  padding-top:20px;
  display:flex;
  align-items:center;
  gap:10px;
  color:#465162;
  font-size:15px;
}

.jgr-source-line::before{
  content:"✓";
  width:24px;
  height:24px;
  border-radius:50%;
  background:#13a35b;
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:900;
}

.jgr-source-line img{display:none}

/* ----- carousel ----- */
.jgr-reviews-area{
  position:relative;
  min-width:0;
  overflow:visible;
}

.jgr-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 40px) / 3);
  gap:20px;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x proximity;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
  overscroll-behavior-x:contain;
  overscroll-behavior-y:auto;
  -webkit-overflow-scrolling:touch;
  touch-action:auto;
  padding:0;
}

.jgr-track::-webkit-scrollbar{display:none}

.jgr-card{
  scroll-snap-align:start;
  min-width:0;
  min-height:442px;
  background:#fff;
  border:1px solid var(--jgr-line);
  border-radius:0;
  box-shadow:0 13px 30px rgba(18,34,27,.055);
  padding:22px 23px 18px;
  display:flex;
  flex-direction:column;
}

.jgr-card-head{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 28px;
  align-items:center;
  gap:13px;
}

.jgr-avatar{
  width:58px;
  height:58px;
  border-radius:50%;
  object-fit:cover;
  display:block;
  background:#eef1ef;
}

.jgr-avatar-fallback{
  display:grid;
  place-items:center;
  background:#eef2f0;
  color:#155b3c;
  border:1px solid #dbe3df;
  font-weight:850;
  letter-spacing:.03em;
}

.jgr-author{min-width:0}

.jgr-author a{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#121923 !important;
  text-decoration:none !important;
  font-size:16px;
  line-height:1.2;
  font-weight:850;
}

.jgr-author time{
  display:block;
  margin-top:5px;
  color:#7b8595;
  font-size:14px;
}

.jgr-g{
  width:24px;
  height:24px;
  object-fit:contain;
  justify-self:end;
}

.jgr-card-stars{
  margin-top:16px;
  font-size:24px;
  letter-spacing:1px;
  line-height:1;
}

.jgr-review-text{
  margin:11px 0 0;
  color:#2a3444;
  font-size:16px;
  line-height:1.57;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:6;
  overflow:hidden;
}

.jgr-review-text.is-expanded{
  display:block;
  overflow:visible;
}

.jgr-read-more{
  width:max-content;
  margin:8px 0 0;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  color:#738095;
  cursor:pointer;
  font-family:inherit;
  font-size:15px;
  font-weight:500;
  line-height:1.3;
}

.jgr-read-more[hidden]{display:none!important}

/* review-attached photos/videos: only shown when the feed provides them */
.jgr-review-media{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin-top:14px;
}

.jgr-review-media a,
.jgr-review-media figure{
  margin:0;
  min-width:0;
  display:block;
}

.jgr-review-media img,
.jgr-review-media video{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  display:block;
  border:1px solid #e0e5e2;
  border-radius:0;
  background:#edf0ee;
}

.jgr-card-bottom{
  margin-top:auto;
  padding-top:18px;
}

.jgr-card-bottom::before{
  content:"";
  display:block;
  height:1px;
  background:#e4e8e6;
  margin-bottom:15px;
}

.jgr-map-link{
  display:flex;
  align-items:center;
  gap:9px;
  width:max-content;
  max-width:100%;
  color:#0b67d8 !important;
  text-decoration:none !important;
  font-size:15px;
  font-weight:750;
}

.jgr-map-link img{
  width:22px;
  height:22px;
  object-fit:contain;
  flex:0 0 auto;
}

.jgr-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:48px;
  height:48px;
  padding:0;
  border:1px solid #dce2df;
  border-radius:0;
  background:#fff;
  color:#344153;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(0,0,0,.08);
}

.jgr-arrow svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.jgr-arrow-prev{left:-24px}
.jgr-arrow-next{right:-24px}
.jgr-arrow:hover{background:#f9fbfa}

.jgr-dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:9px;
  margin-top:25px;
  min-height:11px;
}

.jgr-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#d0d6d3;
  display:block;
}

.jgr-dot.is-active{background:#078a4d}

/* ----- bottom CTA ----- */
.jgr-footer-row{
  display:flex;
  justify-content:center;
  align-items:center;
  margin-top:26px;
}

.jgr-disclosure{display:none}

.jgr-all-reviews{
  min-height:68px;
  padding:0 34px;
  border:2px solid #07864b;
  border-radius:0;
  background:rgba(255,255,255,.28);
  color:#087b46 !important;
  text-decoration:none !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  font-size:17px;
  font-weight:850;
  transition:background .2s ease, color .2s ease, transform .2s ease;
}

.jgr-all-reviews img{
  width:27px;
  height:27px;
  object-fit:contain;
}

.jgr-all-reviews svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.jgr-all-reviews:hover{
  background:#fff;
  color:#056d3d !important;
  transform:translateY(-1px);
}

.jgr-error{
  min-height:442px;
  padding:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:#fff;
  border:1px solid var(--jgr-line);
  border-radius:0;
  color:#647069;
}

@media (max-width:1180px){
  .jgr-layout{grid-template-columns:320px minmax(0,1fr)}
  .jgr-track{grid-auto-columns:calc((100% - 20px) / 2)}
}

@media (max-width:900px){
  .jgr-section{padding:56px 0 52px}
  .jgr-shell{width:min(100% - 28px,760px)}
  .jgr-layout{grid-template-columns:1fr;gap:20px}
  .jgr-summary{min-height:auto}
  .jgr-track{grid-auto-columns:min(78vw,410px)}
  .jgr-card{min-height:430px}
  .jgr-arrow-prev{left:0}
  .jgr-arrow-next{right:0}
  .jgr-section::after{font-size:118px;right:2%}
}

@media (max-width:600px){
  .jgr-section{padding:46px 0 44px}
  .jgr-shell{width:calc(100% - 22px)}
  .jgr-heading{margin-bottom:24px}
  .jgr-kicker{font-size:12px;gap:9px}
  .jgr-kicker span{width:31px}
  .jgr-heading h2{font-size:clamp(39px,11.5vw,52px);line-height:1.02}
  .jgr-heading h2 em::after{bottom:-8px}
  .jgr-heading p{margin-top:23px;font-size:15px}
  .jgr-summary{padding:24px 20px 21px}
  .jgr-rating-row > strong{font-size:46px}
  .jgr-stars{font-size:24px}
  .jgr-google-btn{font-size:15px}
  .jgr-track{grid-auto-columns:91%}
  .jgr-card{padding:20px;min-height:430px}
  .jgr-arrow{display:none}
  .jgr-all-reviews{width:100%;min-height:64px;padding:0 15px;font-size:15px}
}

@media (prefers-reduced-motion:reduce){
  .jgr-track{scroll-behavior:auto}
  .jgr-google-btn,
  .jgr-all-reviews{transition:none}
}


/* coverage-faq.css */
/* Jopestkil FAQ — full-width, map-free, clean question/answer colour separation */
:root{
  --faq-green:#3f9a45;
  --faq-green-dark:#27723b;
  --faq-ink:#12201a;
  --faq-muted:#52625a;
  --faq-question:#f1f4f1;
  --faq-answer:#e7f2e6;
  --faq-line:#dce4de;
}
.coverage-faq,.coverage-faq *{box-sizing:border-box}
.coverage-faq{
  width:100%;overflow:hidden;color:var(--faq-ink);font-family:var(--site-font);
  background:#fbfcfb;border-top:1px solid #eef1ee;border-bottom:1px solid #edf0ed;
}
.coverage-faq button{font:inherit}
.coverage-faq__inner{
  width:min(1292px,calc(100% - 40px));margin:0 auto;
  display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.55fr);
  gap:clamp(50px,6vw,100px);align-items:start;padding:clamp(68px,7vw,100px) 0;
}
.coverage-faq__faq-heading{position:sticky;top:118px;padding-top:4px}
.coverage-faq__eyebrow{
  margin:0 0 13px;color:var(--faq-green-dark);font-size:12px;line-height:1.2;
  font-weight:900;letter-spacing:.14em;text-transform:uppercase;
}
.coverage-faq__title{
  margin:0;color:#112119;font-size:clamp(38px,4.2vw,58px);line-height:1.01;
  font-weight:850;letter-spacing:-.045em;
}
.coverage-faq__copy{
  max-width:390px;margin:18px 0 0;color:var(--faq-muted);font-size:15px;line-height:1.65;font-weight:500;
}
.coverage-faq__faq{min-width:0}
.faq-list{display:grid;gap:10px}
.faq-item{overflow:hidden;background:transparent;border:0;border-radius:0;box-shadow:none}
.faq-item__trigger{
  width:100%;min-height:70px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:24px;
  border:0;background:var(--faq-question);color:#1d2a24;text-align:left;font-size:16px;line-height:1.35;font-weight:800;
  cursor:pointer;transition:background .18s ease,color .18s ease;
}
.faq-item__trigger:hover{background:#ebefeb}
.faq-item__trigger[aria-expanded="true"]{background:#e9eeea;color:#163822}
.faq-item__trigger:focus-visible{outline:3px solid rgba(63,154,69,.28);outline-offset:-3px}
.faq-item__icon{position:relative;flex:0 0 28px;width:28px;height:28px;border:1px solid #c9d5cc;background:#fff}
.faq-item__icon::before,.faq-item__icon::after{
  content:"";position:absolute;left:50%;top:50%;width:11px;height:1.8px;background:#39734a;
  transform:translate(-50%,-50%);transition:transform .18s ease,opacity .18s ease;
}
.faq-item__icon::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item__trigger[aria-expanded="true"] .faq-item__icon::after{transform:translate(-50%,-50%) rotate(0);opacity:0}
.faq-item__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .24s ease}
.faq-item__trigger[aria-expanded="true"] + .faq-item__panel{grid-template-rows:1fr}
.faq-item__answer{
  min-height:0;overflow:hidden;padding:0 22px;background:var(--faq-answer);color:#405148;
  font-size:14.5px;line-height:1.68;font-weight:550;
}
.faq-item__trigger[aria-expanded="true"] + .faq-item__panel .faq-item__answer{padding:19px 22px 21px}
@media (max-width:900px){
  .coverage-faq__inner{width:min(760px,calc(100% - 30px));grid-template-columns:1fr;gap:34px;padding:62px 0}
  .coverage-faq__faq-heading{position:static;max-width:640px}
  .coverage-faq__copy{max-width:560px}
}
@media (max-width:600px){
  .coverage-faq__inner{width:calc(100% - 22px);padding:52px 0;gap:28px}
  .coverage-faq__title{font-size:clamp(34px,10vw,44px)}
  .coverage-faq__copy{font-size:14px;margin-top:14px}
  .faq-list{gap:8px}
  .faq-item__trigger{min-height:64px;padding:16px 15px;font-size:14px;gap:14px}
  .faq-item__icon{flex-basis:26px;width:26px;height:26px}
  .faq-item__answer{padding-left:15px;padding-right:15px;font-size:13.5px}
  .faq-item__trigger[aria-expanded="true"] + .faq-item__panel .faq-item__answer{padding:16px 15px 18px}
}
@media (prefers-reduced-motion:reduce){.faq-item__trigger,.faq-item__panel,.faq-item__icon::before,.faq-item__icon::after{transition:none}}

/* === Sept 13 refinement: FAQ as direct text, no boxed cards === */
.coverage-faq{
  background:#fff;
  border-top:1px solid #eef2ef;
  border-bottom:0;
}
.coverage-faq__inner{
  width:min(1180px,calc(100% - 40px));
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
  padding:72px 0 56px;
}
.coverage-faq__faq-heading{
  position:static;
  max-width:900px;
  text-align:center;
  margin:0 auto;
}
.coverage-faq__copy{
  max-width:760px;
  margin:16px auto 0;
}
.coverage-faq__faq{max-width:980px;margin:0 auto;width:100%;}
.faq-list{gap:0;}
.faq-item{
  border-bottom:1px solid var(--faq-line);
}
.faq-item__trigger{
  min-height:0;
  padding:20px 0 14px;
  background:transparent;
  color:#14683b;
  font-size:18px;
  font-weight:850;
}
.faq-item__trigger:hover,
.faq-item__trigger[aria-expanded="true"]{
  background:transparent;
  color:#0f6b3d;
}
.faq-item__trigger:focus-visible{
  outline:0;
}
.faq-item__icon{
  border:0;
  background:transparent;
  width:24px;
  height:24px;
}
.faq-item__icon::before,
.faq-item__icon::after{
  background:#4a8c60;
}
.faq-item__answer{
  padding:0 0 0 0;
  background:transparent;
  color:#596963;
  font-size:15px;
  line-height:1.78;
  font-weight:500;
}
.faq-item__trigger[aria-expanded="true"] + .faq-item__panel .faq-item__answer{
  padding:0 0 18px;
}
@media (max-width:600px){
  .coverage-faq__inner{width:calc(100% - 24px);padding:58px 0 46px;}
  .faq-item__trigger{padding:18px 0 12px;font-size:16px;}
  .faq-item__answer{font-size:14px;}
}


/* footer-cta.css */
/* Jopestkil CTA + Footer — isolated drop-in styles */
:root{--jpf-bg:#00241d;--jpf-bg2:#003226;--jpf-line:#13503f;--jpf-green:#9ce232;--jpf-text:#f8faf9;--jpf-muted:#c0cfca}
.jpf-cta,.jpf-footer,.jpf-cta *,.jpf-footer *{box-sizing:border-box}
.jpf-cta a,.jpf-footer a{text-decoration:none}

/* CTA: NO raster/background images. Only CSS gradients + inline SVG icons. */
.jpf-cta{width:100%;overflow:hidden;color:#fff;border-top:4px solid rgba(184,225,146,.45);border-bottom:2px solid rgba(103,204,84,.55);font-family:var(--site-font);background:radial-gradient(560px 170px at 84% 48%,rgba(42,147,67,.38),transparent 70%),radial-gradient(460px 155px at 58% 50%,rgba(11,110,61,.35),transparent 72%),linear-gradient(90deg,#003427 0%,#003f2b 42%,#075d34 100%)}
.jpf-cta__inner{width:calc(100% - 72px);max-width:1330px;height:156px;margin:0 auto;padding-left:160px;display:grid;grid-template-columns:minmax(0,1fr) 220px 232px 156px;align-items:center;gap:20px}
.jpf-cta__copy{min-width:0}
.jpf-cta__copy h2{margin:0 0 8px;font:800 34px/1.05 Georgia,"Times New Roman",serif;letter-spacing:-.65px;text-shadow:0 2px 2px rgba(0,0,0,.18);white-space:nowrap}
.jpf-cta__copy p{margin:0;color:#c8d5d1;font-size:14px;line-height:1.35;letter-spacing:-.15px;white-space:nowrap}
.jpf-btn{height:72px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;box-shadow:0 3px 9px rgba(0,0,0,.16)}
.jpf-btn--quote{gap:14px;color:#163116;background:linear-gradient(180deg,#abe94b,#88da2d);border:1px solid rgba(218,255,162,.55);font-size:16px}
.jpf-btn--quote svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.jpf-btn--call{justify-content:flex-start;gap:15px;padding:0 22px;color:#1e2926;background:#fff;border:1px solid rgba(224,232,228,.9)}
.jpf-btn__phone{width:34px;height:34px;flex:0 0 34px;fill:#118d43}
.jpf-call-text{display:flex;min-width:0;flex-direction:column;line-height:1.05}.jpf-call-text strong{font-size:16px}.jpf-call-text small{margin-top:6px;color:#61726d;font-size:12.5px;font-weight:700;white-space:nowrap}
.jpf-cta__tagline{position:relative;transform:rotate(-4deg);color:#eef6ef;font-family:var(--site-font);font-size:16px;line-height:1.43;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.16)}
.jpf-cta__tagline span{display:block;white-space:nowrap}.jpf-cta__tagleaf{position:absolute;right:8px;bottom:-26px;width:46px;height:28px;fill:none;stroke:#b2dd34;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}

.jpf-footer{width:100%;overflow:hidden;color:var(--jpf-text);font-family:var(--site-font);background:radial-gradient(600px 240px at 47% 108%,rgba(7,100,67,.58),transparent 68%),radial-gradient(500px 220px at 88% 72%,rgba(0,70,46,.35),transparent 70%),linear-gradient(100deg,#001f19 0%,#00271e 48%,#001f1a 100%)}
.jpf-footer__main{height:334px;padding:28px 0 22px}
.jpf-footer__grid{width:calc(100% - 72px);max-width:1330px;height:100%;margin:0 auto;display:grid;grid-template-columns:320px 160px 228px 170px minmax(0,1fr);column-gap:38px;align-items:start}
.jpf-footer__brand{min-width:0}.jpf-footer__logo{display:block;width:224px;height:65px;object-fit:cover;object-position:center;margin:-2px 0 8px -5px}.jpf-footer__brand p{margin:0;color:#b9c7c3;font-size:14px;line-height:1.55;letter-spacing:-.1px}.jpf-social{display:flex;gap:18px;margin-top:14px}.jpf-social__item{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 2px rgba(0,0,0,.21),0 2px 4px rgba(0,0,0,.16)}.jpf-social__item svg{width:21px;height:21px;fill:#fff}.jpf-social__item--facebook{background:#1976d2}.jpf-social__item--instagram{background:radial-gradient(circle at 70% 72%,#ffd04b 0 15%,#f44336 28%,#c22b85 56%,#6a44c7 100%)}.jpf-social__item--instagram svg{fill:none;stroke:#fff;stroke-width:2}.jpf-social__item--linkedin{background:#0a78b6}.jpf-social__item--youtube{background:#f10f14}
.jpf-footer__col{min-width:0;min-height:270px;padding-right:26px;border-right:2px solid rgba(21,92,67,.40)}.jpf-footer h3{margin:3px 0 15px;color:#fff;font-size:16px;line-height:1.2;font-weight:800;letter-spacing:-.12px}.jpf-footer__col a{display:block;width:max-content;max-width:100%;margin:0 0 10px;color:#c4cfcc;font-size:14px;line-height:1.35;white-space:normal}.jpf-footer__col a:hover,.jpf-contact-row:hover{color:#a9e33c}
.jpf-footer__contact{min-width:0}.jpf-footer__contact h3{margin-bottom:16px}.jpf-contact-row{display:flex;align-items:center;gap:16px;min-width:0;min-height:34px;margin-bottom:7px;color:#c7d0ce;font-size:14px;line-height:1.25}.jpf-contact-row>span:last-child{min-width:0;overflow-wrap:anywhere}.jpf-contact-icon{width:32px;height:32px;flex:0 0 32px;border-radius:50%;display:grid;place-items:center;color:#16411f;background:#9cda34}.jpf-contact-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.jpf-contact-row:first-of-type .jpf-contact-icon svg{fill:currentColor;stroke:none}.jpf-kenya-row{display:flex;align-items:center;gap:11px;min-width:0;margin-top:16px;color:#d4dad8;font-size:14px;font-weight:700}.jpf-kenya-row img{display:block;width:54px;height:44px;object-fit:cover}.jpf-kenya-row span{min-width:0;white-space:nowrap}
.jpf-footer__bottom{height:101px;border-top:2px solid rgba(38,113,82,.43)}.jpf-footer__bottom-inner{width:calc(100% - 72px);max-width:1330px;height:99px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.jpf-footer__bottom p{margin:0;color:#c1ceca;font-size:13.5px;line-height:1.4}.jpf-footer__motto{display:flex;align-items:center;gap:20px;font-size:15px!important;white-space:nowrap}.jpf-footer__motto svg{width:36px;height:36px;fill:#a8df36;stroke:#a8df36;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* Desktop safety: progressively compress before anything can overlap or create horizontal scroll. */
@media (max-width:1450px){.jpf-cta__inner{width:calc(100% - 52px);padding-left:110px;grid-template-columns:minmax(0,1fr) 205px 220px 140px;gap:14px}.jpf-cta__copy h2{font-size:32px}.jpf-cta__copy p{font-size:12.8px}.jpf-btn{height:66px}.jpf-btn--quote{font-size:15px}.jpf-btn--call{padding:0 16px;gap:11px}.jpf-btn__phone{width:31px;height:31px;flex-basis:31px}.jpf-call-text strong{font-size:15px}.jpf-call-text small{font-size:11.5px}.jpf-cta__tagline{font-size:14px}.jpf-footer__grid{width:calc(100% - 52px);grid-template-columns:270px 140px 205px 145px minmax(0,1fr);column-gap:24px}.jpf-footer__brand p,.jpf-footer__col a,.jpf-contact-row{font-size:13px}.jpf-footer__logo{width:210px}.jpf-footer__bottom-inner{width:calc(100% - 52px)}}
@media (max-width:1120px){.jpf-cta{padding:26px 0}.jpf-cta__inner{width:calc(100% - 40px);height:auto;min-height:0;padding-left:0;grid-template-columns:1fr 1fr;gap:14px}.jpf-cta__copy{grid-column:1/-1;text-align:center}.jpf-cta__copy h2,.jpf-cta__copy p{white-space:normal}.jpf-cta__copy h2{font-size:32px}.jpf-btn--quote{justify-self:end;width:min(250px,100%)}.jpf-btn--call{justify-self:start;width:min(260px,100%)}.jpf-cta__tagline{display:none}.jpf-footer__main{height:auto;padding:34px 0 30px}.jpf-footer__grid{width:calc(100% - 40px);height:auto;grid-template-columns:1.25fr 1fr 1fr;gap:34px 28px}.jpf-footer__brand{grid-column:1/-1}.jpf-footer__col{min-height:0;padding-right:0;border-right:0}.jpf-footer__contact{grid-column:1/-1;max-width:420px}.jpf-footer__bottom{height:auto;min-height:102px}.jpf-footer__bottom-inner{width:calc(100% - 40px);height:auto;min-height:100px}}
@media (max-width:650px){.jpf-cta{padding:31px 0 34px}.jpf-cta__inner{width:calc(100% - 30px);grid-template-columns:1fr;gap:12px}.jpf-cta__copy h2{font-size:clamp(28px,8vw,35px)}.jpf-cta__copy p{font-size:13px}.jpf-btn--quote,.jpf-btn--call{width:100%;max-width:420px;justify-self:center}.jpf-btn--call{justify-content:center}.jpf-footer__grid{width:calc(100% - 32px);grid-template-columns:1fr 1fr;gap:30px 22px}.jpf-footer__brand,.jpf-footer__contact{grid-column:1/-1}.jpf-desktop-br{display:none}.jpf-footer__bottom-inner{width:calc(100% - 32px);padding:22px 0;flex-direction:column;align-items:flex-start;justify-content:center}.jpf-footer__motto{white-space:normal}}
@media (max-width:430px){.jpf-footer__grid{grid-template-columns:1fr}.jpf-footer__brand,.jpf-footer__contact{grid-column:1}.jpf-footer__col a{width:auto}.jpf-kenya-row span{white-space:normal}}

/* Integration safety: preserves the supplied design while preventing fixed-height clipping. */
.jpf-cta__inner{min-height:156px;height:auto}
.jpf-footer__main{min-height:334px;height:auto}
@media (max-width:1120px){.jpf-cta__inner{min-height:0}.jpf-footer__main{min-height:0}}


/* 2026 update */
.jpf-cta__copy h2{font-family:var(--site-font);font-size:38px;font-weight:800}
.jpf-cta__copy p{font-size:16px}
.jpf-footer__brand p{font-size:15px;line-height:1.7}
.jpf-footer h3{font-size:18px;font-weight:800}
.jpf-footer__col a,.jpf-contact-row{font-size:15px;line-height:1.5}
.jpf-footer__bottom p{font-size:14px}
.jpf-footer__motto a{color:#9ce232;font-weight:800;text-decoration:none}
.jpf-footer__motto a:hover{color:#c4f56f}
@media (max-width:650px){.jpf-footer h3{font-size:17px}.jpf-footer__col a,.jpf-contact-row,.jpf-footer__brand p{font-size:14px}.jpf-cta__copy h2{font-size:clamp(28px,8vw,34px)}.jpf-cta__copy p{font-size:14px}}


/* ==========================================================
   2026 FOOTER ALIGNMENT REFINEMENT
   Keeps the existing CTA/content intact; only normalizes the
   footer shell, column rhythm, dividers and responsive stacking.
   ========================================================== */
.jpf-footer{
  --jpf-footer-shell:1280px;
  overflow:hidden;
}

.jpf-footer__main{
  min-height:0;
  height:auto;
  padding:40px 0 34px;
}

.jpf-footer__grid{
  width:min(calc(100% - 80px),var(--jpf-footer-shell));
  max-width:none;
  height:auto;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(260px,1.38fr) minmax(145px,.78fr) minmax(205px,1.10fr) minmax(145px,.78fr) minmax(275px,1.40fr);
  column-gap:0;
  align-items:start;
}

.jpf-footer__brand{
  min-width:0;
  padding:0 34px 0 0;
}

.jpf-footer__logo{
  display:block;
  width:216px;
  max-width:100%;
  height:auto;
  object-fit:contain;
  object-position:left center;
  margin:0 0 18px;
}

.jpf-footer__brand p{
  max-width:285px;
  margin:0;
  color:#bccbc6;
  font-size:15px;
  line-height:1.65;
  letter-spacing:0;
}

.jpf-social{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
  margin-top:18px;
}

.jpf-social__item{
  width:38px;
  height:38px;
  flex:0 0 38px;
}

.jpf-footer__col,
.jpf-footer__contact{
  min-width:0;
  min-height:0;
  padding:0 24px 0 26px;
  border-right:0;
  border-left:1px solid rgba(64,132,105,.28);
}

.jpf-footer h3{
  margin:1px 0 18px;
  color:#fff;
  font-size:17px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:-.1px;
}

.jpf-footer__col a{
  display:block;
  width:100%;
  max-width:100%;
  margin:0 0 10px;
  color:#c4cfcc;
  font-size:15px;
  line-height:1.45;
  white-space:normal;
  transition:color .18s ease, transform .18s ease;
}

.jpf-footer__col a:hover{
  color:#a9e33c;
  transform:translateX(2px);
}

.jpf-footer__contact h3{
  margin-bottom:18px;
}

.jpf-contact-row{
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  align-items:center;
  gap:12px;
  min-width:0;
  min-height:38px;
  margin:0 0 10px;
  color:#c7d0ce;
  font-size:15px;
  line-height:1.35;
}

.jpf-contact-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
}

.jpf-contact-icon svg{
  width:19px;
  height:19px;
}

.jpf-contact-row>span:last-child{
  min-width:0;
  overflow-wrap:anywhere;
}

.jpf-footer__bottom{
  height:auto;
  min-height:82px;
  border-top:1px solid rgba(55,124,96,.38);
}

.jpf-footer__bottom-inner{
  width:min(calc(100% - 80px),var(--jpf-footer-shell));
  max-width:none;
  min-height:82px;
  height:auto;
  margin:0 auto;
  padding:0 168px 0 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.jpf-footer__bottom p{
  margin:0;
  color:#c1ceca;
  font-size:14px;
  line-height:1.4;
}

.jpf-footer__motto{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:0;
  white-space:nowrap;
  text-align:right;
}

.jpf-footer__motto a{
  color:#9ce232;
  font-weight:800;
  text-decoration:none;
}

.jpf-footer__motto a:hover{
  color:#c4f56f;
}

/* Compact desktop: retain a five-column footer without squeezed headings. */
@media (max-width:1240px){
  .jpf-footer__grid,
  .jpf-footer__bottom-inner{
    width:min(calc(100% - 48px),var(--jpf-footer-shell));
  }
  .jpf-footer__grid{
    grid-template-columns:minmax(230px,1.25fr) minmax(130px,.72fr) minmax(185px,1fr) minmax(130px,.72fr) minmax(250px,1.28fr);
  }
  .jpf-footer__brand{padding-right:26px}
  .jpf-footer__col,.jpf-footer__contact{padding-left:22px;padding-right:18px}
  .jpf-footer__brand p,.jpf-footer__col a,.jpf-contact-row{font-size:14px}
  .jpf-footer__bottom-inner{padding-right:156px}
}

/* Tablet: brand gets a full row, then clean two-column navigation blocks. */
@media (max-width:1040px){
  .jpf-footer__main{padding:38px 0 32px}
  .jpf-footer__grid{
    width:min(calc(100% - 48px),760px);
    grid-template-columns:1fr 1fr;
    gap:34px 42px;
  }
  .jpf-footer__brand{
    grid-column:1/-1;
    padding:0 0 4px;
  }
  .jpf-footer__brand p{max-width:540px}
  .jpf-footer__col,.jpf-footer__contact{
    padding:0;
    border-left:0;
  }
  .jpf-footer__contact{grid-column:1/-1;max-width:520px}
  .jpf-footer__bottom-inner{
    width:min(calc(100% - 48px),760px);
    padding-right:150px;
  }
}

@media (max-width:720px){
  .jpf-footer__main{padding:34px 0 30px}
  .jpf-footer__grid{
    width:calc(100% - 36px);
    grid-template-columns:1fr 1fr;
    gap:30px 28px;
  }
  .jpf-footer__brand,
  .jpf-footer__contact{grid-column:1/-1}
  .jpf-footer__logo{width:205px;margin-bottom:16px}
  .jpf-footer__brand p{max-width:100%;font-size:14px;line-height:1.6}
  .jpf-footer h3{font-size:17px;margin-bottom:15px}
  .jpf-footer__col a,.jpf-contact-row{font-size:14px}
  .jpf-footer__bottom-inner{
    width:calc(100% - 36px);
    min-height:112px;
    padding:20px 78px 20px 0;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:8px;
  }
  .jpf-footer__motto{white-space:normal;text-align:left;justify-content:flex-start}
}

@media (max-width:480px){
  .jpf-footer__grid{
    width:calc(100% - 32px);
    grid-template-columns:1fr;
    gap:28px;
  }
  .jpf-footer__brand,
  .jpf-footer__contact{grid-column:1}
  .jpf-footer__brand{padding-bottom:2px}
  .jpf-footer__logo{width:196px}
  .jpf-footer__col,
  .jpf-footer__contact{
    padding-bottom:22px;
    border-bottom:1px solid rgba(64,132,105,.24);
  }
  .jpf-footer__contact{padding-bottom:0;border-bottom:0}
  .jpf-footer__bottom-inner{
    width:calc(100% - 32px);
    padding-right:72px;
  }
}

/* V10 social link: X / Twitter */
.jpf-social__item--x{background:#111;}
.jpf-social__item--x svg{fill:#fff;}


/* integration.css */
/* Only cross-section integration rules live here; source section designs stay intact. */
.site-main { display: block; width: 100%; }

/* Header sits cleanly above the first content section without overlap. */
.site-header { isolation: isolate; }

/* Pest strip is intentionally compact and becomes horizontally swipeable on phones. */
.jp-pest-strip__list { -webkit-overflow-scrolling: touch; }

/* Consistent focus visibility across links/buttons. */
.site-header a:focus-visible,
.site-header button:focus-visible,
.jp-pest-strip a:focus-visible,
.jop-about a:focus-visible,
.jr-section a:focus-visible,
.coverage-faq button:focus-visible,
.jpf-cta a:focus-visible,
.jpf-footer a:focus-visible {
  outline: 3px solid rgba(105, 199, 31, .5);
  outline-offset: 3px;
}

@media (max-width: 760px) {
  .jp-pest-strip__list { padding-bottom: 10px; }
}

/* Modern supplied sections: integrate them into the existing Akt typography and focus system. */
.jps-home-sections { font-family: var(--site-font); }
.jps-home-sections * { min-width: 0; }
.jps-home-sections a:focus-visible,
.jps-home-sections button:focus-visible {
  outline: 3px solid rgba(105, 199, 31, .5);
  outline-offset: 3px;
}


/* site-animations.css */
/* =========================================================
   JOPESTKIL MOTION LAYER
   Additive only: does not alter the structural layout of the supplied sections.
   Scroll reveals, micro-interactions and mobile-safe motion.
========================================================= */
:root {
  --motion-green: #005234;
  --motion-lime: #69c71f;
  --motion-ease: cubic-bezier(.2,.72,.22,1);
}

/* Initial header entrance. */
@media (prefers-reduced-motion: no-preference) {
  .site-header .top-strip {
    animation: jopHeaderDown .52s var(--motion-ease) both;
  }
  .site-header .main-nav-wrap {
    animation: jopHeaderDown .62s .08s var(--motion-ease) both;
  }
}

@keyframes jopHeaderDown {
  from { opacity: 0; transform: translate3d(0,-16px,0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}

/* JS adds .jop-motion-ready only after every reveal target is registered. */
html.jop-motion-ready [data-jop-reveal] {
  opacity: 0;
  transform: translate3d(0,28px,0);
  transition:
    opacity .72s var(--motion-ease) var(--jop-delay,0ms),
    transform .72s var(--motion-ease) var(--jop-delay,0ms),
    filter .72s var(--motion-ease) var(--jop-delay,0ms);
  will-change: opacity, transform;
}
html.jop-motion-ready [data-jop-reveal="left"] { transform: translate3d(-34px,0,0); }
html.jop-motion-ready [data-jop-reveal="right"] { transform: translate3d(34px,0,0); }
html.jop-motion-ready [data-jop-reveal="scale"] { transform: scale(.955); filter: blur(3px); }
html.jop-motion-ready [data-jop-reveal="soft"] { transform: translate3d(0,14px,0); filter: blur(2px); }
html.jop-motion-ready [data-jop-reveal].is-jop-visible {
  opacity: 1;
  transform: none;
  filter: none;
}

/* About section: image stays elegant after its reveal. */
@media (prefers-reduced-motion: no-preference) {
  .jop-about__visual.is-jop-visible .jop-about__accent {
    animation: jopAccentDrift 5.5s 1s ease-in-out infinite alternate;
  }
  .coverage-faq__map-wrap.is-jop-visible .coverage-faq__map {
    animation: jopMapFloat 5.8s 1.15s ease-in-out infinite;
  }
  .jps-process-item.is-jop-visible .jps-step-number {
    animation: jopStepPop .62s calc(var(--jop-delay,0ms) + 150ms) var(--motion-ease) both;
  }
}

@keyframes jopAccentDrift {
  from { transform: rotate(12deg) translate3d(0,0,0); }
  to { transform: rotate(17deg) translate3d(7px,-7px,0); }
}
@keyframes jopMapFloat {
  0%,100% { transform: translate3d(0,0,0); }
  50% { transform: translate3d(0,-7px,0); }
}
@keyframes jopStepPop {
  0% { transform: scale(.78); }
  60% { transform: scale(1.08); }
  100% { transform: scale(1); }
}

/* Process arrows gently draw attention to the journey without shifting layout. */
@media (min-width: 901px) and (prefers-reduced-motion: no-preference) {
  .jps-process-arrow.is-jop-visible svg { animation: jopArrowNudge 2.6s 1.1s ease-in-out infinite; }
  @keyframes jopArrowNudge {
    0%,100% { transform: translateX(0); opacity: .72; }
    50% { transform: translateX(5px); opacity: 1; }
  }
}

/* Fine-pointer micro-interactions only: no sticky hover behaviour on phones. */
@media (hover:hover) and (pointer:fine) {
  .jop-about__button,
  .jp-pest-strip__button,
  .jr-button,
  .jpf-btn,
  .quote-btn {
    transition: transform .24s var(--motion-ease), box-shadow .24s ease, filter .24s ease;
  }
  .jop-about__button:hover,
  .jp-pest-strip__button:hover,
  .jr-button:hover,
  .jpf-btn:hover,
  .quote-btn:hover {
    transform: translateY(-2px);
  }

  .jp-pest__visual img {
    transition: transform .32s var(--motion-ease), filter .32s ease;
  }
  .jp-pest:hover .jp-pest__visual img {
    transform: translateY(-5px) scale(1.045);
    filter: drop-shadow(0 10px 10px rgba(0,82,52,.13));
  }

  .jps-process-icon,
  .jps-benefit-icon,
  .jps-safety-card-icon,
  .jps-industry-icon {
    transition: transform .3s var(--motion-ease);
  }
  .jps-process-item:hover .jps-process-icon,
  .jps-benefit-card:hover .jps-benefit-icon,
  .jps-safety-card:hover .jps-safety-card-icon,
  .jps-industry-card:hover .jps-industry-icon {
    transform: translateY(-3px) scale(1.06);
  }

  .faq-item {
    transition: transform .23s var(--motion-ease), border-color .23s ease, box-shadow .23s ease;
  }
  .faq-item:hover {
    transform: translateX(3px);
  }
}

/* Keep motion compact and smooth on smaller screens. */
@media (max-width: 760px) {
  html.jop-motion-ready [data-jop-reveal] {
    transform: translate3d(0,18px,0);
    transition-duration: .62s;
  }
  html.jop-motion-ready [data-jop-reveal="left"] { transform: translate3d(-20px,0,0); }
  html.jop-motion-ready [data-jop-reveal="right"] { transform: translate3d(20px,0,0); }
  html.jop-motion-ready [data-jop-reveal="scale"] { transform: scale(.97); }
  html.jop-motion-ready [data-jop-reveal].is-jop-visible { transform: none; }
}

/* Accessibility: all content stays visible and all decorative motion stops. */
@media (prefers-reduced-motion: reduce) {
  html.jop-motion-ready [data-jop-reveal],
  html.jop-motion-ready [data-jop-reveal="left"],
  html.jop-motion-ready [data-jop-reveal="right"],
  html.jop-motion-ready [data-jop-reveal="scale"],
  html.jop-motion-ready [data-jop-reveal="soft"] {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
  .site-header .top-strip,
  .site-header .main-nav-wrap,
  .jop-about__accent,
  .coverage-faq__map,
  .jps-step-number,
  .jps-process-arrow svg {
    animation: none !important;
  }
}


/* pest-cta.css */
/* CTA supplied by client — integrated without changing its visual structure. */
.pest-cta,.pest-cta *{box-sizing:border-box}
.pest-cta{
  --green:#0bb84b;--green-2:#08ad43;--dark:#003f35;--text:#f8f8f5;
  position:relative;width:100%;min-height:167px;overflow:hidden;isolation:isolate;
  background:radial-gradient(circle at 0% 50%,rgba(28,103,62,.30) 0 10%,transparent 11%),radial-gradient(circle at 100% 15%,rgba(64,122,68,.26) 0 12%,transparent 13%),linear-gradient(90deg,#00453a 0%,#003f35 48%,#003a31 100%);
  color:var(--text);font-family:var(--site-font);
}
.pest-cta::before,.pest-cta::after{content:"";position:absolute;z-index:-1;width:180px;height:220px;top:-32px;opacity:.26;background:radial-gradient(ellipse at 32% 18%,rgba(89,145,76,.8) 0 14%,transparent 15%),radial-gradient(ellipse at 12% 48%,rgba(94,155,74,.72) 0 16%,transparent 17%),radial-gradient(ellipse at 35% 70%,rgba(72,132,64,.68) 0 15%,transparent 16%),radial-gradient(ellipse at 78% 33%,rgba(59,111,66,.65) 0 16%,transparent 17%),radial-gradient(ellipse at 82% 72%,rgba(57,104,58,.55) 0 18%,transparent 19%)}
.pest-cta::before{left:-85px;transform:rotate(-8deg)}.pest-cta::after{right:-90px;transform:scaleX(-1) rotate(-5deg)}
.pest-cta__inner{width:min(100%,940px);min-height:167px;margin:0 auto;padding:15px 54px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.pest-cta h2{margin:0;font-size:clamp(28px,3vw,34px);line-height:1.12;letter-spacing:-.02em;font-weight:900;color:#fbfbf6;text-shadow:0 2px 2px rgba(0,0,0,.22);text-align:center}
.pest-cta p{margin:6px 0 11px;font-size:clamp(14px,1.25vw,16px);line-height:1.4;font-weight:650;color:rgba(255,255,255,.88);text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.30)}
.pest-cta__actions{width:100%;display:flex;align-items:center;justify-content:center;gap:25px}
.pest-cta .cta-btn{height:65px;border-radius:8px;padding:0 29px;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;border:1px solid transparent;white-space:nowrap;font-size:18px;line-height:1;font-weight:900;letter-spacing:.1px;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;box-shadow:0 2px 3px rgba(0,0,0,.18)}
.pest-cta .cta-btn--green{min-width:198px;color:white;background:linear-gradient(180deg,var(--green) 0%,var(--green-2) 100%);border-color:rgba(255,255,255,.08)}
.pest-cta .cta-btn--whatsapp{min-width:238px;color:#1f2a2b;background:#fff;border-color:#bfc6c3;box-shadow:0 1px 3px rgba(0,0,0,.28)}
.pest-cta .cta-btn--quote{min-width:224px}.pest-cta .cta-btn:hover{transform:translateY(-2px);filter:brightness(1.035)}
.pest-cta .cta-icon{width:23px;height:23px;flex:0 0 auto;display:block}.pest-cta .cta-icon--wa{width:25px;height:25px}.pest-cta .cta-icon--arrow{width:22px;height:22px;margin-left:3px}
@media(max-width:760px){.pest-cta__inner{padding:24px 18px}.pest-cta h2{font-size:clamp(27px,8vw,32px)}.pest-cta p{font-size:15px;margin-bottom:18px;max-width:520px}.pest-cta__actions{flex-direction:column;gap:12px}.pest-cta .cta-btn{width:min(100%,360px);height:58px;font-size:16px}}
@media(prefers-reduced-motion:reduce){.pest-cta .cta-btn{transition:none}}


/* hero.css */
/* Integrated from pest-hero-final-coded(1).zip. Demo-page globals intentionally omitted. */
.hero{
      --green:#18a34a;
      --green-2:#87f06b;
      --green-dark:#0e7f39;
      --text:#ffffff;
      --muted:rgba(255,255,255,.90);
      --gold:#f4b400;
      --line:rgba(255,255,255,.18);
      --panel:rgba(8,18,18,.66);
      --panel-border:rgba(255,255,255,.08);
      --shadow:0 24px 80px rgba(0,0,0,.26);
      --max:1380px;
    }
.hero{
      position:relative;
      min-height:clamp(620px,72vh,690px);
      display:flex;
      align-items:center;
      justify-content:center;
      overflow:hidden;
      padding:24px 20px;
      isolation:isolate;
      background:#0d1712;
    }

    /* Replace this with your actual site hero image */
    .hero__bg{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center center;
      z-index:-3;
      transform:scale(1.01);
    }

    .hero::before{
      content:"";
      position:absolute;
      inset:0;
      z-index:-2;
      background:
        linear-gradient(180deg, rgba(5,12,10,.30) 0%, rgba(5,12,10,.40) 100%),
        radial-gradient(circle at 18% 50%, rgba(8,40,24,.18), transparent 38%),
        radial-gradient(circle at 84% 28%, rgba(255,255,255,.035), transparent 30%);
    }

    .hero__wrap{
      width:min(100%, var(--max));
      display:flex;
      justify-content:center;
      align-items:center;
    }

    .hero__card{
      width:min(100%, 1160px);
      padding:30px 38px 24px;
      text-align:center;
      background:rgba(7,17,15,.64);
      border:1px solid rgba(255,255,255,.09);
      box-shadow:0 20px 65px rgba(0,0,0,.22);
      -webkit-backdrop-filter:blur(6px);
      backdrop-filter:blur(6px);
    }

    .hero__eyebrow-wrap{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:16px;
      margin-bottom:14px;
    }

    .hero__eyebrow-line{
      width:74px;
      height:2px;
      background:#cda02d;
      flex:0 0 auto;
    }

    .hero__eyebrow{
      margin:0;
      color:#8ff26f;
      font-size:clamp(12px,1vw,16px);
      line-height:1.1;
      letter-spacing:.18em;
      font-weight:800;
      text-transform:uppercase;
    }

    .hero__title{
      margin:0 auto;
      max-width:980px;
      font-weight:900;
      font-size:clamp(40px,4.8vw,68px);
      line-height:.97;
      letter-spacing:-.05em;
      color:var(--text);
    }

    .hero__title .accent{
      display:block;
      color:var(--green-2);
    }

    .hero__copy{
      margin:16px auto 0;
      max-width:900px;
      font-size:clamp(15px,1.28vw,18px);
      line-height:1.45;
      color:var(--muted);
    }

    .hero__copy strong{
      display:block;
      margin-bottom:2px;
      font-size:clamp(17px,1.45vw,21px);
      color:var(--green-2);
      font-weight:800;
    }

    .hero__actions{
      margin-top:20px;
      display:flex;
      justify-content:center;
      align-items:center;
      gap:18px;
      flex-wrap:wrap;
    }

    .hero-btn{
      min-height:58px;
      padding:0 28px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:12px;
      border-radius:8px;
      text-decoration:none;
      font-size:clamp(16px,1.2vw,18px);
      font-weight:800;
      transition:.2s ease;
      border:2px solid transparent;
      white-space:nowrap;
    }

    .hero-btn:hover{
      transform:translateY(-1px);
    }

    .hero-btn--primary{
      min-width:292px;
      color:#fff;
      background:linear-gradient(180deg, #11b34d 0%, #0d963f 100%);
      box-shadow:0 16px 40px rgba(15,156,66,.24);
    }

    .hero-btn--secondary{
      min-width:292px;
      background:rgba(6,14,16,.25);
      border-color:#6bea70;
      color:#fff;
      justify-content:flex-start;
      padding-inline:24px;
    }

    .hero-btn__icon{
      width:32px;
      height:32px;
      flex:0 0 auto;
      color:#80f36b;
    }

    .hero-btn__stack{
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      line-height:1.05;
      text-align:left;
    }

    .hero-btn__stack strong{
      font-size:17px;
      font-weight:800;
      color:#fff;
    }

    .hero-btn__stack span{
      margin-top:4px;
      font-size:16px;
      font-weight:700;
      color:rgba(255,255,255,.95);
    }

    .hero__rating{
      margin-top:16px;
      display:flex;
      justify-content:center;
      align-items:center;
      flex-wrap:wrap;
      gap:14px;
    }

    .hero__rating-link{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:14px;
      text-decoration:none;
      color:#fff;
      font-weight:800;
      flex-wrap:wrap;
    }

    .google-g{
      width:34px;
      height:34px;
      flex:0 0 auto;
      display:block;
    }

    .hero-stars{
      display:flex;
      align-items:center;
      gap:4px;
    }

    .hero-stars svg{
      width:22px;
      height:22px;
      fill:var(--gold);
      display:block;
    }

    .hero__rating-text{
      font-size:clamp(15px,1.25vw,18px);
      font-weight:800;
      color:#fff;
    }

    .hero__rating-text .count{
      font-weight:900;
    }

    .hero__divider{
      width:100%;
      height:1px;
      background:var(--line);
      margin:18px 0 12px;
    }

    .hero__features{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:0;
      align-items:stretch;
    }

    .feature{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:12px;
      padding:8px 14px;
      min-height:66px;
    }

    .feature + .feature{
      border-left:1px solid var(--line);
    }

    .feature__icon{
      width:34px;
      height:34px;
      color:#7ef06b;
      flex:0 0 auto;
    }

    .feature__text{
      text-align:left;
      color:#fff;
      font-size:clamp(13px,1.05vw,16px);
      line-height:1.38;
      font-weight:800;
    }

    @media (max-width: 1080px){
      .hero{min-height:620px;padding:22px 18px}
      .hero__card{padding:28px 24px 22px}
      .hero__title{font-size:clamp(40px,6vw,60px)}
      .hero__features{
        grid-template-columns:repeat(2,minmax(0,1fr));
        row-gap:12px;
      }
      .feature:nth-child(3){
        border-left:none;
      }
      .feature{
        justify-content:flex-start;
        padding-inline:10px;
      }
    }

    @media (max-width: 768px){
      .hero{
        min-height:auto;
        padding:16px 12px;
      }
      .hero__bg{
        object-position:67% center;
      }
      .hero::before{
        background:linear-gradient(180deg,rgba(4,12,9,.40),rgba(4,12,9,.52));
      }
      .hero__card{
        padding:24px 14px 18px;
        background:rgba(7,17,15,.68);
      }
      .hero__eyebrow-wrap{
        gap:10px;
        margin-bottom:14px;
      }
      .hero__eyebrow-line{
        width:40px;
      }
      .hero__title{
        font-size:clamp(36px,10.2vw,50px);
        line-height:.98;
      }
      .hero__copy{
        line-height:1.42;
      }
      .hero__actions{
        gap:12px;
      }
      .hero-btn,
      .hero-btn--primary,
      .hero-btn--secondary{
        width:100%;
        min-width:0;
      }
      .hero-btn--secondary{
        justify-content:center;
      }
      .hero-btn__stack{
        align-items:center;
        text-align:center;
      }
      .hero__rating-link{
        gap:10px;
      }
      .hero__rating-text{
        width:100%;
        text-align:center;
      }
      .hero__features{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:0;
      }
      .feature + .feature{
        border-left:1px solid var(--line);
        border-top:none;
      }
      .feature:nth-child(3){
        border-left:none;
        border-top:1px solid var(--line);
      }
      .feature:nth-child(4){
        border-top:1px solid var(--line);
      }
      .feature{
        min-height:62px;
        justify-content:flex-start;
        padding:9px 8px;
      }
      .feature__icon{
        width:30px;
        height:30px;
      }
      .feature__text{
        font-size:12px;
      }
    }


    @media (max-width: 480px){
      .hero{padding:10px 8px}
      .hero__card{padding:20px 10px 16px}
      .hero__eyebrow-wrap{gap:8px}
      .hero__eyebrow-line{width:26px}
      .hero__eyebrow{font-size:10px;letter-spacing:.13em}
      .hero__title{font-size:clamp(33px,10vw,42px)}
      .hero__copy{font-size:14px}
      .hero__copy strong{font-size:16px}
      .hero-btn{min-height:54px;padding-inline:18px}
      .hero__rating-link{gap:8px}
      .google-g{width:30px;height:30px}
      .hero-stars{gap:2px}
      .hero-stars svg{width:19px;height:19px}
      .hero__rating-text{font-size:13px}
    }

/* V10 hero copy refinement — exactly two title rows at every breakpoint. */
.hero__title-line{display:block;white-space:nowrap;}
.hero__trust--mobile{display:none!important;}
.hero__desc{display:block;}
.hero__desc-line{display:inline;}
.hero__desc-line + .hero__desc-line::before{content:" ";}

@media (min-width:769px){
  .hero__title{font-size:clamp(38px,4.45vw,64px);}
}
@media (max-width:768px){
  .hero__title{font-size:clamp(28px,8vw,42px);letter-spacing:-.045em;}
  .hero__trust--desktop{display:none!important;}
  .hero__trust--mobile{display:block!important;white-space:nowrap;font-size:clamp(13px,3.55vw,16px)!important;}
  .hero__desc{margin-top:4px;font-size:clamp(11.5px,3.1vw,14px);line-height:1.35;}
  .hero__desc-line{display:block;white-space:nowrap;}
  .hero__desc-line + .hero__desc-line::before{content:none;}
}
@media (max-width:390px){
  .hero__title{font-size:clamp(26px,7.65vw,31px);}
  .hero__trust--mobile{font-size:12.2px!important;}
  .hero__desc{font-size:11.2px;letter-spacing:-.01em;}
}


/* V20 static/mobile refinement: approved design preserved; hero CTAs stay side-by-side on phones. */
@media (max-width:768px){
  .hero{min-height:0;padding:10px 8px 12px;}
  .hero__card{padding:18px 10px 14px;}
  .hero__actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;width:100%;margin-top:16px;}
  .hero-btn,.hero-btn--primary,.hero-btn--secondary{width:100%;min-width:0;min-height:50px;padding:0 10px;font-size:14px;gap:7px;}
  .hero-btn--secondary{justify-content:center;}
  .hero-btn__icon{width:22px;height:22px;}
  .hero-btn__stack{align-items:flex-start;text-align:left;min-width:0;}
  .hero-btn__stack strong{font-size:13.5px;line-height:1;}
  .hero-btn__stack span{font-size:10.5px;line-height:1.1;white-space:nowrap;}
  .hero__rating{margin-top:12px;}
  .hero__divider{margin-top:12px;}
}
@media (max-width:390px){
  .hero__card{padding:16px 8px 12px;}
  .hero__actions{gap:6px;}
  .hero-btn,.hero-btn--primary,.hero-btn--secondary{padding-inline:8px;min-height:48px;font-size:13px;}
  .hero-btn__icon{width:20px;height:20px;}
  .hero-btn__stack strong{font-size:12.5px;}
  .hero-btn__stack span{font-size:9.5px;}
}

/* ===== v24 restrained homepage typography QA =====
   Keeps the approved layout and content intact while avoiding oversized headings. */
.hero__title{
  font-size:clamp(36px,4vw,56px);
  line-height:1.02;
}
.jop-about__title{
  font-size:clamp(34px,3.5vw,48px);
  line-height:1.04;
}
.jp-pest-showcase__title{
  font-size:clamp(30px,3vw,44px);
  line-height:1.07;
}
.jps-sec-head__title{
  font-size:clamp(32px,3.5vw,48px);
  line-height:1.06;
}
.jps-section-head h2{
  font-size:clamp(29px,2.7vw,43px);
  line-height:1.12;
}
.jps-safety-copy h2{
  font-size:clamp(32px,3.2vw,46px);
  line-height:1.08;
  letter-spacing:-1.2px;
}
.jgr-heading h2{
  font-size:clamp(36px,4vw,50px);
  line-height:1.04;
}
.jgr-rating-row > strong{font-size:44px;}
.coverage-faq__title{
  font-size:clamp(33px,3.5vw,46px);
  line-height:1.06;
}

@media (max-width:768px){
  .hero__title{font-size:clamp(28px,8vw,42px);}
  .jop-about__title{font-size:clamp(31px,8vw,40px);}
  .jp-pest-showcase__title{font-size:clamp(28px,8vw,38px);}
  .jps-sec-head__title{font-size:clamp(28px,8vw,38px);}
  .jps-section-head h2{font-size:clamp(27px,7.5vw,36px);}
  .jps-safety-copy h2{font-size:clamp(29px,8vw,38px);}
  .jgr-heading h2{font-size:clamp(31px,9vw,42px);}
  .jgr-rating-row > strong{font-size:40px;}
  .coverage-faq__title{font-size:clamp(30px,8.5vw,40px);}
}

@media (max-width:390px){
  .hero__title{font-size:clamp(26px,7.65vw,31px);}
}
