/* ProBirdFeeder design system */
:root{
  --bg:#fbf8f2;
  --bg-alt:#f3eee3;
  --surface:#ffffff;
  --ink:#1f2a24;
  --ink-soft:#4c5b52;
  --ink-faint:#5d6b62;
  --line:#e2dccd;
  --brand:#2f5d43;
  --brand-dark:#22452f;
  --brand-soft:#e8f0e9;
  --accent:#c1622d;
  --accent-soft:#fcefe4;
  --gold:#d99b1c;
  --radius:14px;
  --radius-sm:8px;
  --shadow:0 1px 2px rgba(31,42,36,.06),0 8px 24px -16px rgba(31,42,36,.28);
  --maxw:1180px;
  --font-body:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --font-ui:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#141815;--bg-alt:#1b211d;--surface:#1c2320;--ink:#e9eeea;--ink-soft:#b6c2ba;
    --ink-faint:#8fa096;--line:#2c352f;--brand:#7fbb96;--brand-dark:#a4d3b6;--brand-soft:#20302a;
    --accent:#e8935c;--accent-soft:#2e241d;--gold:#e0b04a;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px -16px rgba(0,0,0,.8);
  }
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);
  font-size:1.0625rem;line-height:1.7;text-rendering:optimizeLegibility}
img,svg{max-width:100%;height:auto}
a{color:var(--brand);text-underline-offset:.18em;text-decoration-thickness:.07em}
a:hover{color:var(--accent)}
.skip{position:absolute;left:-9999px;top:0;background:var(--brand);color:#fff;padding:.7rem 1.1rem;z-index:100;border-radius:0 0 8px 0}
.skip:focus{left:0}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:3px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}

/* ---------- header ---------- */
.masthead{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.masthead-in{display:flex;align-items:center;gap:1rem;min-height:66px}
.logo{display:flex;align-items:center;gap:.6rem;font-family:var(--font-ui);font-weight:800;
  font-size:1.2rem;letter-spacing:-.02em;color:var(--ink);text-decoration:none;flex:none}
.logo .mark{width:34px;height:34px;flex:none}
.logo b{color:var(--brand)}
.nav{margin-left:auto;font-family:var(--font-ui);font-size:.9rem}
.nav ul{display:flex;gap:.15rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.nav a{display:block;padding:.45rem .6rem;border-radius:7px;color:var(--ink-soft);text-decoration:none;font-weight:600}
.nav a:hover,.nav a[aria-current="page"]{background:var(--brand-soft);color:var(--brand-dark)}
.navtoggle{display:none;margin-left:auto;font-family:var(--font-ui);font-weight:700;font-size:.9rem;
  background:var(--brand-soft);color:var(--brand-dark);border:1px solid var(--line);border-radius:8px;padding:.5rem .8rem;cursor:pointer}
@media (max-width:900px){
  .navtoggle{display:block}
  .nav{margin-left:0;flex-basis:100%;display:none;padding-bottom:.8rem}
  .nav.open{display:block}
  .nav ul{flex-direction:column;gap:0}
  .nav a{padding:.6rem .5rem;border-bottom:1px solid var(--line);border-radius:0}
  .masthead-in{flex-wrap:wrap}
}

/* ---------- layout ---------- */
main{display:block}
.page{padding:2rem 0 3.5rem}
.cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:3rem;align-items:start}
@media (max-width:1000px){.cols{grid-template-columns:minmax(0,1fr)}.side{display:none}}
.side{position:sticky;top:86px;font-family:var(--font-ui)}
article{max-width:none}

/* ---------- typography ---------- */
h1,h2,h3,h4{font-family:var(--font-ui);line-height:1.22;letter-spacing:-.021em;color:var(--ink);font-weight:800}
h1{font-size:clamp(1.95rem,1.35rem + 2.2vw,3rem);margin:.2rem 0 .6rem}
h2{font-size:clamp(1.42rem,1.15rem + 1.1vw,1.85rem);margin:2.6rem 0 .8rem;padding-top:.3rem}
h3{font-size:1.2rem;margin:1.9rem 0 .55rem;font-weight:700}
h4{font-size:1.03rem;margin:1.4rem 0 .4rem;font-weight:700;color:var(--ink-soft)}
p{margin:0 0 1.15rem}
.standfirst{font-size:1.2rem;line-height:1.6;color:var(--ink-soft);margin-bottom:1.5rem}
article ul,article ol{margin:0 0 1.25rem;padding-left:1.35rem}
article li{margin-bottom:.45rem}
article li::marker{color:var(--brand)}
strong{font-weight:700;color:var(--ink)}
blockquote{margin:1.6rem 0;padding:.2rem 0 .2rem 1.2rem;border-left:4px solid var(--brand);color:var(--ink-soft);font-style:italic}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:var(--bg-alt);padding:.12em .35em;border-radius:4px}
hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}
.h2anchor{color:var(--ink-faint);text-decoration:none;font-weight:400;opacity:0;margin-left:.35rem;font-size:.75em}
h2:hover .h2anchor,h3:hover .h2anchor{opacity:1}

/* ---------- tables ---------- */
.tablewrap{overflow-x:auto;margin:1.6rem 0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
table{border-collapse:collapse;width:100%;font-family:var(--font-ui);font-size:.925rem}
th,td{padding:.72rem .9rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
thead th{background:var(--brand-soft);color:var(--brand-dark);font-weight:700;white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
tbody tr:nth-child(even){background:color-mix(in srgb,var(--bg-alt) 55%,transparent)}

/* ---------- callouts ---------- */
.callout{margin:1.7rem 0;padding:1.15rem 1.3rem;border-radius:var(--radius);border:1px solid var(--line);
  background:var(--surface);font-family:var(--font-ui);font-size:.97rem;line-height:1.62}
.callout p:last-child,.callout ul:last-child,.callout ol:last-child{margin-bottom:0}
.callout .ct{display:block;font-weight:800;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;margin-bottom:.5rem}
.callout--key{background:var(--brand-soft);border-color:transparent}
.callout--key .ct{color:var(--brand-dark)}
.callout--tip{background:var(--accent-soft);border-color:transparent}
.callout--tip .ct{color:var(--accent)}
.callout--warn{background:#fdf3e0;border-color:#f0dcb4}
.callout--warn .ct{color:#9a6a12}
@media (prefers-color-scheme:dark){.callout--warn{background:#2c2517;border-color:#463a21}.callout--warn .ct{color:var(--gold)}}
.takeaways{margin:0 0 2rem;padding:1.25rem 1.4rem;background:var(--brand-soft);border-radius:var(--radius);font-family:var(--font-ui)}
.takeaways h2{margin:0 0 .6rem;font-size:.79rem;letter-spacing:.09em;text-transform:uppercase;color:var(--brand-dark)}
.takeaways ul{margin:0;padding-left:1.15rem;font-size:.98rem;line-height:1.6}
.takeaways li{margin-bottom:.4rem;color:var(--ink-soft)}
.takeaways li strong{color:var(--ink)}

/* ---------- meta / breadcrumbs ---------- */
.crumbs{font-family:var(--font-ui);font-size:.83rem;color:var(--ink-faint);margin:0 0 1rem}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0}
.crumbs li::after{content:"›";margin-left:.4rem;color:var(--line)}
.crumbs li:last-child::after{content:""}
.crumbs a{color:var(--ink-faint);text-decoration:none}
.crumbs a:hover{color:var(--brand);text-decoration:underline}
.byline{font-family:var(--font-ui);font-size:.85rem;color:var(--ink-faint);display:flex;flex-wrap:wrap;
  gap:.35rem .8rem;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:.7rem 0;margin:0 0 1.8rem}
.byline a{color:var(--ink-soft)}
.eyebrow{font-family:var(--font-ui);font-size:.76rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:var(--accent);margin:0 0 .4rem}

/* ---------- toc ---------- */
.toc{font-family:var(--font-ui);background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);padding:1.1rem 1.25rem;margin:0 0 2rem}
.toc>strong{display:block;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.55rem}
.toc ol{list-style:none;margin:0;padding:0;font-size:.94rem;columns:2;column-gap:2rem}
@media (max-width:640px){.toc ol{columns:1}}
.toc li{margin-bottom:.32rem;break-inside:avoid}
.toc a{color:var(--ink-soft);text-decoration:none}
.toc a:hover{color:var(--brand);text-decoration:underline}

/* ---------- cards ---------- */
.grid{display:grid;gap:1.1rem;margin:1.5rem 0 2rem}
.grid--3{grid-template-columns:repeat(auto-fill,minmax(255px,1fr))}
.grid--2{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);padding:1.1rem 1.2rem;text-decoration:none;color:inherit;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--brand)}
.card h3{margin:0 0 .35rem;font-size:1.04rem;font-family:var(--font-ui);color:var(--ink);line-height:1.32}
.card p{margin:0;font-size:.9rem;color:var(--ink-soft);font-family:var(--font-ui);line-height:1.55}
.card .kicker{font-family:var(--font-ui);font-size:.7rem;font-weight:800;letter-spacing:.09em;
  text-transform:uppercase;color:var(--accent);margin:0 0 .45rem}
.card .sci{font-style:italic;color:var(--ink-faint);font-size:.83rem;font-family:var(--font-body);margin-bottom:.3rem}

.seccard{display:flex;gap:.95rem;align-items:flex-start;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);padding:1.15rem 1.2rem;text-decoration:none;color:inherit;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.seccard:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--brand)}
.seccard svg{width:40px;height:40px;flex:none;margin-top:2px}
.seccard h3{margin:0 0 .25rem;font-size:1.06rem}
.seccard p{margin:0;font-size:.89rem;color:var(--ink-soft);font-family:var(--font-ui);line-height:1.55}
.seccard .n{display:block;margin-top:.5rem;font-family:var(--font-ui);font-size:.76rem;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint)}

/* ---------- link lists ---------- */
.linklist{list-style:none;margin:1.2rem 0 2rem;padding:0;font-family:var(--font-ui);
  border-top:1px solid var(--line)}
.linklist li{border-bottom:1px solid var(--line)}
.linklist a{display:flex;gap:.8rem;align-items:baseline;padding:.72rem .2rem;text-decoration:none;color:var(--ink)}
.linklist a:hover{background:var(--bg-alt);color:var(--brand-dark)}
.linklist .t{font-weight:650;font-size:.99rem}
.linklist .d{color:var(--ink-faint);font-size:.87rem;margin-left:auto;text-align:right;flex:1 1 45%;min-width:0}
@media (max-width:640px){.linklist a{flex-direction:column;gap:.15rem}.linklist .d{margin-left:0;text-align:left}}

/* ---------- hero ---------- */
.hero{background:linear-gradient(170deg,var(--brand-soft),var(--bg) 78%);border-bottom:1px solid var(--line)}
.hero-in{display:grid;grid-template-columns:1.15fr .85fr;gap:2.5rem;align-items:center;padding:3rem 0 3.2rem}
@media (max-width:860px){.hero-in{grid-template-columns:1fr;gap:1.5rem;padding:2.2rem 0 2.4rem}}
.hero h1{font-size:clamp(2.1rem,1.3rem + 3vw,3.35rem);margin:0 0 .8rem}
.hero p{font-size:1.16rem;color:var(--ink-soft);max-width:34em;margin:0 0 1.4rem}
.hero-art{width:100%}
.btnrow{display:flex;flex-wrap:wrap;gap:.7rem;font-family:var(--font-ui)}
.btn{display:inline-block;background:var(--brand);color:#fff;padding:.72rem 1.25rem;border-radius:9px;
  font-weight:700;font-size:.95rem;text-decoration:none;border:1px solid var(--brand)}
.btn:hover{background:var(--brand-dark);color:#fff}
.btn--ghost{background:transparent;color:var(--brand-dark);border-color:var(--line)}
.btn--ghost:hover{background:var(--surface);color:var(--brand-dark)}
@media (prefers-color-scheme:dark){.btn{color:#10201a}.btn:hover{color:#10201a}}

/* ---------- band ---------- */
.band{background:var(--bg-alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:2.6rem 0}
.band h2{margin-top:0}
.sectitle{display:flex;align-items:baseline;gap:.9rem;flex-wrap:wrap;margin:2.8rem 0 .3rem}
.sectitle h2{margin:0}
.sectitle a{font-family:var(--font-ui);font-size:.86rem;font-weight:700;text-decoration:none;margin-left:auto}
.lede{color:var(--ink-soft);margin:.35rem 0 0;max-width:62ch}

/* ---------- species factbox ---------- */
.factbox{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.2rem 1.35rem;margin:0 0 2rem;font-family:var(--font-ui)}
.factbox h2{margin:0 0 .75rem;font-size:.79rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint)}
.factbox dl{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1.1rem;margin:0;font-size:.94rem}
.factbox dt{font-weight:700;color:var(--ink-soft)}
.factbox dd{margin:0;color:var(--ink)}
@media (max-width:520px){.factbox dl{grid-template-columns:1fr;gap:.05rem 0}.factbox dd{margin-bottom:.55rem}}

/* ---------- faq ---------- */
.faq{margin:2.5rem 0 1rem}
.faq details{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);
  margin-bottom:.65rem;padding:0 1.1rem}
.faq summary{cursor:pointer;font-family:var(--font-ui);font-weight:700;padding:.9rem 0;list-style:none;
  display:flex;align-items:flex-start;gap:.6rem;font-size:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"+";color:var(--brand);font-weight:800;flex:none;width:1em;font-size:1.15em;line-height:1.25}
.faq details[open] summary::before{content:"−"}
.faq details>div{padding:0 0 .9rem 1.6rem;color:var(--ink-soft);font-size:.99rem}
.faq details>div p:last-child{margin-bottom:0}

/* ---------- side widgets ---------- */
.widget{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.05rem 1.15rem;margin-bottom:1.2rem;font-size:.9rem}
.widget h2{font-size:.77rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 .6rem}
.widget ul{list-style:none;margin:0;padding:0}
.widget li{margin-bottom:.5rem;line-height:1.45}
.widget a{color:var(--ink);text-decoration:none;font-weight:600}
.widget a:hover{color:var(--brand);text-decoration:underline}

/* ---------- ads ---------- */
.adslot{margin:2.2rem 0;text-align:center;min-height:1px}
.adslot--side{margin:0 0 1.2rem}
.adlabel{display:block;font-family:var(--font-ui);font-size:.65rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-faint);margin-bottom:.35rem}

/* ---------- prev/next + related ---------- */
.related{margin-top:3rem;padding-top:1.8rem;border-top:2px solid var(--line)}
.related h2{margin-top:0;font-size:1.25rem}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.4rem;font-family:var(--font-ui)}
@media (max-width:640px){.pager{grid-template-columns:1fr}}
.pager a{display:block;padding:.9rem 1.05rem;border:1px solid var(--line);border-radius:var(--radius);
  text-decoration:none;background:var(--surface)}
.pager a:hover{border-color:var(--brand)}
.pager span{display:block;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.2rem}
.pager b{color:var(--ink);font-weight:650;font-size:.95rem;line-height:1.35}
.pager .nx{text-align:right}

/* ---------- search ---------- */
.searchbox{display:flex;gap:.6rem;margin:1.5rem 0 1rem;font-family:var(--font-ui)}
.searchbox input{flex:1;padding:.8rem 1rem;font-size:1rem;border:1px solid var(--line);
  border-radius:9px;background:var(--surface);color:var(--ink);font-family:var(--font-ui)}
#results{list-style:none;padding:0;margin:1.5rem 0}
#results li{border-bottom:1px solid var(--line);padding:.85rem 0}
#results a{font-family:var(--font-ui);font-weight:700;text-decoration:none;font-size:1.03rem}
#results p{margin:.2rem 0 0;font-size:.9rem;color:var(--ink-soft);font-family:var(--font-ui)}
.hint{color:var(--ink-faint);font-size:.9rem;font-family:var(--font-ui)}

/* ---------- footer ---------- */
.foot{background:var(--brand-dark);color:#d9e5dc;margin-top:0;padding:3rem 0 2rem;font-family:var(--font-ui);font-size:.9rem}
@media (prefers-color-scheme:dark){.foot{background:#101512;border-top:1px solid var(--line)}}
.foot a{color:#fff;text-decoration:none}
@media (prefers-color-scheme:dark){.foot a{color:var(--brand-dark)}}
.foot a:hover{text-decoration:underline}
.footgrid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:2rem}
@media (max-width:820px){.footgrid{grid-template-columns:1fr 1fr;gap:1.5rem}}
@media (max-width:480px){.footgrid{grid-template-columns:1fr}}
.foot h2{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:#9fb7a8;margin:0 0 .7rem;font-weight:800}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin-bottom:.42rem}
.foot .about p{color:#b9cdc0;line-height:1.6;margin:.6rem 0 0;max-width:34ch;font-size:.88rem}
.footbar{margin-top:2.4rem;padding-top:1.3rem;border-top:1px solid rgba(255,255,255,.14);
  display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;color:#9fb7a8;font-size:.83rem}
.footbar nav{display:flex;gap:1.1rem;flex-wrap:wrap;margin-left:auto}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- interactive tools ---------- */
.tool{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.3rem 1.4rem;margin:1.8rem 0 2rem;font-family:var(--font-ui)}
.tool label{display:block;font-size:.76rem;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-faint);margin-bottom:.3rem}
.tool input,.tool select{width:100%;padding:.62rem .7rem;font-size:1rem;font-family:var(--font-ui);
  border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}
.toolrow{display:grid;grid-template-columns:auto 7rem 1fr;gap:.7rem;align-items:end}
.toolrow label{align-self:center;margin-bottom:0;white-space:nowrap}
@media (max-width:560px){.toolrow{grid-template-columns:1fr}.toolrow label{margin-bottom:.3rem}}
.toolfilters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem}
.toolout{margin-top:1.2rem}
.toolgrid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
@media (max-width:520px){.toolgrid{grid-template-columns:1fr}}
.toolcard{background:var(--brand-soft);border-radius:var(--radius-sm);padding:.9rem 1rem}
.toolcard .tl{display:block;font-size:.72rem;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:var(--brand-dark);margin-bottom:.25rem}
.toolcard b{display:block;font-size:1.5rem;line-height:1.15;color:var(--ink);letter-spacing:-.02em}
.toolcard .ts{display:block;font-size:.82rem;color:var(--ink-faint);margin-top:.2rem}
.toolhint{font-size:.88rem;color:var(--ink-soft);margin:.9rem 0 0;font-family:var(--font-ui)}
.toolnote{font-size:.82rem;color:var(--ink-faint);margin:.9rem 0 0;font-family:var(--font-ui)}
#bf-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));
  gap:.9rem;margin-top:1rem}
.bfcard{display:block;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:.9rem 1rem;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}
.bfcard:hover{border-color:var(--brand);transform:translateY(-2px)}
.bfcard h3{margin:0;font-size:1rem;line-height:1.3}
.bfcard .sci{display:block;font-family:var(--font-body);font-style:italic;
  font-size:.82rem;color:var(--ink-faint);margin-bottom:.45rem}
.bfcard dl{display:grid;grid-template-columns:auto 1fr;gap:.15rem .6rem;margin:.35rem 0 0;font-size:.83rem}
.bfcard dt{color:var(--ink-faint);font-weight:700}
.bfcard dd{margin:0;color:var(--ink-soft)}

/* --- v4 additions ------------------------------------------------------- */
figure.fig{margin:1.6rem 0;padding:0}
figure.fig img{display:block;width:100%;height:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
figure.fig figcaption{margin-top:.55rem;font-family:var(--font-ui);font-size:.87rem;line-height:1.5;color:var(--ink-faint)}
.srcnote{margin:.85rem 0 0;font-family:var(--font-ui);font-size:.87rem;line-height:1.55;color:var(--ink-faint)}
.related ul a[target="_blank"]::after{content:" \2197";color:var(--ink-faint);font-size:.85em}
.byline{flex-wrap:wrap}
table th[scope="row"]{text-align:left;font-weight:600}
.answerbox{margin:1.5rem 0;padding:1.05rem 1.2rem;background:var(--brand-soft);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--radius-sm)}
.answerbox p{margin:0}
.answerbox p+p{margin-top:.6rem}
.updated{font-family:var(--font-ui);font-size:.85rem;color:var(--ink-faint)}
@media print{.masthead,.side,.pager,.foot,.skip,.adslot{display:none!important}.cols{display:block}}

/* Ghost buttons inherited .btn's hard-coded dark ink, which made them unreadable
   against the dark theme background. Raise specificity so the token wins. */
.btn.btn--ghost{color:var(--brand-dark);background:transparent;border-color:var(--line)}
.btn.btn--ghost:hover{background:var(--surface);color:var(--brand-dark);border-color:var(--brand)}

/* The accent orange failed WCAG AA at small sizes (3.92:1 on the page background).
   Darkened just enough to clear 4.5:1 against bg, surface, bg-alt and accent-soft,
   while staying visibly the same colour. Dark mode already passed, so it is unchanged. */
:root{--accent:#ae502c}
@media (prefers-color-scheme:dark){:root{--accent:#e8935c}}
/* Warning callout label: 4.29:1 was under AA. #8d6110 clears it at 4.95:1. */
.callout--warn .ct{color:#8d6110}
@media (prefers-color-scheme:dark){.callout--warn .ct{color:var(--gold)}}

/* ---------- research layer (v5) ---------- */
table caption{caption-side:top;text-align:left;padding:.7rem .9rem;font-family:var(--font-ui);
  font-size:.84rem;color:var(--ink-faint);border-bottom:1px solid var(--line)}

/* checkbox grids for the Feeder Log form */
.cbset{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.9rem 1rem;margin:1.1rem 0 0;background:var(--bg)}
.cbset legend{font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-faint);padding:0 .4rem}
.cbgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.3rem .8rem;
  max-height:19rem;overflow-y:auto;padding:.2rem}
.cb{display:flex;align-items:center;gap:.45rem;font-size:.88rem;font-weight:500;
  text-transform:none;letter-spacing:0;color:var(--ink);margin:0;cursor:pointer}
.cb input{width:auto;margin:0;flex:0 0 auto}
.tool textarea{width:100%;padding:.62rem .7rem;font-size:1rem;font-family:var(--font-ui);
  border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);resize:vertical}

/* status pills */
.pill{display:inline-block;font-family:var(--font-ui);font-size:.7rem;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;padding:.2rem .5rem;border-radius:999px;
  background:var(--brand-soft);color:var(--brand-dark);vertical-align:middle}
.pill--open{background:#e4efe6;color:#2f5d43}
.pill--data{background:#eae4f2;color:#4b3a6b}
.pill--live{background:#fbeede;color:#8a5a1a}

/* horizontal bar rows for coverage and distribution figures */
.bars{margin:1.5rem 0;font-family:var(--font-ui);font-size:.9rem}
.bars .row{display:grid;grid-template-columns:minmax(8rem,13rem) 1fr auto;gap:.7rem;
  align-items:center;margin-bottom:.5rem}
.bars .lbl{color:var(--ink-soft);font-weight:600}
.bars .track{background:var(--brand-soft);border-radius:999px;height:1.15rem;overflow:hidden}
.bars .fill{background:var(--brand);height:100%;border-radius:999px}
.bars .fill--alt{background:#8a9a6b}
.bars .val{color:var(--ink-faint);font-variant-numeric:tabular-nums;white-space:nowrap}
.bars .cap{color:var(--ink-faint);font-size:.83rem;margin:.8rem 0 0}

/* dataset explorer */
.dsbar{display:grid;grid-template-columns:1fr auto;gap:.8rem;align-items:end;margin-bottom:.9rem}
.dstable td .sci{font-style:italic;color:var(--ink-faint);font-size:.85rem}
.dstags{display:flex;flex-wrap:wrap;gap:.25rem}
.dstag{font-size:.72rem;background:var(--brand-soft);color:var(--brand-dark);
  padding:.12rem .42rem;border-radius:4px;white-space:nowrap}
.dscount{font-family:var(--font-ui);font-size:.88rem;color:var(--ink-faint);margin:.6rem 0 0}

/* protocol / dataset cards */
.rcard{display:block;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);
  padding:1.1rem 1.2rem;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}
.rcard:hover{border-color:var(--brand);transform:translateY(-2px)}
.rcard h3{margin:.45rem 0 .4rem;font-size:1.06rem;line-height:1.3}
.rcard p{margin:0;font-size:.92rem;color:var(--ink-soft);line-height:1.5}
.rcard .meta{display:block;margin-top:.6rem;font-family:var(--font-ui);font-size:.78rem;color:var(--ink-faint)}
@media (max-width:620px){.bars .row{grid-template-columns:1fr;gap:.2rem}.dsbar{grid-template-columns:1fr}}
