/* Typography-led journal covers reuse the site's palette without image downloads. */
.journal-cover { position:relative; isolation:isolate; display:flex; flex-direction:column; justify-content:space-between; min-height:250px; padding:28px; overflow:hidden; background:#1b1a18; color:#dac5a7; }
.journal-cover::before { content:""; position:absolute; z-index:-1; width:240px; height:240px; right:-30px; top:30px; border:1px solid currentColor; border-radius:50%; opacity:.22; }
.journal-cover::after { content:""; position:absolute; z-index:-1; width:180px; height:180px; right:0; top:60px; border:1px solid currentColor; opacity:.16; transform:rotate(25deg); }
.cover-year { font-family:'Satoshi',sans-serif; font-size:12px; letter-spacing:.16em; }
.cover-mark { font-family:'Gambetta',Georgia,serif; font-size:84px; line-height:1; font-style:italic; }
.cover-topic { font-family:'Satoshi',sans-serif; font-size:14px; letter-spacing:.14em; }
.cover-rule { position:absolute; left:28px; right:28px; bottom:16px; height:1px; background:currentColor; opacity:.25; }
.cover-2 { background:#1a2425; color:#c9d8d3; }
.cover-3 { background:#292122; color:#e0c4b9; }
.cover-4 { background:#222519; color:#d4dab9; }
.cover-5 { background:#e1d4bd; color:#24211d; }
.cover-5 .cover-mark { font-style:normal; }
.cover-6 { background:#20212a; color:#c9cbdc; }
.journal-hero-cover { margin-top:40px; }
.journal-hero-cover .journal-cover { min-height:270px; }
.journal-hero-cover .cover-mark { font-size:110px; }
.journal-heading { max-width:1080px; font-size:clamp(34px,5vw,72px); line-height:1.12; }
.journal-languages { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; margin:24px 0 0; font-family:'Satoshi',sans-serif; font-size:14px; line-height:1.6; }
.journal-languages a { text-decoration:underline; text-underline-offset:5px; padding:8px 0; }
.journal-languages [aria-current] { font-weight:700; }
.journal-language-note { flex-basis:100%; margin:0; }
[hidden] { display:none !important; }
.post-meta-row { flex-wrap:wrap; opacity:.85; }
.prose { opacity:1; line-height:1.8; }
.prose p { max-width:70ch; }
.prose h2 { scroll-margin-top:110px; font-weight:400; }
.journal-intro { font-size:1.08em; }
.journal-takeaway { border-left:2px solid var(--accent); padding:0 0 0 24px; margin:40px 0; }
.journal-takeaway h2 { margin-top:0; }
.journal-sources ul { padding-left:22px; }
.journal-sources li { margin:10px 0; overflow-wrap:anywhere; }
.journal-sources a,.journal-contact { text-decoration:underline; text-underline-offset:4px; }
.journal-contact { display:inline-block; margin-top:24px; }
.journal-index { font-family:'Gambetta',Georgia,serif; font-style:italic; font-size:30px; }
.journal-content .toc-list a { opacity:.85; letter-spacing:0; font-size:14px; }
.post-aside .label-sm { margin-bottom:18px; }
.post-aside { position:static; }
.blog-card .blog-title { font-size:24px; line-height:1.3; }
.blog-meta { flex-wrap:wrap; gap:8px 16px; }
/* Short decorative motion; text and layout remain stable. */
@media (prefers-reduced-motion: no-preference) {
  .blog-card .journal-cover::before,
  .blog-card .journal-cover::after { transition:transform .8s ease,opacity .8s ease; }
  .blog-card.is-cover-visible .journal-cover::before { animation:journal-orbit 3.8s ease-in-out 1; }
  .blog-card.is-cover-visible .journal-cover::after { animation:journal-turn 3.8s ease-in-out 1; }
  .blog-card:is(:hover,:focus-within) .journal-cover::before { transform:translate(-14px,6px) scale(1.05); opacity:.38; }
  .blog-card:is(:hover,:focus-within) .journal-cover::after { transform:translate(-6px,-8px) rotate(40deg); opacity:.3; }
  @keyframes journal-orbit {
    0%,100% { transform:translate(0,0) scale(1); }
    50% { transform:translate(-22px,10px) scale(1.06); }
  }
  @keyframes journal-turn {
    0%,100% { transform:rotate(25deg); }
    50% { transform:translate(-10px,-8px) rotate(52deg); }
  }
}
@media (prefers-reduced-motion: reduce) {
  .blog-card .journal-cover::before,.blog-card .journal-cover::after { animation:none; transition:none; }
}
.blog-card:focus-visible,.journal-languages a:focus-visible,.prose a:focus-visible,.toc-list a:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
@media(max-width:600px) {
  .journal-cover { min-height:220px; }
  .journal-hero-cover .journal-cover { min-height:220px; }
  .journal-hero-cover .cover-mark { font-size:84px; }
  .journal-takeaway { padding-left:16px; }
  .journal-languages { gap:8px 16px; }
}

/* Long translated titles and prose must fit narrow screens. */
.post-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:60px}.post-layout>*{min-width:0}.journal-heading,.blog-title,.related-title{overflow-wrap:anywhere}.prose ul{padding-left:1.3em;margin-bottom:24px}.prose li{margin:10px 0}.prose a{text-decoration:underline;text-underline-offset:4px}.related-card .journal-index{flex-shrink:0}.blog-card{min-width:0}@media(max-width:1024px){.post-layout{grid-template-columns:1fr}}

/* Keep the article contents visible: the global mobile rule hides generic nav. */
.post-aside > nav{display:block}.post-hero .post-back{display:flex;width:fit-content}.post-hero .label-sm{display:block}
