@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..600;1,9..144,400&family=Spectral:ital,wght@0,400;0,500;1,400&display=swap');
:root{
  --paper:#f4f0e4; --ink:#2b2a23; --moss:#3d5036; --moss-d:#27331f;
  --rust:#9a5b32; --line:#cfc6ac; --soft:#6b6754;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:'Spectral',Georgia,serif;
  font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--moss);text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:var(--rust)}
h1,h2{font-family:'Fraunces',Georgia,serif;font-weight:500;line-height:1.15}

header.site,footer.site{display:flex;justify-content:space-between;align-items:center;
  padding:1.1rem 2rem;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.6rem}
footer.site{border-bottom:none;border-top:1px solid var(--line);margin-top:4rem;
  color:var(--soft);font-size:.85rem}
.brand{font-family:'Fraunces',serif;font-weight:600;font-size:1.25rem;
  color:var(--moss-d);text-decoration:none;letter-spacing:-.01em}
header.site nav a{margin-left:1.4rem;font-size:.95rem}

/* HOME */
main.home{max-width:920px;margin:0 auto;padding:3rem 2rem}
.hero{text-align:center;padding:2rem 0 3rem}
.kicker{text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;
  color:var(--rust);margin-bottom:1rem}
.hero h1{font-size:clamp(2.4rem,6vw,4rem);color:var(--moss-d);margin-bottom:1rem}
.lede{font-size:1.2rem;color:var(--soft);max-width:620px;margin:0 auto;font-style:italic}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);margin:2.5rem 0}
.stats div{background:var(--paper);padding:1.5rem 1rem;text-align:center}
.stats strong{display:block;font-family:'Fraunces',serif;font-size:2rem;color:var(--moss)}
.stats span{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--soft)}
.search-box{margin:2.5rem 0}
#q{width:100%;padding:.9rem 1.1rem;font-family:'Spectral',serif;font-size:1.05rem;
  background:#fff;border:1.5px solid var(--line);border-radius:2px;color:var(--ink)}
#q:focus{outline:none;border-color:var(--moss)}
#results,#list{list-style:none;margin-top:.5rem}
#results li,#list li{padding:.55rem .9rem;border-bottom:1px solid var(--line)}
#results li a,#list li a{text-decoration:none;display:flex;justify-content:space-between;gap:1rem}
#results li i,#list li i{color:var(--moss-d)}
#results li small,#list li small{color:var(--soft);font-style:italic}
.tribes{margin-top:3rem}
.tribe-list{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.tribe-list li{background:var(--moss);color:var(--paper);padding:.35rem .9rem;
  border-radius:2px;font-size:.9rem}

/* TAXON PAGE */
main.taxon{max-width:760px;margin:0 auto;padding:2.5rem 2rem}
.crumb{font-size:.8rem;color:var(--soft);letter-spacing:.03em;margin-bottom:1.2rem}
main.taxon h1{font-size:clamp(2rem,5vw,3rem);color:var(--moss-d)}
main.taxon h1 i{font-style:italic}
.auth{color:var(--rust);font-size:.95rem;margin-top:.2rem}
.common{font-size:1.3rem;color:var(--soft);font-style:italic;margin:.3rem 0 1.5rem}
main.taxon figure{margin:1.5rem 0;border:1px solid var(--line);background:#fff;padding:.5rem}
.block{margin:2rem 0;padding-top:1.5rem;border-top:1px solid var(--line)}
.block h2{font-size:1.3rem;color:var(--moss);margin-bottom:.7rem}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:.1rem}
.fact{padding:.5rem .2rem;border-bottom:1px solid var(--line)}
.fact dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--rust)}
.fact dd{font-size:.98rem}
.months{display:flex;gap:3px;margin-top:.8rem;flex-wrap:wrap}
.months .m{flex:1;min-width:32px;text-align:center;padding:.4rem .2rem;font-size:.72rem;
  background:#fff;border:1px solid var(--line);color:var(--soft)}
.months .m.on{background:var(--moss);color:var(--paper);border-color:var(--moss);font-weight:500}
.block details{border-bottom:1px solid var(--line);padding:.6rem 0}
.block summary{cursor:pointer;font-weight:500;color:var(--moss-d)}
.block details p{margin-top:.5rem;color:var(--soft)}
.links a{margin-right:.4rem}
.dq{font-size:.78rem;color:var(--soft);font-style:italic;margin-top:2rem;
  padding-top:1rem;border-top:1px dotted var(--line)}

/* LISTING + PROSE */
main.listing,main.prose{max-width:760px;margin:0 auto;padding:2.5rem 2rem}
main.listing h1,main.prose h1{font-size:2.3rem;color:var(--moss-d);margin-bottom:1rem}
main.prose h2{font-size:1.4rem;color:var(--moss);margin:1.8rem 0 .6rem}
main.prose p{margin-bottom:1rem}
#count{color:var(--soft);font-size:.9rem;margin:.6rem 0}

@media(max-width:560px){
  .stats{grid-template-columns:repeat(2,1fr)}
  .facts{grid-template-columns:1fr}
  body{font-size:17px}
}
