/* Shared catalogue and individual pages. Content is rendered in HTML. */
.resident-locations{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.resident-location{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:3px;background:#edf2e6;color:#25652d;font-size:16px;line-height:1.4;font-weight:700}
.resident-location::before{content:'●';font-size:10px}
.resident-location.night{background:#f1e8f3;color:#79366f}
.resident-location:hover{text-decoration:underline}
.resident-filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px}
.resident-filter-row>span,.resident-filter-row>label{font-size:18px;font-weight:700}
.resident-filter-row select{max-width:100%;min-height:48px;padding:10px 40px 10px 14px;border:1px solid #b4bda9;border-radius:3px;background:white;color:var(--ink);font:inherit}
.resident-filters button:focus-visible,.resident-card:focus-visible{outline:3px solid var(--pink);outline-offset:4px}
.resident-grid>a.resident-card{text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}
.resident-grid>a.resident-card:hover{border-color:var(--green);box-shadow:0 8px 22px #173e2910}
.resident-grid>a.resident-card:hover h3{color:var(--green)}
.resident-card[hidden]{display:none!important}
.resident-card>img{display:block;width:100%;height:250px;flex-shrink:0;aspect-ratio:auto;object-fit:cover;object-position:center;background:#ecebdc}
.resident-body h3,.resident-detail .animal-profile-copy h1{overflow-wrap:anywhere}
.resident-body .resident-locations{margin:14px 0 18px}
.resident-body .resident-location{font-size:14px;padding:6px 9px}
.resident-body .resident-card-summary{margin:0 0 22px}
.resident-placeholder{height:250px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;background:repeating-linear-gradient(135deg,#ecefdf 0px,#ecefdf 12px,#e8ecdb 12px,#e8ecdb 24px);color:#47623b;text-align:center;padding:24px}
.resident-placeholder svg{width:72px;height:60px;stroke:currentColor;stroke-width:1.5;fill:none}
.resident-placeholder span{font-size:16px;font-weight:600}
.resident-empty{padding:32px;background:white;border:1px solid var(--line);font-size:20px}
.resident-empty[hidden]{display:none}
.resident-total{font-size:18px!important;max-width:380px}
.resident-detail .animal-profile-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start;gap:48px}
.resident-detail .animal-profile-copy h1{font-size:clamp(38px,4.8vw,68px);line-height:1.12}
.resident-detail .latin-name{overflow-wrap:anywhere;font-size:20px}
.resident-detail .profile-lead{font-size:23px;line-height:1.55}
.resident-detail-photo{margin:0;min-width:0;background:#eeeddf;border-radius:5px;overflow:hidden}
.resident-detail-photo img{width:100%;height:auto;max-height:540px;object-fit:contain;display:block}
.resident-detail-photo figcaption{padding:14px 20px;font-size:16px;color:var(--green)}
.resident-detail-photo .resident-placeholder{height:390px}
.resident-profile-media{min-width:0}
.resident-extra-photos{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px}
.resident-extra-photos a{display:block;max-width:180px;color:var(--green);font-size:16px}
.resident-extra-photos img{width:100%;height:110px;object-fit:contain;background:#eeeddf;border-radius:4px}
.resident-extra-photos span{display:block;margin-top:8px}
.resident-detail .animal-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.resident-detail .animal-facts dd{font-size:22px;overflow-wrap:anywhere}
.resident-detail .animal-facts>div+div{padding-left:0;border:0}
.resident-detail .animal-facts dt{font-size:16px}
.resident-detail .animal-reading-layout{grid-template-columns:250px minmax(0,1fr);gap:65px}
.resident-detail .animal-visit-note{margin-top:0}
.resident-detail .animal-chapter{margin-bottom:30px;padding-bottom:30px}
.resident-detail .animal-chapter h2{font-size:30px;line-height:1.25;letter-spacing:-.5px;margin-bottom:16px}
.resident-range-map{margin:0 0 40px;padding:24px;background:var(--cream,#f4f1e7);border:1px solid var(--line);border-radius:5px}
.resident-range-map h2{font-size:28px;line-height:1.25;margin:0 0 20px}
.resident-range-map img{display:block;width:100%;height:auto;border-radius:3px;background:white}
.resident-range-map figcaption{font-size:16px;line-height:1.6;margin-top:18px}
.resident-range-map figcaption p{font-size:16px;margin:12px 0}
.range-map-legend{display:flex;gap:10px;align-items:center;font-weight:700;color:var(--green)}
.range-map-legend>span{width:18px;height:18px;flex-shrink:0;background:#246b30;border-radius:3px}
.resident-detail .animal-chapter p+p{margin-top:18px}
@media(max-width:650px){.resident-range-map{padding:16px}.resident-range-map h2{font-size:25px}}
.resident-detail .article-outro{margin-top:36px}
@media(max-width:1000px){.resident-detail .animal-facts{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.resident-detail .animal-profile-grid{gap:28px}.resident-detail .animal-reading-layout{grid-template-columns:1fr;gap:28px}.resident-detail .animal-sidebar{position:static}.resident-detail .animal-visit-note{padding:24px}}
@media(max-width:650px){.resident-extra-photos{grid-column:1}.resident-detail .animal-profile-grid{grid-template-columns:1fr}.resident-detail .animal-profile-copy h1{font-size:40px}.resident-detail .profile-lead{font-size:21px}.resident-detail .animal-facts{grid-template-columns:1fr}.resident-detail .animal-facts>div{border-top:1px solid var(--line);padding-top:16px}.resident-detail .animal-facts{border-top:0;padding-top:0}.resident-detail-photo .resident-placeholder{height:290px}.resident-filter-row{align-items:flex-start;flex-direction:column;gap:12px}.resident-filter-row select{width:100%}.resident-detail .animal-chapter h2{font-size:27px}}

/* Species within a shared resident card. */
.resident-species-list{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:20px}
.resident-species-list>li{padding:24px;background:var(--cream,#f4f1e7);border:1px solid var(--line,#deded2);border-radius:4px;min-width:0;overflow-wrap:anywhere}
.resident-species-list h3{font-size:25px;line-height:1.3;margin:0 0 10px}
.resident-species-list .resident-species-latin{font-size:17px;margin:0 0 14px}
.resident-species-list .resident-locations{margin:0 0 16px}
.resident-species-list p{font-size:18px;line-height:1.65}
.resident-species-details{margin-top:18px;border-top:1px solid var(--line,#deded2);padding-top:16px}
.resident-species-details summary{cursor:pointer;color:var(--green);font-weight:700;font-size:18px;min-height:44px;padding:8px 0}
.resident-species-details summary:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.resident-species-details h4{font-size:21px;line-height:1.4;margin:20px 0 10px}
.resident-species-note{padding-left:18px;border-left:3px solid var(--green)}
@media(max-width:650px){.resident-species-list>li{padding:18px}.resident-species-list h3{font-size:23px}}
