.species-directory{background:#f6f4eb;color:#173f34;min-height:70vh;padding-bottom:48px;}
.species-directory__inner{max-width:1280px;margin:auto;padding:24px;}
.species-directory__hero{background:linear-gradient(115deg,#173f34,#365a3d);color:#f7f5e8;border-bottom:3px solid #b39750;}
.species-directory__hero h1{font-family:Georgia,serif;font-size:clamp(2.3rem,6vw,4rem);margin:8px 0;line-height:1.1;}
.species-directory__hero p{max-width:680px;line-height:1.6;}
.species-directory__hero a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;}
.species-directory__eyebrow{font-size:11px;letter-spacing:.18em;margin-top:18px;}
.species-directory__controls{display:flex;align-items:end;flex-wrap:wrap;gap:16px;border:1px solid #c6d1bd;background:#fbfaf3;padding:18px;border-radius:16px;margin-bottom:20px;}
.species-directory__controls label{display:block;flex:1;min-width:min(100%,240px);font-size:13px;font-weight:600;}
.species-directory__controls input{display:block;margin-top:6px;width:100%;padding:10px 12px;border:1px solid #aebeaa;border-radius:10px;background:#f7f6ed;color:#173f34;min-height:44px;}
.species-directory__controls p{font-size:13px;padding:12px 0;}
.species-directory button{min-height:44px;padding:10px 14px;border:1px solid #aebeaa;border-radius:10px;background:#f7f6ed;color:#173f34;}
.species-directory button:disabled{opacity:.45;cursor:not-allowed;}
.species-directory :is(a,button,input):focus-visible{outline:3px solid #a87e2e;outline-offset:3px;}
.species-directory__pages{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:20px 0;}
.species-directory__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:24px;}
.species-directory__grid h3{font-family:Georgia,serif;}
.species-directory__grid .gap-y-3>div:nth-child(n+3){display:none;}
.species-directory__grid .gap-y-3 .text-muted-foreground{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.species-directory__notice{background:#fbfaf3;border:1px solid #c6d1bd;padding:24px;border-radius:16px;margin:20px 0;}
.species-directory__notice h2{font:1.5rem Georgia,serif;margin-bottom:12px;}
.species-directory__notice a{text-decoration:underline;display:inline-flex;align-items:center;min-height:44px;}
.species-directory__coverage{font-size:12px;color:#526b59;line-height:1.6;margin-top:24px;}
@media(max-width:500px){.species-directory__inner{padding:18px;}.species-directory__controls{gap:8px;}.species-directory__controls label{flex-basis:100%;}}
