/* ===== TERMITE PAGE - .pmo-term modules layered on the .pmo-sp-v2 design system ===== */
:root{--soil:#6b4226;--soil-deep:#3a2206;--sh-sm:0 6px 18px rgba(20,44,62,.07);--sh:0 14px 36px rgba(20,44,62,.13);
/* aliases the kept termite modules reference but the master renamed/omits */
--surface:#F4F7FB;--line:#e1e8ef;--blue-pale:#E0EAF2;--g1:#34424c;--g2:#5f6f7a;--g3:#94a3ad}

/* section scaffold */
.pmo-term .wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.pmo-term .wrap-md{max-width:1000px;margin:0 auto;padding:0 24px}
.pmo-term .ic{display:block;object-fit:contain}
.pmo-term .sec{padding:62px 0}
.pmo-term .sec-alt{background:var(--surface)}
.pmo-term .sec-pale{background:var(--blue-pale)}
.pmo-term .eyebrow{font-size:12px;color:var(--cta-dark);letter-spacing:2.2px;text-transform:uppercase;font-weight:800;margin-bottom:10px;display:block}
.pmo-term .sec-h2{font-size:32px;font-weight:800;color:var(--primary);line-height:1.12;letter-spacing:-0.6px;margin-bottom:14px;max-width:880px}
.pmo-term .sec-h2 em{font-style:normal;color:var(--accent)}
.pmo-term .sec-intro{font-size:16px;color:var(--g1);line-height:1.62;max-width:760px;margin-bottom:32px}
.pmo-term .sec-intro a{color:var(--accent);font-weight:700}
.pmo-term .open-p{font-size:15.5px;color:var(--g1);line-height:1.7;margin-bottom:14px}
.pmo-term .center{text-align:center}.pmo-term .center .sec-h2,.pmo-term .center .sec-intro{margin-left:auto;margin-right:auto}
.pmo-term .sec-ctr>.wrap>.eyebrow,.pmo-term .sec-ctr>.wrap>.sec-h2,.pmo-term .sec-ctr>.wrap>.sec-intro,.pmo-term .sec-ctr>.wrap-md>.eyebrow,.pmo-term .sec-ctr>.wrap-md>.sec-h2,.pmo-term .sec-ctr>.wrap-md>.sec-intro{text-align:center}
.pmo-term .sec-ctr .sec-h2,.pmo-term .sec-ctr .sec-intro{margin-left:auto;margin-right:auto}
.pmo-term .btn-ghost{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:15px;border-radius:11px;padding:14px 22px;transition:.2s;cursor:pointer;line-height:1;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.6)}
.pmo-term .btn-ghost:hover{background:#fff;color:var(--primary-dark)}
.pmo-term .btn-ghost i{font-size:18px}.pmo-term .btn-ghost svg{width:18px;height:18px}

/* breadcrumb */
.pmo-term .crumb{background:var(--surface);border-bottom:1px solid var(--line);font-size:13px;color:var(--g2)}
.pmo-term .crumb .wrap{padding:11px 24px}.pmo-term .crumb a{color:var(--accent);font-weight:600}.pmo-term .crumb span{margin:0 8px;color:var(--g3)}

/* hero tech overlay (master hero does not provide these) */
.pmo-term .hero-img-wrap{position:relative}
.pmo-term .hero-tech{position:absolute;right:3%;bottom:-86px;height:352px;width:auto;max-width:228px;object-fit:contain;object-position:bottom right;z-index:4;filter:drop-shadow(0 12px 18px rgba(0,0,0,.22));pointer-events:none}
.pmo-term .hero-badgeband{min-height:98px;padding-top:16px;display:flex;gap:8px;align-items:flex-end}
.pmo-term .hero-badgeband .hero-best-badge{height:92px;width:auto;border-radius:8px;box-shadow:0 8px 22px rgba(0,0,0,.22);background:#fff;padding:5px}

/* signs (sec4) */
.pmo-term .signs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pmo-term .sign-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 22px;box-shadow:var(--sh-sm);transition:.18s}
.pmo-term .sign-card:hover{transform:translateY(-3px);box-shadow:var(--sh)}
.pmo-term .sign-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.pmo-term .sign-badge{width:62px;height:62px;border-radius:50%;background:#e9f2fc;display:grid;place-items:center}
.pmo-term .sign-badge img{width:36px;height:36px}
.pmo-term .sign-num{width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;font-size:13px;font-weight:800;display:grid;place-items:center;box-shadow:0 4px 12px rgba(31,120,209,.5)}
.pmo-term .sign-card h3{font-size:17px;font-weight:800;color:var(--primary);margin-bottom:7px}
.pmo-term .sign-card p{font-size:14px;color:var(--g1);line-height:1.55}
.pmo-term .signs-foot{margin-top:24px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--primary-dark);border-radius:16px;padding:20px 26px}
.pmo-term .signs-foot p{color:#dce7f0;font-size:15px;font-weight:600;flex:1;min-width:240px;line-height:1.5}.pmo-term .signs-foot p b{color:var(--cta)}

/* vs table (sec5) */
.pmo-term .vs{border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--sh-sm);max-width:960px}
.pmo-term .vs-head{display:grid;grid-template-columns:1.15fr 1fr 1fr}
.pmo-term .vs-head>div{padding:16px 18px;font-weight:800;font-size:15px;display:flex;align-items:center;gap:8px}
.pmo-term .vs-head .h-feat{background:var(--surface);color:var(--g2)}
.pmo-term .vs-head .h-term{background:var(--primary);color:#fff}
.pmo-term .vs-head .h-ant{background:#eef5ff;color:var(--primary)}
.pmo-term .vs-head i{font-size:19px}
.pmo-term .vs-row{display:grid;grid-template-columns:1.15fr 1fr 1fr;border-top:1px solid var(--line)}
.pmo-term .vs-row>div{padding:13px 18px;font-size:14px;color:var(--g1);line-height:1.45;display:flex;align-items:center;gap:11px}
.pmo-term .vs-row .r-label{font-weight:800;color:var(--primary);background:var(--surface)}
.pmo-term .vs-row .r-label img{width:26px;height:26px;flex-shrink:0}
.pmo-term .vs-row .r-term{background:#fff;font-weight:600;color:var(--ink)}
.pmo-term .vs-row .r-ant{background:#fafcfe}
.pmo-term .vs-row .chev{color:var(--accent);font-weight:900;flex-shrink:0}
.pmo-term .vs-note{display:flex;align-items:center;gap:12px;background:var(--blue-pale);border-radius:12px;padding:14px 18px;margin-top:16px;max-width:960px;font-size:14px;color:var(--g1);font-style:italic}
.pmo-term .vs-note img{width:26px;height:26px;flex-shrink:0}

/* species (sec6) */
.pmo-term .spec{display:grid;grid-template-columns:262px 1fr;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--sh-sm);margin-bottom:18px}
.pmo-term .spec.formosan{background:linear-gradient(180deg,#fff,#fdf6ee)}
.pmo-term .spec-left{padding:24px;border-right:1px solid var(--line);position:relative}
.pmo-term .spec-accent{position:absolute;left:0;top:0;bottom:0;width:6px}
.pmo-term .spec-left img.mug{width:84px;height:84px;border-radius:12px;object-fit:cover;border:1px solid var(--line);margin-bottom:12px}
.pmo-term .spec-left h3{font-size:18px;font-weight:800;color:var(--primary);line-height:1.2;margin-bottom:4px}
.pmo-term .spec-aka{font-size:12px;color:var(--accent);font-style:italic;margin-bottom:9px;font-weight:600}
.pmo-term .spec-hook{font-size:13.5px;color:var(--g1);line-height:1.5}
.pmo-term .spec-right{padding:22px 24px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pmo-term .scol-h{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.pmo-term .scol-h img{width:20px;height:20px}
.pmo-term .scol-h span{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.pmo-term .spec-right p{font-size:13px;color:var(--g1);line-height:1.5}.pmo-term .spec-right p a{color:var(--accent);font-weight:700}
.pmo-term .scaution{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;background:#fff7ed;border:1px solid #f6d9ad;border-radius:10px;padding:12px 14px;font-size:12.5px;color:#8a5a16;line-height:1.5}
.pmo-term .scaution img{width:22px;height:22px;flex-shrink:0;margin-top:1px}
.pmo-term .scaution b{color:#8a5a16}

/* RID (sec7 - white per Sam) */
.pmo-term .rid-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pmo-term .rid-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:var(--sh-sm)}
.pmo-term .rid-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.pmo-term .rid-letter{width:52px;height:52px;border-radius:13px;background:var(--cta);color:var(--primary-dark);font-size:26px;font-weight:900;display:grid;place-items:center;flex-shrink:0}
.pmo-term .rid-card h3{font-size:20px;font-weight:800;color:var(--primary)}
.pmo-term .rid-card>p{font-size:13.5px;color:var(--g1);line-height:1.55;margin-bottom:14px}
.pmo-term .rid-list{list-style:none}
.pmo-term .rid-list li{font-size:13px;color:var(--g1);line-height:1.5;padding-left:24px;position:relative;margin-bottom:9px}
.pmo-term .rid-list li::before{content:"";position:absolute;left:0;top:3px;width:15px;height:15px;background:no-repeat center/contain url('https://pestmeoff.com/wp-content/uploads/2026/06/pmo-term-shield.webp')}
.pmo-term .rid-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 24px}
.pmo-term .rid-cta .gp{font-size:13px;color:var(--g1)}.pmo-term .rid-cta .gp b{color:var(--primary)}

/* equipment (sec8/9/10) */
.pmo-term .eq-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.pmo-term .eq-grid.flip .eq-media{order:2}
.pmo-term .eq-img{width:100%;border-radius:16px;box-shadow:var(--sh);border:1px solid var(--line)}
.pmo-term .img-cap{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--g2);line-height:1.5;margin-top:10px;font-style:italic}
.pmo-term .img-cap img{width:18px;height:18px;flex-shrink:0;font-style:normal}
.pmo-term .eq-limit{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 17px 15px 16px;margin-top:16px;box-shadow:var(--sh-sm);display:flex;gap:12px}
.pmo-term .eq-limit img{width:26px;height:26px;flex-shrink:0;margin-top:2px}
.pmo-term .eq-limit .el-eye{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:5px}
.pmo-term .eq-limit p{font-size:13.5px;color:var(--g1);line-height:1.55}
.pmo-term .eq-tag{display:inline-flex;align-items:center;gap:8px;background:#eef5ff;color:var(--accent);font-size:12px;font-weight:800;padding:6px 13px;border-radius:999px;letter-spacing:.4px;margin-bottom:14px;text-transform:uppercase}
.pmo-term .eq-tag img{width:16px;height:16px}
.pmo-term .eq-steps{list-style:none;margin-top:4px}
.pmo-term .eq-step{display:flex;gap:14px;margin-bottom:16px}
.pmo-term .eq-num{width:34px;height:34px;border-radius:50%;background:var(--primary);color:#fff;font-weight:800;font-size:15px;display:grid;place-items:center;flex-shrink:0}
.pmo-term .eq-body strong{display:flex;align-items:center;gap:8px;color:var(--primary);font-size:14.5px;margin-bottom:3px}
.pmo-term .eq-body strong img{width:20px;height:20px}
.pmo-term .eq-body{font-size:13.5px;color:var(--g1);line-height:1.55}
.pmo-term .baitchart{float:right;width:236px;margin:2px 0 12px 18px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 14px 11px;box-shadow:var(--sh-sm)}
.pmo-term .bc-t{font-size:12px;font-weight:800;color:var(--primary);text-align:center;line-height:1.25;margin-bottom:14px}
.pmo-term .bc-plot{display:flex;align-items:flex-end;justify-content:center;gap:30px;height:128px;border-bottom:2px solid #cfd9e2}
.pmo-term .bc-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.pmo-term .bc-val{font-size:13px;font-weight:800;margin-bottom:4px}
.pmo-term .bc-val.trel{color:var(--primary-dark)}.pmo-term .bc-val.comp{color:var(--g2)}
.pmo-term .bc-bar{width:48px;border-radius:5px 5px 0 0}
.pmo-term .bc-bar.trel{background:var(--primary-dark)}.pmo-term .bc-bar.comp{background:#9aa7b3}
.pmo-term .bc-x{display:flex;justify-content:center;gap:30px;margin-top:7px}
.pmo-term .bc-x span{width:48px;text-align:center;font-size:10px;font-weight:700;color:var(--g2);line-height:1.25}
.pmo-term .bc-src{font-size:9px;color:var(--g3);text-align:center;margin-top:9px;line-height:1.3}

/* perimeter (sec11) */
.pmo-term .peri-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:var(--sh-sm);margin-bottom:20px}
.pmo-term .peri-eye{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cta-dark);display:block;margin-bottom:6px}
.pmo-term .peri-h{font-size:20px;font-weight:800;color:var(--primary);margin-bottom:16px;line-height:1.25}
.pmo-term .peri-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}
.pmo-term .peri-grid img.diagram{border-radius:12px;border:1px solid var(--line)}
.pmo-term .tc-card{display:flex;gap:12px;background:var(--surface);border-radius:11px;padding:14px 16px;margin-top:12px}
.pmo-term .tc-card img{width:24px;height:24px;flex-shrink:0;margin-top:2px}
.pmo-term .tc-card .tc-l{font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:4px}
.pmo-term .tc-card p{font-size:13px;color:var(--g1);line-height:1.5}
.pmo-term .stat-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pmo-term .stat-tile{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--sh-sm)}
.pmo-term .stat-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.pmo-term .stat-num{font-size:30px;font-weight:900;color:var(--accent);line-height:1;letter-spacing:-1px}
.pmo-term .stat-num.amber{color:var(--cta-dark)}.pmo-term .stat-num.navy{color:var(--primary)}
.pmo-term .stat-top img{width:30px;height:30px}
.pmo-term .stat-label{font-size:13.5px;font-weight:800;color:var(--primary);display:block;margin-bottom:3px}
.pmo-term .stat-sub{font-size:12px;color:var(--g2);line-height:1.45}

/* cost (sec12) */
.pmo-term .cost-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.pmo-term .cost-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:var(--sh-sm)}
.pmo-term .cost-ic{width:54px;height:54px;border-radius:14px;background:#e4eff9;display:grid;place-items:center;margin-bottom:14px}
.pmo-term .cost-ic img{width:32px;height:32px}
.pmo-term .cost-card h3{font-size:18px;font-weight:800;color:var(--primary);margin-bottom:14px}
.pmo-term .cost-factors{list-style:none}
.pmo-term .cost-factors li{font-size:14px;color:var(--g1);line-height:1.5;padding:9px 0 9px 24px;position:relative;border-bottom:1px dashed var(--line)}
.pmo-term .cost-factors li:last-child{border-bottom:none}
.pmo-term .cost-factors li::before{content:"\2192";position:absolute;left:0;top:9px;color:var(--accent);font-weight:900}
.pmo-term .cost-card.feature{background:var(--primary);color:#fff;border-color:var(--primary)}
.pmo-term .cost-card.feature .cost-ic{background:rgba(245,166,35,.18)}
.pmo-term .cost-card.feature h3{color:#fff}.pmo-term .cost-card.feature>p{font-size:14px;color:#cfdeea;line-height:1.6;margin-bottom:16px}
.pmo-term .cost-pill{display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:11px 14px;font-size:13.5px;color:#eaf2f9;margin-bottom:10px}
.pmo-term .cost-pill .pic{width:30px;height:30px;border-radius:50%;background:#fff;display:grid;place-items:center;flex-shrink:0}
.pmo-term .cost-pill .pic img{width:18px;height:18px}.pmo-term .cost-pill b{color:#fff}
.pmo-term .cost-annual{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 22px;margin-top:20px;box-shadow:var(--sh-sm)}
.pmo-term .cost-annual .ca-ic{width:42px;height:42px;flex-shrink:0}
.pmo-term .cost-annual h4{font-size:16px;font-weight:800;color:var(--primary);margin-bottom:3px}
.pmo-term .cost-annual p{font-size:13.5px;color:var(--g1);line-height:1.5}

/* real jobs (sec13) */
.pmo-term .rj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pmo-term .rj-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--sh-sm)}
.pmo-term .rj-imgwrap{position:relative}
.pmo-term .rj-imgwrap img.photo{width:100%;aspect-ratio:4/3;object-fit:cover}
.pmo-term .rj-body{padding:16px 18px}.pmo-term .rj-body b{display:block;color:var(--primary);font-size:15px;margin-bottom:4px}.pmo-term .rj-body p{font-size:13px;color:var(--g1);line-height:1.5}.pmo-term .rj-body .loc{font-size:11.5px;color:var(--g3);font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-top:8px}

/* reviews (sec14 - gemini) */
.pmo-term .rv-emblem{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:rgba(245,166,35,.14);display:grid;place-items:center}
.pmo-term .rv-emblem i{font-size:34px;color:var(--cta)}
.pmo-term .rv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
.pmo-term .rv-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:var(--sh-sm);text-align:left}
.pmo-term .rv-stars{color:var(--cta);font-size:16px;margin-bottom:12px;letter-spacing:1px}
.pmo-term .rv-quote{font-size:14.5px;color:var(--g1);line-height:1.6;margin-bottom:16px}
.pmo-term .rv-meta{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px}
.pmo-term .rv-name{font-size:13.5px;font-weight:800;color:var(--primary)}.pmo-term .rv-name span{display:block;font-size:11.5px;color:var(--g2);font-weight:600}
.pmo-term .rv-g{font-size:11px;color:var(--g2);font-weight:700;display:flex;align-items:center;gap:5px}.pmo-term .rv-g b{color:#4285F4}
.pmo-term .rv-readall{margin-top:26px}

/* services (sec15 - grouped text links, AI Team verdict: compact, by family, no cards) */
.pmo-term .svclist{display:grid;grid-template-columns:repeat(5,1fr);gap:24px 28px;margin-top:6px}
.pmo-term .svc-group h4{font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cta-dark);margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.pmo-term .svc-group a,.pmo-term .svc-group .cur{font-size:14px;font-weight:600;padding:6px 0;line-height:1.3;transition:.15s}
.pmo-term .svc-group a{display:block;color:var(--accent)}
.pmo-term .svc-group a:hover{color:var(--primary);padding-left:5px}
.pmo-term .svc-group .cur{display:inline-block;color:var(--cta-dark);font-weight:800;background:rgba(245,166,35,.16);border:1px solid rgba(245,166,35,.55);border-radius:7px;padding:5px 11px}
.pmo-term .svc-libline{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);font-size:14px;color:var(--g2)}
.pmo-term .svc-libline a{color:var(--accent);font-weight:700}

/* seasonal CTA (sec16 - gemini glow) */
.pmo-term .scta{background:linear-gradient(150deg,#1c3d59,#0f2436);color:#fff;padding:60px 0;text-align:center;overflow:hidden}
.pmo-term .scta .badge{position:relative;display:inline-flex;align-items:center;gap:8px;background:rgba(245,166,35,.12);border:1px solid rgba(245,166,35,.5);color:var(--cta);font-size:12.5px;font-weight:800;padding:8px 16px;border-radius:999px;margin-bottom:18px;letter-spacing:.3px;box-shadow:0 0 26px 2px rgba(245,166,35,.32)}
.pmo-term .scta .badge img{width:17px;height:17px}
.pmo-term .scta h2{font-size:36px;font-weight:800;line-height:1.1;margin-bottom:12px;letter-spacing:-0.6px}.pmo-term .scta h2 em{font-style:normal;color:var(--cta)}
.pmo-term .scta p{font-size:16px;color:#bcd0e0;max-width:620px;margin:0 auto 26px;line-height:1.6}
.pmo-term .scta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:26px}
.pmo-term .scta .btn-primary{box-shadow:0 0 34px 4px rgba(245,166,35,.45)}
.pmo-term .scta-micro{display:flex;gap:12px 26px;justify-content:center;flex-wrap:wrap;font-size:13.5px;color:#cfdeea}
.pmo-term .scta-micro span{display:flex;align-items:center;gap:7px}.pmo-term .scta-micro i{color:var(--cta);font-size:17px}

/* cities (sec17 - ours) */
.pmo-term .city-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.pmo-term .city-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px;transition:.16s}
.pmo-term .city-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--sh-sm)}
.pmo-term .city-pill{display:inline-block;background:var(--surface);color:var(--primary);font-size:12px;font-weight:800;padding:4px 11px;border-radius:999px;margin-bottom:9px}
.pmo-term .city-card p{font-size:13px;color:var(--g1);line-height:1.5}

@media(max-width:920px){
 .pmo-term .eq-grid,.pmo-term .peri-grid,.pmo-term .cost-grid{grid-template-columns:1fr;gap:24px}
 .pmo-term .eq-grid.flip .eq-media{order:0}
 .pmo-term .hero-tech{height:235px;max-width:155px;right:2%;bottom:-10px}
 .pmo-term .signs-grid,.pmo-term .rj-grid,.pmo-term .rid-grid,.pmo-term .rv-grid,.pmo-term .stat-rail,.pmo-term .svclist{grid-template-columns:1fr 1fr}
 .pmo-term .spec{grid-template-columns:1fr}.pmo-term .spec-left{border-right:none;border-bottom:1px solid var(--line)}
 .pmo-term .chart-float{float:none;width:60%;margin:10px auto}
}
@media(max-width:560px){
 .pmo-term .signs-grid,.pmo-term .rj-grid,.pmo-term .rid-grid,.pmo-term .rv-grid,.pmo-term .stat-rail,.pmo-term .svclist,.pmo-term .spec-right,.pmo-term .vs-head,.pmo-term .vs-row{grid-template-columns:1fr}
 .pmo-term .vs-row>div{border-top:1px solid var(--line)}.pmo-term .sec-h2{font-size:26px}
 .pmo-term .svc-trust{grid-template-columns:1fr}
}


/* ===== WILDLIFE .pmo-wild (migrated from inline 2026-06-24) ===== */
of custom .pmo-wild modules.
     Covers squirrel, raccoon, snake, opossum, skunk, armadillo, birds, bats. Top-of-funnel discovery page.
     Trust anchors: NWCOA member + Get Bent Academy wildlife certified. Pricing = custom per job, free inspection (no flat $).
     INTERLINKS (Sam: several routes to the exclusion page): -> /rodent-proofing/ (the permanent seal, MANY links incl. the
       "The work isn't done when the animal is gone" band + process step 4 + FAQ); -> /rodent-control/ (rats and mice).
     Layout + section order validated by the 06-24-26 AI-Team seo dispatch (06-24-26-wildlife-page-layout-sections.txt).
     Real proof photos reused from live exclusion jobs; animal mugshots + hero generated by the two-engine design team.
     ============================================================
     RANK MATH SEO FIELDS
       SEO Title:        Wildlife Removal McKinney TX | Squirrel & Raccoon Trapping   (57 chars)
       Meta Description: Humane wildlife removal in McKinney TX for squirrels, raccoons, snakes, opossums, skunks, birds and bats. We trap, remove, and seal them out. Free inspection.  (156)
       Focus Keyword:    wildlife removal
       Canonical:        https://pestmeoff.com/wildlife-removal/
       OG Title:         Heard Scratching in the Attic? Wildlife Removal in McKinney TX
       OG Description:   Humane trapping and removal of squirrels, raccoons, snakes, skunks, opossums, birds and bats, then we seal the way in. NWCOA member. Free wildlife inspection.
       FB Image:         https://pestmeoff.com/wp-content/uploads/2026/06/wildlife-removal-mckinney-tx-hero.webp
     ============================================================ -->

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@3.20.0/dist/tabler-icons.min.css">

<style>
/* ===== WILDLIFE REMOVAL - custom modules (.pmo-wild) layered on the .pmo-sp-v2 design system ===== */
.pmo-wild .hero-reassure{font-size:22px}
/* animal nav strip below the hero (matches the Ant service page) + chip base */
.pmo-wild .hero-pest-chip{background:#fff;border:1px solid var(--gray-line);color:var(--primary-dark);font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px;line-height:1.2;text-decoration:none;display:inline-block;transition:background .15s,border-color .15s,transform .15s}
.pmo-wild .hero-pest-chip:hover{background:var(--cta);border-color:var(--cta-dark);color:var(--primary-dark);transform:translateY(-1px)}
.pmo-wild .ant-nav-strip{padding:18px 24px 2px;background:#fff}
.pmo-wild .ant-nav-inner{width:fit-content;max-width:calc(100% - 40px);margin:0 auto;padding:11px 18px;background:#fff;border:1px solid var(--gray-line);border-radius:16px;box-shadow:0 10px 25px rgba(58,84,104,.07);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px 8px}
.pmo-wild .ant-nav-label{font-size:12px;font-weight:800;color:var(--primary-dark);letter-spacing:.2px;margin-right:4px;white-space:nowrap}

/* SECTION 2 - direct answer + symptom chips (AI-overview citation block) */
.pmo-wild .wild-answer{background:#fff}
.pmo-wild .wild-answer-card{max-width:1040px;margin:0 auto;background:linear-gradient(180deg,#f4f8fd 0%,#fff 100%);border:1.5px solid var(--blue-pale);border-radius:18px;padding:30px 32px;box-shadow:0 10px 30px rgba(58,84,104,0.07)}
.pmo-wild .wild-answer-card h2{font-size:23px;font-weight:800;color:var(--primary);margin-bottom:12px;letter-spacing:-0.4px}
.pmo-wild .wild-answer-card p{font-size:16px;color:var(--gray-1);line-height:1.65}
.pmo-wild .wild-answer-card p strong{color:var(--primary);font-weight:700}
.pmo-wild .wild-symptoms{margin-top:22px;padding-top:20px;border-top:1px dashed var(--gray-line)}
.pmo-wild .wild-symptoms-lab{font-size:13px;font-weight:800;color:var(--primary-dark);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}
.pmo-wild .wild-symptom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pmo-wild .wild-symptom{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--gray-line);border-radius:10px;padding:11px 13px;transition:all .15s}
.pmo-wild .wild-symptom:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 6px 16px rgba(58,84,104,0.08)}
.pmo-wild .wild-symptom i{color:var(--accent);font-size:20px;flex-shrink:0}
.pmo-wild .wild-symptom span{font-size:13px;color:var(--gray-1);line-height:1.3}
.pmo-wild .wild-symptom b{color:var(--primary);font-weight:800}

/* SECTION 3 - who-handles-what router (anti-cannibalization) */
.pmo-wild .wild-router{background:var(--surface-tint)}
.pmo-wild .router-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.pmo-wild .router-card{background:#fff;border:1.5px solid var(--gray-line);border-radius:16px;padding:24px 22px;display:flex;flex-direction:column;transition:all .2s}
.pmo-wild .router-card.is-current{border:2px solid var(--cta);background:linear-gradient(180deg,#fff 0%,#fffaf0 100%);box-shadow:0 12px 30px rgba(245,166,35,0.14)}
.pmo-wild .router-card:not(.is-current):hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(58,84,104,0.10);border-color:var(--accent)}
.pmo-wild .router-ic{width:50px;height:50px;border-radius:12px;background:#eef5ff;color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:14px}
.pmo-wild .router-card.is-current .router-ic{background:rgba(245,166,35,0.16);color:var(--cta-dark)}
.pmo-wild .router-tag{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--cta-dark);margin-bottom:6px}
.pmo-wild .router-card:not(.is-current) .router-tag{color:var(--gray-2)}
.pmo-wild .router-h{font-size:18px;font-weight:800;color:var(--primary);margin-bottom:7px;letter-spacing:-0.3px}
.pmo-wild .router-p{font-size:13.5px;color:var(--gray-1);line-height:1.55;margin-bottom:14px;flex:1}
.pmo-wild .router-link{font-size:13.5px;font-weight:800;color:var(--accent);display:inline-flex;align-items:center;gap:6px}
.pmo-wild .router-card.is-current .router-here{font-size:13px;font-weight:800;color:var(--cta-dark);display:inline-flex;align-items:center;gap:6px}

/* SECTION 4 - animals we handle (card grid) */
.pmo-wild .wild-animals{background:#fff}
.pmo-wild .wa-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin-top:34px}
.pmo-wild .wa-card{width:calc(33.333% - 12px);background:#fff;border:1px solid var(--gray-line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 18px rgba(58,84,104,0.06);transition:all .2s;scroll-margin-top:90px}
.pmo-wild .wa-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(58,84,104,0.12)}
.pmo-wild .wa-img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#f1f5f9;display:block}
.pmo-wild .wa-body{padding:16px 17px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.pmo-wild .wa-name{font-size:18px;font-weight:800;color:var(--primary-dark);letter-spacing:-0.3px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.pmo-wild .wa-vol{font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--accent);background:rgba(31,120,209,0.09);border:1px solid rgba(31,120,209,.3);border-radius:999px;padding:3px 8px;white-space:nowrap}
.pmo-wild .wa-sign{font-size:13px;color:var(--gray-1);line-height:1.5}
.pmo-wild .wa-sign strong{color:var(--primary);font-weight:700}
.pmo-wild .wa-do{font-size:12.5px;color:var(--gray-1);line-height:1.5;margin-top:auto;padding-top:10px;border-top:1px solid var(--gray-line);display:flex;gap:8px;align-items:flex-start}
.pmo-wild .wa-do i{color:#1f9d55;font-size:16px;flex-shrink:0;margin-top:1px}
.pmo-wild .wa-do b{color:var(--primary);font-weight:700}

/* SECTION 5 - signs by animal (diagnostic table) */
.pmo-wild .wild-signs{background:var(--surface-tint)}
.pmo-wild .signs-wrap{background:#fff;border:1px solid var(--gray-line);border-radius:16px;overflow:hidden;box-shadow:0 8px 26px rgba(58,84,104,0.09);margin-top:8px}
.pmo-wild .signs-scroll{overflow-x:auto}
.pmo-wild .signs-table{width:100%;border-collapse:collapse;min-width:760px}
.pmo-wild .signs-table thead th{background:var(--primary-dark);color:#fff;text-align:left;padding:14px 16px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.pmo-wild .signs-table tbody td{padding:14px 16px;font-size:13.5px;color:var(--gray-1);border-bottom:1px solid var(--gray-line);line-height:1.45;vertical-align:top}
.pmo-wild .signs-table tbody tr:last-child td{border-bottom:none}
.pmo-wild .signs-table tbody tr:nth-child(even) td{background:#f8fbfe}
.pmo-wild .signs-animal{font-weight:800;color:var(--primary-dark);white-space:nowrap}
.pmo-wild .signs-table tbody td.risk{color:#b8321e;font-weight:600}

/* SECTION 6 - humane removal process */
.pmo-wild .wild-process{background:var(--primary);color:#fff;position:relative;overflow:hidden}
.pmo-wild .wild-process::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 18% 25%,rgba(31,120,209,.22),transparent 60%);pointer-events:none}
.pmo-wild .wild-process .section-inner{position:relative;z-index:1}
.pmo-wild .wild-process .section-eyebrow{color:var(--cta);text-align:center}
.pmo-wild .wild-process .section-title{color:#fff;text-align:center;margin-left:auto;margin-right:auto}
.pmo-wild .wild-process .section-title em{color:var(--cta)}
.pmo-wild .wp-lead{font-size:16px;color:rgba(255,255,255,.85);text-align:center;max-width:760px;margin:0 auto 44px;line-height:1.6}
.pmo-wild .wp-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pmo-wild .wp-step{background:#fff;border-radius:16px;padding:24px 22px;display:flex;flex-direction:column;gap:10px;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.pmo-wild .wp-step.is-seal{box-shadow:0 0 0 3px var(--cta),0 16px 40px rgba(245,166,35,.4)}
.pmo-wild .wp-head{display:flex;align-items:center;gap:12px}
.pmo-wild .wp-num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--cta);color:var(--primary-dark);font-size:17px;font-weight:900;flex-shrink:0}
.pmo-wild .wp-ic{font-size:26px;color:var(--accent)}
.pmo-wild .wp-h{font-size:17px;font-weight:800;color:var(--primary-dark);letter-spacing:-0.3px}
.pmo-wild .wp-d{font-size:13px;color:var(--gray-1);line-height:1.55}
.pmo-wild .wp-seal-link{margin-top:6px;font-size:13px;font-weight:800;color:var(--cta-dark);display:inline-flex;align-items:center;gap:6px}

/* SECTION 7 - Texas legal notes (bats + birds) */
.pmo-wild .wild-legal{background:#fff}
.pmo-wild .legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}
.pmo-wild .legal-card{background:var(--surface-tint);border:2px solid var(--accent);border-radius:16px;padding:26px 26px}
.pmo-wild .legal-card.bird-card{border-color:#1f9d55}
.pmo-wild .legal-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.pmo-wild .legal-ic{width:48px;height:48px;border-radius:12px;background:#eef5ff;color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:25px;flex-shrink:0}
.pmo-wild .legal-card.bird-card .legal-ic{background:#eafaf0;color:#1f9d55}
.pmo-wild .legal-h{font-size:18px;font-weight:800;color:var(--primary);letter-spacing:-0.3px}
.pmo-wild .legal-p{font-size:14px;color:var(--gray-1);line-height:1.65}
.pmo-wild .legal-p strong{color:var(--primary);font-weight:700}
.pmo-wild .legal-source{text-align:center;font-size:13px;color:var(--gray-2);font-style:italic;margin-top:22px}
.pmo-wild .legal-source a{color:var(--accent);font-weight:700;font-style:normal}

/* SECTION 8 - wildlife removal vs animal control */
.pmo-wild .wild-vs{background:var(--surface-tint)}
.pmo-wild .vs-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;background:#fff;border:1px solid var(--gray-line);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(58,84,104,.08)}
.pmo-wild .vs-col{padding:30px 30px}
.pmo-wild .vs-col.vs-them{background:#f8fbfe;border-right:1px solid var(--gray-line)}
.pmo-wild .vs-tag{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;color:var(--gray-2)}
.pmo-wild .vs-col.vs-us .vs-tag{color:var(--cta-dark)}
.pmo-wild .vs-h{font-size:19px;font-weight:800;color:var(--primary);margin-bottom:14px;letter-spacing:-0.3px}
.pmo-wild .vs-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px}
.pmo-wild .vs-list li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--gray-1);line-height:1.5}
.pmo-wild .vs-list li i{font-size:17px;flex-shrink:0;margin-top:1px}
.pmo-wild .vs-them .vs-list li i{color:var(--gray-3)}
.pmo-wild .vs-us .vs-list li i{color:#1f9d55}
.pmo-wild .vs-bottom{margin-top:26px;text-align:center;font-size:15.5px;color:var(--primary);font-weight:700}
.pmo-wild .vs-bottom strong{color:var(--cta-dark)}

/* SECTION 12 - "The work isn't done" exclusion handoff band */
.pmo-wild .wild-bridge{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 60%,#2f5f7a 100%);color:#fff;padding:64px 0;position:relative;overflow:hidden}
.pmo-wild .wild-bridge::after{content:"";position:absolute;bottom:-60px;right:-40px;width:340px;height:340px;background:radial-gradient(circle,rgba(245,166,35,.16),transparent 70%);pointer-events:none}
.pmo-wild .bridge-inner{max-width:1000px;margin:0 auto;padding:0 24px;position:relative;z-index:1;display:grid;grid-template-columns:1.4fr 1fr;gap:36px;align-items:center}
.pmo-wild .bridge-eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--cta);margin-bottom:12px}
.pmo-wild .bridge-h{font-size:34px;font-weight:800;line-height:1.1;letter-spacing:-1px;margin-bottom:14px}
.pmo-wild .bridge-h em{font-style:normal;color:var(--cta)}
.pmo-wild .bridge-p{font-size:15.5px;color:rgba(255,255,255,.86);line-height:1.65}
.pmo-wild .bridge-p strong{color:#fff;font-weight:700}
.pmo-wild .bridge-cta-wrap{display:flex;flex-direction:column;gap:12px}
.pmo-wild .bridge-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--cta);color:var(--primary-dark);padding:16px 26px;border-radius:11px;font-size:15.5px;font-weight:800;transition:all .2s;text-align:center}
.pmo-wild .bridge-cta:hover{background:var(--cta-dark);color:#fff;transform:translateY(-1px);box-shadow:0 10px 24px rgba(245,166,35,.4)}
.pmo-wild .bridge-cta i{font-size:19px}
.pmo-wild .bridge-sub{font-size:12.5px;color:rgba(255,255,255,.7);text-align:center;line-height:1.5}
.pmo-wild .bridge-sub a{color:var(--cta);font-weight:700}

/* alternating section backgrounds: override snippet-53 defaults so white/tint alternate cleanly */
.pmo-wild .why-choose{background:#fff}
/* "we also handle wildlife in" cities centered, not spread edge to edge */
.pmo-wild .cities-more-list{justify-content:center;flex-wrap:wrap;gap:8px 10px}
/* SECTION REAL JOBS - moved right after the signs table; white to alternate after the tint signs section */
.pmo-wild .wild-jobs{background:#fff}
.pmo-wild .jobs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
.pmo-wild .job-fig{margin:0;background:#fff;border:1px solid var(--gray-line);border-radius:14px;overflow:hidden;box-shadow:0 8px 22px rgba(58,84,104,.08)}
.pmo-wild .job-fig img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.pmo-wild .job-fig figcaption{padding:14px 16px;font-size:13.5px;color:var(--gray-1);line-height:1.45}
.pmo-wild .job-fig figcaption b{display:block;color:var(--primary);font-weight:800;font-size:13px;margin-bottom:3px}

/* shared: cities + final (reuse .pmo-sp-v2) ; responsive */
@media (max-width:980px){
  .pmo-wild .wa-card{width:calc(50% - 9px)}
  .pmo-wild .wp-steps{grid-template-columns:repeat(2,1fr)}
  .pmo-wild .router-grid{grid-template-columns:1fr}
  .pmo-wild .wild-symptom-grid{grid-template-columns:repeat(2,1fr)}
  .pmo-wild .legal-grid,.pmo-wild .vs-grid,.pmo-wild .bridge-inner{grid-template-columns:1fr}
  .pmo-wild .vs-col.vs-them{border-right:none;border-bottom:1px solid var(--gray-line)}
  .pmo-wild .jobs-grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  .pmo-wild .wa-card{width:calc(50% - 9px)}
  .pmo-wild .wp-steps{grid-template-columns:1fr}
  .pmo-wild .wild-symptom-grid{grid-template-columns:1fr}
  .pmo-wild .bridge-h{font-size:26px}
}


/* ===== ANTCATEGORY .acat (migrated from inline 2026-06-24) ===== */
.pmo-sp-v2 .hero-image-col{width:100%;max-width:560px;margin:0 auto;align-self:center}
.pmo-sp-v2 .hero-img-wrap{position:relative;width:100%}
.pmo-sp-v2 .acat-cases-img{display:block;width:82%;height:auto;border-radius:20px;box-shadow:0 10px 30px rgba(58,84,104,.16)}
.pmo-sp-v2 .hero-text-col .offer-bar{max-width:520px;margin:18px 0 8px}
.pmo-sp-v2 .hero-text-col .benefits-row{max-width:520px;margin-top:8px}
.pmo-sp-v2 .hero-image-col .acat-tech{position:absolute;right:5%;bottom:-112px;height:445px!important;width:auto!important;max-width:245px!important;object-fit:contain;object-position:bottom right;z-index:4;filter:drop-shadow(0 12px 18px rgba(0,0,0,.22))}
.pmo-sp-v2 .acat-badgeband{min-height:96px;padding-top:16px}
.pmo-sp-v2 .acat-badgeband .hero-badges{display:flex;gap:8px;align-items:flex-end;position:static}
.pmo-sp-v2 .acat-badgeband .hero-best-badge{height:94px;width:auto;object-fit:contain;border-radius:8px;box-shadow:0 8px 22px rgba(0,0,0,.22);background:#fff;padding:5px}
@media(max-width:900px){.pmo-sp-v2 .acat-muggrid{max-width:52%}.pmo-sp-v2 .acat-cases-img{width:100%}.pmo-sp-v2 .hero-image-col .acat-tech{height:200px!important;max-width:150px!important;right:0;bottom:-6px}}
.pmo-sp-v2 .fieldnote{background:#fff}
.pmo-sp-v2 .fieldnote-body{max-width:760px;margin:14px auto 0;font-size:15.5px;line-height:1.7;color:var(--gray-1);text-align:center}
.pmo-sp-v2 .fieldnote-2col{display:grid;grid-template-columns:1.08fr .92fr;gap:36px;align-items:center;max-width:1000px;margin:22px auto 0}
.pmo-sp-v2 .fieldnote-2col .fieldnote-body{margin:0;max-width:none;text-align:left}
.pmo-sp-v2 .fieldnote-cards{display:flex;flex-direction:column;gap:12px}
.pmo-sp-v2 .fn-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--gray-line);border-radius:14px;padding:13px 16px;box-shadow:0 6px 18px rgba(58,84,104,.07)}
.pmo-sp-v2 .fn-ic{flex:none;width:46px;height:46px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px}
.pmo-sp-v2 .fn-txt{font-size:13.5px;color:var(--gray-2);line-height:1.4}
.pmo-sp-v2 .fn-txt b{display:block;color:var(--primary);font-size:15px;margin-bottom:1px}
@media(max-width:760px){.pmo-sp-v2 .fieldnote-2col{grid-template-columns:1fr;gap:18px}}
.pmo-sp-v2 .plan-card{text-align:center}
.pmo-sp-v2 .plan-badge{margin:0 0 4px}
.pmo-sp-v2 .plan-badge img{width:84px;height:84px;object-fit:contain;display:inline-block}
.pmo-sp-v2 .plan-card .price-btn{justify-content:center}
.pmo-sp-v2 .ant-strip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:880px;margin:28px auto 0}
.pmo-sp-v2 .ant-strip-item{margin:0;cursor:pointer;border-radius:13px;overflow:hidden;background:#fff;border:1px solid var(--gray-line);box-shadow:0 6px 18px rgba(58,84,104,.08)}
.pmo-sp-v2 .ant-strip-item img{width:100%;height:172px;object-fit:cover;display:block;transition:transform .35s ease}
.pmo-sp-v2 .ant-strip-item:hover img{transform:scale(1.06)}
.pmo-sp-v2 .ant-strip-item figcaption{padding:11px 13px;font-size:12.5px;color:var(--gray-1);line-height:1.45;text-align:left}
.pmo-sp-v2 .ant-strip-item figcaption b{color:var(--accent);display:block;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;margin-bottom:3px}
@media(max-width:760px){.pmo-sp-v2 .ant-strip-grid{grid-template-columns:1fr 1fr}}
.pmo-lightbox{position:fixed;inset:0;background:rgba(15,23,32,.93);display:none;align-items:center;justify-content:center;z-index:99999;padding:24px}
.pmo-lightbox.open{display:flex}
.pmo-lightbox img{max-width:92vw;max-height:84vh;border-radius:10px;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.pmo-lightbox .pmo-lb-close{position:absolute;top:16px;right:26px;color:#fff;font-size:38px;font-weight:300;cursor:pointer;line-height:1}
.pmo-lightbox .pmo-lb-cap{position:absolute;bottom:26px;left:0;right:0;text-align:center;color:#fff;font-size:14px;padding:0 24px;font-weight:500}

/* ==== PMO-CP-V3 CITY PAGES (shared across all 14 city pages) ==== */
.pmo-cp-v3{
  --primary:#3A5468;--navy:#1D3A4F;--navy-2:#16314a;--accent:#1f78d1;--accent-light:#5b9fe0;
  --cta:#F5A623;--cta-dark:#d68910;--ink:#10202c;--gray-1:#3a4a55;--gray-2:#6a7682;--line:#e3e8ee;
  --tint:#f4f7fb;--blue-pale:#E0EAF2;
  --font:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-family:var(--font);color:var(--ink);background:#fff;line-height:1.6;font-size:15.5px;-webkit-font-smoothing:antialiased;
}
.pmo-cp-v3 *{box-sizing:border-box}
.pmo-cp-v3 img{max-width:100%;display:block}
.pmo-cp-v3 a{color:var(--accent);text-decoration:none}
.pmo-cp-v3 .wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.pmo-cp-v3 .wrap-md{max-width:920px;margin:0 auto;padding:0 24px}
.pmo-cp-v3 .wrap-md:has(.pest-blocks){max-width:840px}
.pmo-cp-v3 section{position:relative}
.pmo-cp-v3 .sec{padding:66px 0}
.pmo-cp-v3 .sec-tint{background:var(--tint)}
.pmo-cp-v3 .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);margin-bottom:16px;background:var(--blue-pale);border:1px solid #d4e2f1;padding:7px 15px;border-radius:30px}
.pmo-cp-v3 .eyebrow svg{width:16px;height:16px;flex-shrink:0}
.pmo-cp-v3 .eyebrow img{width:17px;height:17px;flex-shrink:0;display:block}
.pmo-cp-v3 h2.h2{font-size:39px;font-weight:800;color:var(--navy);letter-spacing:-1px;line-height:1.08;margin:0 0 14px;text-wrap:balance}
.pmo-cp-v3 h2.h2.center{text-align:center}
.pmo-cp-v3 .lead{font-size:16px;color:var(--gray-1);line-height:1.7;margin:0 0 14px}
.pmo-cp-v3 .lead strong{color:var(--navy);font-weight:700}
.pmo-cp-v3 .headc{text-align:left;max-width:none;margin:0 0 26px}
.pmo-cp-v3 .headc .lead{max-width:760px;margin-left:0;margin-right:0}
.pmo-cp-v3 .headc-c{text-align:center;max-width:820px;margin:0 auto 10px}
.pmo-cp-v3 .headc-c .lead{margin-left:auto;margin-right:auto;max-width:680px}

/* BREADCRUMB */
.pmo-cp-v3 .bc{background:var(--tint);border-bottom:1px solid var(--line);font-size:12.5px}
.pmo-cp-v3 .bc .wrap{padding-top:11px;padding-bottom:11px;color:var(--gray-2)}
.pmo-cp-v3 .bc a{color:var(--gray-2)}
.pmo-cp-v3 .bc a:hover{color:var(--accent)}
.pmo-cp-v3 .bc span{margin:0 7px;color:#b9c2cc}

/* HERO */
.pmo-cp-v3 .hero{background:linear-gradient(135deg,#eaf3fc 0%,#f4f9fd 55%,#ffffff 100%);padding:42px 0 50px;overflow:hidden}
.pmo-cp-v3 .hero::before{content:"";position:absolute;top:-160px;right:-140px;width:520px;height:520px;background:radial-gradient(circle,rgba(31,120,209,.07),transparent 70%);pointer-events:none}
.pmo-cp-v3 .hero::after{content:"";position:absolute;top:0;right:0;width:46%;height:100%;background-image:radial-gradient(rgba(31,120,209,.10) 1.3px,transparent 1.3px);background-size:24px 24px;-webkit-mask-image:linear-gradient(to left,#000,transparent 92%);mask-image:linear-gradient(to left,#000,transparent 92%);pointer-events:none;z-index:0}
.pmo-cp-v3 .hero-grid{display:grid;grid-template-columns:1fr;gap:34px;position:relative;z-index:1}
@media(min-width:980px){.pmo-cp-v3 .hero-grid{grid-template-columns:1.05fr .95fr;gap:46px;align-items:start}}
.pmo-cp-v3 .hero-stars{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--gray-1);margin-bottom:18px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:30px;padding:8px 16px;box-shadow:0 4px 14px rgba(29,58,79,.07)}
.pmo-cp-v3 .hero-stars .s{display:inline-flex;gap:1px}
.pmo-cp-v3 .hero-stars .s svg{width:16px;height:16px}
.pmo-cp-v3 .hero-stars strong{color:var(--navy);font-weight:800}
.pmo-cp-v3 .hero-stars .sep{color:#c4ccd4}
.pmo-cp-v3 .hero h1{font-size:57px;font-weight:800;color:var(--navy);letter-spacing:-2px;line-height:1.0;margin:0 0 16px;text-wrap:balance}
.pmo-cp-v3 .hero h1 em{font-style:normal;color:var(--accent)}
.pmo-cp-v3 .hero-tag{font-size:17px;color:var(--gray-1);line-height:1.55;margin:0 0 16px;max-width:560px}
.pmo-cp-v3 .hero-tag strong{color:var(--navy);font-weight:700}
.pmo-cp-v3 .hero-lic{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--gray-2);margin-bottom:20px}
.pmo-cp-v3 .hero-lic svg{width:16px;height:16px;color:var(--accent);flex-shrink:0}
.pmo-cp-v3 .hero-lic b{color:var(--navy)}
.pmo-cp-v3 .hero-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.pmo-cp-v3 .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;border-radius:10px;font-size:15.5px;padding:14px 22px;transition:transform .15s,box-shadow .15s,background .15s;cursor:pointer;border:0}
.pmo-cp-v3 .btn-call{background:var(--navy);color:#fff;box-shadow:0 6px 18px rgba(29,58,79,.22)}
.pmo-cp-v3 .btn-call:hover{transform:translateY(-1px);background:var(--navy-2)}
.pmo-cp-v3 .btn-call svg{width:17px;height:17px}
.pmo-cp-v3 .btn-est{background:var(--cta);color:var(--navy);box-shadow:0 6px 18px rgba(245,166,35,.30)}
.pmo-cp-v3 .btn-est:hover{transform:translateY(-1px);background:var(--cta-dark);color:#fff}
.pmo-cp-v3 .hero-badges{display:flex;align-items:center;gap:12px;margin-top:22px}
.pmo-cp-v3 .hero-badges img{height:84px;width:auto;background:#fff;border:1px solid var(--line);border-radius:8px;padding:4px}
.pmo-cp-v3 .hero-badges span{font-size:12.5px;color:var(--gray-2);line-height:1.4;max-width:180px}
.pmo-cp-v3 .hero-badges span b{color:var(--navy);display:block;font-size:13px}

/* HERO FORM CARD */
.pmo-cp-v3 .form-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 48px rgba(29,58,79,.13);overflow:visible}
.pmo-cp-v3 .form-card .fc-head{background:var(--navy);color:#fff;padding:18px 22px;border-radius:16px 16px 0 0;display:flex;align-items:center;gap:13px}
.pmo-cp-v3 .fc-head .fc-ic{width:42px;height:42px;border-radius:11px;background:rgba(255,255,255,.13);display:grid;place-items:center;flex-shrink:0}
.pmo-cp-v3 .fc-head .fc-ic svg{width:23px;height:23px;color:var(--cta)}
.pmo-cp-v3 .form-card .fc-head h3{margin:0;font-size:19px;font-weight:800;letter-spacing:-0.3px}
.pmo-cp-v3 .form-card .fc-head p{margin:4px 0 0;font-size:13px;color:rgba(255,255,255,.82)}
.pmo-cp-v3 .pmo-form{padding:20px 20px 18px}
.pmo-cp-v3 .pmo-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.pmo-cp-v3 .pmo-form-row-full{grid-template-columns:1fr}
.pmo-cp-v3 .pmo-form-field{display:flex;flex-direction:column;min-width:0}
.pmo-cp-v3 .pmo-form-field label{font-size:12px;font-weight:700;color:var(--navy);margin-bottom:5px}
.pmo-cp-v3 .pmo-form-field .req{color:var(--cta-dark);margin-left:2px}
.pmo-cp-v3 .pmo-form-field input,.pmo-cp-v3 .pmo-form-field select{padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-family:inherit;background:#fff;color:var(--ink);width:100%;height:42px;transition:border-color .15s,box-shadow .15s}
.pmo-cp-v3 .pmo-form-field input:focus,.pmo-cp-v3 .pmo-form-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(31,120,209,.15)}
.pmo-cp-v3 .pmo-form-checkbox label{display:flex;align-items:flex-start;gap:8px;font-size:11.5px;font-weight:500;color:var(--gray-1);line-height:1.45;cursor:pointer}
.pmo-cp-v3 .pmo-form-checkbox input{margin-top:3px;width:16px;height:16px;flex-shrink:0;accent-color:var(--accent)}
.pmo-cp-v3 .pmo-form-legal-links{margin-top:6px;margin-left:24px;font-size:11px;color:var(--gray-2)}
.pmo-cp-v3 .pmo-form-legal-links a{color:var(--accent);font-weight:600}
.pmo-cp-v3 .pmo-form-submit{width:100%;background:var(--cta);color:var(--navy);border:0;padding:14px 22px;border-radius:8px;font-size:15px;font-weight:800;cursor:pointer;margin-top:8px;box-shadow:0 4px 14px rgba(245,166,35,.30);transition:background .15s,transform .15s,box-shadow .15s}
.pmo-cp-v3 .pmo-form-submit:hover:not(:disabled){background:var(--cta-dark);color:#fff;transform:translateY(-1px);box-shadow:0 8px 20px rgba(245,166,35,.40)}
.pmo-cp-v3 .pmo-form-submit:disabled{opacity:.6;cursor:wait}
.pmo-cp-v3 .pmo-form-error{background:#fff3f3;border:1px solid #f5c6c6;color:#a33;padding:11px 14px;border-radius:8px;margin-top:12px;font-size:13px;font-weight:600}
.pmo-cp-v3 .pmo-form-success{padding:30px 24px;text-align:center}
.pmo-cp-v3 .pmo-form-success h3{margin:0 0 10px;font-size:21px;color:var(--navy);font-weight:800}
.pmo-cp-v3 .pmo-form-success p{margin:0 0 8px;font-size:14px;color:var(--gray-1);line-height:1.5}
.pmo-cp-v3 .pmo-form-success a{color:var(--accent);font-weight:800}
.pmo-cp-v3 .pmo-multiselect{position:relative;width:100%}
.pmo-cp-v3 .pmo-ms-trigger{width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-family:inherit;font-size:14px;font-weight:500;text-align:left;cursor:pointer;height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:border-color .15s,box-shadow .15s;outline:none}
.pmo-cp-v3 .pmo-ms-trigger:focus,.pmo-cp-v3 .pmo-ms-trigger.is-open{border-color:var(--accent);box-shadow:0 0 0 3px rgba(31,120,209,.15)}
.pmo-cp-v3 .pmo-ms-label{flex:1;min-width:0;color:var(--gray-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pmo-cp-v3 .pmo-ms-label.has-selection{color:var(--navy);font-weight:600}
.pmo-cp-v3 .pmo-ms-arrow{flex-shrink:0;color:var(--gray-2);font-size:11px;transition:transform .2s}
.pmo-cp-v3 .pmo-ms-trigger.is-open .pmo-ms-arrow{transform:rotate(180deg);color:var(--accent)}
.pmo-cp-v3 .pmo-ms-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--accent);border-radius:8px;box-shadow:0 12px 32px rgba(29,58,79,.22);max-height:260px;overflow-y:auto;z-index:99999;padding:4px 0}
.pmo-cp-v3 .pmo-ms-opt{display:flex;align-items:center;gap:10px;padding:9px 14px;font-size:14px;color:var(--ink);cursor:pointer;line-height:1.3}
.pmo-cp-v3 .pmo-ms-opt:hover{background:var(--tint)}
.pmo-cp-v3 .pmo-ms-opt input{width:16px;height:16px;margin:0;accent-color:var(--accent);cursor:pointer;flex-shrink:0}
.pmo-cp-v3 .pmo-ms-opt input:checked ~ span{font-weight:700;color:var(--navy)}
.pmo-cp-v3 .pmo-ms-opt span{flex:1}

/* TRUST STRIP (sitewide standard, matches Fire Ant page) */
.pmo-cp-v3 .trust-strip{background:var(--primary);border-bottom:1px solid var(--line);padding:18px 0}
.pmo-cp-v3 .trust-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:20px 52px}
.pmo-cp-v3 .trust-item{display:flex;align-items:center;gap:8px;font-size:13.5px;color:rgba(255,255,255,0.88);font-weight:500;position:relative}
.pmo-cp-v3 .trust-item:not(:last-child)::after{content:"";position:absolute;right:-26px;top:50%;transform:translateY(-50%);width:1px;height:22px;background:rgba(255,255,255,0.22)}
.pmo-cp-v3 .trust-item i{color:var(--cta);font-size:18px}
.pmo-cp-v3 .trust-item strong{color:#fff;font-weight:700}

/* WE WORK HERE section (stat cards) */
.pmo-cp-v3 .work{background:var(--blue-pale);border-top:1px solid #d4e2f1;border-bottom:1px solid #d4e2f1;padding:54px 0}
.pmo-cp-v3 .work-h{text-align:center;font-size:30px;font-weight:800;color:var(--navy);letter-spacing:-0.7px;line-height:1.18;margin:0 auto 7px;max-width:840px}
.pmo-cp-v3 .work-zip{text-align:center;font-size:15.5px;font-weight:700;letter-spacing:.3px;color:var(--accent);margin:0 0 30px}
.pmo-cp-v3 .work-cards{display:grid;grid-template-columns:1fr;gap:16px;max-width:1000px;margin:0 auto}
@media(min-width:760px){.pmo-cp-v3 .work-cards{grid-template-columns:1fr 1fr 1fr}}
.pmo-cp-v3 .work-card{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid #e3e8ee;border-radius:16px;padding:26px 26px;box-shadow:0 10px 26px rgba(29,58,79,.08)}
.pmo-cp-v3 .work-card .wc-ic{flex-shrink:0}
.pmo-cp-v3 .work-card .wc-ic img{width:58px;height:58px;display:block}
.pmo-cp-v3 .work-card p{margin:0;font-size:14px;font-weight:500;color:var(--gray-1);line-height:1.4}
.pmo-cp-v3 .work-card p strong{display:block;font-size:20px;color:var(--navy);font-weight:800;margin-bottom:2px;line-height:1.1}

/* FIELD NOTE */
.pmo-cp-v3 .fieldnote{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.pmo-cp-v3 .fieldnote .by{display:block;margin-top:16px;font-size:13px;color:var(--gray-2);font-style:italic}
.pmo-cp-v3 .fn-intro{margin:0 0 24px;font-size:17px;color:var(--gray-1);line-height:1.6;max-width:760px}
.pmo-cp-v3 .fn-cards{display:grid;grid-template-columns:1fr;gap:18px;margin-bottom:22px}
@media(min-width:760px){.pmo-cp-v3 .fn-cards{grid-template-columns:1fr 1fr}}
.pmo-cp-v3 .fn-card{background:#fff;border:1px solid #d7e3f0;border-radius:14px;overflow:hidden;box-shadow:0 10px 26px rgba(29,58,79,.08);display:flex;flex-direction:column}
.pmo-cp-v3 .fn-photo{position:relative;aspect-ratio:3/2;overflow:hidden;border-bottom:1px solid #e8eef5}
.pmo-cp-v3 .fn-photo img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}
.pmo-cp-v3 .fn-tag{position:absolute;top:12px;left:12px;background:#1D3A4F;color:#fff;font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;padding:5px 11px;border-radius:999px}
.pmo-cp-v3 .fn-date{position:absolute;top:12px;right:12px;background:#F5A623;color:#1D3A4F;font-size:11.5px;font-weight:800;letter-spacing:.2px;padding:5px 11px;border-radius:999px}
.pmo-cp-v3 .fn-body{padding:17px 20px 20px;flex:1}
.pmo-cp-v3 .fn-loc{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.pmo-cp-v3 .fn-loc svg{width:13px;height:13px;flex-shrink:0}
.pmo-cp-v3 .fn-card h4{margin:0 0 8px;font-size:17px;font-weight:800;color:var(--navy);line-height:1.25}
.pmo-cp-v3 .fn-card p{margin:0;font-size:14px;line-height:1.58;color:var(--gray-1)}
.pmo-cp-v3 .fn-close{margin:0;font-size:17px;color:var(--navy);font-weight:700}

/* SEASONAL CALENDAR */
.pmo-cp-v3 .cal-grid{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:680px){.pmo-cp-v3 .cal-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.pmo-cp-v3 .cal-grid{grid-template-columns:repeat(4,1fr)}}
.pmo-cp-v3 .cal-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 22px rgba(29,58,79,.06);padding:26px 20px 24px;text-align:center;position:relative}
.pmo-cp-v3 .cal-scene{width:100%;max-width:204px;margin:0 auto;line-height:0}
.pmo-cp-v3 .cal-scene img{width:100%;height:auto;display:block}
.pmo-cp-v3 .cal-badge{width:58px;height:58px;display:block;margin:-32px auto 14px;position:relative;filter:drop-shadow(0 3px 8px rgba(29,58,79,.28))}
.pmo-cp-v3 .cal-card h4{margin:0 0 3px;font-size:19px;font-weight:800;color:var(--navy)}
.pmo-cp-v3 .cal-card .mo{font-size:11.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.pmo-cp-v3 .cal-card p{margin:0;font-size:13.5px;line-height:1.55;color:var(--gray-1)}

/* SERVICES GRID (link-out) */
.pmo-cp-v3 .svc-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:640px){.pmo-cp-v3 .svc-grid{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.pmo-cp-v3 .svc-grid{grid-template-columns:1fr 1fr 1fr}}
.pmo-cp-v3 .svc-card{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px;transition:border-color .15s,box-shadow .15s,transform .15s}
.pmo-cp-v3 .svc-card:hover{border-color:var(--accent);box-shadow:0 8px 20px rgba(58,84,104,.08);transform:translateY(-1px)}
.pmo-cp-v3 .svc-card .sc-t{font-size:15px;font-weight:800;color:var(--navy);display:flex;align-items:center;justify-content:space-between;gap:8px}
.pmo-cp-v3 .svc-card .sc-t svg{width:16px;height:16px;color:var(--accent);flex-shrink:0}
.pmo-cp-v3 .svc-card p{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--gray-1)}

/* REVIEWS */
.pmo-cp-v3 .rv-agg{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:22px;font-size:14px;font-weight:700;color:var(--navy)}
.pmo-cp-v3 .rv-agg .stars{color:var(--cta);letter-spacing:1px}
.pmo-cp-v3 .rv-grid{display:grid;grid-template-columns:1fr;gap:18px;max-width:880px;margin:0 auto}
@media(min-width:720px){.pmo-cp-v3 .rv-grid{grid-template-columns:1fr 1fr}}
.pmo-cp-v3 .rv-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:12px;padding:22px 24px;box-shadow:0 6px 18px rgba(58,84,104,.06)}
.pmo-cp-v3 .rv-top{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px;position:relative}
.pmo-cp-v3 .rv-avatar{width:42px;height:42px;border-radius:50%;background:var(--blue-pale);color:var(--accent);display:grid;place-items:center;flex-shrink:0}
.pmo-cp-v3 .rv-avatar svg{width:23px;height:23px}
.pmo-cp-v3 .rv-quote{position:absolute;top:-12px;right:0;font-size:52px;line-height:1;color:#e3ecf4;font-family:Georgia,serif}
.pmo-cp-v3 .rv-name{font-weight:800;color:var(--navy);font-size:15px}
.pmo-cp-v3 .rv-stars{display:inline-flex;gap:1px;margin:3px 0 0}
.pmo-cp-v3 .rv-stars svg{width:14px;height:14px}
.pmo-cp-v3 .rv-src{font-size:12px;color:var(--gray-2);margin-bottom:10px}
.pmo-cp-v3 .rv-card blockquote{margin:0;padding-top:14px;border-top:1px solid #e7edf3;font-size:14.5px;line-height:1.6;color:var(--gray-1)}
.pmo-cp-v3 .rv-dark{background:linear-gradient(160deg,#1D3A4F 0%,#16314a 100%)}
.pmo-cp-v3 .rv-dark .eyebrow{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.22);color:#dbeafe}
.pmo-cp-v3 .rv-dark h2.h2{color:#fff}
.pmo-cp-v3 .rv-dark .rv-agg{color:#eaf2fb}

/* WHY CHOOSE */
.pmo-cp-v3 .why-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:6px}
@media(min-width:680px){.pmo-cp-v3 .why-grid{grid-template-columns:1fr 1fr}}
.pmo-cp-v3 .why-item{display:flex;gap:13px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px}
.pmo-cp-v3 .why-item .ic{width:50px;height:50px;flex-shrink:0}
.pmo-cp-v3 .why-item .ic img{width:100%;height:100%;display:block}
.pmo-cp-v3 .why-item h4{margin:0 0 3px;font-size:15px;font-weight:800;color:var(--navy)}
.pmo-cp-v3 .why-item p{margin:0;font-size:13.5px;line-height:1.5;color:var(--gray-1)}

/* FAQ */
.pmo-cp-v3 .faq-list{max-width:880px;margin:0 auto}
.pmo-cp-v3 .faq-item{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:10px;overflow:hidden;transition:border-color .15s}
.pmo-cp-v3 .faq-item.open{border-color:var(--accent)}
.pmo-cp-v3 .faq-q{width:100%;text-align:left;background:none;border:0;padding:14px 16px;font-size:15px;font-weight:700;color:var(--navy);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;font-family:inherit}
.pmo-cp-v3 .faq-ql{display:flex;align-items:center;gap:13px;min-width:0}
.pmo-cp-v3 .faq-ic{width:37px;height:37px;display:grid;place-items:center;flex-shrink:0}
.pmo-cp-v3 .faq-ic img{width:100%;height:100%;object-fit:contain;display:block}
.pmo-cp-v3 .faq-ic svg{width:18px;height:18px}
.pmo-cp-v3 .faq-q::after{content:"+";color:var(--accent);font-size:20px;font-weight:400;flex-shrink:0;width:28px;height:28px;border-radius:50%;background:#eaf3fc;display:grid;place-items:center;line-height:1;transition:transform .2s}
.pmo-cp-v3 .faq-item.open .faq-q::after{transform:rotate(45deg)}
.pmo-cp-v3 .faq-a{padding-left:63px}
.pmo-cp-v3 .faq-a{padding:0 20px;max-height:0;overflow:hidden;font-size:14px;color:var(--gray-1);line-height:1.65;transition:max-height .25s ease,padding .25s ease}
.pmo-cp-v3 .faq-item.open .faq-a{padding:0 20px 18px;max-height:600px}

/* RECENT ACTIVITY */
.pmo-cp-v3 .city-photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(min-width:760px){.pmo-cp-v3 .city-photo-grid{grid-template-columns:repeat(4,1fr)}}
.pmo-cp-v3 .city-photo-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.pmo-cp-v3 .city-photo-card.pmo-zoom{cursor:zoom-in;transition:box-shadow .15s,transform .15s}
.pmo-cp-v3 .city-photo-card.pmo-zoom:hover{box-shadow:0 10px 24px rgba(29,58,79,.13);transform:translateY(-2px)}
.pmo-cp-v3 .city-photo-wrap img{width:100%;height:140px;object-fit:cover;display:block}
.pmo-cp-v3 .city-photo-meta{padding:10px 12px}
.pmo-cp-v3 .city-photo-title{margin:0;font-size:12px;font-weight:600;color:var(--navy);line-height:1.4}
.pmo-cp-v3 .art-card-loading{color:var(--gray-2);font-size:14px;grid-column:1/-1;text-align:center;padding:20px}

/* FINAL CTA */
.pmo-cp-v3 .final{background:linear-gradient(135deg,var(--navy) 0%,#0e2d4a 60%,#0a2035 100%);color:#fff;padding:64px 0;text-align:center;overflow:hidden}
.pmo-cp-v3 .final::before{content:"";position:absolute;top:-150px;left:50%;transform:translateX(-50%);width:680px;height:680px;background:radial-gradient(circle,rgba(245,166,35,.13),transparent 60%);pointer-events:none;z-index:0}
.pmo-cp-v3 .final::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1.3px,transparent 1.3px);background-size:26px 26px;pointer-events:none;z-index:0}
.pmo-cp-v3 .final .wrap-md{position:relative;z-index:1}
.pmo-cp-v3 .final h2{font-size:38px;font-weight:800;line-height:1.08;letter-spacing:-1.1px;margin:0 0 14px;color:#fff;text-wrap:balance}
.pmo-cp-v3 .final p{font-size:16px;color:rgba(255,255,255,.85);margin:0 0 24px}
.pmo-cp-v3 .final .hero-cta{justify-content:center}
.pmo-cp-v3 .final .btn-est{background:var(--cta)}

.pmo-cp-v3 .final-close{max-width:640px;margin:30px auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.16)}
.pmo-cp-v3 .final-close p{font-size:14.5px;line-height:1.65;color:rgba(255,255,255,.84);margin:0 0 18px}
.pmo-cp-v3 .final-links{display:flex;flex-wrap:wrap;gap:9px 18px;justify-content:center;align-items:center}
.pmo-cp-v3 .final-links .lbl{font-size:12px;font-weight:800;letter-spacing:.4px;color:rgba(255,255,255,.5)}
.pmo-cp-v3 .final-links a{font-size:14px;font-weight:700;color:var(--cta);text-decoration:none;border-bottom:1px solid rgba(245,166,35,.35);padding-bottom:1px}
.pmo-cp-v3 .final-links a:hover{color:#fff}

/* NAP / SERVICE AREA */
.pmo-cp-v3 .nap-grid{display:grid;grid-template-columns:1fr;gap:26px}
@media(min-width:880px){.pmo-cp-v3 .nap-grid{grid-template-columns:1fr 1fr;align-items:stretch}}
.pmo-cp-v3 .nap-card h3{margin:0 0 6px;font-size:18px;font-weight:800;color:var(--navy)}
.pmo-cp-v3 .nap-card p{margin:0 0 14px;font-size:14px;color:var(--gray-1);line-height:1.6}
.pmo-cp-v3 .city-chips{display:flex;flex-wrap:wrap;gap:8px}
.pmo-cp-v3 .city-chip{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:30px;padding:7px 14px;font-size:13px;font-weight:600;color:var(--navy);transition:border-color .15s,color .15s}
.pmo-cp-v3 .city-chip:hover{border-color:var(--accent);color:var(--accent)}
.pmo-cp-v3 .sp-chips .chip.hot::before,.pmo-cp-v3 .city-chip::before{content:"";display:inline-block;width:13px;height:15px;flex-shrink:0;-webkit-mask:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyIDJjLTMuODcgMC03IDMuMTMtNyA3IDAgNS4yNSA3IDEzIDcgMTNzNy03Ljc1IDctMTNjMC0zLjg3LTMuMTMtNy03LTd6bTAgOS41YTIuNSAyLjUgMCAxMTAtNSAyLjUgMi41IDAgMDEwIDV6Ii8+PC9zdmc+") center/contain no-repeat;mask:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyIDJjLTMuODcgMC03IDMuMTMtNyA3IDAgNS4yNSA3IDEzIDcgMTNzNy03Ljc1IDctMTNjMC0zLjg3LTMuMTMtNy03LTd6bTAgOS41YTIuNSAyLjUgMCAxMTAtNSAyLjUgMi41IDAgMDEwIDV6Ii8+PC9zdmc+") center/contain no-repeat}
.pmo-cp-v3 .sp-chips .chip.hot::before{background-color:#fff}
.pmo-cp-v3 .city-chip::before{background-color:var(--accent);margin-right:6px;vertical-align:-2px}
.pmo-cp-v3 .nap-map iframe{width:100%;height:100%;min-height:320px;border:0;border-radius:12px;display:block}
.pmo-cp-v3 .reviewed{max-width:900px;margin:30px auto 0;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--gray-2);text-align:center;line-height:1.6}
.pmo-cp-v3 .reviewed strong{color:var(--navy)}

/* section-4 art + section-8 service icons (build-sheet tweaks) */
.pmo-cp-v3 .intro-grid{display:grid;grid-template-columns:1fr;gap:30px;align-items:center}
@media(min-width:880px){.pmo-cp-v3 .intro-grid{grid-template-columns:1.55fr 1fr}}
.pmo-cp-v3 .intro-art{position:relative;display:flex;justify-content:center;padding:6px 14px 18px}
.pmo-cp-v3 .intro-art .wt{width:100%;max-width:320px;border-radius:14px;box-shadow:0 16px 40px rgba(29,58,79,.18)}
.pmo-cp-v3 .intro-art .tx{position:absolute;left:2px;bottom:2px;width:116px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:7px;box-shadow:0 10px 26px rgba(29,58,79,.16)}
.pmo-cp-v3 .sc-ic{width:46px;height:46px;border-radius:11px;background:#fff;border:1px solid #e6ecf2;display:inline-grid;place-items:center;flex-shrink:0;margin-right:12px;overflow:hidden}
.pmo-cp-v3 .sc-ic img{width:100%;height:100%;object-fit:contain;display:block;padding:3px}
.pmo-cp-v3 .sc-ic svg{width:23px;height:23px;display:block;color:var(--accent)}
.pmo-cp-v3 .sc-head{display:flex;align-items:center;min-width:0;gap:0}
/* pest deep-dive blocks (restored local depth) */
.pmo-cp-v3 .pest-blocks{display:grid;grid-template-columns:1fr;gap:22px}
.pmo-cp-v3 .pest-block{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 8px 22px rgba(29,58,79,.06)}
.pmo-cp-v3 .pest-body{padding:20px 24px 24px}
.pmo-cp-v3 .clab{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--gray-2);margin-bottom:7px;display:block}
.pmo-cp-v3 .chip{display:inline-block;background:#eef4fa;border:1px solid #d8e6f3;color:var(--navy);font-size:12.5px;font-weight:600;padding:5px 12px;border-radius:20px}
.pmo-cp-v3 .chip.hot{background:#d9881f;border-color:#d9881f;color:#fff}
.pmo-cp-v3 .pest-body p{margin:0 0 12px;font-size:14.5px;line-height:1.65;color:var(--gray-1)}
.pmo-cp-v3 .pest-body p:last-child{margin-bottom:0}
.pmo-cp-v3 .pest-body a{color:var(--accent);font-weight:700}
.pmo-cp-v3 .pb-row{display:flex;gap:14px;align-items:flex-start;padding:15px 0;border-top:1px solid #eef2f6}
.pmo-cp-v3 .pb-row:first-child{border-top:0;padding-top:2px}
.pmo-cp-v3 .pb-ic{width:46px;height:46px;flex-shrink:0;display:block}
.pmo-cp-v3 .pb-ic img{width:100%;height:100%;object-fit:contain;display:block}
.pmo-cp-v3 .pb-c{min-width:0;flex:1}
.pmo-cp-v3 .pb-c .clab{margin-bottom:8px}
.pmo-cp-v3 .pb-c p:last-child{margin-bottom:0}
.pmo-cp-v3 .pb-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 22px;background:linear-gradient(135deg,#1D3A4F,#16314a);overflow:hidden}
.pmo-cp-v3 .pb-head-l{order:0;min-width:0}
.pmo-cp-v3 .pb-head-l{display:flex;align-items:center;gap:13px;min-width:0}
.pmo-cp-v3 .pb-titles h3{margin:0;font-size:21px;font-weight:800;color:#fff;line-height:1.1}
.pmo-cp-v3 .pb-sub{font-size:12px;color:rgba(255,255,255,.66);line-height:1.3}
.pmo-cp-v3 .pb-head-r{display:contents}
.pmo-cp-v3 .pb-cal{text-align:right;order:2}
.pmo-cp-v3 .pb-cal-lbl{display:block;font-size:9px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:5px}
.pmo-cp-v3 .pb-bars{display:flex;align-items:flex-end;gap:3px;height:28px;justify-content:flex-end}
.pmo-cp-v3 .pb-bars i{width:6px;border-radius:2px;background:rgba(255,255,255,.20)}
.pmo-cp-v3 .pb-bars i.on{background:var(--cta)}
.pmo-cp-v3 .pb-peak{display:block;margin-top:6px;font-size:9.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--cta)}
.pmo-cp-v3 .pb-mug{height:132px;width:auto;max-width:46%;object-fit:contain;object-position:center;flex-shrink:0;display:block;align-self:center;margin:0;order:1}
.pmo-cp-v3 .pb-grp{margin-bottom:18px}
.pmo-cp-v3 .pb-grp .clab{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:var(--gray-2)}
.pmo-cp-v3 .pb-grp .clab svg{width:16px;height:16px;color:var(--accent);flex-shrink:0}
.pmo-cp-v3 .pb-grp .clab.hot svg{color:#d9881f}
.pmo-cp-v3 .sp-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px}
.pmo-cp-v3 .sp-chips .chip{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:6px 16px}
.pmo-cp-v3 .sp-chips .chip.hot{padding:8px 14px;justify-content:center}
.pmo-cp-v3 .sp-chips .chip:not(.hot){background:var(--accent);border-color:var(--accent);color:#fff}
.pmo-cp-v3 .chip-ic{width:34px;height:34px;border-radius:50%;background:#fff;object-fit:contain;flex-shrink:0;border:1px solid #e1e8f0}
.pmo-cp-v3 .pb-prose{margin-top:4px}
@media(max-width:600px){.pmo-cp-v3 .pb-mug{display:none}.pmo-cp-v3 .pb-head{flex-wrap:wrap;height:auto}}
@media(max-width:560px){
  .pmo-cp-v3 .hero h1{font-size:32px}
  .pmo-cp-v3 .pmo-form-row{grid-template-columns:1fr}
  .pmo-cp-v3 h2.h2{font-size:25px}
}
/* ==== END PMO-CP-V3 CITY PAGES ==== */

/* ==== CITY PHOTO GRID LOADING STATE ====
   Moved here 2026-08-02 when article styling was split into Articles-PMO.css.
   The 14 city pages render <div class="art-card-loading">Loading...</div> while the
   field-photo grid fetches, and that was the ONLY article class they actually used.
   Keeping a copy here means a city page needs nothing at all from the article sheet,
   which is the point of the split: no page type reaching into another's stylesheet.
   Deliberately NOT copying .art-card itself, which carries a single-edge accent border
   that is banned on cards, and which no city page renders anyway. */
.art-card-loading { text-align: center; padding: 32px 20px; color: var(--muted); font-size: 14px; }

/* ============================================================================
   ALL SERVICES GRID - service pages only (.pmo-sp-v2)
   Added 2026-08-04. The internal linking block that connects every service page
   to the others. It existed only on the pricing page, and its styling lived only
   in the legacy and classic sheets, which service pages do NOT load - so putting
   the block on a service page without this would have rendered a plain list of
   blue links. Scoped to .pmo-sp-v2 so it reaches all 31 service pages from one
   edit, and cannot leak onto city, hub or article pages.
   Sam chose the service list 2026-08-04 from the design preview.
   ========================================================================== */
/* BOTH forms are needed, and this is the compound-versus-descendant trap again. On most pages
   the section sits INSIDE the page's .pmo-sp-v2 wrapper, so the descendant form matches. On the
   few pages whose wrapper closes before the final CTA (wildlife removal, termites), the scope
   class is on the section ITSELF, and a descendant selector cannot match its own element. */
.pmo-sp-v2 .svc-all,
.pmo-sp-v2.svc-all { background: #fff; padding: 54px 0; }
.pmo-sp-v2 .svc-all .wrap,
.pmo-sp-v2.svc-all .wrap { max-width: 1180px; margin: 0 auto; padding: 0 22px; }
/* .sec-h2-sm is defined only in the legacy and classic sheets, which service pages do NOT
   load, so without this the block's heading rendered at browser-default weight 400 with no
   spacing. Measured on the live fire ant page before adding it. */
.pmo-sp-v2 .svc-all .sec-h2-sm,
.pmo-sp-v2.svc-all .sec-h2-sm {
  font-size: clamp(22px, 3.2vw, 30px); font-weight: 800; color: var(--primary-dark);
  line-height: 1.15; letter-spacing: .2px; margin: 0 0 22px; text-align: center;
}
.pmo-sp-v2 .svc-link-grid {
  display: grid; grid-template-columns: 1fr; gap: 8px;
  max-width: 1140px; margin: 0 auto;
}
@media (min-width: 600px) {
  .pmo-sp-v2 .svc-link-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 900px) {
  .pmo-sp-v2 .svc-link-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1100px) {
  .pmo-sp-v2 .svc-link-grid { grid-template-columns: repeat(4, 1fr); }
}
.pmo-sp-v2 .svc-link {
  display: flex; align-items: center; gap: 10px;
  background: #fff; border: 1.5px solid var(--gray-line); border-radius: 8px;
  padding: 11px 14px; font-size: 13px; font-weight: 600;
  color: var(--ink); text-decoration: none;
  transition: border-color .15s, color .15s, background .15s;
  min-width: 0; overflow: hidden;
}
.pmo-sp-v2 .svc-link:hover,
.pmo-sp-v2 .svc-link:focus-visible {
  border-color: var(--accent); color: var(--accent); background: var(--blue-pale);
}
.pmo-sp-v2 .svc-dot {
  width: 22px; height: 22px; border-radius: 6px; flex-shrink: 0;
  background: var(--blue-pale); border: 1px solid var(--gray-line);
}
.pmo-sp-v2 .svc-link:hover .svc-dot { background: var(--accent); border-color: var(--accent); }

/* ==== CITY PAGE REWRITE, 09-28-2026 (To Do 138). Scoped to .cp-2026 so only rewritten city pages take it;
   the band and plan-tier rules are keyed on class names only those pages carry. Built by
   production/website-cityrewrite/ and scripts/Build-CityStatBand-PMO.py.
   Rulings R3-6 (no pale blue) and "never all capitals" from research/seo/PLAN-CityPageRewrite-2026-08-27.md,
   and the statistics band Sam picked 09-27-2026 (guides/Guide-CityPage-Layout-PMO.md Section 9). */
.pmo-cp-v3.cp-2026{--tint:#f6f6f3;--blue-pale:#f1f1ec;--band:#0D2137;--band-2:hsl(213,50%,20%);--gold:#F5A623;--band-text:hsl(213,45%,86%);--band-soft:hsl(213,40%,76%)}
.pmo-cp-v3.cp-2026 .hero{background:#fff}
.pmo-cp-v3.cp-2026 .eyebrow{text-transform:none;letter-spacing:0;font-size:14px;font-weight:700;background:#fff;border:1px solid var(--line)}
.pmo-cp-v3.cp-2026 .fn-tag,.pmo-cp-v3.cp-2026 .fn-loc,.pmo-cp-v3.cp-2026 .cal-card .mo,.pmo-cp-v3.cp-2026 .clab,.pmo-cp-v3.cp-2026 .pb-cal-lbl,.pmo-cp-v3.cp-2026 .pb-peak{text-transform:none;letter-spacing:0}
.pmo-cp-v3.cp-2026 .fn-loc,.pmo-cp-v3.cp-2026 .clab{font-size:13px}
.pmo-cp-v3.cp-2026 .pb-cal-lbl,.pmo-cp-v3.cp-2026 .pb-peak{font-size:12px}
.pmo-cp-v3.cp-2026 .faq-q::after{background:var(--blue-pale)}
.pmo-cp-v3.cp-2026 .chip{background:#f6f6f3;border-color:#e4e4dd}
.pmo-cp-v3.cp-2026 .rv-avatar{background:var(--blue-pale)}
/* The statistics band, as Sam picked it 09-28-2026 (the Google direction): each statistic on its own
   dark card, the figure 20% smaller than the first build, and a library icon beside it at half the
   figure's size. The row of pest pictures in that drawing was dropped on his word. */
.pmo-cp-v3 .pmo-statband{background:var(--band,#0D2137);padding:96px 0}
.pmo-cp-v3 .st-inner{max-width:1160px;margin:0 auto;padding:0 24px}
.pmo-cp-v3 .st-head{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:start;margin-bottom:48px}
.pmo-cp-v3 .pmo-statband h2{font-size:39px;font-weight:800;line-height:1.08;letter-spacing:-1px;color:#fff;margin:0 0 16px}
.pmo-cp-v3 .st-lede{font-size:16px;line-height:1.75;color:var(--band-text,#cfdcea);max-width:30em;margin:0}
.pmo-cp-v3 .st-lead{border:2px solid var(--gold,#F5A623);border-radius:8px;padding:24px 32px}
.pmo-cp-v3 .st-lead-claim{font-size:20px;line-height:1.5;font-weight:700;color:#fff;margin:0 0 8px}
.pmo-cp-v3 .st-lead-support{font-size:16px;line-height:1.75;color:var(--band-text,#cfdcea);margin:0}
.pmo-cp-v3 .st-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;align-items:stretch}
.pmo-cp-v3 .st-grid.st-n3{grid-template-columns:repeat(3,1fr)}
.pmo-cp-v3 .st-grid.st-n2{grid-template-columns:repeat(2,1fr)}
.pmo-cp-v3 .st-grid.st-n1{grid-template-columns:1fr}
.pmo-cp-v3 .st{margin:0;padding:24px;background:hsl(213,55%,17%);border:1px solid rgba(255,255,255,.08);border-radius:8px}
.pmo-cp-v3 .st-claim{margin:0 0 12px}
.pmo-cp-v3 .st-top{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.pmo-cp-v3 .st-fig{display:block;font-size:49px;font-weight:800;line-height:1;letter-spacing:-2px;color:var(--gold,#F5A623);font-variant-numeric:tabular-nums}
.pmo-cp-v3 .st-ic{display:block;height:29px;width:auto;flex-shrink:0}
.pmo-cp-v3 .st-ic.st-ic-mouse{height:32px}
.pmo-cp-v3 .st-rest{display:block;font-size:16px;line-height:1.5;font-weight:700;color:#fff}
.pmo-cp-v3 .st-support{font-size:14px;line-height:1.75;color:var(--band-soft,#b3c6db);margin:0}
@media(max-width:1024px){.pmo-cp-v3 .st-head{grid-template-columns:1fr;gap:32px}.pmo-cp-v3 .st-grid,.pmo-cp-v3 .st-grid.st-n3{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.pmo-cp-v3 .pmo-statband{padding:64px 0}.pmo-cp-v3 .pmo-statband h2{font-size:30px}.pmo-cp-v3 .st-lead{padding:24px}.pmo-cp-v3 .st-lead-claim{font-size:18px}.pmo-cp-v3 .st-grid,.pmo-cp-v3 .st-grid.st-n3,.pmo-cp-v3 .st-grid.st-n2{grid-template-columns:1fr;gap:16px}.pmo-cp-v3 .st-fig{font-size:41px}.pmo-cp-v3 .st-ic{height:24px}.pmo-cp-v3 .st-ic.st-ic-mouse{height:26px}}
/* Rodent proofing and plans, as Sam picked it 09-28-2026 (the OpenAI direction), with this company's
   own icons and a real Plano job photo in place of the drawing's invented rat. */
.pmo-cp-v3 .rp-top-row{display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:center}
.pmo-cp-v3 .rp-photo img{width:100%;height:340px;object-fit:cover;object-position:center 40%;border-radius:8px;border:1px solid var(--line)}
.pmo-cp-v3 .rp-ic{width:56px;height:56px;border-radius:50%;border:2px solid var(--accent);background:#fff;display:grid;place-items:center;flex-shrink:0}
.pmo-cp-v3 .rp-ic img{width:34px;height:34px;object-fit:contain}
/* Sam 09-28-2026, later the same day: "I dont like teh Underline of the plan names. I mean to say make them
   Gold color and make clickable", and "you use teh same gold you use for teh Get free estimate button".
   So every plan name on the page is the button gold as the TEXT colour, bold, no underline, linked to
   pricing. This overrides the readability floor on his word (gold on white measures 2.03 to 1). */
.pmo-cp-v3.cp-2026 .rp-name a,.pmo-cp-v3.cp-2026 .rp-list a,.pmo-cp-v3.cp-2026 .pest-body a[href="/pricing/"]{color:var(--cta);font-weight:800;text-decoration:none}
.pmo-cp-v3.cp-2026 .rp-name a:hover,.pmo-cp-v3.cp-2026 .rp-list a:hover,.pmo-cp-v3.cp-2026 .pest-body a[href="/pricing/"]:hover{color:#d68910;text-decoration:none}
/* The plan cards, on Sam's word 09-28-2026: the service page card style with the plan shields, no
   prices and no per-card estimate button (the page already has the form at the top and the call to
   action at the bottom). The ribbon names the town only where the town's own numbers prove it. */
.pmo-cp-v3 .rp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:48px 0 16px;align-items:stretch}
.pmo-cp-v3 .rp-card{position:relative;background:#fff;border:1.5px solid #1f78d1;border-radius:14px;padding:24px 22px;display:flex;flex-direction:column}
.pmo-cp-v3 .rp-card.featured{border:2px solid var(--cta);box-shadow:0 20px 40px rgba(245,166,35,.18);background:linear-gradient(180deg,#fff 0%,#fffaf0 100%)}
.pmo-cp-v3 .rp-ribbon{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--cta);color:#0D2137;font-size:12px;font-weight:800;line-height:1;padding:6px 14px;border-radius:20px;white-space:nowrap}
.pmo-cp-v3 .rp-shield{position:absolute;top:14px;right:14px;width:74px;height:auto;filter:drop-shadow(0 3px 6px rgba(0,0,0,.16))}
.pmo-cp-v3 .rp-cadence{font-size:12.5px;font-weight:700;color:var(--gray-1);margin:0 0 6px;padding-right:84px}
.pmo-cp-v3 .rp-name{font-size:24px;font-weight:800;line-height:1.2;margin:0 0 10px;padding-right:84px}
.pmo-cp-v3 .rp-desc{font-size:15px;color:var(--gray-1);margin:0 0 14px}
.pmo-cp-v3 .rp-list{list-style:none;margin:0;padding:0}
.pmo-cp-v3 .rp-list li{display:flex;gap:10px;font-size:14.5px;line-height:1.5;color:var(--gray-1);margin:0 0 8px}
.pmo-cp-v3 .rp-list li i{color:#1f78d1;font-size:16px;margin-top:2px;flex-shrink:0}
.pmo-cp-v3 .rp-card.featured .rp-list li i{color:var(--cta)}
.pmo-cp-v3 .rp-note{text-align:center;font-size:14px;color:var(--gray-1);margin:0 0 24px}
@media(max-width:860px){.pmo-cp-v3 .rp-cards{grid-template-columns:1fr;gap:28px}}
.pmo-cp-v3 .rp-more{display:flex;align-items:center;gap:16px;font-size:15.5px;line-height:1.7;color:var(--gray-1);margin:0}
@media(max-width:860px){.pmo-cp-v3 .rp-top-row{grid-template-columns:1fr;gap:24px}.pmo-cp-v3 .rp-photo img{height:260px}}
/* Sam 09-28-2026 second pass: figures a further 15% smaller (58 to 49px), the mouse icon 10% bigger
   because its drawing fills less of its square, pest pictures cut by half and centred, no pictures
   in the species pills. */
/* The pest cards, as Sam picked them 09-28-2026 (the OpenAI direction): three across, and every navy
   top the SAME height with the pest picture in its own fixed row, so the rat, the ant and the
   cockroach line up rather than dipping by different amounts (his comment on the pick). */
.pmo-cp-v3.cp-2026 .pb-sec .wrap{text-align:center}
.pmo-cp-v3.cp-2026 .pb-sec .lead{max-width:760px;margin-left:auto;margin-right:auto}
.pmo-cp-v3.cp-2026 .pb-sec .pest-blocks{grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;margin-top:40px;text-align:left}
.pmo-cp-v3.cp-2026 .pb-sec .pest-block{border-radius:8px}
.pmo-cp-v3.cp-2026 .pb-sec .pb-head{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;column-gap:12px;row-gap:8px;height:205px;padding:20px 20px 16px;align-content:stretch}
.pmo-cp-v3.cp-2026 .pb-sec .pb-head-l{grid-column:1;grid-row:1;align-self:start}
.pmo-cp-v3.cp-2026 .pb-sec .pb-titles h3{font-size:26px}
.pmo-cp-v3.cp-2026 .pb-sec .pb-sub{display:block;margin-top:6px;font-size:13px}
.pmo-cp-v3.cp-2026 .pb-sec .pb-cal{grid-column:2;grid-row:1;align-self:start}
.pmo-cp-v3.cp-2026 .pb-sec .pb-mug{display:block;grid-column:1 / -1;grid-row:2;width:100%;max-width:100%;height:75px;object-fit:contain;object-position:center;align-self:center}
.pmo-cp-v3.cp-2026 .pb-sec .pest-body{padding:20px}
.pmo-cp-v3.cp-2026 .pb-sec .sp-chips .chip{text-align:center;line-height:1.3}
/* Sam 09-28-2026 third pass, from the OpenAI redraw he asked the design team for: every pill the same
   size, the pill row, the first paragraph and the second paragraph lined up across all three cards
   (CSS subgrid), and the text wrapping under the house and shield icons instead of leaving an empty
   left column. Where subgrid is unsupported the cards simply stack their rows as before. */
.pmo-cp-v3.cp-2026 .pb-sec .pest-block{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0}
.pmo-cp-v3.cp-2026 .pb-sec .pest-body,.pmo-cp-v3.cp-2026 .pb-sec .pb-prose{display:contents}
.pmo-cp-v3.cp-2026 .pb-sec .pb-grp{margin:0;padding:20px 20px 16px}
.pmo-cp-v3.cp-2026 .pb-sec .pb-row,.pmo-cp-v3.cp-2026 .pb-sec .pb-row:first-child{display:block;margin:0 20px;padding:16px 0;border-top:1px solid #e9edf2}
.pmo-cp-v3.cp-2026 .pb-sec .pb-row:last-child{padding-bottom:20px}
.pmo-cp-v3.cp-2026 .pb-sec .pb-ic{float:left;width:40px;height:40px;margin:2px 12px 2px 0}
.pmo-cp-v3.cp-2026 .pb-sec .pb-c{display:block}
/* Sam 09-28-2026: "blue pills are still WAY to big", so small pills sized to their names, one line, one height. */
.pmo-cp-v3.cp-2026 .pb-sec .sp-chips{display:flex;flex-wrap:wrap;gap:5px}
.pmo-cp-v3.cp-2026 .pb-sec .sp-chips .chip{height:28px;padding:0 8px;font-size:11.5px;font-weight:600;line-height:1;white-space:nowrap}
@media(max-width:1024px){.pmo-cp-v3.cp-2026 .pb-sec .pest-blocks{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto}}
@media(max-width:600px){.pmo-cp-v3.cp-2026 .pb-sec .pb-head{height:185px}.pmo-cp-v3.cp-2026 .pb-sec .pb-mug{height:65px}}

/* ===== PEST LIBRARY REWRITE (.pmo-pl-2026) START: built by production/website-pestlibrary-rewrite/website-pl-woodlouse-build-live.py, never edit by hand ===== */
/* Woodlouse spider pest library page, version 2.
   LAYOUT is the laws-led direction, unchanged: block order, grouping, grids, widths, the spacing
   scale (4 8 12 16 24 32 48 64 96), type sizes 12 to 60, weights 400 and 700, one 8px radius.
   COLOUR is the ui-ux-pro-max direction, applied component by component: navy surfaces with
   white type for the breadcrumb, top section, risk score bands, DIY header, closing call and
   phone call bar; off-white paper for the alternate sections; navy borders at 2px on the main
   panels; gold on the call button, the next-step frame, the eyebrow dots, the risk dots and
   the status labels. Only navy, gold, blue, off-white, white and navy or gold or blue at a
   fixed transparency. Every box has a border on all four sides or none. */
.entry-content .pmo-pl-2026 {
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 24px;
  --space-6: 32px; --space-7: 48px; --space-8: 64px; --space-9: 96px;

  --navy: #0D2137; --gold: #F5A623; --blue: #2E86AB; --white: #FFFFFF; --paper: #F0F4F8;
  --line: rgba(13,33,55,.16); --line-strong: rgba(13,33,55,.32); --ink-soft: rgba(13,33,55,.78);
  --gold-tint: rgba(245,166,35,.14); --blue-tint: rgba(46,134,171,.10);
  --on-dark-soft: rgba(255,255,255,.85); --on-dark-line: rgba(255,255,255,.2);

  --shadow-1: 0 1px 3px rgba(13,33,55,.2);
  --radius: 8px;
  --radius-full: 9999px;

  --font-display: "Bebas Neue","Oswald","Impact","Arial Narrow Bold","Arial Narrow",sans-serif;
  --font-body: 'Plus Jakarta Sans', 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
  --wide: 1152px;
  --read: 768px;
  --measure: 640px;
}

.entry-content .pmo-pl-2026 * { box-sizing: border-box; }

.entry-content .pmo-pl-2026 {
  margin: 0; background: var(--white); color: var(--navy);
  font-family: var(--font-body); font-size: 18px; line-height: 1.6; font-weight: 400;
  -webkit-font-smoothing: antialiased;
}
.entry-content .pmo-pl-2026 img { max-width: 100%; height: auto; display: block; }
/* Links: navy words with a blue 2px underline, the underline turns gold on hover (colour source) */
.entry-content .pmo-pl-2026 a { color: var(--navy); text-decoration: underline; text-decoration-color: var(--blue); text-underline-offset: 3px; text-decoration-thickness: 2px; }
.entry-content .pmo-pl-2026 a:hover { color: var(--navy); text-decoration-color: var(--gold); }
.entry-content .pmo-pl-2026 a:focus-visible, .entry-content .pmo-pl-2026 button:focus-visible, .entry-content .pmo-pl-2026 summary:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; border-radius: 4px; }
.entry-content .pmo-pl-2026 .bc-wrap a:focus-visible, .entry-content .pmo-pl-2026 .hero a:focus-visible, .entry-content .pmo-pl-2026 .bottom-cta a:focus-visible, .entry-content .pmo-pl-2026 .mobile-sticky-cta a:focus-visible, .entry-content .pmo-pl-2026 .pl-lightbox-overlay button:focus-visible { outline-color: var(--gold); }
.entry-content .pmo-pl-2026 strong { font-weight: 700; }
.entry-content .pmo-pl-2026 p { margin: 0 0 var(--space-4); }
.entry-content .pmo-pl-2026 p:last-child { margin-bottom: 0; }

.entry-content .pmo-pl-2026 .wrap { max-width: var(--wide); margin: 0 auto; padding: 0 var(--space-5); }
.entry-content .pmo-pl-2026 .wrap-md { max-width: var(--read); margin: 0 auto; padding: 0 var(--space-5); }
.entry-content .pmo-pl-2026 .wrap-sm { max-width: var(--read); margin: 0 auto; padding: 0 var(--space-5); }

/* Sections: same padding as the laws layout. Which sections are white and which are the
   off-white paper follows the colour source section by section. */
.entry-content .pmo-pl-2026 .sec { padding: var(--space-9) 0; background: var(--white); }
.entry-content .pmo-pl-2026 #identification { background: var(--white); }
.entry-content .pmo-pl-2026 #confusion-matrix, .entry-content .pmo-pl-2026 #in-the-house, .entry-content .pmo-pl-2026 #faq { background: var(--paper); }
.entry-content .pmo-pl-2026 .names-list + .sec-p { margin-top: var(--space-5); }

/* Eyebrow labels: navy words with a gold dot in front (colour source). Gold words on navy bands. */
.entry-content .pmo-pl-2026 .eyebrow, .entry-content .pmo-pl-2026 .risk-sub-eyebrow, .entry-content .pmo-pl-2026 .risk-banner-eyebrow, .entry-content .pmo-pl-2026 .cal-eyebrow, .entry-content .pmo-pl-2026 .diy-band-eyebrow, .entry-content .pmo-pl-2026 .bottom-cta-eyebrow, .entry-content .pmo-pl-2026 .related-ants-eyebrow, .entry-content .pmo-pl-2026 .treatment-eyebrow, .entry-content .pmo-pl-2026 .what-we-see-label {
  display: block; font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none;
  color: var(--navy); margin: 0 0 var(--space-2);
}
.entry-content .pmo-pl-2026 .eyebrow::before, .entry-content .pmo-pl-2026 .hero-eyebrow::before, .entry-content .pmo-pl-2026 .risk-banner-eyebrow::before, .entry-content .pmo-pl-2026 .cal-eyebrow::before, .entry-content .pmo-pl-2026 .diy-band-eyebrow::before, .entry-content .pmo-pl-2026 .bottom-cta-eyebrow::before, .entry-content .pmo-pl-2026 .related-ants-eyebrow::before, .entry-content .pmo-pl-2026 .risk-sub-eyebrow::before {
  content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%;
  background: var(--gold); margin-right: 8px; vertical-align: 1px;
}
/* Sub-section labels carry a blue dot instead (the colour source's sub-eyebrow) */
.entry-content .pmo-pl-2026 .risk-sub-eyebrow::before, .entry-content .pmo-pl-2026 .eyebrow.aka-lead::before { background: var(--blue); }
.entry-content .pmo-pl-2026 .risk-banner-eyebrow, .entry-content .pmo-pl-2026 .diy-band-eyebrow, .entry-content .pmo-pl-2026 .bottom-cta-eyebrow { color: var(--gold); }

.entry-content .pmo-pl-2026 h1, .entry-content .pmo-pl-2026 h2 { font-family: var(--font-body); font-weight: 800; letter-spacing: -0.5px; text-transform: none; color: var(--navy); }
.entry-content .pmo-pl-2026 h1 { font-size: 46px; line-height: 1.1; margin: 0 0 var(--space-4); }
.entry-content .pmo-pl-2026 h2, .entry-content .pmo-pl-2026 .sec-h2 { font-size: 36px; line-height: 1.15; margin: 0 0 var(--space-4); }
.entry-content .pmo-pl-2026 h3, .entry-content .pmo-pl-2026 .sec-h3 { font-family: var(--font-body); font-size: 24px; line-height: 1.25; font-weight: 700; color: var(--navy); margin: 0 0 var(--space-3); }
.entry-content .pmo-pl-2026 h4 { font-family: var(--font-body); font-size: 18px; line-height: 1.35; font-weight: 700; color: var(--navy); margin: 0; }
.entry-content .pmo-pl-2026 .sec-p { max-width: var(--measure); color: var(--navy); }
.entry-content .pmo-pl-2026 .sec-h2-tail { font-size: 20px; line-height: 1.5; color: var(--ink-soft); max-width: var(--measure); margin: 0 0 var(--space-5); }
.entry-content .pmo-pl-2026 .block-gap { margin-top: var(--space-8); }

/* Buttons. Call: gold with navy words, turns white with a gold frame on hover (colour source).
   Other actions: navy outline on light surfaces, white outline on navy surfaces; both fill on hover. */
.entry-content .pmo-pl-2026 .btn-call, .entry-content .pmo-pl-2026 .btn-call-large, .entry-content .pmo-pl-2026 .msc-call {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  min-height: 48px; padding: var(--space-3) var(--space-5);
  background: var(--gold); color: var(--navy); border: 2px solid var(--gold);
  border-radius: var(--radius); box-shadow: var(--shadow-1);
  font-family: var(--font-body); font-size: 18px; font-weight: 700; letter-spacing: .5px;
  text-decoration: none; white-space: nowrap; transition: background-color 80ms linear;
}
.entry-content .pmo-pl-2026 .btn-call:hover, .entry-content .pmo-pl-2026 .btn-call-large:hover, .entry-content .pmo-pl-2026 .msc-call:hover { background: var(--white); border-color: var(--gold); color: var(--navy); text-decoration: none; }
.entry-content .pmo-pl-2026 .btn-call:active, .entry-content .pmo-pl-2026 .btn-call-large:active, .entry-content .pmo-pl-2026 .msc-call:active { box-shadow: none; }
.entry-content .pmo-pl-2026 .btn-call .ico, .entry-content .pmo-pl-2026 .msc-ico { display: inline-flex; line-height: 1; }
.entry-content .pmo-pl-2026 .btn-service, .entry-content .pmo-pl-2026 .msc-text {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  min-height: 48px; padding: var(--space-3) var(--space-5);
  background: transparent; color: var(--navy); border: 2px solid var(--navy); border-radius: var(--radius);
  font-size: 16px; font-weight: 700; text-decoration: none; white-space: nowrap; transition: background-color 80ms linear;
}
.entry-content .pmo-pl-2026 .btn-service:hover, .entry-content .pmo-pl-2026 .msc-text:hover { background: var(--navy); color: var(--white); text-decoration: none; }
.entry-content .pmo-pl-2026 .hero .btn-service, .entry-content .pmo-pl-2026 .mobile-sticky-cta .msc-text { color: var(--white); border-color: var(--white); }
.entry-content .pmo-pl-2026 .hero .btn-service:hover, .entry-content .pmo-pl-2026 .mobile-sticky-cta .msc-text:hover { background: var(--white); color: var(--navy); }
.entry-content .pmo-pl-2026 .actions { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }

/* Status labels: the laws shape (flat, square-cornered, own line, never wraps, a shape cue),
   in the colour source's label colours: Worth Knowing and Worth Addressing gold,
   Low Priority paper with a navy frame, the DIY failure labels navy. */
.entry-content .pmo-pl-2026 .tag {
  display: inline-flex; align-items: center; gap: var(--space-2); white-space: nowrap;
  font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none;
  padding: var(--space-1) var(--space-2); border-radius: 4px; margin: 0 0 var(--space-3);
}
.entry-content .pmo-pl-2026 .tag::before { content: ""; width: 8px; height: 8px; border-radius: var(--radius-full); flex: none; }
.entry-content .pmo-pl-2026 .tag-med { background: var(--gold); color: var(--navy); border: 1px solid var(--gold); }
.entry-content .pmo-pl-2026 .tag-med::before { background: var(--navy); }
.entry-content .pmo-pl-2026 .tag-low { background: var(--paper); color: var(--navy); border: 1px solid var(--navy); }
.entry-content .pmo-pl-2026 .tag-low::before { background: var(--white); border: 2px solid var(--navy); width: 6px; height: 6px; }
.entry-content .pmo-pl-2026 .tag-bad { background: var(--navy); color: var(--white); border: 1px solid var(--navy); }
.entry-content .pmo-pl-2026 .tag-bad::before { border-radius: 1px; background: var(--gold); transform: rotate(45deg); }

/* Card: the one box shape on the page. Full four-sided border, one radius, no shadow. */
.entry-content .pmo-pl-2026 .card { background: var(--white); border: 1px solid var(--line-strong); border-radius: var(--radius); padding: var(--space-5); }
.entry-content .pmo-pl-2026 .card p { font-size: 16px; color: var(--navy); }

/* ---------- Breadcrumb: navy strip, white words (colour source) ---------- */
.entry-content .pmo-pl-2026 .bc-wrap { background: var(--navy); }
.entry-content .pmo-pl-2026 .bc-inner { max-width: var(--wide); margin: 0 auto; padding: var(--space-3) var(--space-5); font-size: 14px; color: var(--white); display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-2); align-items: center; }
.entry-content .pmo-pl-2026 .bc-inner a { color: var(--white); text-decoration-color: rgba(255,255,255,.4); }
.entry-content .pmo-pl-2026 .bc-inner a:hover { text-decoration-color: var(--gold); }
.entry-content .pmo-pl-2026 .bc-sep { color: rgba(255,255,255,.7); }

/* ---------- Hero: navy with white type, gold eyebrow and gold divider bar (colour source) ---------- */
.entry-content .pmo-pl-2026 .hero { padding: var(--space-8) 0 var(--space-7); background: var(--navy); color: var(--white); }
.entry-content .pmo-pl-2026 .hero-wrap { max-width: var(--wide); margin: 0 auto; padding: 0 var(--space-5); display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-7); align-items: stretch; }
.entry-content .pmo-pl-2026 .hero-wrap > div:last-child { display: flex; }
.entry-content .pmo-pl-2026 .hero-eyebrow { display: block; font-size: 14px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--gold); margin: 0 0 var(--space-3); }
.entry-content .pmo-pl-2026 .hero-h1 { color: var(--white); }
.entry-content .pmo-pl-2026 .hero-h1 .pipe { color: var(--gold); }
.entry-content .pmo-pl-2026 .hero-meta { font-size: 14px; color: var(--on-dark-soft); margin: 0 0 var(--space-4); }
.entry-content .pmo-pl-2026 .hero-summary { font-size: 18px; color: var(--white); margin: 0 0 var(--space-4); max-width: var(--measure); }
.entry-content .pmo-pl-2026 .hero-next { font-size: 16px; color: var(--on-dark-soft); margin: 0 0 var(--space-5); max-width: var(--measure); }
.entry-content .pmo-pl-2026 .hero-next strong { color: var(--white); }
.entry-content .pmo-pl-2026 .group-part + .group-part { margin-top: var(--space-8); }
.entry-content .pmo-pl-2026 .hero-img { border-radius: var(--radius); border: 2px solid var(--on-dark-line); cursor: zoom-in; width: 100%; height: 100%; min-height: 360px; object-fit: cover; }

/* ---------- Local next step: paper band, white box, gold frame on all four sides (colour source) ---------- */
.entry-content .pmo-pl-2026 .next-step { padding: var(--space-7) 0; background: var(--paper); }
.entry-content .pmo-pl-2026 .pl-bridge { border: 2px solid var(--gold); border-radius: var(--radius); padding: var(--space-6); background: var(--white); display: grid; grid-template-columns: 1fr auto; gap: var(--space-5) var(--space-6); align-items: center; }
.entry-content .pmo-pl-2026 .pl-bridge-h { font-size: 24px; line-height: 1.25; font-weight: 700; color: var(--navy); margin: 0 0 var(--space-2); }
.entry-content .pmo-pl-2026 .pl-bridge p { font-size: 16px; color: var(--navy); max-width: var(--measure); }
.entry-content .pmo-pl-2026 .pl-bridge-actions { display: flex; flex-direction: column; gap: var(--space-3); align-items: stretch; }

/* ---------- Mug shot card: navy 2px frame (colour source) ---------- */
.entry-content .pmo-pl-2026 .mugshot { display: grid; grid-template-columns: 200px 1fr; gap: var(--space-6); border: 2px solid var(--navy); border-radius: var(--radius); padding: var(--space-6); background: var(--white); }
.entry-content .pmo-pl-2026 .mugshot-img img { border-radius: var(--radius); border: 1px solid var(--line-strong); cursor: zoom-in; }
.entry-content .pmo-pl-2026 .mugshot-name { font-family: var(--font-body); font-weight: 800; font-size: 30px; line-height: 1; letter-spacing: 0; text-transform: none; color: var(--navy); }
.entry-content .pmo-pl-2026 .mugshot-sci { font-size: 16px; color: var(--ink-soft); margin: var(--space-1) 0 var(--space-4); }
.entry-content .pmo-pl-2026 .mugshot-aka { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: baseline; font-size: 16px; margin: 0 0 var(--space-5); }
/* The navy AKA pill (colour source) */
.entry-content .pmo-pl-2026 .mugshot-aka-label { display: inline-flex; align-items: center; white-space: nowrap; font-size: 12px; font-weight: 700; letter-spacing: 0; color: var(--white); background: var(--navy); border-radius: var(--radius-full); padding: var(--space-1) var(--space-3); line-height: 1.2; }
.entry-content .pmo-pl-2026 .mugshot-aka-names { color: var(--navy); }

.entry-content .pmo-pl-2026 .pain-meter { border: 1px solid var(--line-strong); border-radius: var(--radius); overflow: hidden; margin: 0 0 var(--space-5); }
.entry-content .pmo-pl-2026 .pain-meter-title { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-2); padding: var(--space-3) var(--space-4); background: var(--paper); border-bottom: 1px solid var(--line); font-size: 14px; font-weight: 700; color: var(--navy); }
.entry-content .pmo-pl-2026 .pm-help { font-weight: 400; color: var(--ink-soft); }
.entry-content .pmo-pl-2026 .pain-axis-row { display: grid; grid-template-columns: 208px 1fr 16px; gap: var(--space-4); align-items: center; min-height: 64px; padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--line); color: var(--navy); text-decoration: none; font-size: 14px; line-height: 1.5; }
.entry-content .pmo-pl-2026 .pain-axis-row:last-child { border-bottom: 0; }
.entry-content .pmo-pl-2026 .pain-axis-row:hover { background: var(--blue-tint); color: var(--navy); text-decoration: none; }
.entry-content .pmo-pl-2026 .pain-axis-row::after { content: ""; width: 8px; height: 8px; border: solid var(--blue); border-width: 2px 2px 0 0; transform: rotate(45deg); justify-self: end; }
.entry-content .pmo-pl-2026 .pain-axis-left { display: grid; grid-template-columns: 1fr auto auto; gap: var(--space-2); align-items: center; }
.entry-content .pmo-pl-2026 .pain-label { font-size: 16px; font-weight: 700; color: var(--navy); }
.entry-content .pmo-pl-2026 .pain-dots, .entry-content .pmo-pl-2026 .risk-recap-dots { display: inline-flex; gap: var(--space-1); }
/* Risk dots: empty white with a navy ring, filled gold with a navy ring (colour source) */
.entry-content .pmo-pl-2026 .pain-dot, .entry-content .pmo-pl-2026 .pdot { width: 12px; height: 12px; border-radius: var(--radius-full); border: 2px solid var(--navy); background: var(--white); }
.entry-content .pmo-pl-2026 .pain-dot.lvl-1, .entry-content .pmo-pl-2026 .pain-dot.lvl-2, .entry-content .pmo-pl-2026 .pdot.lvl-1, .entry-content .pmo-pl-2026 .pdot.lvl-2 { background: var(--gold); border-color: var(--navy); }
.entry-content .pmo-pl-2026 .pain-rating { font-size: 14px; font-weight: 700; color: var(--navy); white-space: nowrap; }
.entry-content .pmo-pl-2026 .pain-legend-scale { display: flex; gap: var(--space-4); padding: var(--space-2) var(--space-4); font-size: 12px; color: var(--navy); background: var(--paper); border-top: 1px solid var(--line); }

.entry-content .pmo-pl-2026 .mugshot-stats { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4) var(--space-6); margin: 0 0 var(--space-5); }
.entry-content .pmo-pl-2026 .mugshot-stat { display: flex; flex-direction: column; gap: var(--space-1); }
.entry-content .pmo-pl-2026 .mugshot-stat-label { font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--ink-soft); }
.entry-content .pmo-pl-2026 .mugshot-stat-val { font-size: 16px; line-height: 1.5; color: var(--navy); }
.entry-content .pmo-pl-2026 .mugshot-desc { font-size: 16px; color: var(--navy); max-width: var(--measure); }

/* ---------- Season calendar: navy-framed white card; months by fill AND frame, every cell keeps its word ---------- */
.entry-content .pmo-pl-2026 .calendar-device { border: 2px solid var(--navy); border-radius: var(--radius); background: var(--white); padding: var(--space-6); }
.entry-content .pmo-pl-2026 .cal-h { font-size: 24px; line-height: 1.25; font-weight: 700; color: var(--navy); margin: 0 0 var(--space-3); }
.entry-content .pmo-pl-2026 .cal-context { font-size: 16px; color: var(--navy); margin: 0 0 var(--space-5); }
.entry-content .pmo-pl-2026 .cal-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--space-1); margin: 0 0 var(--space-4); }
.entry-content .pmo-pl-2026 .cal-month { display: flex; flex-direction: column; gap: var(--space-1); }
.entry-content .pmo-pl-2026 .cal-month-label { font-size: 12px; font-weight: 700; text-align: center; color: var(--navy); text-transform: none; letter-spacing: 0; }
.entry-content .pmo-pl-2026 .cal-month-cell { min-height: 48px; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; border-radius: 4px; white-space: nowrap; padding: 0 var(--space-1); color: var(--navy); }
.entry-content .pmo-pl-2026 .cal-c-dormant { background: var(--paper); border: 2px solid var(--line-strong); }
.entry-content .pmo-pl-2026 .cal-c-emerging { background: var(--white); border: 2px dashed var(--navy); }
.entry-content .pmo-pl-2026 .cal-c-slowing { background: var(--blue-tint); border: 2px solid var(--blue); }
.entry-content .pmo-pl-2026 .cal-c-peak { background: var(--gold); border: 2px solid var(--gold); }
.entry-content .pmo-pl-2026 .cal-legend { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); font-size: 14px; color: var(--navy); margin: 0 0 var(--space-4); }
.entry-content .pmo-pl-2026 .cal-leg-item { display: inline-flex; align-items: center; gap: var(--space-2); }
.entry-content .pmo-pl-2026 .cal-leg-dot { width: 16px; height: 16px; border-radius: 4px; }
.entry-content .pmo-pl-2026 .cal-confidence { font-size: 14px; color: var(--ink-soft); }

/* ---------- Identification ---------- */
.entry-content .pmo-pl-2026 .id-section-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-6); margin: var(--space-6) 0 var(--space-8); }
.entry-content .pmo-pl-2026 .id-image-block img { border-radius: var(--radius); border: 1px solid var(--line-strong); cursor: zoom-in; width: 100%; }
.entry-content .pmo-pl-2026 .cap { font-size: 14px; color: var(--ink-soft); margin-top: var(--space-2); }
/* Dead Giveaways: paper panel with a navy 2px frame (colour source) */
.entry-content .pmo-pl-2026 .dead-giveaways { border: 2px solid var(--navy); border-radius: var(--radius); padding: var(--space-5); background: var(--paper); }
.entry-content .pmo-pl-2026 .dead-giveaways-title { font-size: 20px; font-weight: 700; color: var(--navy); margin: 0 0 var(--space-4); display: flex; flex-direction: column; gap: var(--space-1); }
.entry-content .pmo-pl-2026 .dead-giveaways-sub { font-size: 14px; font-weight: 400; color: var(--ink-soft); }
/* Miller: eight checks split into two columns of four, the looks first and the setting second */
.entry-content .pmo-pl-2026 .dead-giveaways ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; grid-auto-flow: column; grid-template-rows: repeat(4, auto); gap: var(--space-3) var(--space-6); }
.entry-content .pmo-pl-2026 .dead-giveaways li { position: relative; padding-left: var(--space-6); font-size: 16px; line-height: 1.5; color: var(--navy); }
.entry-content .pmo-pl-2026 .dead-giveaways li::before { content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; border-radius: var(--radius-full); background: var(--white); border: 1px solid var(--blue); }
.entry-content .pmo-pl-2026 .dead-giveaways li::after { content: ""; position: absolute; left: 7px; top: 6px; width: 5px; height: 9px; border: solid var(--blue); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.entry-content .pmo-pl-2026 .aka-lead { margin-top: 0; }

.entry-content .pmo-pl-2026 .names-list { list-style: none; padding: 0; margin: var(--space-5) 0 0; display: grid; gap: var(--space-3); max-width: var(--read); }
.entry-content .pmo-pl-2026 .names-list li { border: 1px solid var(--line-strong); border-radius: var(--radius); padding: var(--space-4) var(--space-5); font-size: 16px; color: var(--navy); background: var(--white); }
.entry-content .pmo-pl-2026 .names-list li strong { color: var(--navy); }

/* ---------- Look-alike table: navy 2px frame, navy header row, woodlouse row gold-tinted (colour source) ---------- */
.entry-content .pmo-pl-2026 .confusion-table { width: 100%; border-collapse: separate; border-spacing: 0; margin: var(--space-6) 0 var(--space-6); font-size: 14px; line-height: 1.5; border: 2px solid var(--navy); border-radius: var(--radius); overflow: hidden; background: var(--white); }
.entry-content .pmo-pl-2026 .confusion-table caption { caption-side: top; text-align: left; font-size: 14px; font-weight: 700; color: var(--ink-soft); padding: 0 0 var(--space-3); }
.entry-content .pmo-pl-2026 .confusion-table th { text-align: left; font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--white); background: var(--navy); padding: var(--space-3) var(--space-4); }
.entry-content .pmo-pl-2026 .confusion-table td { vertical-align: top; padding: var(--space-4); border-top: 1px solid var(--line); color: var(--navy); }
.entry-content .pmo-pl-2026 .confusion-table td:first-child { width: 256px; }
.entry-content .pmo-pl-2026 .confusion-table tr.cm-highlight-row td { background: var(--gold-tint); color: var(--navy); }
.entry-content .pmo-pl-2026 .species-cell { display: flex; gap: var(--space-3); align-items: flex-start; }
.entry-content .pmo-pl-2026 .species-cell > div { display: flex; flex-direction: column; gap: var(--space-1); }
.entry-content .pmo-pl-2026 .species-cm-img { width: 64px; height: 64px; object-fit: cover; border-radius: var(--radius); border: 1px solid var(--line-strong); flex: none; cursor: zoom-in; }
.entry-content .pmo-pl-2026 .species-cell strong { font-size: 16px; color: var(--navy); }
.entry-content .pmo-pl-2026 .cm-species-link { color: var(--navy); }
.entry-content .pmo-pl-2026 .cm-species-link strong { color: var(--navy); }
.entry-content .pmo-pl-2026 .cm-aka { font-size: 12px; color: var(--ink-soft); }
.entry-content .pmo-pl-2026 .cm-sci { font-size: 12px; color: var(--navy); }
.entry-content .pmo-pl-2026 .self-badge { display: inline-block; width: max-content; white-space: nowrap; font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--navy); background: var(--gold); border-radius: 4px; padding: 0 var(--space-2); }

/* Field test panel: white with a gold frame on all four sides (the colour source's callout) */
.entry-content .pmo-pl-2026 .confusion-callout { background: var(--white); color: var(--navy); border: 2px solid var(--gold); border-radius: var(--radius); padding: var(--space-6); font-size: 20px; line-height: 1.6; font-weight: 400; }

/* ---------- Risk groups: a navy score band on top, the detail below on white (colour source).
   The laws layout's 96px outer rhythm is kept; the band carries its own 64px inside. ---------- */
.entry-content .pmo-pl-2026 .risk-group { background: var(--white); padding: 0 0 var(--space-9); }
.entry-content .pmo-pl-2026 .risk-banner { background: var(--navy); color: var(--white); padding: var(--space-8) 0; }
.entry-content .pmo-pl-2026 .risk-banner-wrap { max-width: var(--read); margin: 0 auto; padding: 0 var(--space-5); display: grid; grid-template-columns: 1fr 160px; gap: var(--space-6); align-items: start; }
.entry-content .pmo-pl-2026 .risk-banner-h2 { margin: 0 0 var(--space-3); color: var(--white); }
.entry-content .pmo-pl-2026 .risk-banner-why { font-size: 18px; color: var(--white); margin: 0; }
.entry-content .pmo-pl-2026 .risk-recap-card { border: 2px solid var(--gold); border-radius: var(--radius); background: rgba(255,255,255,.04); padding: var(--space-4); display: flex; flex-direction: column; align-items: center; gap: var(--space-2); text-align: center; }
.entry-content .pmo-pl-2026 .risk-recap-axis { font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--white); }
.entry-content .pmo-pl-2026 .risk-recap-rating { font-family: var(--font-display); font-size: 48px; line-height: 1; color: var(--gold); }
.entry-content .pmo-pl-2026 .risk-recap-rating .denom { font-size: 24px; color: var(--white); margin-left: var(--space-1); }
.entry-content .pmo-pl-2026 .risk-recap-dots .pdot { border-color: var(--white); background: transparent; }
.entry-content .pmo-pl-2026 .risk-recap-dots .pdot.lvl-1, .entry-content .pmo-pl-2026 .risk-recap-dots .pdot.lvl-2 { background: var(--gold); border-color: var(--gold); }
.entry-content .pmo-pl-2026 .risk-recap-label { font-size: 14px; font-weight: 700; color: var(--navy); background: var(--gold); border-radius: 4px; padding: 0 var(--space-2); white-space: nowrap; }
.entry-content .pmo-pl-2026 .risk-content { padding-top: var(--space-8); }
.entry-content .pmo-pl-2026 .risk-sub + .risk-sub { margin-top: var(--space-8); }

/* Worth Knowing note: gold frame on all four sides (the colour source's note card) */
.entry-content .pmo-pl-2026 .danger-card { border: 2px solid var(--gold); background: var(--white); border-radius: var(--radius); padding: var(--space-5); margin-top: var(--space-5); }
.entry-content .pmo-pl-2026 .danger-card-head { display: flex; flex-direction: column; align-items: flex-start; }
.entry-content .pmo-pl-2026 .danger-card-title { font-size: 20px; font-weight: 700; color: var(--navy); margin: 0 0 var(--space-2); }
.entry-content .pmo-pl-2026 .danger-card p { font-size: 16px; color: var(--navy); }

.entry-content .pmo-pl-2026 .severity-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-5); margin-top: var(--space-5); }
.entry-content .pmo-pl-2026 .severity-card-head { display: flex; flex-direction: column; align-items: flex-start; margin: 0 0 var(--space-3); }
/* Worth Addressing cards get the gold 2px frame, Low Priority cards the plain line (colour source) */
.entry-content .pmo-pl-2026 .severity-card:has(.tag-med) { border: 2px solid var(--gold); }

.entry-content .pmo-pl-2026 .local-grid { display: grid; gap: var(--space-6); }
.entry-content .pmo-pl-2026 .local-prose p { font-size: 18px; color: var(--navy); }
.entry-content .pmo-pl-2026 .what-we-see { border: 2px solid var(--navy); background: var(--paper); border-radius: var(--radius); padding: var(--space-5); }
.entry-content .pmo-pl-2026 .what-we-see-list { margin: 0 0 var(--space-4); padding-left: var(--space-5); display: grid; gap: var(--space-3); font-size: 16px; color: var(--navy); }
.entry-content .pmo-pl-2026 .what-we-see-attr { font-size: 14px; color: var(--ink-soft); }

.entry-content .pmo-pl-2026 .bio-fact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-5); margin-top: var(--space-5); }
.entry-content .pmo-pl-2026 .bio-fact-card { display: flex; flex-direction: column; gap: var(--space-2); }
.entry-content .pmo-pl-2026 .bio-fact-label { font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--ink-soft); }
.entry-content .pmo-pl-2026 .bio-fact-value { font-size: 18px; line-height: 1.4; font-weight: 700; color: var(--navy); }
.entry-content .pmo-pl-2026 .bio-fact-note { font-size: 16px; line-height: 1.6; color: var(--navy); }

.entry-content .pmo-pl-2026 .pmo-translation { border: 2px solid var(--navy); border-radius: var(--radius); background: var(--white); margin-top: var(--space-6); overflow: hidden; }
.entry-content .pmo-pl-2026 .pmo-translation-label { font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--white); background: var(--navy); padding: var(--space-3) var(--space-5); }
.entry-content .pmo-pl-2026 .pmo-translation-row { display: grid; grid-template-columns: 176px 24px 1fr; gap: var(--space-3); padding: var(--space-4) var(--space-5); border-top: 1px solid var(--line); font-size: 16px; }
.entry-content .pmo-pl-2026 .pmo-translation-row:first-of-type { border-top: 0; }
.entry-content .pmo-pl-2026 .pmo-tr-sci { font-weight: 700; color: var(--navy); }
.entry-content .pmo-pl-2026 .pmo-tr-arrow { color: var(--navy); font-weight: 700; }
.entry-content .pmo-pl-2026 .pmo-tr-plain { color: var(--navy); }

/* Reality check: paper panel with a navy 2px frame and gold numbered circles (colour source) */
.entry-content .pmo-pl-2026 .rather-not-know { border: 2px solid var(--navy); background: var(--paper); border-radius: var(--radius); padding: var(--space-6); }
.entry-content .pmo-pl-2026 .rather-not-know-sub { font-size: 16px; color: var(--ink-soft); margin: 0 0 var(--space-5); }
.entry-content .pmo-pl-2026 .rather-not-know-list { display: grid; gap: var(--space-5); }
.entry-content .pmo-pl-2026 .rnk-fact { display: grid; grid-template-columns: 32px 1fr; gap: var(--space-4); }
.entry-content .pmo-pl-2026 .rnk-fact-num { width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--gold); color: var(--navy); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 16px; }
.entry-content .pmo-pl-2026 .rnk-fact-text { font-size: 18px; line-height: 1.5; color: var(--navy); }
.entry-content .pmo-pl-2026 .rnk-so-what { display: block; font-size: 16px; line-height: 1.6; color: var(--ink-soft); margin-top: var(--space-2); }

/* Treatment: four steps on one visible path (Zeigarnik), joined by a short navy connector BETWEEN the cards */
.entry-content .pmo-pl-2026 .treatment-eyebrow { max-width: var(--read); margin: 0 auto var(--space-2); padding: 0 var(--space-5); }
.entry-content .pmo-pl-2026 .treatment-protocol-grid { display: grid; gap: 0; margin-top: var(--space-5); }
.entry-content .pmo-pl-2026 .treatment-protocol-card { position: relative; border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--white); padding: var(--space-5); }
.entry-content .pmo-pl-2026 .treatment-protocol-card + .treatment-protocol-card { margin-top: var(--space-6); }
.entry-content .pmo-pl-2026 .tpc-step { display: inline-block; white-space: nowrap; font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--navy); background: var(--gold); border-radius: var(--radius-full); padding: var(--space-1) var(--space-3); margin: 0 0 var(--space-3); }
.entry-content .pmo-pl-2026 .tpc-title { margin: 0 0 var(--space-2); }
.entry-content .pmo-pl-2026 .tpc-body { font-size: 16px; color: var(--navy); margin: 0 0 var(--space-3); }
.entry-content .pmo-pl-2026 .tpc-why { font-size: 14px; line-height: 1.6; color: var(--navy); background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: var(--space-3) var(--space-4); }

/* Pest Me Off versus store products: navy 2px frame on ours, paper with a plain line on theirs (colour source) */
.entry-content .pmo-pl-2026 .versus-card { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-5); margin-top: var(--space-7); }
.entry-content .pmo-pl-2026 .versus-card-row { border-radius: var(--radius); padding: var(--space-5); background: var(--white); }
.entry-content .pmo-pl-2026 .versus-card-pmo { border: 2px solid var(--navy); }
.entry-content .pmo-pl-2026 .versus-card-spray { border: 1px solid var(--line-strong); background: var(--paper); }
.entry-content .pmo-pl-2026 .versus-card-label { display: flex; align-items: center; gap: var(--space-2); font-size: 16px; font-weight: 700; color: var(--navy); margin: 0 0 var(--space-3); }
.entry-content .pmo-pl-2026 .versus-card-label::before { content: ""; flex: none; width: 20px; height: 20px; border-radius: var(--radius-full); }
.entry-content .pmo-pl-2026 .versus-card-pmo .versus-card-label::before { background: var(--gold); box-shadow: inset 0 0 0 2px var(--navy); }
.entry-content .pmo-pl-2026 .versus-card-spray .versus-card-label::before { background: var(--line-strong); }
.entry-content .pmo-pl-2026 .versus-card-text { font-size: 16px; color: var(--navy); }

/* ---------- DIY band: navy header band with white type, paper body (colour source) ---------- */
.entry-content .pmo-pl-2026 .diy-band { padding: 0 0 var(--space-9); background: var(--paper); }
.entry-content .pmo-pl-2026 .diy-band-header { background: var(--navy); color: var(--white); padding: var(--space-8) 0; }
.entry-content .pmo-pl-2026 .diy-band-header-inner, .entry-content .pmo-pl-2026 .diy-band-inner { max-width: var(--read); margin: 0 auto; padding: 0 var(--space-5); }
.entry-content .pmo-pl-2026 .diy-band-h { font-family: var(--font-body); font-weight: 800; font-size: 30px; line-height: 1.1; letter-spacing: 0; text-transform: none; color: var(--white); margin: 0 0 var(--space-2); }
.entry-content .pmo-pl-2026 .diy-band-sub { display: block; font-size: 18px; color: var(--white); }
.entry-content .pmo-pl-2026 .diy-band-inner { margin-top: var(--space-8); }
.entry-content .pmo-pl-2026 .diy-prevention-block + .diy-prevention-block { margin-top: var(--space-8); }
.entry-content .pmo-pl-2026 .prevention-grid { display: grid; gap: var(--space-4); margin-top: var(--space-5); }
.entry-content .pmo-pl-2026 .prevention-card { display: grid; grid-template-columns: 32px 1fr; gap: var(--space-4); border: 1px solid var(--line-strong); border-radius: var(--radius); padding: var(--space-5); background: var(--white); }
.entry-content .pmo-pl-2026 .prev-icon { width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--white); border: 2px solid var(--navy); color: var(--navy); font-weight: 700; font-size: 16px; display: flex; align-items: center; justify-content: center; }
.entry-content .pmo-pl-2026 .prev-text { font-size: 16px; color: var(--navy); }
.entry-content .pmo-pl-2026 .prev-text strong { color: var(--navy); }
.entry-content .pmo-pl-2026 .diy-fail-grid { display: grid; gap: var(--space-4); margin-top: var(--space-5); }
.entry-content .pmo-pl-2026 .diy-fail-head { display: flex; flex-direction: column; align-items: flex-start; margin: 0 0 var(--space-2); }

/* ---------- FAQ: native open-and-close, chunked into groups of six or fewer.
   An open question gets a navy 2px frame on all four sides (colour source), drawn inside so nothing moves. ---------- */
.entry-content .pmo-pl-2026 .faq-groups { display: grid; gap: var(--space-6); margin-top: var(--space-5); }
.entry-content .pmo-pl-2026 .faq-list { border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--white); overflow: hidden; }
.entry-content .pmo-pl-2026 .faq-item + .faq-item { border-top: 1px solid var(--line); }
.entry-content .pmo-pl-2026 .faq-item[open] { outline: 2px solid var(--navy); outline-offset: -2px; border-radius: var(--radius); }
.entry-content .pmo-pl-2026 .faq-q { list-style: none; cursor: pointer; display: grid; grid-template-columns: 1fr 16px; gap: var(--space-4); align-items: center; min-height: 64px; padding: var(--space-4) var(--space-5); font-size: 18px; line-height: 1.4; font-weight: 700; color: var(--navy); }
.entry-content .pmo-pl-2026 .faq-q::-webkit-details-marker { display: none; }
.entry-content .pmo-pl-2026 .faq-q:hover { background: var(--paper); }
.entry-content .pmo-pl-2026 .faq-q svg { color: var(--navy); transition: transform 80ms linear; }
.entry-content .pmo-pl-2026 details[open] > .faq-q svg { transform: rotate(180deg); }
.entry-content .pmo-pl-2026 .faq-a { padding: 0 var(--space-5) var(--space-5); font-size: 16px; line-height: 1.6; color: var(--navy); max-width: 704px; }

/* ---------- Related spiders: white section, line-framed cards, gold circle on the all-services card (colour source) ---------- */
.entry-content .pmo-pl-2026 .related-ants { padding: var(--space-9) 0; background: var(--white); }
.entry-content .pmo-pl-2026 .related-ants-inner { max-width: var(--wide); margin: 0 auto; padding: 0 var(--space-5); }
.entry-content .pmo-pl-2026 .related-ants-h { font-family: var(--font-body); font-weight: 800; font-size: 30px; line-height: 1.1; letter-spacing: 0; text-transform: none; color: var(--navy); margin: 0 0 var(--space-5); }
.entry-content .pmo-pl-2026 .related-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--space-4); }
.entry-content .pmo-pl-2026 .related-card { display: flex; flex-direction: column; align-items: center; gap: var(--space-3); padding: var(--space-4); border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--white); text-decoration: none; color: var(--navy); min-height: 48px; }
.entry-content .pmo-pl-2026 .related-card:hover { background: var(--paper); border-color: var(--navy); text-decoration: none; }
.entry-content .pmo-pl-2026 .related-thumb { width: 96px; height: 96px; border-radius: var(--radius-full); overflow: hidden; border: 1px solid var(--line-strong); display: flex; align-items: center; justify-content: center; background: var(--paper); font-size: 30px; color: var(--navy); }
.entry-content .pmo-pl-2026 .related-thumb img { width: 96px; height: 96px; object-fit: cover; }
.entry-content .pmo-pl-2026 .related-name { font-size: 16px; font-weight: 700; text-align: center; text-decoration: underline; text-decoration-color: var(--blue); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.entry-content .pmo-pl-2026 .related-card:hover .related-name { text-decoration-color: var(--gold); }
.entry-content .pmo-pl-2026 .related-card.all-link .related-thumb { border: 2px solid var(--gold); background: var(--gold); }

/* ---------- Closing call: navy, gold eyebrow, gold-framed stops box, gold figure (colour source) ---------- */
.entry-content .pmo-pl-2026 .bottom-cta { background: var(--navy); color: var(--white); padding: var(--space-9) 0; text-align: center; }
.entry-content .pmo-pl-2026 .bottom-cta-h { color: var(--white); font-size: 48px; margin: 0 0 var(--space-4); }
.entry-content .pmo-pl-2026 .bottom-cta-p { font-size: 18px; color: var(--white); margin: 0 auto var(--space-6); max-width: var(--measure); }
.entry-content .pmo-pl-2026 .bottom-stops { display: grid; grid-template-columns: 112px 1fr; gap: var(--space-5); align-items: center; text-align: left; border: 2px solid var(--gold); border-radius: var(--radius); padding: var(--space-5); margin: 0 auto var(--space-6); max-width: var(--measure); }
.entry-content .pmo-pl-2026 .bottom-stops-mark { font-family: var(--font-display); font-size: 60px; line-height: 1; color: var(--gold); display: flex; flex-direction: column; align-items: center; }
.entry-content .pmo-pl-2026 .bs-sub { font-family: var(--font-body); font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--white); margin-top: var(--space-1); white-space: nowrap; }
.entry-content .pmo-pl-2026 .bottom-stops-text { font-size: 16px; line-height: 1.6; color: var(--white); }
.entry-content .pmo-pl-2026 .bottom-stops-text strong { color: var(--white); }
.entry-content .pmo-pl-2026 .bottom-cta-actions { display: flex; justify-content: center; }
.entry-content .pmo-pl-2026 .btn-call-large { min-height: 64px; padding: var(--space-4) var(--space-7); font-size: 20px; }
.entry-content .pmo-pl-2026 .btn-mobile-label { display: none; }

/* ---------- Lightbox and phone call bar ---------- */
.entry-content .pmo-pl-2026 .pl-lightbox-overlay { position: fixed; inset: 0; background: rgba(13,33,55,.92); display: none; align-items: center; justify-content: center; flex-direction: column; gap: var(--space-3); z-index: 100; padding: var(--space-5); }
.entry-content .pmo-pl-2026 .pl-lightbox-overlay.open { display: flex; }
.entry-content .pmo-pl-2026 .pl-lightbox-img { max-width: 100%; max-height: 80vh; border-radius: var(--radius); }
.entry-content .pmo-pl-2026 .pl-lightbox-caption { color: var(--white); font-size: 14px; max-width: var(--measure); text-align: center; }
.entry-content .pmo-pl-2026 .pl-lightbox-close { position: absolute; top: var(--space-4); right: var(--space-4); width: 48px; height: 48px; border-radius: var(--radius-full); border: 2px solid var(--white); background: transparent; color: var(--white); font-size: 30px; line-height: 1; cursor: pointer; }
.entry-content .pmo-pl-2026 .mobile-sticky-cta { display: none; }

/* ---------- Phone: large things shrink faster than small ones ---------- */
@media (max-width: 767px) {
  .entry-content .pmo-pl-2026 { font-size: 16px; }
  .entry-content .pmo-pl-2026 .wrap, .entry-content .pmo-pl-2026 .wrap-md, .entry-content .pmo-pl-2026 .wrap-sm, .entry-content .pmo-pl-2026 .hero-wrap, .entry-content .pmo-pl-2026 .bc-inner, .entry-content .pmo-pl-2026 .risk-banner-wrap, .entry-content .pmo-pl-2026 .diy-band-header-inner, .entry-content .pmo-pl-2026 .diy-band-inner, .entry-content .pmo-pl-2026 .related-ants-inner, .entry-content .pmo-pl-2026 .treatment-eyebrow { padding-left: var(--space-4); padding-right: var(--space-4); }
  .entry-content .pmo-pl-2026 .sec, .entry-content .pmo-pl-2026 .related-ants, .entry-content .pmo-pl-2026 .bottom-cta { padding: var(--space-8) 0; }
  .entry-content .pmo-pl-2026 .risk-group, .entry-content .pmo-pl-2026 .diy-band { padding: 0 0 var(--space-8); }
  .entry-content .pmo-pl-2026 .risk-banner, .entry-content .pmo-pl-2026 .diy-band-header { padding: var(--space-7) 0; }
  .entry-content .pmo-pl-2026 .risk-content { padding-top: var(--space-7); }
  .entry-content .pmo-pl-2026 .diy-band-inner { margin-top: var(--space-7); }
  .entry-content .pmo-pl-2026 h1 { font-size: 36px; }
  .entry-content .pmo-pl-2026 h2, .entry-content .pmo-pl-2026 .sec-h2, .entry-content .pmo-pl-2026 .bottom-cta-h { font-size: 30px; }
  .entry-content .pmo-pl-2026 h3, .entry-content .pmo-pl-2026 .sec-h3 { font-size: 20px; }
  .entry-content .pmo-pl-2026 .diy-band-h, .entry-content .pmo-pl-2026 .related-ants-h, .entry-content .pmo-pl-2026 .mugshot-name { font-size: 30px; }
  .entry-content .pmo-pl-2026 .sec-h2-tail, .entry-content .pmo-pl-2026 .risk-banner-why, .entry-content .pmo-pl-2026 .local-prose p, .entry-content .pmo-pl-2026 .hero-summary, .entry-content .pmo-pl-2026 .bottom-cta-p { font-size: 16px; }
  .entry-content .pmo-pl-2026 .hero { padding: var(--space-6) 0 var(--space-6); }
  .entry-content .pmo-pl-2026 .hero-wrap { grid-template-columns: 1fr; gap: var(--space-5); }
  .entry-content .pmo-pl-2026 .hero-actions { flex-direction: column; align-items: stretch; }
  .entry-content .pmo-pl-2026 .next-step { padding: var(--space-6) 0; }
  .entry-content .pmo-pl-2026 .pl-bridge { grid-template-columns: 1fr; padding: var(--space-5); }
  .entry-content .pmo-pl-2026 .pl-bridge-h { font-size: 20px; }
  .entry-content .pmo-pl-2026 .mugshot { grid-template-columns: 1fr; padding: var(--space-4); gap: var(--space-4); }
  .entry-content .pmo-pl-2026 .mugshot-img img { margin: 0 auto; }
  .entry-content .pmo-pl-2026 .pain-axis-row { grid-template-columns: 1fr 16px; }
  .entry-content .pmo-pl-2026 .pain-axis-left { grid-column: 1; }
  .entry-content .pmo-pl-2026 .pain-axis-right { grid-column: 1; }
  .entry-content .pmo-pl-2026 .pain-axis-row::after { grid-column: 2; grid-row: 1 / span 2; }
  .entry-content .pmo-pl-2026 .mugshot-stats { grid-template-columns: 1fr; }
  .entry-content .pmo-pl-2026 .calendar-device { padding: var(--space-4); }
  .entry-content .pmo-pl-2026 .cal-grid { grid-template-columns: repeat(6, 1fr); row-gap: var(--space-3); }
  .entry-content .pmo-pl-2026 .dead-giveaways ul { grid-template-columns: 1fr; grid-auto-flow: row; grid-template-rows: none; }
  .entry-content .pmo-pl-2026 .confusion-table { border: 0; background: transparent; }
  .entry-content .pmo-pl-2026 .confusion-table thead { display: none; }
  .entry-content .pmo-pl-2026 .confusion-table, .entry-content .pmo-pl-2026 .confusion-table tbody, .entry-content .pmo-pl-2026 .confusion-table tr, .entry-content .pmo-pl-2026 .confusion-table td { display: block; width: 100%; }
  .entry-content .pmo-pl-2026 .confusion-table td:first-child { width: 100%; }
  .entry-content .pmo-pl-2026 .confusion-table caption { display: block; width: 100%; }
  .entry-content .pmo-pl-2026 .confusion-table tr { border: 2px solid var(--navy); border-radius: var(--radius); background: var(--white); margin: 0 0 var(--space-4); overflow: hidden; }
  .entry-content .pmo-pl-2026 .confusion-table tr.cm-highlight-row { border-color: var(--gold); }
  .entry-content .pmo-pl-2026 .confusion-table td { border-top: 1px solid var(--line); }
  .entry-content .pmo-pl-2026 .confusion-table td:first-child { border-top: 0; background: var(--paper); }
  .entry-content .pmo-pl-2026 .confusion-table tr.cm-highlight-row td:first-child { background: var(--gold-tint); }
  .entry-content .pmo-pl-2026 .confusion-table td[data-label]::before { content: attr(data-label); display: block; font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--ink-soft); margin: 0 0 var(--space-1); }
  .entry-content .pmo-pl-2026 .confusion-callout { font-size: 18px; padding: var(--space-5); }
  .entry-content .pmo-pl-2026 .risk-banner-wrap { grid-template-columns: 1fr; gap: var(--space-4); }
  .entry-content .pmo-pl-2026 .risk-recap-card { flex-direction: row; justify-content: flex-start; gap: var(--space-3); padding: var(--space-3) var(--space-4); }
  .entry-content .pmo-pl-2026 .risk-recap-rating { font-size: 36px; }
  .entry-content .pmo-pl-2026 .severity-grid, .entry-content .pmo-pl-2026 .bio-fact-grid, .entry-content .pmo-pl-2026 .versus-card { grid-template-columns: 1fr; }
  .entry-content .pmo-pl-2026 .pmo-translation-row { grid-template-columns: 1fr; gap: var(--space-1); }
  .entry-content .pmo-pl-2026 .pmo-tr-arrow { display: none; }
  .entry-content .pmo-pl-2026 .rather-not-know { padding: var(--space-4); }
  .entry-content .pmo-pl-2026 .prevention-card { padding: var(--space-4); }
  .entry-content .pmo-pl-2026 .faq-q { font-size: 16px; padding: var(--space-4); }
  .entry-content .pmo-pl-2026 .faq-a { padding: 0 var(--space-4) var(--space-4); }
  .entry-content .pmo-pl-2026 .related-grid { grid-template-columns: repeat(2, 1fr); }
  .entry-content .pmo-pl-2026 .bottom-stops { grid-template-columns: 1fr; text-align: center; }
  .entry-content .pmo-pl-2026 .btn-call-large { width: 100%; padding: var(--space-4); }
  .entry-content .pmo-pl-2026 .btn-desktop-label { display: none; }
  .entry-content .pmo-pl-2026 .btn-mobile-label { display: inline; }
  /* the space reserved for the call bar sits under the navy closing section, so it is navy too */
  .entry-content .pmo-pl-2026 { padding-bottom: 80px; background: var(--navy); }
  /* Phone call bar: navy, gold call button, white-outlined text button (colour source);
     separated from the page by a shadow, not a one-edge line (laws layout) */
  .entry-content .pmo-pl-2026 .mobile-sticky-cta { display: grid; grid-template-columns: 2fr 1fr; gap: var(--space-2); position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; background: var(--navy); box-shadow: 0 -1px 3px rgba(13,33,55,.2); padding: var(--space-2) var(--space-3); }
  .entry-content .pmo-pl-2026 .msc-call, .entry-content .pmo-pl-2026 .msc-text { width: 100%; }
}
@media (min-width: 900px) {
  .entry-content .pmo-pl-2026 .id-section-grid { grid-template-columns: 1fr 1fr; align-items: start; }
  .entry-content .pmo-pl-2026 .dead-giveaways ul { grid-template-columns: 1fr; grid-auto-flow: row; grid-template-rows: none; }
  .entry-content .pmo-pl-2026 .dead-giveaways li:nth-child(5) { margin-top: var(--space-3); padding-top: var(--space-3); }
  .entry-content .pmo-pl-2026 .dead-giveaways li:nth-child(5)::before { top: 14px; }
  .entry-content .pmo-pl-2026 .dead-giveaways li:nth-child(5)::after { top: 18px; }
}
@media (max-width: 1023px) and (min-width: 768px) {
  .entry-content .pmo-pl-2026 .related-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (prefers-reduced-motion: reduce) {  .entry-content .pmo-pl-2026 * { transition: none !important; } }

/* 10-01-2026: two boxes side by side on desktop, stacked on a phone */
.entry-content .pmo-pl-2026 .place-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-5); align-items: start; }
.entry-content .pmo-pl-2026 .place-grid > .risk-sub + .risk-sub { margin-top: 0; }
.entry-content .pmo-pl-2026 .place-grid .local-prose p { font-size: 16px; }
.entry-content .pmo-pl-2026 .place-grid #habitat .what-we-see { margin-top: var(--space-5); }
.entry-content .pmo-pl-2026 .diy-band-header-inner { max-width: var(--wide); }
.entry-content .pmo-pl-2026 .diy-band-inner { max-width: var(--wide); display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); align-items: start; }
.entry-content .pmo-pl-2026 .diy-band-inner .diy-prevention-block + .diy-prevention-block { margin-top: 0; }
@media (max-width: 900px) {
  .entry-content .pmo-pl-2026 .place-grid, .entry-content .pmo-pl-2026 .diy-band-inner { grid-template-columns: 1fr; }
  .entry-content .pmo-pl-2026 .hero-wrap > div:last-child { display: block; }
  .entry-content .pmo-pl-2026 .hero-img { height: auto; min-height: 0; aspect-ratio: 3 / 2; }
}

/* 10-01-2026, third round: the next-step strip, the identification grid, the names table */
.entry-content .pmo-pl-2026 .cta-strip { background: var(--paper); padding: var(--space-6) 0; }
.entry-content .pmo-pl-2026 .cta-strip-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); }
.entry-content .pmo-pl-2026 .cta-strip-text { font-size: 17px; color: var(--navy); margin: 0; max-width: var(--measure); }
.entry-content .pmo-pl-2026 .cta-strip-text strong { color: var(--navy); }
.entry-content .pmo-pl-2026 .cta-strip-actions { display: flex; gap: var(--space-3); flex: none; }
.entry-content .pmo-pl-2026 .id-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); margin: var(--space-5) 0 var(--space-6); }
.entry-content .pmo-pl-2026 .id-two-col .sec-p { max-width: none; margin: 0; }
.entry-content .pmo-pl-2026 .id-pair { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); align-items: stretch; }
.entry-content .pmo-pl-2026 .id-pair .id-image-block { margin: 0; }
.entry-content .pmo-pl-2026 .id-pair .dead-giveaways ul { grid-template-columns: 1fr; grid-auto-flow: row; grid-template-rows: none; }
.entry-content .pmo-pl-2026 .id-pair .dead-giveaways li:nth-child(5) { margin-top: 0; padding-top: 0; }
.entry-content .pmo-pl-2026 .id-pair .dead-giveaways li:nth-child(5)::before { top: 2px; }
.entry-content .pmo-pl-2026 .id-pair .dead-giveaways li:nth-child(5)::after { top: 6px; }
.entry-content .pmo-pl-2026 .names-grid { display: grid; grid-template-columns: 5fr 7fr; gap: var(--space-6); align-items: start; margin-top: var(--space-5); }
.entry-content .pmo-pl-2026 .names-text .sec-p { max-width: none; }
.entry-content .pmo-pl-2026 .names-table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--line-strong); border-radius: var(--radius); overflow: hidden; background: var(--white); font-size: 16px; }
.entry-content .pmo-pl-2026 .names-table caption { caption-side: top; text-align: left; font-size: 14px; font-weight: 600; color: var(--ink-soft); padding: 0 0 var(--space-2); }
.entry-content .pmo-pl-2026 .names-table th { text-align: left; background: var(--navy); color: var(--white); font-size: 14px; font-weight: 700; padding: var(--space-3) var(--space-4); }
.entry-content .pmo-pl-2026 .names-table td { padding: var(--space-3) var(--space-4); vertical-align: top; color: var(--navy); line-height: 1.5; }
.entry-content .pmo-pl-2026 .names-table tbody tr + tr td { border-top: 1px solid var(--line); }
.entry-content .pmo-pl-2026 .names-table td:first-child { font-weight: 700; width: 36%; }
@media (max-width: 900px) {
  .entry-content .pmo-pl-2026 .cta-strip-inner { flex-direction: column; align-items: stretch; }
  .entry-content .pmo-pl-2026 .cta-strip-actions { flex-direction: column; }
  .entry-content .pmo-pl-2026 .id-two-col, .entry-content .pmo-pl-2026 .id-pair, .entry-content .pmo-pl-2026 .names-grid { grid-template-columns: 1fr; }
}

/* 10-02-2026: tighter vertical spacing across the page (Sam: "make it a little tighter spacing") */
.entry-content .pmo-pl-2026 .sec, .entry-content .pmo-pl-2026 .related-ants { padding: var(--space-7) 0; }
.entry-content .pmo-pl-2026 .risk-group { padding: 0 0 var(--space-7); }
.entry-content .pmo-pl-2026 .risk-banner { padding: var(--space-7) 0; }
.entry-content .pmo-pl-2026 .risk-content { padding-top: var(--space-7); }
.entry-content .pmo-pl-2026 .risk-sub + .risk-sub { margin-top: var(--space-7); }
.entry-content .pmo-pl-2026 .group-part + .group-part { margin-top: var(--space-7); }
.entry-content .pmo-pl-2026 .id-two-col { margin: var(--space-4) 0 var(--space-5); }
.entry-content .pmo-pl-2026 .confusion-table { margin: var(--space-5) 0; }
.entry-content .pmo-pl-2026 .versus-card { margin-top: var(--space-6); }
.entry-content .pmo-pl-2026 .diy-band { padding: 0 0 var(--space-7); }
.entry-content .pmo-pl-2026 .diy-band-header { padding: var(--space-7) 0; }
.entry-content .pmo-pl-2026 .diy-band-inner { margin-top: var(--space-7); }
.entry-content .pmo-pl-2026 .bottom-cta { padding: var(--space-8) 0; }
.entry-content .pmo-pl-2026 .cta-strip { padding: var(--space-5) 0; }
/* the DIY steps and the DIY pitfalls start their label, heading, intro and cards on the same lines */
.entry-content .pmo-pl-2026 .diy-band-inner { grid-template-rows: auto auto auto auto; row-gap: 0; }
.entry-content .pmo-pl-2026 .diy-band-inner .diy-prevention-block { display: grid; grid-template-rows: subgrid; grid-row: span 4; align-content: start; }
.entry-content .pmo-pl-2026 .diy-band-inner .prevention-grid, .entry-content .pmo-pl-2026 .diy-band-inner .diy-fail-grid { align-content: start; align-self: start; }
@media (max-width: 900px) {
  .entry-content .pmo-pl-2026 .sec, .entry-content .pmo-pl-2026 .related-ants { padding: var(--space-6) 0; }
  .entry-content .pmo-pl-2026 .risk-banner, .entry-content .pmo-pl-2026 .diy-band-header { padding: var(--space-6) 0; }
  .entry-content .pmo-pl-2026 .risk-content { padding-top: var(--space-6); }
  .entry-content .pmo-pl-2026 .risk-sub + .risk-sub, .entry-content .pmo-pl-2026 .group-part + .group-part, .entry-content .pmo-pl-2026 .diy-band-inner { margin-top: var(--space-6); }
  .entry-content .pmo-pl-2026 .bottom-cta { padding: var(--space-7) 0; }
  .entry-content .pmo-pl-2026 .diy-band-inner .diy-prevention-block { display: block; }
  .entry-content .pmo-pl-2026 .diy-band-inner .diy-prevention-block + .diy-prevention-block { margin-top: var(--space-7); }
}

/* the number panel (v8, 10-02-2026): three sourced figures in one band, one self-contained block */
.entry-content .pmo-pl-2026 .num-band { background: var(--white); padding: var(--space-7) 0; }
.entry-content .pmo-pl-2026 .num-band .sec-h2 { text-align: center; }
.entry-content .pmo-pl-2026 .num-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); margin-top: var(--space-5); }
.entry-content .pmo-pl-2026 .num-cell { border: 2px solid var(--navy); border-radius: var(--radius); padding: var(--space-5); display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--space-2); }
.entry-content .pmo-pl-2026 .num-fig { margin: 0; font-family: var(--font-display); font-size: 60px; line-height: 1; color: var(--navy); border-bottom: 4px solid var(--gold); padding-bottom: var(--space-2); }
.entry-content .pmo-pl-2026 .num-what { margin: 0; font-size: 18px; line-height: 1.5; }
.entry-content .pmo-pl-2026 .num-src { margin: auto 0 0; font-size: 14px; color: var(--ink-soft); }
@media (max-width: 768px) {
  .entry-content .pmo-pl-2026 .num-grid { grid-template-columns: 1fr; gap: var(--space-3); }
  /* on a phone each figure sits left of its line, so three figures cost about one screen, not three */
  .entry-content .pmo-pl-2026 .num-cell { display: grid; grid-template-columns: 104px 1fr; column-gap: var(--space-4); row-gap: var(--space-1); align-items: center; text-align: left; padding: var(--space-4); }
  .entry-content .pmo-pl-2026 .num-fig { grid-row: span 2; font-size: 40px; text-align: center; }
  .entry-content .pmo-pl-2026 .num-what { font-size: 16px; }
  .entry-content .pmo-pl-2026 .num-src { margin: 0; font-size: 13px; }
}

/* the identification card, layout A (Sam's pick of 10-03-2026), from the design fan-out of that day */
.entry-content .pmo-pl-2026 .idc { display: grid; gap: var(--space-6); border: 2px solid var(--navy); border-radius: var(--radius); padding: var(--space-6); background: var(--white); }
.entry-content .pmo-pl-2026 .idc-photo { position: relative; margin: 0; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.entry-content .pmo-pl-2026 .idc-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; cursor: zoom-in; border: 0; border-radius: 0; margin: 0; }
.entry-content .pmo-pl-2026 .idc-name { font-family: var(--font-body); font-weight: 700; font-size: 30px; line-height: 1.15; color: var(--navy); text-transform: none; text-wrap: balance; }
.entry-content .pmo-pl-2026 .idc-sci { font-size: 18px; color: var(--ink-soft); margin-top: var(--space-1); }
.entry-content .pmo-pl-2026 .idc-aka { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; font-size: 16px; margin-top: var(--space-3); }
.entry-content .pmo-pl-2026 .idc-aka-label { display: inline-flex; align-items: center; white-space: nowrap; font-size: 12px; font-weight: 700; color: var(--white); background: var(--navy); border-radius: var(--radius-full); padding: var(--space-1) var(--space-2); line-height: 1.2; }
.entry-content .pmo-pl-2026 .idc-aka-names { color: var(--navy); font-weight: 700; }
.entry-content .pmo-pl-2026 .idc-desc { margin: 0; font-size: 16px; line-height: 1.5; color: var(--navy); max-width: 65ch; }

.entry-content .pmo-pl-2026 .idc-risk { border: 1px solid var(--line-strong); border-radius: var(--radius); overflow: hidden; background: var(--white); }
.entry-content .pmo-pl-2026 .idc-risk-title { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: var(--space-2); padding: var(--space-2) var(--space-4); background: var(--navy); color: var(--white); font-size: 16px; font-weight: 700; }
.entry-content .pmo-pl-2026 .idc-risk-help { font-size: 14px; font-weight: 400; color: var(--on-dark-soft); }
.entry-content .pmo-pl-2026 .idc-rows { display: flex; flex-direction: column; }
.entry-content .pmo-pl-2026 a.idc-row { display: grid; grid-template-columns: 160px minmax(0, 1fr) 16px; gap: var(--space-4); align-items: center; min-height: 48px; padding: var(--space-2) var(--space-4); border-top: 1px solid var(--line); color: var(--navy); text-decoration: none; font-size: 14px; line-height: 1.5; transition: background-color 150ms ease; }
.entry-content .pmo-pl-2026 a.idc-row:first-child { border-top: 0; }
.entry-content .pmo-pl-2026 a.idc-row:hover { background: var(--blue-tint); color: var(--navy); text-decoration: none; }
.entry-content .pmo-pl-2026 a.idc-row:focus-visible { outline: 3px solid var(--blue); outline-offset: -3px; border-radius: 0; }
.entry-content .pmo-pl-2026 a.idc-row::after { content: ""; width: 8px; height: 8px; border: solid var(--blue); border-width: 2px 2px 0 0; transform: rotate(45deg); justify-self: end; }
.entry-content .pmo-pl-2026 .idc-row-left { display: flex; flex-direction: column; gap: var(--space-1); }
.entry-content .pmo-pl-2026 .idc-label { font-size: 16px; font-weight: 700; color: var(--navy); }
.entry-content .pmo-pl-2026 .idc-meter { display: inline-flex; align-items: center; gap: var(--space-2); }
.entry-content .pmo-pl-2026 .idc-segs { display: inline-flex; gap: var(--space-1); }
.entry-content .pmo-pl-2026 .idc-seg { width: 16px; height: 8px; border-radius: 2px; border: 2px solid var(--navy); background: var(--white); }
.entry-content .pmo-pl-2026 .idc-seg.lvl-1, .entry-content .pmo-pl-2026 .idc-seg.lvl-2 { background: var(--gold); }
.entry-content .pmo-pl-2026 .idc-rating { font-size: 14px; font-weight: 700; color: var(--navy); white-space: nowrap; }
.entry-content .pmo-pl-2026 .idc-row-why { color: var(--navy); }
.entry-content .pmo-pl-2026 .idc-legend { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-4); padding: var(--space-2) var(--space-4); font-size: 12px; color: var(--navy); background: var(--paper); border-top: 1px solid var(--line); }
.entry-content .pmo-pl-2026 .idc-legend > span { display: inline-flex; align-items: center; gap: var(--space-2); }
.entry-content .pmo-pl-2026 .idc-legend .idc-seg { width: 12px; height: 8px; border-width: 1.5px; }

/* Risk rows stacked: score line on top, the explanation under it (narrow columns and phones) */
.entry-content .pmo-pl-2026 .idc-risk.is-stacked a.idc-row { grid-template-columns: minmax(0, 1fr) 16px; gap: var(--space-1) var(--space-3); padding: var(--space-3) var(--space-4); }
.entry-content .pmo-pl-2026 .idc-risk.is-stacked .idc-row-left { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2); grid-column: 1; }
.entry-content .pmo-pl-2026 .idc-risk.is-stacked .idc-row-why { grid-column: 1; }
.entry-content .pmo-pl-2026 .idc-risk.is-stacked a.idc-row::after { grid-column: 2; grid-row: 1 / span 2; }
@media (prefers-reduced-motion: reduce) { .entry-content .pmo-pl-2026 a.idc-row { transition: none; } }


/* Variant A. Two columns that always end level: the identity column (photo, names, summary) and
   the data column (risk table, facts panel) both stretch to the taller one. The slack goes into
   the photo frame (the studio cut-outs sit on white, so a taller frame reads as photo, not as a
   gap) or into the fact rows (each row grows a little, the content stays centred in it). */
.entry-content .pmo-pl-2026 .idc.var-a { grid-template-columns: 384px minmax(0, 1fr); }
.entry-content .pmo-pl-2026 .var-a .idc-id { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }
.entry-content .pmo-pl-2026 .var-a .idc-photo { flex: 1 0 384px; }
.entry-content .pmo-pl-2026 .var-a .idc-data { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }
.entry-content .pmo-pl-2026 .facts-a { flex: 1 1 auto; display: flex; flex-direction: column; margin: 0; border: 1px solid var(--line-strong); border-radius: var(--radius); overflow: hidden; }
.entry-content .pmo-pl-2026 .facts-a-f { flex: 1 1 auto; display: grid; grid-template-columns: 192px minmax(0, 1fr); gap: var(--space-4); align-items: center; padding: var(--space-2) var(--space-4); border-top: 1px solid var(--line); }
.entry-content .pmo-pl-2026 .facts-a-f:first-child { border-top: 0; }
.entry-content .pmo-pl-2026 .facts-a dt { font-size: 14px; font-weight: 700; color: var(--ink-soft); margin: 0; }
.entry-content .pmo-pl-2026 .facts-a dd { font-size: 16px; line-height: 1.5; color: var(--navy); margin: 0; }
@media (max-width: 1023px) {
  .entry-content .pmo-pl-2026 .idc.var-a { grid-template-columns: minmax(0, 1fr); }
  .entry-content .pmo-pl-2026 .var-a .idc-id { display: grid; grid-template-columns: 192px minmax(0, 1fr); grid-template-rows: auto 1fr; gap: var(--space-3) var(--space-5); }
  .entry-content .pmo-pl-2026 .var-a .idc-photo { grid-row: 1 / span 2; flex: none; width: 192px; height: 192px; }
}
@media (max-width: 599px) {

  .entry-content .pmo-pl-2026 a.idc-row { grid-template-columns: minmax(0, 1fr) 16px; gap: var(--space-1) var(--space-3); padding: var(--space-3) var(--space-4); }
  .entry-content .pmo-pl-2026 .idc-row-left { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2); grid-column: 1; }
  .entry-content .pmo-pl-2026 .idc-row-why { grid-column: 1; }
  .entry-content .pmo-pl-2026 a.idc-row::after { grid-column: 2; grid-row: 1 / span 2; }
  .entry-content .pmo-pl-2026 .idc { padding: var(--space-4); gap: var(--space-4); }
  .entry-content .pmo-pl-2026 .idc-name { font-size: 24px; }
  .entry-content .pmo-pl-2026 .idc-sci { font-size: 16px; }

  .entry-content .pmo-pl-2026 .var-a .idc-id { grid-template-columns: 128px minmax(0, 1fr); grid-template-rows: auto auto; gap: var(--space-4); }
  .entry-content .pmo-pl-2026 .var-a .idc-photo { grid-row: 1; width: 128px; height: 128px; }
  .entry-content .pmo-pl-2026 .var-a .idc-desc { grid-column: 1 / -1; }
  .entry-content .pmo-pl-2026 .facts-a-f { grid-template-columns: minmax(0, 1fr); gap: 0; padding: var(--space-2) var(--space-3); }
  .entry-content .pmo-pl-2026 .facts-a dd { font-size: 14px; }
}
/* the species name became a real heading (design audit 10-03-2026): no theme margin above or below it */
.entry-content .pmo-pl-2026 h2.idc-name { margin: 0; letter-spacing: 0; }
/* Sam, 10-03-2026: "separet the Left column with the Fact topic from the facts on the right. Perhaps just a light
   color column line" - a light rule between the fact name and its value, dropped where they stack on a phone */
.entry-content .pmo-pl-2026 .facts-a dt { align-self: stretch; display: flex; align-items: center; padding-right: var(--space-4); border-right: 1px solid var(--line); }
@media (max-width: 599px) { .entry-content .pmo-pl-2026 .facts-a dt { border-right: 0; padding-right: 0; } }
/* the nicknames flow on straight after the AKA badge rather than dropping below it as a whole block (live check
   10-03-2026); a long species name keeps its last two words together in its markup instead (website-pl-card-a.py) */
.entry-content .pmo-pl-2026 .idc-aka { display: block; line-height: 1.6; }
.entry-content .pmo-pl-2026 .idc-aka-label { display: inline-flex; vertical-align: 1px; margin-right: var(--space-2); }
.entry-content .pmo-pl-2026 .idc-aka-names { text-wrap: pretty; }
/* the design audit of the built card, 10-03-2026: a photo reached from the keyboard shows a ring, drawn inside its
   frame so the frame cannot clip it, and the risk table's title is a real heading that keeps the title bar's look */
.entry-content .pmo-pl-2026 .pl-zoomable:focus-visible { outline: 3px solid var(--blue); outline-offset: -3px; }
.entry-content .pmo-pl-2026 .idc-risk-h { margin: 0; font: inherit; color: inherit; letter-spacing: inherit; text-transform: none; }
/* Sam, 10-03-2026: a visible cue that the photo enlarges, since a phone has no zoom cursor. A tap on it reaches the
   photo underneath, and screen readers already hear "Enlarge photo" from the photo itself */
.entry-content .pmo-pl-2026 .idc-zoom-hint { position: absolute; right: var(--space-2); bottom: var(--space-2); pointer-events: none; font-size: 12px; font-weight: 700; line-height: 1.2; color: var(--navy); background: var(--gold); border: 1px solid var(--navy); border-radius: var(--radius-full); padding: var(--space-1) var(--space-2); }


/* the second half of the title on its own smaller line; the divider stays in the text for search, hidden on screen */
.entry-content .pmo-pl-2026 .hero-h1 .pipe { display: none; }
.entry-content .pmo-pl-2026 .hero-h1-sub { display: block; font-size: 28px; line-height: 1.25; font-weight: 700; margin-top: var(--space-2); white-space: nowrap; }
@media (max-width: 480px) { .entry-content .pmo-pl-2026 .hero-h1-sub { font-size: 22px; white-space: normal; } }
/* no lone word left hanging on the last line of a heading or summary line, seen live 10-01-2026 */
.entry-content .pmo-pl-2026 h1, .entry-content .pmo-pl-2026 h2, .entry-content .pmo-pl-2026 h3, .entry-content .pmo-pl-2026 h4, .entry-content .pmo-pl-2026 .sec-h2-tail, .entry-content .pmo-pl-2026 .cta-strip-text { text-wrap: balance; }
/* the hero summary runs about eight lines, past where Chrome balances, so it takes pretty, which still avoids a lone
   last word (fire ant, 10-02-2026) */
.entry-content .pmo-pl-2026 p, .entry-content .pmo-pl-2026 li, .entry-content .pmo-pl-2026 td, .entry-content .pmo-pl-2026 th, .entry-content .pmo-pl-2026 .hero-summary { text-wrap: pretty; }
/* on a phone table cells are short, and balance evens them where pretty still left lone last words (10-02-2026);
   on desktop long cells stay pretty, because Chrome only balances blocks of a few lines */
@media (max-width: 768px) { .entry-content .pmo-pl-2026 td, .entry-content .pmo-pl-2026 th, .entry-content .pmo-pl-2026 .num-what { text-wrap: balance; } }
/* the profile card's last stat is a badge sized to its text; fit-content lets a long value wrap inside it instead of
   pushing the page wider than a phone (fire ant, 10-02-2026: 515px in a 400px window). max-content alone, even with a
   max-width, still sized the grid column to the one-line width */
.entry-content .pmo-pl-2026 .mugshot-stat:last-child .mugshot-stat-val { width: fit-content; max-width: 100%; }
/* the season calendar on a phone: its month boxes could not shrink below their word, so six across overflowed when a
   page used "Dormant" or "Emerging" (mud dauber, carpenter bee, paper wasp, 10-02-2026). Columns may shrink, and a
   narrow phone takes four months a row */
.entry-content .pmo-pl-2026 .cal-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
@media (max-width: 768px) { .entry-content .pmo-pl-2026 .cal-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (max-width: 480px) { .entry-content .pmo-pl-2026 .cal-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
/* the number panel figure stays on one line and scales to its box, so "4,000 to 10,000" never breaks with a word left
   alone; on a phone the figure sits above its line rather than beside it, which gives a long figure the full width */
.entry-content .pmo-pl-2026 .num-cell { container-type: inline-size; }
.entry-content .pmo-pl-2026 .num-fig { white-space: nowrap; font-size: min(60px, 17cqi); }
@media (max-width: 768px) {
  .entry-content .pmo-pl-2026 .num-cell { display: flex; flex-direction: column; align-items: flex-start; text-align: left; }
  .entry-content .pmo-pl-2026 .num-fig { grid-row: auto; font-size: min(48px, 15cqi); text-align: left; }
}
/* ===== PEST LIBRARY REWRITE (.pmo-pl-2026) END ===== */

/* ===== SERVICE PAGES: HOW TO KNOW CARDS ON SMALL SCREENS (10-09-2026) =====
   The "How to Know" section of the service pages lays its cards out with an inline grid of 3 or 4 equal columns,
   which kept four 116 px columns on a 400 px phone and pushed the whole page sideways (measured 10-09-2026 on
   odorous-house-ant-control, german-cockroach-control and the nine pages that gained a fourth identification-guide
   card that night). The inline style wins over a plain rule, so these two need !important. */
@media (max-width: 760px) {
  section[data-section-name="HOW TO KNOW"] .section-inner > div[style*="grid-template-columns"] { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 480px) {
  section[data-section-name="HOW TO KNOW"] .section-inner > div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
}
/* ===== SERVICE PAGES: HOW TO KNOW CARDS END ===== */
