:root {
  --sand:    #EDE8DF;
  --sand2:   #E4DDD2;
  --sand3:   #D8D0C4;
  --cream:   #F7F4EF;
  --white:   #FDFCFA;
  --ink:     #1C1917;
  --ink2:    #44403C;
  --muted:   #78716C;
  --light:   #A8A29E;
  --terr:    #C2714F;
  --terr2:   #E8937A;
  --terr-bg: #F9EDE7;
  --sage:    #5C7A6B;
  --sage-bg: #EAF1EC;
  --border:  #DDD8D0;
  --r:       16px;
  --r-lg:    24px;
  --r-xl:    36px;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
.b-body {
  font-family:'Inter', sans-serif;
  background: var(--cream);
  color: var(--ink);
  line-height:1.6;
  font-weight:300;
  overflow-x:hidden;
}

/* nav (matches main site) */
.b-nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  height:60px; padding:0 48px;
  display:flex; align-items:center; justify-content:space-between;
  background:rgba(247,244,239,0.85);
  backdrop-filter:blur(24px);
  border-bottom:1px solid var(--border);
}
.b-nav-logo {
  font-family:'Lora', serif;
  font-size:1.15rem; font-weight:500;
  color:var(--ink); text-decoration:none;
  letter-spacing:-0.01em;
  display:flex; align-items:center; gap:8px;
}
.b-nav-logo img { width:28px; height:28px; object-fit:contain; }
.b-nav-links { display:flex; gap:4px; list-style:none; align-items:center; }
.b-nav-links a {
  text-decoration:none; color:var(--ink2);
  font-size:0.8rem; font-weight:400;
  padding:7px 14px; border-radius:100px;
  transition:background 0.15s;
}
.b-nav-links a:hover { background:var(--sand); }
.b-nav-cta {
  background:var(--ink) !important;
  color:var(--white) !important;
  border-radius:100px !important;
}
.b-nav-cta:hover { background:var(--ink2) !important; }
.b-nav-lang { display:flex; align-items:center; gap:6px; margin-left:8px; }
.b-nav-lang a {
  font-size:0.75rem; font-weight:500; color:var(--muted);
  text-decoration:none; padding:4px 10px; border-radius:100px;
  border:1px solid var(--border);
}
.b-nav-lang a.on { color:var(--terr); border-color:var(--terr); background:var(--terr-bg); }
.b-hamburger {
  display:none; flex-direction:column; gap:5px; cursor:pointer;
  background:none; border:none; padding:6px;
}
.b-hamburger span { display:block; width:22px; height:1.5px; background:var(--ink); border-radius:2px; }

/* layout */
.b-list-page, .b-article {
  max-width:1100px;
  margin:0 auto;
  padding:120px 80px 80px;
}
.b-eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  font-size:0.72rem; font-weight:500; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--terr); margin-bottom:14px;
}
.b-eyebrow::before {
  content:''; width:28px; height:1.5px; background:var(--terr);
}

/* list header */
.b-list-header {
  text-align:left;
  max-width:720px;
  margin-bottom:56px;
}
.b-list-h1 {
  font-family:'Lora', serif;
  font-size:clamp(2.4rem, 3.6vw, 4rem);
  font-weight:500; line-height:1.08;
  letter-spacing:-0.02em;
  color:var(--ink); margin-bottom:18px;
}
.b-list-sub {
  font-size:1.05rem; line-height:1.7;
  color:var(--ink2); font-weight:300;
}

/* post cards */
.post-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));
  gap:24px;
}
.post-card {
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  display:flex;
  flex-direction:column;
  transition:box-shadow 0.2s, transform 0.2s;
}
.post-card:hover { box-shadow:0 12px 36px rgba(28,25,23,0.08); transform:translateY(-3px); }
.post-card-cover {
  aspect-ratio:16/9;
  background:var(--sand);
  overflow:hidden;
}
.post-card-cover.no-cover {
  background:linear-gradient(135deg, var(--terr-bg), var(--sand));
  position:relative;
}
.post-card-cover.no-cover::after {
  content:''; position:absolute;
  bottom:-30px; right:-30px;
  width:140px; height:140px;
  border-radius:60% 40% 55% 45%;
  background:var(--terr2); opacity:0.25;
}
.post-card-cover img { width:100%; height:100%; object-fit:cover; display:block; }
.post-card-body { padding:24px 24px 28px; display:flex; flex-direction:column; gap:10px; flex:1; }
.post-card-date {
  font-size:0.72rem; color:var(--light);
  text-transform:uppercase; letter-spacing:0.08em;
}
.post-card-title {
  font-family:'Lora', serif;
  font-size:1.3rem; font-weight:500; line-height:1.25;
  color:var(--ink);
}
.post-card-excerpt {
  font-size:0.88rem; line-height:1.65;
  color:var(--muted);
  flex:1;
}
.post-card-read {
  margin-top:8px;
  font-size:0.82rem; font-weight:500;
  color:var(--terr);
}
.post-empty {
  font-family:'Lora', serif; font-style:italic;
  font-size:1.1rem; color:var(--muted);
  padding:48px 0;
}

/* article */
.b-crumbs {
  font-size:0.8rem; color:var(--muted);
  margin-bottom:24px;
  display:flex; gap:6px; align-items:center;
}
.b-crumbs a { color:var(--muted); text-decoration:none; }
.b-crumbs a:hover { color:var(--terr); }
.b-post {
  max-width:720px;
  margin:0 auto;
}
.b-post-head { margin-bottom:36px; }
.b-post-title {
  font-family:'Lora', serif;
  font-size:clamp(2rem, 3.4vw, 3.2rem);
  font-weight:500; line-height:1.12;
  letter-spacing:-0.015em;
  color:var(--ink);
  margin-bottom:16px;
}
.b-post-meta {
  font-size:0.85rem; color:var(--muted);
  display:flex; gap:10px; align-items:center;
  flex-wrap:wrap;
}
.b-dot { color:var(--light); }
.b-post-cover {
  margin:32px -40px;
  border-radius:var(--r-lg);
  overflow:hidden;
  background:var(--sand);
}
.b-post-cover img { width:100%; height:auto; display:block; }
.b-post-body {
  font-size:1.05rem; line-height:1.85;
  color:var(--ink2); font-weight:300;
}
.b-post-body h2 {
  font-family:'Lora', serif;
  font-size:1.7rem; font-weight:500;
  color:var(--ink);
  margin:42px 0 14px;
  letter-spacing:-0.01em; line-height:1.25;
}
.b-post-body h3 {
  font-family:'Lora', serif;
  font-size:1.3rem; font-weight:500;
  color:var(--ink);
  margin:32px 0 12px;
}
.b-post-body p { margin-bottom:20px; }
.b-post-body a { color:var(--terr); text-decoration:underline; text-underline-offset:3px; }
.b-post-body a:hover { color:var(--terr2); }
.b-post-body ul, .b-post-body ol { margin:0 0 22px 22px; }
.b-post-body li { margin-bottom:8px; }
.b-post-body blockquote {
  font-family:'Lora', serif; font-style:italic;
  font-size:1.2rem; line-height:1.6;
  color:var(--ink2);
  border-left:3px solid var(--terr);
  padding:6px 0 6px 24px;
  margin:28px 0;
}
.b-post-body strong { font-weight:500; color:var(--ink); }
.b-post-body em { font-style:italic; }
.b-post-body code {
  background:var(--sand);
  padding:2px 8px;
  border-radius:6px;
  font-size:0.92em;
  font-family:'SF Mono', Menlo, monospace;
}
.b-post-body img {
  max-width:100%;
  border-radius:var(--r);
  margin:24px 0;
}
.b-post-body hr {
  border:none;
  border-top:1px solid var(--border);
  margin:40px 0;
}

.b-post-cta {
  margin-top:56px;
  padding-top:36px;
  border-top:1px solid var(--border);
  text-align:center;
}
.b-cta-btn {
  display:inline-block;
  background:var(--ink); color:var(--white);
  padding:14px 32px; border-radius:100px;
  text-decoration:none;
  font-size:0.9rem; font-weight:500;
  transition:background 0.2s, transform 0.2s;
}
.b-cta-btn:hover { background:var(--ink2); transform:translateY(-1px); }

.b-related {
  max-width:720px;
  margin:80px auto 0;
  padding-top:40px;
  border-top:1px solid var(--border);
}
.b-related-h {
  font-family:'Lora', serif;
  font-size:1.4rem; font-weight:500;
  margin-bottom:18px;
  color:var(--ink);
}
.b-related ul { list-style:none; }
.b-related li { padding:10px 0; border-bottom:1px solid var(--border); }
.b-related li:last-child { border:none; }
.b-related a {
  color:var(--ink2); text-decoration:none;
  font-size:0.95rem;
  display:block;
  transition:color 0.15s;
}
.b-related a:hover { color:var(--terr); }

/* footer */
.b-footer {
  background:#0f0e0c;
  padding:24px 80px;
  display:flex; justify-content:space-between; align-items:center;
  margin-top:80px;
}
.b-footer p { font-size:0.73rem; color:rgba(255,255,255,0.18); }

@media (max-width:900px) {
  .b-list-page, .b-article { padding:100px 40px 60px; }
  .b-post-cover { margin:24px 0; }
}
@media (max-width:680px) {
  .b-nav { padding:0 20px; }
  .b-nav-links { display:none; }
  .b-hamburger { display:flex; }
  .b-nav.open .b-nav-links {
    display:flex; flex-direction:column;
    position:fixed; top:60px; left:0; right:0;
    background:rgba(247,244,239,0.97);
    backdrop-filter:blur(20px);
    padding:12px 20px;
    border-bottom:1px solid var(--border);
    gap:2px;
  }
  .b-list-page, .b-article { padding:90px 20px 60px; }
  .post-grid { grid-template-columns:1fr; gap:16px; }
  .b-footer { padding:20px; flex-direction:column; gap:8px; text-align:center; }
}
