:root {
  color-scheme: dark;
  font-family: Georgia, "Times New Roman", serif;
  background: #100e0b;
  color: #d9ceb4;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(126, 84, 33, .14), transparent 52%),
    linear-gradient(145deg, #15110d, #0c0b09 68%);
}

a { color: #d8b96b; text-decoration-color: rgba(216, 185, 107, .42); text-underline-offset: .2em; }
a:hover { color: #f0d48c; }

.journal-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  max-width: 1080px;
  margin: 0 auto;
  padding: 24px clamp(20px, 5vw, 56px);
  border-bottom: 1px solid rgba(199, 155, 71, .16);
  font: 600 .68rem/1.4 system-ui, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.journal-nav a { text-decoration: none; }
.journal-shell { width: min(100% - 40px, 760px); margin: 0 auto; padding: clamp(42px, 8vw, 84px) 0 84px; }
.journal-shell h1 { margin: 8px 0 18px; color: #efe5cb; font-size: clamp(2.1rem, 6vw, 3.55rem); line-height: 1.12; font-weight: 500; letter-spacing: -.025em; }
.journal-kicker { margin: 0; color: #c59d4b; font: 600 .68rem/1.5 system-ui, sans-serif; letter-spacing: .24em; text-transform: uppercase; }
.journal-intro, .journal-excerpt { max-width: 650px; color: #b7aa8d; font-size: clamp(1rem, 2.4vw, 1.18rem); line-height: 1.75; }
.journal-rule { height: 1px; margin: 34px 0; background: linear-gradient(90deg, rgba(202, 159, 73, .7), rgba(202, 159, 73, .05) 78%, transparent); }
.journal-card { padding: 26px 0 30px; border-bottom: 1px solid rgba(199, 155, 71, .16); }
.journal-card h2 { margin: 8px 0 10px; color: #ece0c5; font-size: clamp(1.35rem, 3.5vw, 1.8rem); line-height: 1.3; font-weight: 500; }
.journal-card h2 a { color: inherit; text-decoration: none; }
.journal-card h2 a:hover { color: #f0d48c; }
.journal-card > p:not(.journal-date) { max-width: 640px; margin: 0 0 14px; color: #b7aa8d; font: 400 .96rem/1.75 system-ui, sans-serif; }
.journal-date { margin: 0; color: #a98b4c; font: 600 .7rem/1.5 system-ui, sans-serif; letter-spacing: .08em; }
.journal-read { display: inline-block; margin-top: 6px; font: 600 .78rem/1.5 system-ui, sans-serif; text-decoration: none; }
.journal-empty { color: #b7aa8d; font: italic 1.05rem/1.8 Georgia, serif; }
.journal-back { display: inline-block; margin-bottom: 34px; font: 600 .7rem/1.5 system-ui, sans-serif; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.journal-article h1 { margin-bottom: 16px; }
.journal-article .journal-date { margin-top: 22px; }
.journal-prose { color: #d0c4aa; font: 400 clamp(1rem, 2vw, 1.08rem)/1.9 system-ui, sans-serif; letter-spacing: .005em; }
.journal-prose p { margin: 0 0 1.45em; }
.journal-prose h2, .journal-prose h3, .journal-prose h4 { margin: 2.2em 0 .7em; color: #eee3c9; font-family: Georgia, "Times New Roman", serif; line-height: 1.3; font-weight: 500; }
.journal-prose h2 {
  margin: 2em 0 .8em !important;
  color: #d8b96b !important;
  font-size: clamp(1.65rem, 4.2vw, 2.1rem) !important;
  font-weight: 600 !important;
}
.journal-prose h3 { font-size: 1.4rem; }
.journal-prose h4 { font-size: 1.18rem; }
.journal-prose blockquote { margin: 1.8em 0; padding: 4px 0 4px 22px; border-left: 2px solid #a9833e; color: #c9b88f; font: italic 1.12rem/1.75 Georgia, serif; }
.journal-prose ul, .journal-prose ol { margin: 0 0 1.5em; padding-left: 1.5em; }
.journal-prose li { margin: .4em 0; padding-left: .25em; }
.journal-prose strong { color: #eee3c9; }
.journal-prose code { padding: .1em .35em; border-radius: 3px; background: rgba(217, 190, 131, .1); color: #e4d3a9; }
.journal-prose figure { margin: 2.1em 0; }
.journal-prose img { display: block; max-width: 100%; height: auto; margin: 0 auto; border: 1px solid rgba(201, 158, 74, .32); border-radius: 3px; }
.journal-footer { margin-top: 52px; padding-top: 16px; border-top: 1px solid rgba(199, 155, 71, .18); color: #8e774a; font: 600 .66rem/1.5 system-ui, sans-serif; letter-spacing: .2em; text-transform: uppercase; }

@media (max-width: 520px) {
  .journal-nav { padding: 18px 20px; font-size: .59rem; letter-spacing: .08em; }
  .journal-shell { width: min(100% - 32px, 760px); padding-top: 38px; }
  .journal-prose { line-height: 1.82; }
}
