.fauna-index { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0 36px; }
.fauna-index a { padding:7px 15px; border:1px solid var(--line); border-radius:30px; color:var(--ink); text-decoration:none; background:var(--paper); font-size:.88rem; }
.fauna-index a:hover { background:var(--mist); }
.fauna-section { margin-block:54px; }
.fauna-reading { padding:20px 24px; margin:24px 0; background:#e5ece3; border-left:3px solid var(--green); border-radius:0 12px 12px 0; font-size:.96rem; }
.fauna-group-title { margin:38px 0 20px; font:600 1.7rem Georgia,serif; }
.fauna-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:start; }
.fauna-card { min-width:0; border:1px solid var(--line); border-radius:15px; overflow:hidden; background:var(--paper); box-shadow:0 6px 18px #17364009; }
.fauna-figure { margin:0; }
.fauna-figure a { display:block; }
.fauna-figure img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.fauna-figure figcaption { padding:10px 16px; font-size:.72rem; line-height:1.5; color:var(--ink-soft); background:#edf0e8; }
.fauna-card-copy { padding:20px; }
.fauna-card-copy h3 { margin:0; font:600 1.35rem/1.25 Georgia,serif; }
.fauna-card-copy p { font-size:.93rem; line-height:1.6; margin:12px 0 0; }
.fauna-card-copy .fauna-taxon, .fauna-taxon { color:#456546; margin-top:7px; }
.fauna-use { padding-top:12px; border-top:1px solid var(--line); }
.fauna-card-copy .fauna-visual-note { padding-top:12px; border-top:1px solid var(--line); font-size:.84rem; color:var(--ink-soft); }
.fauna-card--pending { background:#f3efe3; border-color:#cfc4a8; }
.fauna-card--pending .eyebrow { color:#755b2c; }
.sabaleta-feature { padding:clamp(20px,4vw,40px); margin:54px 0; background:#f4f1e7; border:1px solid #bac8b7; border-radius:20px; }
.sabaleta-intro { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; }
.sabaleta-intro .fauna-figure { border-radius:14px; overflow:hidden; }
.sabaleta-intro h3 { margin-top:0; }
.sabaleta-memory { margin-top:30px; padding:24px 28px; background:#e2e9de; border-radius:12px; }
.sabaleta-memory blockquote { margin:18px 0; padding-left:20px; border-left:3px solid #688268; font:italic 1.4rem/1.55 Georgia,serif; }
.fauna-source-note { font-size:.86rem; color:var(--ink-soft); }
.fauna-evidence { margin-top:22px; padding:18px 20px; background:#fff9; border:1px solid var(--line); border-radius:12px; }
.fauna-evidence summary { cursor:pointer; font-weight:700; }
.fauna-evidence h3 { font-size:1.16rem; }
.fauna-cotejo { margin-block:36px 50px; }
.fauna-table-wrap { overflow-x:auto; max-width:100%; margin-block:20px; }
.fauna-cotejo table { width:100%; border-collapse:collapse; font-size:.88rem; line-height:1.55; }
.fauna-cotejo caption { text-align:left; font-weight:700; padding-bottom:12px; }
.fauna-cotejo th,.fauna-cotejo td { text-align:left; vertical-align:top; padding:13px 15px; border-bottom:1px solid var(--line); }
.fauna-cotejo thead { background:#e2e9de; }
.fauna-cotejo tbody th { width:25%; font-weight:600; }
.fauna-cotejo td:nth-child(2) { width:22%; color:#456546; }
@media(max-width:560px) { .fauna-cotejo table { min-width:640px; } }
.media-dialog { width:min(1080px,94vw); max-height:94vh; padding:16px; border:0; border-radius:15px; color:var(--ink); background:var(--paper); }
.media-dialog::backdrop { background:#071e28d9; }
.dialog-close { display:block; margin:0 0 12px auto; padding:8px 16px; border:1px solid var(--line); border-radius:8px; background:white; color:var(--ink); cursor:pointer; font:inherit; }
.dialog-media { display:block; width:100%; max-height:73vh; object-fit:contain; }
.dialog-caption { margin:12px 0 0; font-size:.85rem; }
.fauna-index a:focus-visible,.fauna-figure a:focus-visible,.dialog-close:focus-visible,summary:focus-visible { outline:3px solid #b9863b; outline-offset:3px; }
@media(max-width:850px) { .fauna-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .sabaleta-intro { grid-template-columns:1fr; } }
@media(max-width:560px) { .fauna-grid { grid-template-columns:1fr; gap:22px; } .fauna-card-copy { padding:20px; } .sabaleta-feature { padding:20px 16px; } .sabaleta-memory { padding:20px 17px; } .sabaleta-memory blockquote { font-size:1.2rem; } .fauna-reading { padding:17px; } }
