:root{--ink:#1f1b16;--brown:#8a4a22;--green:#46662a;--paper:#fcfdf9;--tint:#eef2e6;--line:#d9dccf}
*{box-sizing:border-box}body{margin:0;font:1.05rem/1.65 system-ui,sans-serif;color:var(--ink);background:var(--paper)}
h1,h2,h3{font-family:Rockwell,"Roboto Slab","Courier New",Georgia,serif;line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(2rem,5vw,3.2rem)}h2{font-size:1.7rem;color:var(--green)}h3{font-size:1.2rem;color:var(--brown)}
a{color:var(--brown)}a:focus-visible,.btn:focus-visible{outline:3px solid var(--green);outline-offset:2px}
header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 2rem;padding:.75rem 5%;border-bottom:3px solid var(--brown)}
header img{height:64px;width:auto}nav{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}nav a{text-decoration:none;font-weight:600;color:var(--ink)}nav a[aria-current]{color:var(--green);border-bottom:2px solid var(--green)}
main{max-width:46rem;margin:0 auto;padding:2rem 5%}.wide{max-width:60rem}
.hero{background:var(--tint);border-bottom:1px solid var(--line)}.hero main{padding-top:3rem;padding-bottom:3rem}.tag{font-family:Rockwell,Georgia,serif;font-size:1.25rem;color:var(--brown);font-weight:700}
.btn{display:inline-block;margin:.25rem .5rem .25rem 0;padding:.6rem 1.2rem;background:var(--green);color:#fff;text-decoration:none;font-weight:700;border-radius:4px}.btn.alt{background:var(--brown)}
.note{border-left:4px solid var(--brown);background:var(--tint);padding:.75rem 1rem;margin:1.5rem 0}
.todo{background:#fff2a8;padding:0 .2em;border-radius:2px}ol li{margin-bottom:.6rem}
footer{border-top:3px solid var(--green);padding:1.5rem 5%;font-size:.95rem;text-align:center}
.pets{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1rem;margin:1rem 0}
.pet{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}.pet img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--tint)}
.pet div{padding:.75rem}.pet h3{margin:0 0 .25rem}.pet p{margin:0;font-size:.95rem}
.filters button{font:inherit;padding:.35rem .9rem;margin-right:.4rem;border:2px solid var(--green);background:#fff;color:var(--green);border-radius:4px;cursor:pointer}.filters button[aria-pressed=true]{background:var(--green);color:#fff}
.pet .ph{padding:0;aspect-ratio:4/3;display:grid;place-items:center;background:var(--tint);color:var(--brown);font-weight:600}.pet div:not(.ph){padding:.75rem}.pet p+p{margin-top:.4rem}
