/* ===========================================================
   McCabe — Industries CPT (Figma 435:2 Agriculture and siblings)
   Brand tokens mirror coverage.css. Container = site 1400 / 40.
   =========================================================== */
.ind{--ind-green:#008145;--ind-green-2:#016b3a;--ind-ink:#0E1510;--ind-mute:#6B726D;
  --ind-line:#E6E4DE;--ind-bg-soft:#F6F5F3;--ind-tint:#E8F4EE;--ind-card:#FFFFFF;
  --ind-dark:#0C1F16;--ind-h:'Instrument Sans',system-ui,-apple-system,sans-serif;
  --ind-b:'Inter',system-ui,-apple-system,sans-serif;}
.ind-wrap{max-width:1400px;margin:0 auto;padding:0 40px;}

/* shared bits */
.ind-btn{display:inline-flex;align-items:center;gap:9px;font:600 15px/1 var(--ind-h);
  border-radius:10px;padding:15px 22px;text-decoration:none;transition:background .18s ease,color .18s ease,border-color .18s ease;cursor:pointer;}
.ind-btn--primary{background:#fff;color:var(--ind-green-2);}
.ind-btn--primary:hover{background:#eafaf1;}
.ind-btn--ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.23);}
.ind-btn--ghost:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.4);}
.ind-btn--ghost svg{margin-left:2px;}

/* ---------- HERO ---------- */
.ind-hero{position:relative;background:#064f30;overflow:hidden;isolation:isolate;}
.ind-hero::before{content:"";position:absolute;inset:0;z-index:0;
  background-image:var(--ind-hero-img,none);background-size:cover;background-position:center bottom;}
.ind-hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:url(../img/industries/dots-world.png) right -120px top -40px/620px auto no-repeat,linear-gradient(180deg,rgba(0,106,57,.95) 0%,rgba(1,100,54,.88) 48%,rgba(4,72,43,.55) 100%);}
.ind-hero__inner{position:relative;z-index:2;max-width:1400px;margin:0 auto;padding:52px 40px 116px;}
.ind-hero__crumbs{display:flex;gap:8px;font:400 16px/1.4 var(--ind-b);color:rgba(255,255,255,.66);margin-bottom:40px;}
.ind-hero__crumbs a{color:rgba(255,255,255,.66);text-decoration:none;}
.ind-hero__crumbs a:hover{color:#fff;}
.ind-hero__crumbs .is-current{color:#fff;font-weight:600;}
.ind-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:56px;align-items:center;}
.ind-hero__pill{display:inline-block;font:500 15px/1 var(--ind-b);color:rgba(255,255,255,.92);
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:11px 20px;margin-bottom:24px;}
.ind-hero__title{font:600 54px/1.06 var(--ind-h);letter-spacing:-.02em;color:#fff;margin:0;}
.ind-hero__sub{font:500 18px/1.6 var(--ind-b);color:rgba(255,255,255,.86);margin:22px 0 0;max-width:620px;}
.ind-hero__sub2{font:500 16px/1.55 var(--ind-b);color:rgba(255,255,255,.66);margin:18px 0 0;max-width:560px;}
.ind-hero__cta{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;}
.ind-hero__stats{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:18px;
  display:grid;grid-template-columns:1fr 1fr;overflow:hidden;backdrop-filter:blur(3px);}
.ind-hero__stat{padding:32px 30px;}
.ind-hero__stat:nth-child(odd){border-right:1px solid rgba(255,255,255,.12);}
.ind-hero__stat:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12);}
.ind-hero__stat-v{font:600 48px/1 var(--ind-h);color:#fff;letter-spacing:-.02em;}
.ind-hero__stat-l{font:400 14px/1.3 var(--ind-b);color:rgba(255,255,255,.62);margin-top:10px;}
.ind-hero__stat-v--sm{font-size:26px;line-height:1.15;}

/* ---------- responsive ---------- */
@media(max-width:1024px){
  .ind-hero__title{font-size:44px;}
  .ind-hero__grid{grid-template-columns:1fr;gap:36px;}
  .ind-hero__stats{max-width:480px;}
}
@media(max-width:720px){
  .ind-wrap,.ind-hero__inner{padding-left:15px;padding-right:15px;}
  .ind-hero__inner{padding-top:32px;padding-bottom:48px;}
  .ind-hero__crumbs{margin-bottom:28px;font-size:14px;}
  .ind-hero__title{font-size:32px;}
  .ind-hero__sub{font-size:16px;}
  .ind-hero__cta{flex-direction:column;align-items:stretch;}
  .ind-hero__stat{padding:24px 20px;}
  .ind-hero__stat-v{font-size:40px;}
}

/* ===================== PAIN POINTS (489:2) ===================== */
.ind-pp{background:#fff;padding:80px 0;}
.ind-pp__head{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:start;margin-bottom:44px;}
.ind-pp__title{font:600 50px/1.1 var(--ind-h);letter-spacing:-.02em;color:var(--ind-ink);margin:0;max-width:680px;}
.ind-pp__intro{font:400 16px/1.65 var(--ind-b);color:var(--ind-mute);margin:8px 0 0;max-width:430px;}
.ind-pp__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.ind-pp__card{background:#fff;border:1px solid var(--ind-line);border-radius:14px;padding:28px;}
.ind-pp__ico{display:inline-flex;align-items:center;justify-content:center;margin-bottom:18px;}
.ind-pp__ico svg{display:block;width:28px;height:28px;}
.ind-pp__ct{font:600 19px/1.3 var(--ind-h);color:var(--ind-ink);margin:0 0 10px;}
.ind-pp__cb{font:400 15px/1.6 var(--ind-b);color:var(--ind-mute);margin:0;}
.ind-pp__cta{position:relative;overflow:hidden;border-radius:14px;padding:30px;
  background:radial-gradient(circle at 1.5px 1.5px,rgba(255,255,255,.10) 1.5px,transparent 0) bottom right/16px 16px,linear-gradient(160deg,#016b3a,#0c3d26);
  display:flex;flex-direction:column;}
.ind-pp__cta-t{font:600 22px/1.25 var(--ind-h);color:#fff;margin:0 0 14px;}
.ind-pp__cta-b{font:500 15px/1.5 var(--ind-b);color:rgba(255,255,255,.82);margin:0 0 auto;}
.ind-pp__cta-b p{margin:0 0 10px;}
.ind-pp__cta .ind-btn{margin-top:22px;align-self:flex-start;}
@media(max-width:980px){
  .ind-pp__head{grid-template-columns:1fr;gap:18px;}
  .ind-pp__title{font-size:38px;}
  .ind-pp__grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:720px){
  .ind-pp{padding:56px 0;}
  .ind-pp__title{font-size:28px;}
  .ind-pp__grid{grid-template-columns:1fr;}
}

/* ===================== shared section bits ===================== */
.ind-eyebrow{display:block;font:600 11px/1 var(--ind-h);letter-spacing:.09em;text-transform:uppercase;color:var(--ind-green);margin-bottom:18px;}
.ind-eyebrow--light{color:#7ee0a6;}
.ind-sec-title{font:700 44px/1.12 var(--ind-h);letter-spacing:-.02em;color:var(--ind-ink);margin:0;}
.ind-sec-intro{font:400 17px/1.6 var(--ind-b);color:var(--ind-mute);margin:18px 0 0;max-width:700px;}

/* ===================== WHAT WE MOVE (436:25) ===================== */
.ind-wwm{background:var(--ind-bg-soft);padding:80px 0;}
.ind-wwm .ind-sec-title{font-weight:700;font-size:44px;max-width:none;}
.ind-wwm__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;}
@media(min-width:981px){.ind-wwm__grid:has(.ind-wwm__card:nth-child(4)){grid-template-columns:repeat(4,1fr);}}
.ind-wwm__card{background:#fff;border:1px solid var(--ind-line);border-radius:16px;padding:32px;}
.ind-wwm__ct{font:600 13px/1.3 var(--ind-h);letter-spacing:.05em;text-transform:uppercase;color:var(--ind-green);margin:0 0 18px;}
.ind-wwm__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.ind-wwm__list li{position:relative;padding-left:22px;font:400 15px/1.4 var(--ind-b);color:var(--ind-ink);}
.ind-wwm__list li::before{content:"";position:absolute;left:0;top:6px;width:7px;height:7px;border-radius:50%;background:var(--ind-green);}

/* ===================== SCHEDULE (437:2) — light ===================== */
.ind-sch{background:#fff;padding:80px 0;}
.ind-sch__head{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;margin-bottom:44px;}
.ind-sch__title{font:700 42px/1.12 var(--ind-h);letter-spacing:-.02em;color:var(--ind-ink);margin:0;}
.ind-sch__hr p{font:400 16px/1.65 var(--ind-b);color:var(--ind-mute);margin:0 0 16px;}
.ind-sch__hr p:last-child{margin-bottom:0;}
.ind-sch__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.ind-sch__card{background:#fff;border:1px solid var(--ind-line);border-radius:14px;padding:28px;}
.ind-sch__card:last-child:nth-child(odd){grid-column:1 / -1;}
.ind-sch__top{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.ind-sch__num{flex:0 0 auto;width:44px;height:44px;border-radius:10px;background:var(--ind-green-2);color:#fff;display:flex;align-items:center;justify-content:center;font:600 16px/1 var(--ind-h);}
.ind-sch__ct{font:600 19px/1.3 var(--ind-h);color:var(--ind-ink);margin:0;}
.ind-sch__cb{font:400 15px/1.6 var(--ind-b);color:var(--ind-mute);margin:0;}

/* ===================== SERVICES (437:24) ===================== */
.ind-svc{background:#fff;padding:80px 0;}
.ind-svc__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:40px;}
.ind-svc__card{background:#fff;border:1px solid var(--ind-line);border-radius:16px;padding:34px;}
.ind-svc__ico{display:inline-block;margin-bottom:20px;}
.ind-svc__ico svg{display:block;width:48px;height:48px;}
.ind-svc__ct{font:700 18px/1.3 var(--ind-h);color:var(--ind-ink);margin:0 0 12px;}
.ind-svc__cb{font:400 16px/1.6 var(--ind-b);color:var(--ind-mute);margin:0 0 20px;}
.ind-svc__tags{display:flex;flex-wrap:wrap;gap:10px;}
.ind-svc__tag{font:500 12px/1 var(--ind-b);color:var(--ind-green-2);background:var(--ind-tint);border-radius:999px;padding:8px 14px;}

/* ===================== WHY McCABE (438:2) ===================== */
.ind-why{position:relative;overflow:hidden;background:#016b3a;padding:80px 0;}
.ind-why::before{content:"";position:absolute;inset:0;z-index:0;opacity:.7;
  background:url(../img/industries/dots-world.png) right -30px top -70px/1080px auto no-repeat,
            url(../img/industries/dots-world.png) left -160px bottom -50px/900px auto no-repeat;}
.ind-why .ind-wrap{position:relative;z-index:1;}
.ind-why__head{text-align:center;margin-bottom:48px;}
.ind-why__title{font:600 69px/1.04 var(--ind-h);letter-spacing:-.02em;color:#fff;margin:18px 0 0;}
.ind-why__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.ind-why__card{position:relative;overflow:hidden;background:#fff;border-radius:16px;padding:36px;}
.ind-why__num{position:absolute;top:20px;right:28px;font:700 64px/1 var(--ind-h);color:rgba(1,107,58,.10);}
.ind-why__ct{position:relative;font:700 26px/1.22 var(--ind-h);letter-spacing:-.01em;color:var(--ind-green-2);margin:0 0 16px;max-width:78%;}
.ind-why__div{display:block;width:40px;height:3px;border-radius:2px;background:var(--ind-green);margin:0 0 18px;}
.ind-why__cb{font:400 15px/1.65 var(--ind-b);color:var(--ind-mute);margin:0;}

/* ===================== COVERAGE (439:2) ===================== */
.ind-cov{background:#fff;padding:80px 0;}
.ind-cov__grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.ind-cov .ind-sec-title{font-weight:700;font-size:42px;}
.ind-cov__p{font:400 16px/1.65 var(--ind-b);color:var(--ind-mute);margin:18px 0 0;}
.ind-cov__right{display:flex;flex-direction:column;gap:16px;}
.ind-cov__row{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--ind-line);border-radius:14px;padding:24px;box-shadow:0 1px 2px rgba(16,21,16,.03);}
.ind-cov__ico svg{display:block;width:44px;height:44px;}
.ind-cov__rt{font:600 18px/1.3 var(--ind-h);color:var(--ind-ink);margin:0 0 6px;}
.ind-cov__rb{font:400 15px/1.55 var(--ind-b);color:var(--ind-mute);margin:0;}

/* ===================== TESTIMONIALS (439:30) ===================== */
.ind-tst{background:var(--ind-bg-soft);padding:80px 0;}
.ind-tst .ind-sec-title{font-weight:700;font-size:42px;}
.ind-tst__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;}
.ind-tst__card{background:#fff;border:1px solid var(--ind-line);border-radius:16px;padding:32px;display:flex;flex-direction:column;}
.ind-tst__quote{font:400 15px/1.7 var(--ind-b);font-style:italic;color:var(--ind-ink);margin:0 0 26px;padding-left:18px;border-left:3px solid var(--ind-green);}
.ind-tst__by{display:flex;align-items:center;gap:14px;margin-top:auto;}
.ind-tst__av{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:var(--ind-green);color:#fff;display:flex;align-items:center;justify-content:center;font:700 15px/1 var(--ind-h);}
.ind-tst__meta{display:flex;flex-direction:column;gap:3px;}
.ind-tst__name{font:600 14px/1.2 var(--ind-h);color:var(--ind-ink);}
.ind-tst__role{font:400 12px/1.35 var(--ind-b);color:var(--ind-mute);}

/* ===================== FAQ (475:2) ===================== */
.ind-faq{background:#fff;padding:80px 0;}
.ind-faq__grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.ind-faq__title{font:600 54px/1.1 var(--ind-h);letter-spacing:-.02em;color:var(--ind-ink);margin:0;}
.ind-faq__em{color:var(--ind-green);}
.ind-faq__list{display:flex;flex-direction:column;}
.ind-faq__item{border-bottom:1px solid var(--ind-line);padding:26px 0;}
.ind-faq__q{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;cursor:pointer;list-style:none;font:600 20px/1.4 var(--ind-h);color:var(--ind-ink);}
.ind-faq__q::-webkit-details-marker{display:none;}
.ind-faq__item[open] .ind-faq__q{color:var(--ind-green);}
.ind-faq__sign{position:relative;flex:0 0 auto;width:18px;height:18px;margin-top:4px;}
.ind-faq__sign::before,.ind-faq__sign::after{content:"";position:absolute;background:var(--ind-green);border-radius:2px;}
.ind-faq__sign::before{top:8px;left:0;width:18px;height:2px;}
.ind-faq__sign::after{top:0;left:8px;width:2px;height:18px;transition:opacity .2s;}
.ind-faq__item[open] .ind-faq__sign::after{opacity:0;}
.ind-faq__a{font:400 16px/1.65 var(--ind-b);color:var(--ind-mute);margin-top:16px;max-width:600px;}

/* ===================== CTA (478:2) ===================== */
.ind-cta{background:#fff;padding:0 0 96px;}
.ind-cta__band{position:relative;overflow:hidden;border-radius:24px;padding:64px 56px;
  background:url(../img/industries/dots-cta.png) center right/cover no-repeat,#016b3a;
  display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.ind-cta__title{font:600 48px/1.12 var(--ind-h);letter-spacing:-.02em;color:#fff;margin:0;max-width:620px;}
.ind-cta__btn{flex:0 0 auto;font-size:16px;padding:17px 28px;}

/* ===================== section responsive ===================== */
@media(max-width:980px){
  .ind-wwm__grid,.ind-svc__grid,.ind-tst__grid{grid-template-columns:1fr;}
  .ind-sch__head,.ind-sch__grid,.ind-why__grid,.ind-cov__grid,.ind-faq__grid{grid-template-columns:1fr;}
  .ind-sch__head,.ind-cov__grid,.ind-faq__grid{gap:32px;}
  .ind-wwm .ind-sec-title{font-size:38px;}
  .ind-why__title{font-size:44px;}
  .ind-svc__grid{grid-template-columns:1fr;}
  .ind-faq__title{font-size:38px;}
  .ind-cta__title{font-size:36px;}
}
@media(max-width:720px){
  .ind-wwm,.ind-sch,.ind-svc,.ind-why,.ind-cov,.ind-tst,.ind-faq{padding:56px 0;}
  .ind-cta{padding-bottom:56px;}
  .ind-sec-title,.ind-sch__title,.ind-cov .ind-sec-title,.ind-tst .ind-sec-title{font-size:30px;}
  .ind-wwm .ind-sec-title{font-size:30px;}
  .ind-pp__cta-t{font-size:20px;}
  .ind-why__title{font-size:34px;}
  .ind-faq__title{font-size:30px;}
  .ind-faq__q{font-size:18px;}
  .ind-why__card{padding:28px;}
  .ind-why__num{font-size:56px;}
  .ind-cta__band{padding:40px 24px;}
  .ind-cta__title{font-size:28px;}
  .ind-cta__btn{width:100%;justify-content:center;}
}
@media(max-width:480px){
  .ind-hero__title{font-size:29px;}
  .ind-hero__pill{font-size:13px;padding:10px 16px;}
  .ind-hero__stat{padding:22px 16px;}
  .ind-hero__stat-v{font-size:34px;}
  .ind-pp__title{font-size:25px;}
}

/* ===================== HERO — capabilities cell (531:1869) ===================== */
.ind-hero__tags-list{display:flex;flex-direction:column;gap:4px;}
.ind-hero__tags-list span{font:600 22px/1.18 var(--ind-h);color:#fff;letter-spacing:-.02em;}

/* ===================== FACILITIES (531:6351) ===================== */
.ind-fac{background:#fff;padding:80px 0;}
.ind-fac__grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.ind-fac .ind-sec-title{font-weight:700;font-size:42px;}
.ind-fac__p{font:400 16px/1.65 var(--ind-b);color:var(--ind-mute);margin:18px 0 0;}
.ind-fac__right{display:flex;flex-direction:column;gap:16px;}
.ind-fac__card{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--ind-line);border-radius:14px;padding:24px;box-shadow:0 1px 2px rgba(16,21,16,.03);}
.ind-fac__ico svg{display:block;width:48px;height:48px;}
.ind-fac__ct{font:600 18px/1.3 var(--ind-h);color:var(--ind-ink);margin:0 0 6px;}
.ind-fac__cb{font:400 15px/1.55 var(--ind-b);color:var(--ind-mute);margin:0;}
@media(max-width:980px){
  .ind-fac__grid{grid-template-columns:1fr;gap:32px;}
}
@media(max-width:720px){
  .ind-fac{padding:56px 0;}
  .ind-fac .ind-sec-title{font-size:30px;}
}
@media(max-width:480px){
  .ind-hero__tags-list span{font-size:18px;}
}
