:root{--ink:#2a2420;--muted:#7a6d62;--paper:#fbf7f1;--card:#fff;--accent:#b5562b;--deep:#23343b;--line:#e8dfd3}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.65 "Source Serif 4",Georgia,serif}
a{color:var(--accent)}h1,h2,h3,h4{font-family:Fraunces,Georgia,serif;line-height:1.2;font-weight:600}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}.narrow{max-width:720px}
.top{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:9}.top .wrap{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;flex-wrap:wrap;gap:8px}
.brand{font:600 24px Fraunces,serif;color:var(--ink);text-decoration:none}.brand span{display:block;font:600 11px Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
nav a{font:600 14px Inter,sans-serif;color:var(--ink);text-decoration:none;margin-left:20px}nav a.on,nav a:hover{color:var(--accent)}
.kicker{font:600 12px Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.hero{background:linear-gradient(135deg,#23343b,#3d2f27);color:#f6efe6;padding:80px 0}.hero h1{font-size:clamp(32px,5vw,54px);max-width:820px;margin:.2em 0}.lead{font-size:20px;max-width:640px;color:inherit;opacity:.9}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:12px 22px;border-radius:999px;font:600 15px Inter,sans-serif;text-decoration:none;border:0;cursor:pointer;margin:6px 6px 0 0}.btn.ghost{background:transparent;border:1px solid currentColor;color:inherit}
.feature{margin-top:-40px}.feature>div{background:var(--card);padding:28px;border-radius:14px;box-shadow:0 10px 30px #0002}.feature h2{margin:.1em 0 .5em}
.embed{position:relative;padding-top:56.25%}.embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:10px}
.head{display:flex;justify-content:space-between;align-items:baseline;margin-top:56px;border-bottom:2px solid var(--ink)}.head a{font:600 14px Inter,sans-serif}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;margin-top:22px}
.card{background:var(--card);padding:22px;border-radius:12px;border:1px solid var(--line)}.card time,.post time{font:600 12px Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.card h3{margin:.3em 0;font-size:22px}.card h3 a{color:var(--ink);text-decoration:none}.card p{color:var(--muted);font-size:16px;margin:0}
.sgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin-top:20px}.sermon h4{font-size:16px;margin:.5em 0}
.thumb{display:block;position:relative}.thumb img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;display:block}.thumb span{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:42px;text-shadow:0 2px 10px #000a}
.church{background:var(--accent);color:#fff;margin-top:60px;padding:50px 0;text-align:center}.church .btn{background:#fff;color:var(--accent)}
.signup{background:var(--deep);color:#eee;padding:44px 0;margin-top:60px}.church+.signup{margin-top:0}.signup form{display:flex;gap:8px;flex-wrap:wrap}.signup input{flex:1;min-width:220px;padding:12px;border-radius:999px;border:0;font:16px Inter}.signup button{background:var(--accent);color:#fff;border:0;padding:12px 22px;border-radius:999px;font:600 15px Inter}
footer{padding:30px 0;font:14px Inter,sans-serif;color:var(--muted)}
.pt{font-size:44px;margin:48px 0 0}.cols{display:grid;grid-template-columns:1fr 260px;gap:40px;margin-top:24px}.list .card{margin-bottom:18px}
aside ul{list-style:none;padding:0;columns:2;font:15px Inter}.tags a{display:inline-block;font:13px Inter;background:#efe5d8;color:var(--ink);padding:3px 10px;border-radius:999px;margin:3px;text-decoration:none}
.pager,.pn{display:flex;justify-content:space-between;font:600 15px Inter;margin:24px 0;gap:12px}
.post h1{font-size:clamp(32px,5vw,46px);margin:.2em 0 .6em}.prose img{max-width:100%;height:auto;border-radius:8px}.prose{font-size:19px}
.series-idx{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}.series-idx a{font:13px Inter;background:#fff;border:1px solid var(--line);padding:4px 10px;border-radius:999px;text-decoration:none;color:var(--ink)}
.series{margin-top:40px}.series h2 small{font:14px Inter;color:var(--muted)}.filter{width:100%;padding:12px 16px;border:1px solid var(--line);border-radius:10px;font:16px Inter;margin-top:16px}
.draft{background:#fff3cd;border:1px dashed #c9a227;padding:10px 14px;border-radius:8px;font:600 14px Inter;margin-top:30px}
.contact label{display:block;font:600 14px Inter;margin:14px 0}.contact input,.contact textarea,.contact select{display:block;width:100%;padding:10px;margin-top:4px;border:1px solid var(--line);border-radius:8px;font:16px Inter}
@media(max-width:800px){.cols{grid-template-columns:1fr}nav a{margin:0 14px 0 0}.hero{padding:50px 0 70px}}
.herogrid{display:grid;grid-template-columns:1fr 280px;gap:40px;align-items:center}.heroimg{width:280px;height:280px;object-fit:cover;border-radius:50%;border:6px solid #ffffff22}.portrait{width:220px;height:220px;object-fit:cover;border-radius:50%;margin:20px 0 0}@media(max-width:800px){.herogrid{grid-template-columns:1fr}.heroimg{width:160px;height:160px;order:-1}}
nav a.minor{font-size:.8em;opacity:.75}
nav a.xl{font-weight:600}
.badge{display:inline-block;background:#b5562b;color:#fff;font:600 .72rem Inter,sans-serif;letter-spacing:.04em;text-transform:uppercase;padding:.2em .6em;border-radius:3px;margin:0 0 .5em}
.series-line{font:600 .9rem Inter,sans-serif;color:#23343b;margin:.2em 0}
.minorlink{font:.9rem Inter,sans-serif;opacity:.8}
.prose blockquote{border-left:3px solid #b5562b;margin:1.2em 0;padding:.2em 1em;font-style:italic}
