:root{--bg:#fdf7f0;--paper:#fffdf9;--ink:#2b2320;--soft:#6b5d55;--accent:#c4553a;--accent2:#e9a23b;--rose:#f6e1d8;--line:#ecdccd;--he:#eef3f7;--she:#fbe9e2}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.65 Georgia,"Iowan Old Style","Palatino Linotype",serif}
a{color:var(--accent)}.wrap{max-width:46rem;margin:0 auto;padding:0 1.1rem}
h1,h2,h3,.brand,nav,.meta,.kicker,.tag,.who,.slot-label{font-family:"Avenir Next","Segoe UI",system-ui,sans-serif}
header.site{background:var(--paper);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.8rem;padding-bottom:.8rem;gap:.5rem}
.brand{font-weight:800;font-size:1.45rem;text-decoration:none;color:var(--ink);letter-spacing:-.02em}.brand span{color:var(--accent)}
nav a{margin-left:1rem;text-decoration:none;color:var(--soft);font-size:.95rem}nav a:first-child{margin-left:0}nav a:hover{color:var(--accent)}
main{padding:1.5rem 1.1rem 3rem}
.hero{padding:2rem 0 1rem}.hero h1{font-size:2.4rem;line-height:1.1;margin:0 0 .5rem;letter-spacing:-.03em}.hero p{color:var(--soft);font-size:1.1rem;margin:0}
.section-title{font-size:1rem;text-transform:uppercase;letter-spacing:.1em;color:var(--soft);margin:2rem 0 1rem}
.cards{display:grid;gap:1rem}
.card a{display:block;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1.2rem 1.3rem;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
.card a:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(120,70,40,.1)}
.hook{font-style:italic;font-size:1.25rem;color:var(--accent);margin:0 0 .3rem}.card h3{margin:0 0 .2rem;font-size:1.15rem}.card p{margin:.3rem 0}
.meta{color:var(--soft);font-size:.85rem}.tags{margin-top:.6rem}
.tag{display:inline-block;background:var(--rose);color:#8a3b28;border-radius:99px;padding:.1rem .6rem;font-size:.75rem;margin:0 .3rem .3rem 0}
.post h1{font-size:2rem;line-height:1.15;margin:.5rem 0 .2rem;letter-spacing:-.02em}
.kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--soft);margin:0}
.the-line{margin:.4rem 0 1rem;font-size:1.7rem;line-height:1.3;font-style:italic;color:var(--accent);border-left:5px solid var(--accent2);padding:.2rem 0 .2rem 1rem}
.summary{font-size:1.1rem;color:var(--soft)}
.slot{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:.7rem 1rem;margin:1rem 0;display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.slot[hidden]{display:none}.slot audio{width:100%;max-width:28rem}.slot-label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--soft)}
.body h2{font-size:1.35rem;margin:2.2rem 0 .6rem}
.body blockquote{margin:1rem 0;padding:.6rem 1rem;background:var(--paper);border-left:4px solid var(--line);border-radius:0 10px 10px 0;color:var(--soft)}
.dialogue{margin:1rem 0;display:flex;flex-direction:column;gap:.5rem}
.line{display:flex;gap:.6rem;align-items:baseline;padding:.55rem .9rem;border-radius:14px;max-width:92%}
.line .who{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;flex:0 0 2.6rem}
.line.he{background:var(--he);align-self:flex-start}.line.he .who{color:#3c6a8c}
.line.she{background:var(--she);align-self:flex-end}.line.she .who{color:var(--accent)}
.line.nar{background:none;font-style:italic;color:var(--soft);align-self:center;font-size:.92rem}
.callout{background:linear-gradient(135deg,#fff3dc,#fde4d6);border:2px solid var(--accent2);border-radius:16px;padding:.4rem 1.3rem 1rem;margin:2rem 0;box-shadow:0 4px 18px rgba(233,162,59,.18)}
.callout h2{color:var(--accent);margin-top:1rem}.callout h2::before{content:"\2728  "}
.month h2{font-size:1.2rem;border-bottom:1px solid var(--line);padding-bottom:.3rem}.month ul{list-style:none;padding:0}
.month li{margin:.5rem 0}.month a{text-decoration:none;color:var(--ink)}.month .d{color:var(--soft);font-size:.85rem;display:inline-block;width:4rem}.month em{color:var(--accent)}
footer.site{border-top:1px solid var(--line);background:var(--paper);color:var(--soft);font-size:.9rem;padding:1.2rem 0}.small{font-size:.8rem}
.empty{color:var(--soft);font-style:italic}
@media(min-width:720px){.cards{grid-template-columns:1fr 1fr}.hero h1{font-size:3rem}.post h1{font-size:2.5rem}}
