:root { --primary:#0E7C6B; --primary-dark:#0A5D50; --ink:#12211F; --ink-2:#5A6764;
        --canvas:#F6F8F7; --surface:#FFFFFF; --border:#E2E8E6; --urgency:#B4472F; }
* { box-sizing:border-box; }
body { margin:0; padding:24px 16px; background:var(--canvas); color:var(--ink);
       font:16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
.card { max-width:480px; margin:0 auto; background:var(--surface); border:1px solid var(--border);
        border-radius:16px; padding:20px; text-align:center; }
.banner { display:inline-block; margin:0 0 16px; padding:6px 14px; border-radius:999px;
          background:var(--primary); color:#fff; font-weight:800; letter-spacing:.04em; }
.banner.lost { background:var(--urgency); }
.photo { width:100%; aspect-ratio:1; object-fit:cover; border-radius:12px; }
h1 { font-size:26px; margin:16px 0 4px; }
.description, .date, .precision { color:var(--ink-2); margin:4px 0; }
.call { font-weight:700; margin:20px 0; }
.button { display:block; padding:14px; border-radius:14px; text-decoration:none; font-weight:700; }
.button.primary { background:var(--primary); color:#fff; }
.badge { display:inline-block; margin-top:16px; }
.badge img { height:48px; }
footer { max-width:480px; margin:16px auto; color:var(--ink-2); font-size:14px; text-align:center; }
.logo { height:20px; vertical-align:middle; }
.logo.large { height:72px; }
