/* Pesto blog — Index A + Post A. Scoped under .pb so it never leaks into
   Elementor pages. Brand tokens hardcoded (fonts loaded globally). */
.pb{--navy:#0E2F48;--navy800:#091F32;--red:#FD2213;--reddark:#B22219;--green:#2E9E44;
  --gold:#FFB020;--lgrey:#F2F4F7;--mid:#64707A;--line:#E4E9EF;--ink:#1B2A36;--paper:#FBFCFD;
  --disp:"Darker Grotesque",system-ui,sans-serif;--body:"Hanken Grotesk",system-ui,sans-serif;
  --wrap:1180px;--shadow:0 14px 40px -18px rgba(14,47,72,.28);--shadow-sm:0 6px 20px -12px rgba(14,47,72,.35);
  background:var(--lgrey);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6}
.pb *{box-sizing:border-box}
.pb h1,.pb h2,.pb h3,.pb h4{font-family:var(--disp);color:var(--navy);margin:0;line-height:1.05;text-wrap:balance;letter-spacing:-.01em}
.pb p{margin:0}
.pb a{color:inherit}
.pb img{max-width:100%}
.pb code{background:#eef2f6;border-radius:5px;padding:1px 6px;font-size:.9em}

/* category pills + read time */
.pb-cat{display:inline-flex;align-items:center;gap:7px;font:700 11.5px/1 var(--body);letter-spacing:.12em;
  text-transform:uppercase;padding:6px 11px;border-radius:20px}
.pb-cat.insects{background:#FDECEA;color:var(--reddark)}
.pb-cat.rodents{background:#EAF3EC;color:#1c6b32}
.pb-cat.cost{background:#FFF3DE;color:#8a5a00}
.pb-cat.signs{background:#F0ECF8;color:#5b3a8a}
.pb-cat.guides{background:#EAF0F6;color:var(--navy)}
.pb-rt{font:600 13px/1 var(--body);color:var(--mid);display:inline-flex;align-items:center;gap:6px}
.pb-rt::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--mid);display:inline-block}
.pb-thumb{position:relative;overflow:hidden;background:var(--navy)}
.pb-thumb svg{position:absolute;inset:0;width:100%;height:100%}
.pb-thumb .lbl{position:absolute;left:14px;top:14px;z-index:2}
.pb-arrow{width:18px;height:18px;vertical-align:middle}

/* ---------- INDEX A ---------- */
.pb-ihero{position:relative;background:radial-gradient(120% 140% at 78% -10%,#16456b 0,transparent 55%),linear-gradient(150deg,var(--navy),var(--navy800));color:#fff;padding:60px 26px 66px;overflow:hidden}
.pb-ihero .glow{position:absolute;width:520px;height:520px;right:-120px;top:-190px;border-radius:50%;background:radial-gradient(circle,rgba(253,34,19,.30),transparent 62%)}
.pb-ihero .arc{position:absolute;border:1px solid rgba(255,255,255,.09);border-radius:50%}
.pb-ihin{position:relative;max-width:var(--wrap);margin:0 auto;z-index:2}
.pb-ey{font:700 12.5px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.pb-ihero h1{color:#fff;font-size:clamp(38px,6vw,60px);font-weight:800;margin:.28em 0 .2em;max-width:16ch}
.pb-ihero p{color:#C7D2DC;max-width:60ch;font-size:18px}
.pb-body{max-width:var(--wrap);margin:0 auto;padding:34px 26px 54px}
.pb-chips{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:26px}
.pb-chip{font:600 14px/1 var(--body);color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:22px;padding:9px 16px;text-decoration:none}
.pb-chip.on,.pb-chip:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.pb-feat{display:grid;grid-template-columns:1.15fr .85fr;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:30px;text-decoration:none}
.pb-feat .pb-thumb{min-height:340px}
.pb-feat .fx{padding:38px 40px;display:flex;flex-direction:column;justify-content:center}
.pb-feat .fx h2{font-size:clamp(28px,3.4vw,40px);line-height:1.14;font-weight:800;margin:14px 0 14px}
.pb-feat .fx p{color:var(--mid);font-size:16.5px;margin-bottom:22px}
.pb-feat .fx .meta{display:flex;gap:14px;align-items:center}
.pb-more{display:inline-flex;align-items:center;gap:9px;font:700 15px var(--body);color:var(--red);text-decoration:none}
.pb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pb-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;text-decoration:none}
.pb-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.pb-card .pb-thumb{aspect-ratio:16/10}
.pb-card .cx{padding:20px 22px 24px;display:flex;flex-direction:column;gap:11px;flex:1}
.pb-card h3{font-size:23px;line-height:1.16;font-weight:800;color:var(--navy)}
.pb-card p{color:var(--mid);font-size:15px;line-height:1.55;flex:1}
.pb-card .foot{display:flex;justify-content:space-between;align-items:center;margin-top:4px}
.pb-ribbon{margin-top:40px;background:linear-gradient(140deg,var(--navy),var(--navy800));border-radius:18px;padding:34px 40px;color:#fff;display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.pb-ribbon h3{color:#fff;font-size:27px;font-weight:800;flex:1;min-width:260px}
.pb-ribbon small{display:block;color:#9FB3C0;font-weight:500;font-size:13.5px;margin-top:7px}
.pb-ribbon .b{background:var(--red);color:#fff;font:700 16px var(--body);padding:15px 26px;border-radius:9px;text-decoration:none;white-space:nowrap}

/* ---------- INDEX hero B (editorial split: navy panel + photo) ---------- */
.pb-hb{display:grid;grid-template-columns:1.05fr .95fr;min-height:420px;background:var(--navy800)}
.pb-hb .txt{padding:60px clamp(26px,5vw,68px);display:flex;flex-direction:column;justify-content:center}
.pb-hb .txt h1{color:#fff;font-weight:800;font-size:clamp(34px,4vw,52px);line-height:1.12;max-width:15ch;margin:.26em 0 .22em}
.pb-hb .txt p{color:#C7D2DC;max-width:52ch;font-size:18px}
.pb-hb .pic{position:relative;overflow:hidden;background:var(--navy)}
.pb-hb .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pb-hb .pic::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy800),rgba(9,31,50,.15) 34%,transparent 60%)}

/* ---------- INDEX hero V3: photo band + floating search command card ---------- */
.pb-hero3 .band{position:relative;min-height:340px;display:flex;align-items:center;overflow:hidden;background:var(--navy)}
.pb-hero3 .band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pb-hero3 .band .scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,31,50,.94),rgba(9,31,50,.55) 60%,rgba(9,31,50,.3))}
.pb-hero3 .band .in{position:relative;z-index:2;max-width:var(--wrap);margin:0 auto;width:100%;padding:54px clamp(26px,5vw,64px)}
.pb-hero3 .band .in h1{color:#fff;font-size:clamp(30px,3.6vw,46px);line-height:1.12;font-weight:800;max-width:16ch;margin:.24em 0 .16em}
.pb-hero3 .band .in p{color:#C7D2DC;font-size:18px}
.pb-hcard{max-width:var(--wrap);width:calc(100% - 40px);margin:-46px auto 0;position:relative;z-index:3;background:#fff;
  border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px -30px rgba(9,31,50,.6);
  padding:20px 24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.pb-hcard .lab{font-family:var(--disp);font-weight:800;font-size:22px;color:var(--navy);white-space:nowrap}
.pb-srch{display:flex;flex:1;min-width:260px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.pb-srch .ic{display:flex;align-items:center;padding-left:16px;color:var(--mid)}
.pb-srch input[type=search]{flex:1;border:0;outline:0;padding:14px;font:500 16px var(--body);color:var(--ink);min-width:0;-webkit-appearance:none;background:transparent}
.pb-srch input::placeholder{color:#9aa6b0}
.pb-srch button{border:0;background:var(--red);color:#fff;font:700 15px var(--body);padding:0 24px;cursor:pointer;display:flex;align-items:center;gap:8px}
.pb-srch button:hover{background:var(--reddark)}
.pb-srch svg{width:18px;height:18px}
.pb-hpop{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pb-hpop .l{font:700 11.5px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--mid)}
.pb-hpop a{font:600 13.5px/1 var(--body);background:#fff;color:var(--navy);border:1px solid var(--line);border-radius:20px;padding:8px 14px;text-decoration:none}
.pb-hpop a:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
@media(max-width:860px){.pb-hcard{flex-direction:column;align-items:stretch;gap:14px}.pb-hcard .lab{white-space:normal}}

/* search results page */
.pb-searchhead{background:linear-gradient(160deg,var(--navy),var(--navy800));color:#fff;padding:42px 26px 40px}
.pb-searchhead .in{max-width:var(--wrap);margin:0 auto}
.pb-searchhead .pb-ey{color:var(--gold)}
.pb-searchhead h1{color:#fff;font-size:clamp(26px,3.4vw,38px);line-height:1.14;font-weight:800;margin:.2em 0 0}
.pb-searchhead h1 span{color:var(--gold)}
.pb-searchhead .pb-srch{max-width:520px;margin-top:20px}
.pb-empty{max-width:var(--wrap);margin:0 auto;padding:6px 26px;color:var(--mid);font-size:16px}
.pb-empty a{color:var(--red);font-weight:600;text-decoration:none}

/* photo card thumbs + featured photo */
.pb-thumb img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.pb-feat .pb-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pb-thumb .plbl{position:absolute;left:12px;top:12px;z-index:2}
.pb-thumb .cat{color:#fff !important;background:rgba(9,31,50,.72)}

/* ---------- POST A ---------- */
/* single-post hero = featured photo + navy scrim */
.pb-shero.hasphoto{position:relative;overflow:hidden;background:var(--navy800)}
.pb-shero.hasphoto .shbg{position:absolute;inset:0;z-index:0}
.pb-shero.hasphoto .shbg img{width:100%;height:100%;object-fit:cover}
.pb-shero.hasphoto .shbg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,31,50,.95) 0%,rgba(9,31,50,.8) 42%,rgba(9,31,50,.5) 72%,rgba(9,31,50,.32) 100%)}
.pb-shero.hasphoto .pb-shin{position:relative;z-index:2}
.pb-credit{margin-top:14px;font:500 11.5px/1.4 var(--body);color:#8ea4b6}
.pb-credit a{color:#8ea4b6;text-decoration:underline}

.pb-shero{background:linear-gradient(160deg,var(--navy),var(--navy800));color:#fff;padding:46px 26px 40px}
.pb-shin{max-width:var(--wrap);margin:0 auto}
.pb-crumb{font:600 13px/1 var(--body);color:#8ea4b6;margin-bottom:18px}
.pb-crumb a{text-decoration:none;color:#8ea4b6}
.pb-crumb span{color:#cfe0ee}
.pb-shero h1{color:#fff;font-size:clamp(32px,4.6vw,50px);line-height:1.1;font-weight:800;max-width:22ch;margin:14px 0 16px}
.pb-smeta{display:flex;gap:16px;align-items:center;flex-wrap:wrap;color:#C7D2DC;font-size:14px}
.pb-smeta .who{display:flex;align-items:center;gap:9px}
.pb-smeta .av{width:34px;height:34px;border-radius:50%;background:var(--gold);color:var(--navy800);font:800 15px var(--disp);display:flex;align-items:center;justify-content:center}
.pb-swrap{max-width:var(--wrap);margin:0 auto;padding:36px 26px 56px;display:grid;grid-template-columns:210px minmax(0,1fr) 260px;gap:38px;align-items:start}
.pb-toc{position:sticky;top:76px}
.pb-toc .h{font:700 11.5px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--mid);margin-bottom:14px}
.pb-toc a{display:block;text-decoration:none;color:var(--navy);font-size:14.5px;padding:7px 0 7px 14px;border-left:2px solid var(--line);line-height:1.35}
.pb-toc a.on{border-left-color:var(--red);color:var(--red);font-weight:700}
.pb-article{max-width:68ch;min-width:0}
.pb-article .tldr{background:#fff;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:12px;padding:20px 24px;margin-bottom:30px}
.pb-article .tldr b{font-family:var(--disp);font-weight:800;font-size:16px;color:var(--navy)}
.pb-article .tldr p{color:var(--ink);font-size:15.5px;margin-top:6px}
.pb-article h2{font-size:30px;font-weight:800;margin:38px 0 14px;scroll-margin-top:76px}
.pb-article h3{font-size:22px;font-weight:800;margin:26px 0 10px}
.pb-article p{margin:0 0 18px;color:#26333D}
.pb-article ul,.pb-article ol{margin:0 0 20px;padding-left:22px;color:#26333D}
.pb-article li{margin-bottom:9px}
.pb-article a.ln{color:var(--red);text-decoration:none;font-weight:600;border-bottom:1.5px solid #f6c9c5}
.pb-article strong{color:var(--navy)}
.pb-article blockquote{border-left:4px solid var(--navy);padding:6px 0 6px 22px;margin:26px 0;font-family:var(--disp);font-weight:700;font-size:24px;color:var(--navy);line-height:1.2}
.pb-article hr{border:0;border-top:1px solid var(--line);margin:30px 0}
.pb .tblwrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin:0 0 24px}
.pb table.data{width:100%;border-collapse:collapse;font-size:15px;margin:0}
.pb table.data th{background:var(--navy);color:#fff;text-align:left;padding:11px 14px;font:700 13.5px var(--body)}
.pb table.data td{padding:11px 14px;border-bottom:1px solid var(--line);color:#26333D}
.pb table.data tr:nth-child(even) td{background:#fff}
.pb-faq{margin-top:38px}
.pb-faq h2{margin-bottom:14px;font-size:30px;font-weight:800;color:var(--navy)}
.pb-qa{border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:10px;overflow:hidden}
.pb-qa summary{list-style:none;cursor:pointer;padding:16px 20px;font:700 16.5px var(--body);color:var(--navy);display:flex;justify-content:space-between;align-items:center;gap:12px}
.pb-qa summary::-webkit-details-marker{display:none}
.pb-qa summary::after{content:"+";font-size:22px;color:var(--red);font-weight:700}
.pb-qa[open] summary::after{content:"\2013"}
.pb-qa .a{padding:0 20px 18px;color:#26333D;font-size:15.5px}
.pb-author{margin-top:40px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;display:flex;gap:18px;align-items:center}
.pb-author .av{width:60px;height:60px;border-radius:50%;background:var(--navy);color:#fff;flex:none;font:800 26px var(--disp);display:flex;align-items:center;justify-content:center}
.pb-author h4{font-size:19px;font-weight:800;margin-bottom:3px}
.pb-author p{color:var(--mid);font-size:14.5px;margin:0}
.pb-rail{position:sticky;top:76px;display:flex;flex-direction:column;gap:18px}
.pb-rail .cta{background:linear-gradient(150deg,var(--navy),var(--navy800));border-radius:16px;padding:24px;color:#fff}
.pb-rail .cta h4{color:#fff;font-size:21px;font-weight:800;margin-bottom:6px}
.pb-rail .cta p{color:#9FB3C0;font-size:13.5px;margin-bottom:16px}
.pb-rail .cta .b{display:block;text-align:center;background:var(--red);color:#fff;font:700 15px var(--body);padding:13px;border-radius:9px;text-decoration:none;margin-bottom:9px}
.pb-rail .cta .b.g{background:var(--green)}
.pb-rail .rel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px}
.pb-rail .rel .h{font:700 11.5px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--mid);margin-bottom:12px}
.pb-rail .rel a{display:block;text-decoration:none;color:var(--navy);font-weight:600;font-size:14.5px;padding:9px 0;border-top:1px solid var(--line)}
.pb-rail .rel a:first-of-type{border-top:0}
.pb-rail .rel a:hover{color:var(--red)}

@media(max-width:900px){
  .pb-feat{grid-template-columns:1fr}
  .pb-feat .pb-thumb{min-height:200px}
  .pb-grid{grid-template-columns:1fr 1fr}
  .pb-swrap{grid-template-columns:1fr;gap:24px}
  .pb-toc{display:none}
  .pb-rail{position:static}
}
@media(max-width:560px){
  .pb{font-size:16px}
  .pb-grid{grid-template-columns:1fr}
  .pb-ribbon,.pb-feat .fx{padding:26px}
}
