:root{--ink:#222;--muted:#666;--accent:#8a3b12;--bg:#faf7f2;--card:#fff;--line:#e2dccf}
*{box-sizing:border-box}
body{margin:0;font:17px/1.55 Georgia,"Times New Roman",serif;color:var(--ink);background:var(--bg)}
.wrap{max-width:1000px;margin:0 auto;padding:0 16px}
.top{background:var(--accent);color:#fff;padding:14px 0}
.top .wrap{display:flex;gap:16px;align-items:baseline;flex-wrap:wrap}
.brand{color:#fff;font-weight:bold;font-size:1.2rem;text-decoration:none}
.sub{opacity:.85;font-size:.95rem}
a{color:var(--accent)}
h1{margin:1.2rem 0 .4rem}
.lead{color:var(--muted);max-width:42rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin:20px 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden;text-decoration:none;color:var(--ink);display:block}
.card:hover{border-color:var(--accent)}
.card img{width:100%;height:160px;object-fit:cover;display:block}
.cap{display:block;padding:10px 12px}
.cap small{color:var(--muted)}
.photo-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:24px}
@media(max-width:700px){.photo-layout{grid-template-columns:1fr}}
.preview{width:100%;height:auto;border-radius:8px;border:1px solid var(--line)}
.meta{color:var(--muted)}
.box{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px 20px 20px;margin:24px 0}
.check{display:block;margin:14px 0;font-weight:bold}
.check input{width:20px;height:20px;vertical-align:-4px;margin-right:8px}
.btn{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:6px;padding:10px 18px;font:inherit;cursor:pointer;text-decoration:none}
.btn:hover{filter:brightness(1.1)}
.btn.small{padding:5px 12px;font-size:.9rem;margin-top:4px}
.btn.danger{background:#a02020}
.error{color:#a02020;font-weight:bold}
.notice{background:#e8f3e3;border:1px solid #b8d6ad;padding:8px 12px;border-radius:6px}
.small-note{color:var(--muted);font-size:.9rem}
.label{margin:16px 0 4px;font-weight:bold}
textarea,input[type=text],input[type=password]{width:100%;font:15px/1.4 monospace;padding:8px;border:1px solid var(--line);border-radius:6px}
.form label{display:block;margin:10px 0}
.preview-credit{background:#f1ede4;padding:10px 12px;border-radius:6px;font-size:.9rem}
table{width:100%;border-collapse:collapse;background:var(--card)}
th,td{padding:8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.foot{color:var(--muted);font-size:.9rem;padding:24px 16px}

/* ---- version 2 additions ---- */
.mainnav{margin-left:auto;display:flex;gap:18px;flex-wrap:wrap}
.mainnav a{color:#fff;text-decoration:none;opacity:.92}
.mainnav a:hover{text-decoration:underline;opacity:1}
.home-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:24px;align-items:start;margin:20px 0}
@media(max-width:760px){.home-layout{grid-template-columns:1fr}}
.hero{display:block;position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#000;text-decoration:none}
.hero img{width:100%;display:block;max-height:520px;object-fit:cover}
.hero-cap{position:absolute;left:0;right:0;bottom:0;color:#fff;padding:36px 16px 12px;background:linear-gradient(transparent,rgba(0,0,0,.75))}
.cats h2{margin:0 0 10px;font-size:1.15rem}
.cat{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px;margin-bottom:8px;text-decoration:none;color:var(--ink)}
.cat:hover{border-color:var(--accent)}
.cat img,.cat .noimg{width:56px;height:56px;object-fit:cover;border-radius:6px;flex:none;background:var(--line)}
.cat small{color:var(--muted)}
.cat.all{background:transparent;border-style:dashed;padding:12px}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.pills a{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:4px 14px;text-decoration:none;font-size:.95rem}
.pills a.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.donate-cta{margin-top:32px}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 18px;border-bottom:2px solid var(--line)}
.tabs a{padding:8px 14px;text-decoration:none;border-radius:6px 6px 0 0}
.tabs a.on{background:var(--accent);color:#fff}
.two{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media(max-width:600px){.two{grid-template-columns:1fr}}
.form label{display:block;margin:10px 0;font-weight:bold}
.form label.inline,.form label.check{font-weight:normal}
label.inline{display:inline-block;margin-right:16px}
.form input[type=text],.form input[type=email],.form input[type=file],.form select,.form textarea{width:100%;font:16px/1.4 Georgia,serif;padding:8px;border:1px solid var(--line);border-radius:6px;background:#fff;margin-top:4px}
.form input[type=radio]{width:18px;height:18px;vertical-align:-3px;margin-right:6px}
fieldset{border:1px solid var(--line);border-radius:8px;margin:16px 0;padding:8px 16px 12px}
legend{font-weight:bold;padding:0 6px}
.ifno{background:#f6f2ea;border-radius:8px;padding:4px 16px 8px;margin:12px 0}
.trap{position:absolute;left:-9999px;height:0;overflow:hidden}
.errorbox{background:#fbeaea;border:1px solid #e3b1b1;border-radius:8px;padding:8px 16px;margin:16px 0}
.answers{background:#f6f2ea;border-radius:6px;padding:8px 12px;font-size:.95rem}
.tablewrap{overflow-x:auto}
.nowrap{white-space:nowrap}
td select,td input[type=text]{font:15px Georgia,serif;padding:4px;border:1px solid var(--line);border-radius:4px;max-width:200px}
.sub h3{margin-top:12px}
hr{border:0;border-top:1px solid var(--line);margin:16px 0}
