
:root { --parchment:#faf6ee; --parchment-deep:#f3ecdd; --ink:#1a2238; --ink-soft:#3d4763;
        --gold:#b08d2e; --gold-soft:#c9a955; --card:#fffdf7; }
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Inter',-apple-system,sans-serif; color:var(--ink); background:var(--parchment);
  background-image:radial-gradient(ellipse 120% 60% at 50% -10%, #fffdf7 0%, var(--parchment) 55%, var(--parchment-deep) 100%);
  min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; }
a { color:var(--gold); text-decoration:none; }
a:hover { color:var(--ink); }
.wrap { width:100%; max-width:46rem; margin:0 auto; padding:0 1.25rem; }
.site-head { padding:1.1rem 0 0.4rem; }
.site-head .bh { text-align:right; font-family:'Frank Ruhl Libre',Georgia,serif; font-size:1rem; color:var(--ink-soft); }
.site-head nav { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:0.4rem 1rem;
  border-bottom:1px solid var(--gold-soft); padding-bottom:0.8rem; }
.brand { font-family:'Cormorant Garamond',Georgia,serif; font-size:1.45rem; font-weight:600; color:var(--ink); }
.site-head nav .links a { font-size:0.78rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-soft); margin-left:1.1rem; }
.site-head nav .links a:hover, .site-head nav .links a.here { color:var(--gold); }
main { flex:1; padding:1.8rem 0 3rem; }
h1.page { font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; font-size:2.3rem; margin-bottom:0.4rem; }
.page-sub { color:var(--ink-soft); font-weight:300; font-size:0.98rem; margin-bottom:1.8rem; }
.searchbar { display:flex; gap:0.6rem; flex-wrap:wrap; margin-bottom:1.1rem; }
.searchbar input { flex:1 1 14rem; font:inherit; font-size:0.95rem; padding:0.62rem 0.9rem; border:1px solid var(--gold-soft);
  border-radius:8px; background:var(--card); color:var(--ink); outline:none; }
.searchbar input:focus { border-color:var(--gold); }
.typefilters { display:flex; gap:0.45rem; flex-wrap:wrap; margin-bottom:1.6rem; }
.typefilters button { font:inherit; font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; cursor:pointer;
  padding:0.42rem 0.95rem; border-radius:2rem; border:1px solid var(--gold-soft); background:transparent; color:var(--ink-soft); }
.typefilters button.on { background:var(--gold); border-color:var(--gold); color:#fffdf7; }
.count { font-size:0.8rem; color:var(--ink-soft); margin-bottom:1rem; }
.cards { display:grid; gap:1rem; }
.card { background:var(--card); border:1px solid #e8dfc9; border-radius:12px; padding:1.15rem 1.3rem; }
.card .kind { font-size:0.66rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); }
.card h2 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; font-size:1.45rem; margin:0.25rem 0 0.3rem; }
.card h2 a { color:var(--ink); }
.card h2 a:hover { color:var(--gold); }
.card .meta { font-size:0.76rem; color:var(--ink-soft); margin-bottom:0.5rem; }
.card p.desc { font-size:0.92rem; font-weight:300; line-height:1.6; color:var(--ink-soft); margin-bottom:0.7rem; }
.tags { display:flex; gap:0.4rem; flex-wrap:wrap; }
.tags a { font-size:0.72rem; padding:0.22rem 0.7rem; border:1px solid var(--gold-soft); border-radius:2rem; color:var(--ink-soft); }
.tags a:hover { border-color:var(--gold); color:var(--gold); }
article.post h1 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; font-size:2.5rem; line-height:1.12; margin-bottom:0.5rem; }
article.post .meta { font-size:0.82rem; color:var(--ink-soft); margin-bottom:1.7rem; }
article.post .meta a { color:var(--gold); }
.prose { font-weight:300; line-height:1.8; font-size:1.02rem; }
.prose p, .prose ul, .prose ol, .prose blockquote { margin-bottom:1.1rem; }
.prose h2, .prose h3 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; margin:1.6rem 0 0.6rem; }
.prose blockquote { border-right:none; border-left:3px solid var(--gold-soft); padding-left:1rem; color:var(--ink-soft); font-style:italic; }
.prose li { margin:0.3rem 0 0.3rem 1.2rem; }
.media-box { margin:0 0 1.6rem; }
.media-box audio { width:100%; }
.videowrap { position:relative; padding-top:56.25%; border-radius:12px; overflow:hidden; background:#000; }
.videowrap iframe, .videowrap video { position:absolute; inset:0; width:100%; height:100%; border:0; }
.post-tags { margin-top:2rem; padding-top:1.2rem; border-top:1px solid var(--gold-soft); }
.backlink { display:inline-block; margin-top:1.6rem; font-size:0.85rem; }
.coll-head { background:var(--card); border:1px solid #e8dfc9; border-radius:12px; padding:1.2rem 1.4rem; margin-bottom:1.6rem; }
.coll-head h2 { font-family:'Cormorant Garamond',Georgia,serif; font-size:1.5rem; font-weight:600; }
.coll-head h2 a { color:var(--ink); } .coll-head h2 a:hover { color:var(--gold); }
.coll-head p { font-size:0.9rem; font-weight:300; color:var(--ink-soft); margin-top:0.3rem; }
footer { text-align:center; font-size:0.72rem; line-height:1.5; letter-spacing:0.06em; color:#9a9077; padding:0 1.25rem 1.3rem; }
footer a { color:inherit; }
@media (max-width:480px) { article.post h1 { font-size:1.9rem; } h1.page { font-size:1.85rem; } }
