/* Blog: list, article, admin-independent. Uses tokens from site.css. */
.top.solid{background:rgba(15,14,12,.92);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line)}
.top .nav a[aria-current=page]{color:var(--ink)}
.lang a{display:inline-flex;align-items:center;min-height:40px;padding:0 5px;font:500 12px var(--sans);letter-spacing:.1em;color:var(--ash);text-decoration:none}
.lang a[aria-pressed=true]{color:var(--gold)}
.blog-page main{min-height:70vh}

.blog-head{max-width:1200px;margin:0 auto;padding:clamp(128px,16vh,176px) var(--gut) 0}
.blog-head h1{font:var(--display-w,500) clamp(44px,7vw,104px)/.98 var(--display,var(--serif));letter-spacing:var(--display-track,-.02em);max-width:14ch}
.blog-head h1 em{display:block;line-height:1.02}
.blog-lead{margin-top:28px;max-width:52ch;font-size:clamp(17px,1.4vw,20px);color:var(--soft)}
.blog-empty{color:var(--ash);font-size:18px}

.blog-list{max-width:1200px;margin:0 auto;padding:72px var(--gut) 0}
.post-card{position:relative;display:grid;gap:18px;align-content:start}
.pc-link{position:absolute;inset:0;z-index:2}
.pc-link:focus-visible{outline-offset:6px}
.pc-img{position:relative;overflow:hidden;aspect-ratio:16/10;background:var(--surface);border-radius:2px}
.pc-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .6s}
.post-card:hover .pc-img img{transform:scale(1.035)}
.pc-empty{display:grid;place-items:center;background:linear-gradient(160deg,#221d14,#121110)}
.pc-empty span{font:italic 500 120px/1 var(--serif);color:rgba(201,165,92,.35)}
.pc-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font:500 12px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ash)}
.pc-meta a{position:relative;z-index:3;color:var(--gold);text-decoration:none}
.post-card h2,.post-card h3{font:var(--display-w,500) clamp(24px,2.2vw,32px)/1.12 var(--display,var(--serif));letter-spacing:var(--display-track,-.01em);transition:color .3s}
.post-card:hover h2,.post-card:hover h3{color:var(--gold)}
.pc-ex{color:var(--soft);font-size:16px;max-width:56ch}
.pc-tags{display:flex;flex-wrap:wrap;gap:8px}
.pc-tags span{font-size:12px;color:var(--ash);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;padding:4px 12px}

.lead-card{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);align-items:end;padding-bottom:72px;border-bottom:1px solid var(--line)}
.lead-card .pc-img{aspect-ratio:4/3}
.lead-card h2{font-size:clamp(32px,3.6vw,56px);line-height:1.04}
.lead-card .pc-ex{font-size:18px}
@media (max-width:860px){.lead-card{grid-template-columns:1fr;align-items:start;padding-bottom:48px}}

.post-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px clamp(24px,4vw,64px);padding-top:72px}
.post-grid .post-card:nth-child(even){margin-top:96px}
@media (max-width:760px){.post-grid{grid-template-columns:1fr;gap:56px}.post-grid .post-card:nth-child(even){margin-top:0}}
.more-posts{padding-top:120px}
.more-posts>h2{font:var(--display-w,500) clamp(30px,3vw,44px)/1.1 var(--display,var(--serif));letter-spacing:var(--display-track,-.01em)}
.more-posts .post-grid{padding-top:48px}

/* article */
.read-bar{position:fixed;left:0;top:0;height:2px;width:100%;z-index:30;background:var(--gold);transform-origin:0 50%;transform:scaleX(0)}
.post{max-width:1200px;margin:0 auto;padding:clamp(120px,15vh,168px) var(--gut) 0}
.post-head{max-width:860px;margin:0 auto;display:grid;gap:24px}
.post-head h1{font:var(--display-w,500) clamp(38px,5.4vw,80px)/1.02 var(--display,var(--serif));letter-spacing:var(--display-track,-.02em)}
.post-dek{font:italic 500 clamp(21px,2vw,28px)/1.35 var(--serif);color:var(--soft);max-width:44ch}
.post-cover{margin:56px auto 0;max-width:1100px}
.post-cover img{width:100%;height:auto;display:block;border-radius:2px}
.prose{max-width:700px;margin:64px auto 0;font-size:clamp(17px,1.25vw,19px);line-height:1.75;color:#e6e0d5}
.prose>*{margin:0}
.prose>*+*{margin-top:1.15em}
.prose p{text-wrap:pretty;hyphens:auto}
.prose h2{margin-top:2.2em;font:var(--display-w,500) clamp(28px,2.6vw,36px)/1.15 var(--display,var(--serif));letter-spacing:var(--display-track,-.01em);color:var(--ink)}
.prose h3{margin-top:1.8em;font:600 clamp(20px,1.6vw,23px)/1.3 var(--sans);color:var(--ink)}
.prose h2+*,.prose h3+*{margin-top:.6em}
.prose a{color:var(--gold);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.prose strong{color:var(--ink);font-weight:600}
.prose em{color:inherit}
.prose blockquote{margin:2em 0;padding:4px 0 4px 28px;border-left:1px solid var(--gold);font:italic 500 clamp(22px,2vw,28px)/1.4 var(--serif);color:var(--ink)}
.prose blockquote p+p{margin-top:.6em}
.prose ul,.prose ol{padding-left:1.3em}
.prose li+li{margin-top:.45em}
.prose li::marker{color:var(--gold)}
.prose img{display:block;width:100%;height:auto;border-radius:2px}
.prose hr{border:0;height:1px;background:var(--line);margin:3em 0}
.prose code{font-size:.9em;background:var(--surface);padding:.1em .35em;border-radius:3px}
.prose pre{background:var(--surface);padding:18px;overflow:auto;border-radius:2px;font-size:14px}
.prose table{width:100%;border-collapse:collapse;font-size:16px}
.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
.post-tags{max-width:700px;margin:48px auto 0}
.post-cta{max-width:860px;margin:96px auto 0;padding:clamp(32px,5vw,56px);background:var(--surface);box-shadow:inset 0 0 0 1px rgba(201,165,92,.45);display:grid;gap:18px;justify-items:start}
.post-cta h2{font:var(--display-w,500) clamp(28px,3vw,42px)/1.1 var(--display,var(--serif));letter-spacing:var(--display-track,-.01em)}
.post-cta p{color:var(--soft);max-width:58ch}
@media (max-width:560px){.post-cta .btn{width:100%}}
.blog-page .footer{margin-top:128px}

/* home page: latest posts teaser */
.home-blog .post-grid{grid-template-columns:repeat(3,1fr);padding-top:48px}
.home-blog .post-grid .post-card:nth-child(even){margin-top:64px}
@media (max-width:900px){.home-blog .post-grid{grid-template-columns:1fr}.home-blog .post-grid .post-card:nth-child(even){margin-top:0}}
.home-blog .all-posts{margin-top:48px}
