.blog{padding-bottom:clamp(48px,8vh,96px);}
.blog__cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(24px,4vh,40px);}
.blog__cat{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);background:none;border:1px solid var(--line-strong);border-radius:999px;padding:9px 14px;cursor:pointer;transition:color .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease);}
.blog__cat:hover{color:var(--ink);border-color:var(--ink);}
.blog__cat.is-on{background:var(--ink);border-color:var(--ink);color:var(--bg);}
.blog__list{display:grid;border-top:1px solid var(--line);}
.post{display:grid;grid-template-columns:clamp(200px,24vw,340px) minmax(0,1fr);gap:clamp(18px,2.4vw,36px);align-items:stretch;padding:clamp(24px,4vh,40px) 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none;}
.post--text .post__body{grid-column:1/-1;}
.post__media{position:relative;overflow:hidden;background:var(--bg-3);min-height:100%;}
.post__media img{position:absolute;inset:0;}
.post__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease);}
.post:hover .post__media img{transform:scale(1.03);}
.post__body{display:grid;gap:12px;align-content:start;max-width:760px;}
.post__meta{margin:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);}
.post__meta span,.post__meta button{color:var(--accent);}
.post__meta button{background:none;border:0;padding:0;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;}
.post__meta button:hover{text-decoration:underline;text-underline-offset:3px;}
.post__title{font-family:var(--font-display);font-weight:400;font-size:clamp(22px,2.3vw,34px);line-height:1.15;margin:0;text-wrap:balance;transition:color .25s var(--ease);}
.post:hover .post__title{color:var(--accent);}
.post__sum{margin:0;font-family:var(--prose-font);font-weight:var(--prose-weight);font-size:clamp(15px,1.1vw,17px);line-height:1.6;color:var(--ink-soft);text-wrap:pretty;max-width:60ch;}
.blog__empty{margin:0;padding:clamp(24px,4vh,40px) 0;border-top:1px solid var(--line);font-family:var(--prose-font);font-size:16px;color:var(--ink-soft);}
.blog__back{justify-self:start;font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);text-decoration:none;transition:color .25s var(--ease);}
.blog__back:hover{color:var(--accent);}
.art{display:grid;gap:clamp(24px,4vh,40px);}
.art__head{display:grid;gap:16px;max-width:800px;}
.art__title{font-family:var(--font-display);font-weight:400;font-size:clamp(30px,4.2vw,58px);line-height:1.08;margin:0;text-wrap:balance;}
.art__chapo{margin:0;font-family:var(--prose-font);font-weight:400;font-size:clamp(18px,1.5vw,22px);line-height:1.55;color:var(--ink);text-wrap:pretty;max-width:680px;}
.art__cover{margin:0;max-width:1100px;display:grid;gap:8px;}
.art__cover-img{aspect-ratio:16/9;overflow:hidden;background:var(--bg-3);}
.art__cover img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.art__cover figcaption{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;line-height:1.5;color:var(--ink-faint);}
.post__flag{font-weight:400;color:var(--bg);background:var(--ink);padding:1px 7px;border-radius:3px;}
.art__body{max-width:680px;font-family:var(--prose-font);font-weight:var(--prose-weight);font-size:clamp(16px,1.15vw,18px);line-height:1.75;color:var(--ink);}
.art__body>*{margin:0 0 1.1em;}
.art__body>*:last-child{margin-bottom:0;}
.art__body p,.art__body li{text-wrap:pretty;}
.art__body h2{font-family:var(--font-display);font-weight:400;font-size:clamp(22px,2vw,28px);line-height:1.2;margin:1.8em 0 .55em;}
.art__body h3{font-family:var(--font-mono);font-weight:400;font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin:1.8em 0 .7em;}
.art__body>h2:first-child,.art__body>h3:first-child{margin-top:0;}
.art__body strong{font-weight:600;}
.art__body a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px;transition:color .2s var(--ease);}
.art__body a:hover{color:var(--accent);}
.art__body ul,.art__body ol{padding-left:1.25em;}
.art__body li{margin:.35em 0;}
.art__body li::marker{color:var(--accent);}
.art__body blockquote{margin:1.8em 0;display:grid;gap:12px;}
.art__body blockquote p{margin:0;font-family:var(--font-display);font-size:clamp(22px,2.2vw,30px);line-height:1.3;text-wrap:pretty;}
.art__body blockquote p::before{content:"« ";}
.art__body blockquote p::after{content:" »";}
.art__body cite{font-style:normal;font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);}
.art__body figure{margin:1.8em 0;display:grid;gap:10px;}
.art__body img{max-width:100%;display:block;}
.art__body figure img{width:100%;}
.art__body figcaption{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;line-height:1.5;color:var(--ink-faint);}
.art__embed{position:relative;aspect-ratio:16/9;background:#000;margin:1.8em 0;}
.art__embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.art__sources{max-width:680px;display:grid;gap:12px;padding-top:20px;border-top:1px solid var(--line);}
.art__sources h2{margin:0;font-family:var(--font-mono);font-weight:400;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);}
.art__sources ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;}
.art__sources a{font-family:var(--prose-font);font-size:15px;line-height:1.5;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px;}
.art__sources a:hover{color:var(--accent);text-decoration-color:var(--accent);}
.art__foot{max-width:680px;display:grid;padding-top:8px;}
@media (max-width:700px){
  .post{grid-template-columns:minmax(0,1fr);gap:14px;}
  .post__media{aspect-ratio:16/9;min-height:0;}
  .blog__cats{flex-wrap:nowrap;overflow-x:auto;margin-left:calc(-1 * clamp(20px,4vw,52px));margin-right:calc(-1 * clamp(20px,4vw,52px));padding:0 clamp(20px,4vw,52px) 4px;scrollbar-width:none;}
  .blog__cats::-webkit-scrollbar{display:none;}
  .blog__cat{flex:none;}
  .art__body{line-height:1.7;}
}
a.tabs__btn,a.footnav__btn{text-decoration:none;display:inline-block;}
.blog__loading{margin:0;padding:clamp(24px,4vh,40px) 0;font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);}
