/* McCabe — Coverage page (Figma 353:2). Scoped under .cov to avoid leaking. */
.cov{
  --cov-green:#008145; --cov-green-2:#016b3a; --cov-green-3:#036E3D;
  --cov-ink:#0E1510; --cov-mute:#6B726D; --cov-line:#E6E4DE;
  --cov-bg-soft:#F6F5F3; --cov-tint:#E8F4EE; --cov-card:#FFFFFF;
  --cov-dark:#111110; --cov-dark-2:#1C1C1B;
  --cov-h:'Instrument Sans',system-ui,-apple-system,sans-serif;
  --cov-b:'Inter',system-ui,-apple-system,sans-serif;
}
.cov *{box-sizing:border-box;}
.cov img{max-width:100%;height:auto;display:block;}
/* Site container — matches McCabe footer + lower home sections (1400 / 40px) so Coverage aligns with the rest of the site. */
.cov-wrap{max-width:1400px;margin:0 auto;padding:0 40px;}

/* shared atoms */
.cov-pill{display:inline-flex;align-items:center;height:30px;padding:0 14px;border-radius:999px;
  background:var(--cov-tint);border:1px solid #C8E4D2;color:var(--cov-green);
  font:600 13px/1 var(--cov-h);width:fit-content;}
.cov-pill--sm{height:27px;font-size:12px;padding:0 12px;}
.cov-pill--ghost{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.30);color:#fff;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.cov-accent{color:var(--cov-green);}
.cov-h2{font:600 46px/1.1 var(--cov-h);color:var(--cov-ink);margin:18px 0 0;letter-spacing:-.01em;}
.cov-h2--light{color:#fff;}
.cov-lead{font:400 16px/1.6 var(--cov-b);color:var(--cov-mute);margin:16px 0 0;max-width:640px;}
.cov-lead--light{color:rgba(255,255,255,.82);}
.cov-link{display:inline-flex;align-items:center;gap:5px;font:600 14px/1 var(--cov-b);color:var(--cov-green);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;}
.cov-link:hover{opacity:.82;text-underline-offset:4px;}
.cov-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:45px;padding:0 22px;border-radius:8px;
  font:500 15px/1 var(--cov-h);text-decoration:none;transition:transform .15s,background .15s,border-color .15s;cursor:pointer;}
.cov-btn--primary{background:linear-gradient(180deg,#02a157,#016b3a);color:#fff;box-shadow:0 6px 16px rgba(1,107,58,.30);}
.cov-btn--primary:hover{transform:translateY(-1px);}
.cov-btn--ghost-light{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.34);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.cov-btn--ghost-light:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.6);}

/* ---------- 1. HERO ---------- */
.cov-hero{position:relative;min-height:615px;display:flex;flex-direction:column;justify-content:flex-start;
  background:var(--cov-dark-2);overflow:hidden;color:#fff;isolation:isolate;}
.cov-hero::before{content:"";position:absolute;inset:0;z-index:0;
  background-image:var(--cov-hero-img,none);background-size:cover;background-position:center right;}
.cov-hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(20,22,20,.94) 0%,rgba(20,22,20,.80) 36%,rgba(20,22,20,.34) 66%,rgba(20,22,20,.20) 100%);}
.cov-hero__dots{position:absolute;top:0;right:0;width:1041px;height:334px;z-index:2;pointer-events:none;opacity:.6;
  background:url("../img/coverage/oc-dots.png") no-repeat right top/contain;}
.cov-hero__inner{position:relative;z-index:3;max-width:1400px;width:100%;margin:0 auto;padding:48px 40px 70px;
  display:flex;flex-direction:column;flex:1;}
.cov-hero__crumbs{display:flex;gap:7px;font:400 18px/1.4 var(--cov-b);color:rgba(255,255,255,.7);margin-bottom:auto;}
.cov-hero__crumbs a{color:rgba(255,255,255,.7);text-decoration:none;}
.cov-hero__crumbs .is-current{color:#fff;font-weight:500;}
.cov-hero__body{max-width:600px;margin-top:64px;}
.cov-hero__title{font:600 64px/1.04 var(--cov-h);letter-spacing:-.02em;margin:18px 0 0;color:#fff;}
.cov-hero__sub{font:500 18px/1.55 var(--cov-b);color:rgba(255,255,255,.86);margin:20px 0 0;max-width:564px;}
.cov-hero__cta{display:flex;gap:16px;margin-top:30px;flex-wrap:wrap;}

/* ---------- 2. STATS BAND ---------- */
.cov-stats{background:#fff;padding:64px 0;}
.cov-stats__inner{max-width:1400px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:repeat(4,1fr);}
.cov-stats__item{padding:0 20px;text-align:center;}
.cov-stats__item + .cov-stats__item{border-left:1px solid var(--cov-line);}
.cov-stats__v{font:600 45px/1 var(--cov-h);color:var(--cov-green);letter-spacing:-.02em;height:48px;display:flex;align-items:center;justify-content:center;}
.cov-stats__item:nth-child(3) .cov-stats__v{font-size:26px;line-height:1.1;}
.cov-stats__l{font:400 16px/1.4 var(--cov-b);color:var(--cov-mute);margin-top:14px;}

/* ---------- 3. FREIGHT STRIP ---------- */
.cov-freight{background:#fff;}
.cov-freight__row{max-width:1400px;margin:0 auto;padding:24px 40px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.cov-freight__card{position:relative;min-height:320px;display:flex;align-items:flex-end;overflow:hidden;border-radius:0;
  background-image:var(--cov-card-img,none);background-size:cover;background-position:center;}
.cov-freight__card::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,12,10,.10) 0%,rgba(10,12,10,.30) 45%,rgba(10,12,10,.86) 100%);}
.cov-freight__body{position:relative;z-index:1;padding:24px;color:#fff;}
.cov-freight__title{font:600 19px/1.2 var(--cov-h);margin:0;}
.cov-freight__desc{font:400 12.5px/1.45 var(--cov-b);color:rgba(255,255,255,.82);margin:8px 0 0;min-height:2.9em;}

/* ---------- section heads (light) ---------- */
.cov-sa,.cov-fac,.cov-ff{background:#fff;}
.cov-sa{padding:88px 0;}
.cov-cor{background:var(--cov-bg-soft);padding:88px 0;}
.cov-fac{padding:88px 0;}
.cov-ff{padding:88px 0;}
.cov-oc{position:relative;background:var(--cov-green-2);padding:88px 0;overflow:hidden;isolation:isolate;}

/* ---------- 4. SERVICE AREA ---------- */
.cov-sa__head{margin-bottom:40px;}
.cov-sa__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;}
.cov-sa__card{background:var(--cov-bg-soft);border:1px solid var(--cov-line);border-radius:14px;padding:24px;}
.cov-sa__card.is-home{background:var(--cov-tint);border-color:#BFE0CC;}
.cov-sa__badge{display:inline-flex;align-items:center;height:18px;padding:0 9px;border-radius:4px;
  background:#047D45;color:#fff;font:400 10px/1 var(--cov-b);letter-spacing:.06em;margin-bottom:12px;}
.cov-sa__title{font:600 20px/1.25 var(--cov-h);color:var(--cov-ink);margin:0;}
.cov-sa__desc{font:400 14px/1.55 var(--cov-b);color:var(--cov-mute);margin:10px 0 0;}
.cov-sa__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px;}
.cov-chip{display:inline-flex;align-items:center;height:19px;padding:0 8px;border-radius:5px;
  background:#fff;border:1px solid var(--cov-line);color:#2A312C;font:400 11px/1 var(--cov-b);}
.cov-chip--green{background:var(--cov-tint);border-color:#C8E4D2;color:var(--cov-green-3);}

/* ---------- 5. CORRIDORS ---------- */
.cov-cor__head{margin-bottom:40px;}
.cov-cor__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.cov-cor__card{position:relative;background:#fff;border:1px solid var(--cov-line);border-radius:14px;padding:24px;overflow:hidden;}
.cov-cor__num{position:absolute;right:22px;bottom:8px;font:600 64px/1 var(--cov-h);color:var(--cov-ink);opacity:.06;}
.cov-cor__badge{display:inline-flex;align-items:center;height:23px;padding:0 11px;border-radius:6px;
  background:var(--cov-green);color:#fff;font:600 12px/1 var(--cov-h);}
.cov-cor__title{font:600 21px/1.25 var(--cov-h);color:var(--cov-ink);margin:14px 0 0;}
.cov-cor__desc{font:400 13.5px/1.55 var(--cov-b);color:var(--cov-mute);margin:10px 0 16px;}
.cov-cor__route{font:500 11px/1.3 var(--cov-b);color:var(--cov-ink);letter-spacing:.04em;}
.cov-cor__foot{margin-top:28px;}

/* ---------- 6. FACILITIES ---------- */
.cov-fac__head{margin-bottom:40px;}
.cov-fac__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.cov-fac__card{background:#fff;border:1px solid var(--cov-line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;}
.cov-fac__img{height:240px;background-size:cover;background-position:center;}
.cov-fac__body{padding:28px;display:flex;flex-direction:column;flex:1;}
.cov-fac__body .cov-pill{margin-bottom:14px;}
.cov-fac__name{font:600 30px/1.1 var(--cov-h);color:var(--cov-ink);margin:0;}
.cov-fac__loc{font:400 13px/1.3 var(--cov-b);color:var(--cov-green);margin:6px 0 0;}
.cov-fac__desc{font:400 13.5px/1.6 var(--cov-b);color:var(--cov-mute);margin:14px 0 0;}
.cov-fac__stats{display:flex;gap:0;margin:20px 0;border:1px solid var(--cov-line);border-radius:10px;overflow:hidden;}
.cov-fac__stat{flex:1;padding:16px 18px;}
.cov-fac__stat + .cov-fac__stat{border-left:1px solid var(--cov-line);}
.cov-fac__sv{font:600 26px/1 var(--cov-h);color:var(--cov-ink);}
.cov-fac__sv.is-green{color:var(--cov-green);}
.cov-fac__sl{font:400 10px/1 var(--cov-b);color:var(--cov-mute);letter-spacing:.08em;margin-top:8px;text-transform:uppercase;}
.cov-fac__feat{list-style:none;margin:18px 0 0;padding:0;}
.cov-fac__feat li{position:relative;padding-left:22px;font:400 13px/1.5 var(--cov-b);color:var(--cov-mute);margin:10px 0;}
.cov-fac__feat li::before{content:"";position:absolute;left:0;top:6px;width:8px;height:8px;border-radius:50%;background:var(--cov-green);}
.cov-fac__body .cov-link{margin-top:18px;color:var(--cov-green);}
.cov-fac__body > .cov-fac__stats:last-child{margin-top:auto;}
.cov-fac__body > .cov-link:last-child{margin-top:auto;}

/* ---------- 7. FREIGHT FLOW ---------- */
.cov-ff__head{margin-bottom:44px;}
.cov-ff__steps{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;}
.cov-ff__step{border-top:1px solid var(--cov-line);padding-top:20px;}
.cov-ff__num{font:700 42px/1 var(--cov-h);color:var(--cov-green);}
.cov-ff__title{font:500 20px/1.25 var(--cov-h);color:var(--cov-ink);margin:16px 0 0;}
.cov-ff__desc{font:400 14px/1.55 var(--cov-b);color:var(--cov-mute);margin:10px 0 0;}
.cov-ff__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px;}
.cov-tag{display:inline-flex;align-items:center;height:19px;padding:0 8px;border-radius:5px;
  background:var(--cov-bg-soft);border:1px solid var(--cov-line);color:var(--cov-mute);font:400 10.5px/1 var(--cov-b);}

/* ---------- 8. OPERATIONAL CONFIDENCE ---------- */
.cov-oc__dots{position:absolute;top:40px;left:0;right:0;margin:0 auto;z-index:0;pointer-events:none;
  width:calc(100% - 80px);max-width:1320px;aspect-ratio:1331 / 335;
  background:url("../img/coverage/oc-dots.png") no-repeat top center/contain;}
.cov-oc .cov-wrap{position:relative;z-index:1;}
.cov-oc__head{margin-bottom:40px;max-width:780px;}
.cov-oc__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.cov-oc__card{background:#fff;border-radius:14px;padding:26px;}
.cov-oc__title{font:700 22px/1.25 var(--cov-h);color:var(--cov-green);margin:0;}
.cov-oc__desc{font:400 15px/1.6 var(--cov-b);color:var(--cov-mute);margin:12px 0 0;}

/* ---------- responsive ---------- */
@media(max-width:1100px){
  .cov-sa__grid,.cov-cor__grid,.cov-oc__grid{grid-template-columns:repeat(2,1fr);}
  .cov-ff__steps{grid-template-columns:repeat(2,1fr);}
  .cov-freight__row{grid-template-columns:repeat(2,1fr);}
  .cov-hero__title{font-size:48px;}
  .cov-h2{font-size:36px;}
}
@media(max-width:720px){
  .cov-wrap,.cov-hero__inner,.cov-stats__inner,.cov-freight__row{padding-left:15px;padding-right:15px;}
  .cov-stats__inner{grid-template-columns:1fr;gap:0;}
  .cov-stats__item{padding:22px 0;}
  .cov-stats__item + .cov-stats__item{border-left:0;border-top:1px solid var(--cov-line);}
  .cov-oc__dots{width:calc(100% - 30px);}
  .cov-fac__stats{flex-direction:column;}
  .cov-fac__stat + .cov-fac__stat{border-left:0;border-top:1px solid var(--cov-line);}
  .cov-sa__grid,.cov-cor__grid,.cov-oc__grid,.cov-ff__steps,.cov-fac__grid,.cov-freight__row{grid-template-columns:1fr;}
  .cov-hero__title{font-size:38px;}
  .cov-hero__body{margin-top:40px;}
  .cov-h2{font-size:30px;}
  .cov-hero__cta{flex-direction:column;align-items:stretch;}
}
a.cov-freight__card{text-decoration:none;color:inherit;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;}
a.cov-freight__card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.22);}
