/* Canary Rescue Crew
   Palette sampled from the Rescue Crew logo. Everything is scoped under .crc
   so nothing here can leak into the rest of the site. */

.crc {
  --crc-outline:#0F0E0B;
  --crc-ink:#1B160E;
  --crc-ink-soft:#4A3D28;
  --crc-muted:#7C6A4C;
  --crc-cream:#FDF6E8;
  --crc-surface:#FFFFFF;
  --crc-surface-2:#FBF2DF;
  --crc-line:#EADCC0;
  --crc-line-strong:#D6C098;
  --crc-ember:#F2911D;
  --crc-ember-deep:#C46A08;
  --crc-gold:#F7C10A;
  --crc-fawn-deep:#8E5214;
  --crc-ok:#2C6F4B;
  --crc-ok-bg:#E1EFE6;
  --crc-warn:#8E5214;
  --crc-warn-bg:#FBEBCB;
  --crc-alert:#A8391A;
  --crc-pad:clamp(14px,4vw,26px);
  --crc-display:"Archivo Black","Arial Black","Helvetica Neue",Impact,sans-serif;
  --crc-ui:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --crc-read:Georgia,"Times New Roman",serif;

  background:var(--crc-surface);
  color:var(--crc-ink);
  font-family:var(--crc-ui);
  font-size:15px;
  line-height:1.55;
  border:1px solid var(--crc-line);
  border-radius:4px;
  overflow:hidden;
  margin:0 0 28px;
}

.crc *,
.crc *::before,
.crc *::after { box-sizing:border-box; }

.crc a { color:inherit; text-decoration:none; }
.crc p { margin:0; }
.crc b, .crc strong { font-weight:700; }
.crc h1, .crc h2, .crc h3, .crc h4 {
  margin:0; font-family:var(--crc-display); font-weight:400;
  letter-spacing:-.012em; line-height:1.05; text-wrap:balance;
}
.crc img, .crc .crc-img { max-width:100%; display:block; }
.crc :focus-visible { outline:2.5px solid var(--crc-ember); outline-offset:2px; }

.crc-eyebrow{
  font-size:11px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--crc-muted);
}
.crc-kicker{
  display:block; font-size:11px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--crc-ember-deep);
}

/* ---------- photographs ---------- */
.crc .crc-img{ width:100%; height:100%; object-fit:cover; }
.crc .crc-noimg{
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(155deg,#F3DFB8,#DFC38A);
  font-family:var(--crc-display); color:#8E5214; font-size:1.4em;
}

/* ---------- masthead ---------- */
.crc-mast{
  background:var(--crc-outline); color:#fff;
  padding:12px var(--crc-pad);
  display:flex; flex-wrap:wrap; justify-content:space-between;
  align-items:center; gap:10px 18px;
}
.crc-mast-logo{ display:block; line-height:0; }
.crc-mast img{ height:clamp(50px,10vw,74px); width:auto; }
.crc-dateline{
  font-size:12px; letter-spacing:.07em; text-transform:uppercase;
  color:#CFC4AA; font-weight:700;
}

.crc-utility{
  display:flex; justify-content:space-between; align-items:center; gap:12px;
  padding:9px var(--crc-pad); background:var(--crc-surface-2);
  border-bottom:2px solid var(--crc-ink); font-size:12.5px;
}
.crc a.crc-back{
  font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:var(--crc-ember-deep); border-bottom:1.5px solid var(--crc-ember); white-space:nowrap;
}
.crc-empty{ padding:26px var(--crc-pad); color:var(--crc-muted); font-family:var(--crc-read); }

/* ---------- today's crew member ---------- */
.crc-daily{
  display:grid; grid-template-columns:104px minmax(0,1fr) auto;
  gap:16px; align-items:center; padding:15px var(--crc-pad);
  background:var(--crc-surface-2); border-bottom:2px solid var(--crc-ink);
}
.crc-daily:hover{ background:var(--crc-cream); }
.crc-daily-ph{ width:104px; height:104px; overflow:hidden; border-radius:2px; }
.crc-daily-main{ min-width:0; }
.crc-daily-main b{
  display:block; font-family:var(--crc-display); font-size:clamp(19px,3.2vw,24px);
  line-height:1.1; margin:4px 0;
}
.crc-daily-main em{
  font-style:normal; display:block; font-family:var(--crc-read);
  font-size:clamp(15px,2vw,17px); line-height:1.4; color:var(--crc-ink-soft); max-width:54ch;
}
.crc-daily-sub{ display:block; font-size:12px; color:var(--crc-muted); margin-top:6px; }
.crc-daily-go{
  font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:var(--crc-ember-deep); white-space:nowrap; border-bottom:1.5px solid var(--crc-ember);
}
.crc-storytag{
  display:inline-block; font-size:10px; font-weight:700; letter-spacing:.09em;
  text-transform:uppercase; background:var(--crc-ember); color:#221200;
  padding:2px 6px; border-radius:2px; margin-left:7px; vertical-align:3px;
}

/* ---------- section heads ---------- */
.crc-sect{
  display:flex; justify-content:space-between; align-items:baseline; gap:12px;
  padding:16px var(--crc-pad) 6px; border-bottom:1.5px solid var(--crc-ink);
}
.crc-sect--flush{ padding-left:0; padding-right:0; padding-top:0; }
.crc-sect b{
  font-family:var(--crc-display); font-size:13px;
  letter-spacing:.15em; text-transform:uppercase;
}
.crc-sect span{
  font-size:11.5px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--crc-muted); font-weight:700;
}
.crc-sect a{
  font-size:11.5px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--crc-ember-deep); font-weight:700;
  border-bottom:1.5px solid var(--crc-ember); white-space:nowrap;
}

/* ---------- the index ---------- */
.crc-row{
  display:grid; grid-template-columns:52px minmax(0,1fr) auto;
  gap:12px; align-items:center; padding:11px var(--crc-pad);
  border-bottom:1px solid var(--crc-line);
}
.crc-row:hover{ background:var(--crc-surface-2); }
.crc-row-ph{ width:52px; height:52px; overflow:hidden; border-radius:2px; }
.crc-row-main{ min-width:0; }
.crc-row-name{ font-family:var(--crc-display); font-size:16px; line-height:1.15; display:block; }
.crc-row-line{
  font-family:var(--crc-read); font-size:14.5px; line-height:1.35;
  color:var(--crc-ink-soft); display:block;
}
.crc-row-sub{ font-size:12px; color:var(--crc-muted); display:block; margin-top:2px; }
.crc-row-date{
  text-align:right; font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--crc-muted); font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap;
}

.crc-tag{
  display:inline-block; font-size:10px; font-weight:700; letter-spacing:.09em;
  text-transform:uppercase; padding:2px 6px; border-radius:2px;
  vertical-align:2px; margin-left:6px;
}
.crc-tag--pend{ background:var(--crc-warn-bg); color:var(--crc-warn); }
.crc-tag--new{ background:var(--crc-gold); color:#221200; }
.crc-tag--adopted{ background:var(--crc-ok-bg); color:var(--crc-ok); }

.crc-seeall{
  display:block; padding:14px var(--crc-pad); text-align:center;
  background:var(--crc-surface-2); border-bottom:1px solid var(--crc-line);
  font-weight:700; font-size:14px;
}
.crc-seeall span{ color:var(--crc-ember-deep); border-bottom:2px solid var(--crc-ember); }

/* ---------- also meet ---------- */
.crc-spotlight{
  padding:16px var(--crc-pad); background:var(--crc-gold); color:#221200;
  border-bottom:2px solid var(--crc-ink);
  display:grid; grid-template-columns:1fr; gap:12px 26px; align-items:center;
}
@media (min-width:760px){
  .crc-spotlight{ grid-template-columns:minmax(0,1fr) auto; }
}
.crc-spotlight .crc-eyebrow{ color:#7A5B00; }
.crc-why{ font-size:13.5px; color:#3A2A00; font-family:var(--crc-read); margin-top:3px; max-width:38ch; }
.crc-spot3{ display:grid; grid-template-columns:repeat(3,minmax(0,132px)); gap:12px; }
.crc a.crc-spot{ min-width:0; color:#221200; }
.crc-spot-ph{ display:block; aspect-ratio:1/1; overflow:hidden; border-radius:2px; }
.crc-spot b{ display:block; font-family:var(--crc-display); font-size:13.5px; margin-top:6px; line-height:1.1; }
.crc-spot i{ font-style:normal; display:block; font-size:11.5px; color:#4A3600; line-height:1.3; margin-top:1px; }

/* ---------- home this month ---------- */
.crc-homerow{ padding:14px var(--crc-pad) 18px; border-bottom:2px solid var(--crc-ink); }
.crc-homes{ display:flex; gap:9px; overflow-x:auto; padding-top:10px; }
.crc-home{ flex:none; width:88px; }
.crc-home-ph{ display:block; width:88px; height:88px; overflow:hidden; border-radius:2px; }
.crc-home b{ display:block; font-family:var(--crc-display); font-size:13px; margin-top:5px; line-height:1.1; }
.crc-home span{ display:block; font-size:11px; color:var(--crc-muted); }

/* ---------- events ---------- */
.crc-ev{
  display:grid; grid-template-columns:54px minmax(0,1fr); gap:14px;
  padding:12px var(--crc-pad); border-bottom:1px solid var(--crc-line); align-items:start;
}
.crc-ev-date{
  text-align:center; border:1.5px solid var(--crc-ink); border-radius:3px;
  padding:4px 2px 5px; font-variant-numeric:tabular-nums;
}
.crc-ev-date b{ display:block; font-family:var(--crc-display); font-size:19px; line-height:1; }
.crc-ev-date i{
  font-style:normal; display:block; font-size:10px; letter-spacing:.1em;
  text-transform:uppercase; font-weight:700; color:var(--crc-muted);
}
.crc-ev-main b{ font-family:var(--crc-display); font-size:15.5px; display:block; line-height:1.2; }
.crc-ev-main span{ font-size:13px; color:var(--crc-muted); display:block; margin-top:2px; }
.crc-ev-main em{
  font-style:normal; font-family:var(--crc-read); font-size:14.5px;
  color:var(--crc-ink-soft); display:block; margin-top:3px;
}

/* ---------- from the canary ---------- */
.crc-story{
  display:grid; grid-template-columns:minmax(0,1fr) 84px; gap:14px;
  padding:12px var(--crc-pad); border-bottom:1px solid var(--crc-line); align-items:center;
}
.crc-story h4{ font-size:16px; line-height:1.2; }
.crc-story-meta{
  font-size:12px; color:var(--crc-muted); display:block; margin-top:4px;
  letter-spacing:.05em; text-transform:uppercase; font-weight:700;
}
.crc-story-ph{ width:84px; height:60px; overflow:hidden; border-radius:2px; }

/* ---------- ways to help ---------- */
.crc-help4{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(196px,1fr));
  gap:1px; background:var(--crc-line);
  border-top:1px solid var(--crc-line); border-bottom:2px solid var(--crc-ink);
}
.crc-help{ background:var(--crc-surface); padding:14px 15px 16px; }
.crc-help b{ display:block; font-family:var(--crc-display); font-size:15px; margin-bottom:4px; }
.crc-help p{ font-size:13.5px; color:var(--crc-ink-soft); line-height:1.45; font-family:var(--crc-read); }

/* ---------- the rescues ---------- */
.crc-orgs{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(258px,1fr));
  gap:1px; background:var(--crc-line); border-top:1px solid var(--crc-line);
}
.crc-org{
  background:var(--crc-surface); padding:15px 16px 17px;
  display:flex; flex-direction:column; gap:9px;
}
.crc-org-hd{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
.crc-org-hd b{ font-family:var(--crc-display); font-size:16px; line-height:1.15; }
.crc-org-count{
  font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
  color:#221200; background:var(--crc-ember); padding:3px 7px; border-radius:2px; white-space:nowrap;
}
.crc-org dl{ margin:0; display:grid; grid-template-columns:auto 1fr; gap:3px 12px; font-size:13px; }
.crc-org dt{
  color:var(--crc-muted); font-weight:700; font-size:10.5px;
  letter-spacing:.06em; text-transform:uppercase; padding-top:2px; margin:0;
}
.crc-org dd{ margin:0; color:var(--crc-ink-soft); }
.crc-wish{ border-top:1px solid var(--crc-line); padding-top:9px; }
.crc-wish .crc-eyebrow{ display:block; margin-bottom:6px; color:var(--crc-fawn-deep); }
.crc-wishchips{ display:flex; flex-wrap:wrap; gap:5px; }
.crc-wishchips i{
  font-style:normal; font-size:12px; font-weight:600; background:var(--crc-surface-2);
  border:1px solid var(--crc-line-strong); border-radius:2px; padding:3px 8px;
}
.crc-org-acts{ display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; padding-top:4px; }
.crc-org-acts a{
  font-size:12px; font-weight:700; border:1px solid var(--crc-line-strong);
  border-radius:3px; padding:6px 10px; background:var(--crc-surface-2);
}
.crc .crc-org-acts a.crc-primary{
  background:var(--crc-outline); border-color:var(--crc-outline); color:var(--crc-gold);
}

/* ---------- one animal's page ---------- */
.crc-story-body{ padding:20px var(--crc-pad) 24px; }
.crc-h1{ font-size:clamp(27px,5.6vw,42px); line-height:1.02; margin:8px 0 10px; }
.crc-deck{
  font-family:var(--crc-read); font-size:clamp(16px,2.1vw,18.5px);
  line-height:1.5; color:var(--crc-ink-soft); max-width:52ch; margin-bottom:14px;
}
.crc-figure{ margin:0 0 16px; max-width:680px; }
.crc-figure .crc-shot{
  display:flex; align-items:center; justify-content:center; padding:10px;
  background:var(--crc-surface-2); border:1px solid var(--crc-line); border-radius:2px;
}
/* Never blown up past its own pixels, never taller than a screenful. A phone
   photo held upright would otherwise fill the whole column top to bottom. */
.crc-figure .crc-shot-img{
  width:auto; height:auto; max-width:100%; max-height:620px;
  object-fit:contain; display:block;
}
.crc-specline{
  display:flex; flex-wrap:wrap; gap:6px 0; font-size:13.5px; margin:16px 0;
  padding:10px 0; border-top:2px solid var(--crc-ink); border-bottom:1px solid var(--crc-line);
}
.crc-specline span{ padding-right:12px; margin-right:12px; border-right:1px solid var(--crc-line-strong); }
.crc-specline span:last-child{ border-right:0; margin-right:0; padding-right:0; }
.crc-goods{ display:flex; flex-wrap:wrap; gap:7px; margin-bottom:16px; }
.crc-good{
  display:inline-flex; align-items:center; border-radius:3px; padding:5px 11px;
  font-size:12.5px; font-weight:600; border:1px solid transparent;
}
.crc-good--y{ background:var(--crc-ok-bg); color:var(--crc-ok); border-color:rgba(44,111,75,.32); }
.crc-good--n{ background:var(--crc-surface-2); color:var(--crc-alert); border-color:rgba(168,57,26,.3); }
.crc-good--u{ background:var(--crc-surface-2); color:var(--crc-muted); border-color:var(--crc-line-strong); }
.crc-traits-head{ margin-bottom:7px; }
.crc-traits{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px; }
.crc-trait{
  font-size:12.5px; font-weight:600; border:1px solid var(--crc-line-strong);
  border-radius:999px; padding:4px 12px; background:var(--crc-surface-2); color:var(--crc-ink-soft);
}
.crc-needline{
  font-family:var(--crc-read); font-size:15.5px; line-height:1.5;
  background:var(--crc-warn-bg); border-left:3px solid var(--crc-fawn-deep);
  padding:10px 13px; margin-bottom:16px; color:var(--crc-ink);
}
.crc-needline b{
  font-family:var(--crc-ui); font-size:11px; font-weight:700; letter-spacing:.09em;
  text-transform:uppercase; color:var(--crc-fawn-deep); display:block; margin-bottom:3px;
}
.crc-copy{
  font-family:var(--crc-read); font-size:17.5px; line-height:1.62;
  color:var(--crc-ink); max-width:62ch;
}
.crc-copy p{ margin:0 0 .75em; }
.crc-ourstory{ margin:4px 0 16px; }
.crc-ourstory a{
  font-weight:700; font-size:14px; color:var(--crc-ember-deep);
  border-bottom:1.5px solid var(--crc-ember);
}
.crc-rescue-block{
  border:1px solid var(--crc-line); border-left:4px solid var(--crc-ember);
  padding:14px 15px; background:var(--crc-surface-2); margin:18px 0;
}
.crc-rescue-block h2{ font-size:15px; margin-bottom:8px; }
.crc-rescue-block dl{ margin:0; display:grid; grid-template-columns:auto 1fr; gap:3px 14px; font-size:13.5px; }
.crc-rescue-block dt{ color:var(--crc-muted); font-weight:600; margin:0; }
.crc-rescue-block dd{ margin:0; }
.crc-rescue-link{ margin-top:9px; font-size:13px; }
.crc-rescue-link a{ font-weight:700; color:var(--crc-ember-deep); border-bottom:1.5px solid var(--crc-ember); }
.crc-btnrow{ display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
.crc a.crc-btn{
  border-radius:3px; padding:10px 16px; font-size:13.5px; font-weight:700;
  border:1.5px solid var(--crc-outline); background:var(--crc-outline);
  color:var(--crc-gold); display:inline-block; text-align:center;
}
.crc a.crc-btn--ghost{ background:transparent; color:var(--crc-ink); border-color:var(--crc-ink); }
.crc-adopted-note{
  margin-top:16px; padding:11px 13px; background:var(--crc-ok-bg);
  border-left:3px solid var(--crc-ok); font-family:var(--crc-read);
  font-size:15.5px; line-height:1.5;
}

/* ---------- narrow screens ---------- */
@media (max-width:560px){
  .crc-daily{ grid-template-columns:84px minmax(0,1fr); gap:12px; }
  .crc-daily-ph{ width:84px; height:84px; }
  .crc-daily-go{ grid-column:1 / -1; text-align:right; }
  .crc-spot3{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .crc-story{ grid-template-columns:minmax(0,1fr) 68px; }
  .crc-story-ph{ width:68px; height:52px; }
  .crc-figure .crc-shot{ padding:6px; }
  .crc-figure .crc-shot-img{ max-height:70vh; }
}
