:root{
  --bg:#fffdf7;
  --ink:#2b2215;
  --muted:#6b6b6b;
  --brand:#5a472b;
  --brand-2:#7a633a;
  --ring:rgba(90,71,43,.18);
  --card:#ffffff;
  --shadow: 0 10px 30px rgba(0,0,0,.06);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; color:var(--ink);
  background-color:var(--bg);
  background-image:url("assets/parchment.jpg");
  background-size:cover;
  background-attachment:fixed;
  background-repeat:no-repeat;
  font:17px/1.7 "EB Garamond", Georgia, "Times New Roman", serif;
}
img{max-width:100%; height:auto; display:block}
a{color:var(--brand); text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(1100px, 92%); margin-inline:auto}

/* Header / Nav */
.site-header{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.86); backdrop-filter:blur(6px); box-shadow:var(--shadow)}
.nav-wrap{display:grid; grid-template-columns:auto 1fr auto auto; gap:16px; align-items:center; padding:14px 0}
.brand{font-weight:700; letter-spacing:.2px; display:flex; gap:10px; align-items:center; font-family:"IM Fell English","EB Garamond",serif; font-size:22px}
.brand .crest, .crest-img{width:38px; height:38px; display:inline-block; border-radius:8px; box-shadow:0 2px 6px rgba(0,0,0,.15)}
.nav a{padding:8px 10px; border-radius:10px}
.nav a:hover{background:rgba(90,71,43,.06); text-decoration:none}
.nav-toggle{display:none}
.search-mini input{padding:8px 10px; border:1px solid #e6e1d4; border-radius:10px}

@media (max-width:880px){
  .nav{display:none}
  .nav.open{display:flex; flex-wrap:wrap; gap:8px}
  .nav-toggle{display:inline-block; padding:8px 12px; border:1px solid #ddd; background:#fff; border-radius:10px}
  .nav-wrap{grid-template-columns:auto auto 1fr}
  .search-mini{display:none}
}

/* Hero */
.hero{background:linear-gradient(180deg, rgba(255,255,255,.92) 0, rgba(255,250,240,.9) 100%); border-bottom:1px solid #efe7d5}
.hero .container{padding:56px 0 34px}
.hero h1{font-family:"IM Fell English","EB Garamond",serif; font-size:44px; margin:0 0 8px}
.hero .tag{color:var(--muted); margin:0 0 16px}

/* Layout */
.grid{display:grid; gap:22px}
.grid-2-1{grid-template-columns:2fr 1fr}
.grid-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:880px){
  .grid-2-1{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
}
.section-title{font-family:"IM Fell English","EB Garamond",serif; font-size:26px; margin:28px 0 10px}

/* Cards / Buttons */
.card{background:rgba(255,255,255,.92); border:1px solid #efe7d5; border-radius:14px; box-shadow:var(--shadow)}
.card.post{display:grid; grid-template-columns:220px 1fr; overflow:hidden}
.card.post img{height:100%; object-fit:cover}
.card.post .post-body{padding:16px}
.card.post-mini img{border-radius:14px 14px 0 0}
.card.post-mini .post-body{padding:12px 14px}
.btn{display:inline-block; padding:10px 14px; border:1px solid #cfd8e3; border-radius:10px; background:#fff}
.btn:hover{background:#f8fafc}
.btn-primary{background:var(--brand); color:#fff; border-color:var(--brand-2)}
.btn-link{border:none; background:transparent; color:var(--brand); padding:0}

/* Sidebar */
.sidebar{position:sticky; top:90px; height:fit-content}
.widget{padding:16px}
.plain{list-style:none; padding:0; margin:0}

/* Forms */
.form{padding:16px}
.form label{display:block; margin:8px 0}
.form input, .form textarea{
  width:100%; padding:10px 12px; border:1px solid #e6e1d4; border-radius:10px; outline:none;
}
.form input:focus, .form textarea:focus{box-shadow:0 0 0 4px var(--ring)}
.grid-2{grid-template-columns:1fr 1fr}
@media (max-width:720px){.grid-2{grid-template-columns:1fr}}

/* Timeline */
.timeline{padding:24px 0 60px}
.timeline-list{list-style:none; padding:0; margin:0; border-left:2px solid #e2dac7}
.timeline-list li{display:grid; grid-template-columns:100px 1fr; gap:16px; padding:12px 0 12px 16px; position:relative}
.timeline-list li::before{content:""; position:absolute; left:-6px; top:20px; width:10px; height:10px; background:var(--brand); border-radius:50%}
.t-year{font-weight:700}
.t-text{color:var(--muted)}

/* Typography */
.prose{font-size:18px; font-family:"EB Garamond",Georgia,serif}
.prose h1, .prose h2{font-family:"IM Fell English","EB Garamond",serif}
.hero-img{border-radius:14px; border:1px solid #efe7d5; box-shadow:var(--shadow); margin:12px 0}
.muted{color:var(--muted)}
.checked{list-style:none; padding:0}
.checked li{padding-left:28px; position:relative}
.checked li::before{content:"✔"; position:absolute; left:0; top:0; color:#0a7a4b}

/* Footer */
.site-footer{margin-top:50px; background:#1b1a16; color:#dce3ec}
.site-footer a{color:#c3dcff}
.site-footer .container{padding:28px 0}
.footer-meta{display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.1); padding:14px 0; font-size:14px}
