/* The Science Desk — pestmanagementscience.com */
:root{--paper:#f7f4ec;--ink:#10151c;--ink2:#2b3442;--amber:#b45309;--amber-dark:#92400e;--rule:#c9c2b0;--rule-dark:#10151c;--wash:#efe9d8;--focus:#7c2d12}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:1.05rem;line-height:1.65}
a{color:var(--amber-dark);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:.75rem 1rem;z-index:10}
.skip:focus{left:0}
.masthead{border-bottom:3px double var(--rule-dark);padding:1.25rem 0 .9rem}
.wrap{max-width:62rem;margin:0 auto;padding:0 1.25rem}
.kicker{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink2);margin:0}
.brand{font-family:Georgia,"Times New Roman",serif;font-size:2.05rem;line-height:1.1;margin:.3rem 0 .2rem;font-weight:700}
.brand a{color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;min-height:44px;padding:.3rem 0}
.tagline{font-family:Georgia,serif;font-style:italic;color:var(--ink2);margin:0 0 .6rem}
nav.main{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-top:.8rem}
nav.main ul{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0}
nav.main li{flex:1 1 auto}
nav.main a{display:flex;align-items:center;justify-content:center;padding:.85rem .7rem;min-height:44px;color:var(--ink);text-decoration:none;font-size:.93rem;border-right:1px solid var(--rule);text-align:center}
nav.main li:last-child a{border-right:none}
nav.main a:hover,nav.main a[aria-current="page"]{background:var(--wash);text-decoration:underline}
h1{font-family:Georgia,serif;font-size:2.3rem;line-height:1.15;margin:1.6rem 0 .6rem}
h2{font-family:Georgia,serif;font-size:1.55rem;line-height:1.25;margin:2.2rem 0 .5rem;border-bottom:1px solid var(--rule);padding-bottom:.3rem}
h3{font-family:Georgia,serif;font-size:1.2rem;margin:1.6rem 0 .4rem}
.lede{font-size:1.18rem;line-height:1.6}
.byline{font-size:.88rem;color:var(--ink2);border-bottom:1px solid var(--rule);padding-bottom:.6rem}
table.lab{width:100%;border-collapse:collapse;margin:1rem 0 1.5rem;font-size:.95rem}
table.lab caption{text-align:left;font-family:Georgia,serif;font-weight:700;padding:.4rem 0}
table.lab th,table.lab td{border-top:1px solid var(--rule-dark);border-bottom:1px solid var(--rule);padding:.55rem .6rem;text-align:left;vertical-align:top}
table.lab thead th{border-bottom:2px solid var(--rule-dark);background:var(--wash)}
table.sections{table-layout:fixed}
table.sections col.c1{width:38%}
table.sections col.c2{width:62%}
/* Wide reference tables: scroll inside a labelled region, never the page */
.table-scroll{overflow-x:auto;margin:1rem 0 1.5rem;border:1px solid var(--rule)}
.table-scroll table.lab{margin:0;min-width:46rem}
.table-scroll table.lab th:first-child,.table-scroll table.lab td:first-child{position:sticky;left:0;background:var(--paper);box-shadow:1px 0 0 var(--rule)}
.table-scroll table.lab thead th:first-child{background:var(--wash)}
.scroll-hint{font-size:.85rem;color:var(--ink2);margin:.8rem 0 -.4rem}
@media(min-width:60rem){.scroll-hint{display:none}}
/* Generous hit areas for links in tables and lists (WCAG 2.2 inline exception
   covers running-text links in sentences; tables/lists get padded targets) */
table.lab td a{display:inline-block;padding:.65rem .15rem;margin:-.325rem -.15rem;min-height:44px}
/* Glossary A-Z index */
.azindex{display:flex;flex-wrap:wrap;gap:.3rem;list-style:none;padding:0;margin:1rem 0}
.azindex a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--rule-dark);text-decoration:none;font-family:Georgia,serif;font-weight:700;padding:.3rem .5rem}
.note{border-left:4px solid var(--amber);background:var(--wash);padding:.8rem 1rem;margin:1.2rem 0}
.note p{margin:.2rem 0}
.plate{border:1px solid var(--rule-dark);padding:1rem;margin:1.5rem 0;background:#fffdf6}
.plate figcaption{font-size:.88rem;color:var(--ink2);margin-top:.6rem;border-top:1px solid var(--rule);padding-top:.5rem}
.plate svg{width:100%;height:auto;display:block}
footer{border-top:3px double var(--rule-dark);margin-top:3rem;padding:1.5rem 0 2.5rem;font-size:.92rem;color:var(--ink2)}
footer nav ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:1rem}
footer a{min-height:44px;display:inline-flex;align-items:center}
input[type="search"],select{font:inherit;padding:.6rem;min-height:48px;border:1px solid var(--ink);background:#fff;width:100%;max-width:28rem}
button{font:inherit;padding:.6rem 1rem;min-height:44px;border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer}
dl.gloss dt{font-family:Georgia,serif;font-weight:700;border-top:1px solid var(--rule);padding-top:.7rem;margin-top:.7rem;scroll-margin-top:1rem}
dl.gloss dd{margin:.2rem 0 .4rem}
ul.tight li{margin:.35rem 0}
.small{font-size:.9rem;color:var(--ink2)}
@media(max-width:40rem){
.brand{font-size:1.75rem}
h1{font-size:1.8rem}
.kicker{font-size:.68rem;letter-spacing:.09em}
nav.main ul{display:grid;grid-template-columns:1fr 1fr}
nav.main li{flex:none}
nav.main a{justify-content:flex-start;text-align:left;border:1px solid var(--rule);margin:0 -1px -1px 0;padding:.8rem .9rem;min-height:48px}
}
