body{display:flex;flex-direction:column;min-height:100vh}main{flex:1}.container{max-width:var(--container, 1280px);margin:0 auto;padding:0 var(--gutter, 32px)}@media(max-width:720px){.container{padding:0 var(--gutter-tight, 16px)}}.page-top{padding:80px 0 40px;border-bottom:1px solid var(--c-border)}.crumb{display:flex;gap:8px;align-items:center;font-family:var(--font-mono);font-size:var(--t-meta);letter-spacing:var(--tr-mono);text-transform:uppercase;color:var(--c-text-3);margin-bottom:28px}.crumb a{color:var(--c-text-3);text-decoration:none}.crumb a:hover{color:var(--c-text)}.crumb .sep{color:var(--c-text-4)}.crumb .current{color:var(--c-text)}.page-h1{font-size:clamp(48px,8vw,96px);font-weight:var(--w-700);line-height:.95;letter-spacing:-.04em;margin:0;color:var(--c-text)}.tag-filter{padding:32px 0 8px;display:flex;flex-wrap:wrap;gap:8px}.tag{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--c-surface);border:1px solid var(--c-border);color:var(--c-text-2);font-size:var(--t-body-s);text-decoration:none;transition:background .15s,border-color .15s,color .15s}.tag:hover{background:var(--c-surface-2);color:var(--c-text)}.tag.is-active{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-text-on-accent)}.tag.is-active .tag-count{color:#ffffffb3}.tag-count{font-family:var(--font-mono);font-size:var(--t-meta);letter-spacing:var(--tr-mono);color:var(--c-text-3)}.featured-post{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;padding:40px 0 56px;color:inherit;text-decoration:none;border-bottom:1px solid var(--c-border);align-items:center}@media(max-width:900px){.featured-post{grid-template-columns:1fr;gap:32px}}.featured-cover{aspect-ratio:16/10;background-size:cover;background-position:center;border-radius:var(--r-3, 8px);background-color:var(--c-bg-sunk)}.featured-body .meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--t-meta);letter-spacing:var(--tr-mono);text-transform:uppercase;color:var(--c-text-3);margin-bottom:20px}.featured-body .meta .cat{color:var(--c-accent)}.featured-body .meta .sep{color:var(--c-text-4)}.featured-body h2{font-size:clamp(28px,3.4vw,44px);font-weight:var(--w-700);line-height:1.1;letter-spacing:-.02em;color:var(--c-text);margin:0 0 16px}.featured-body .lead{font-size:var(--t-body-l);line-height:var(--lh-prose);color:var(--c-text-2);margin:0 0 24px}.featured-body .read{font-family:var(--font-mono);font-size:var(--t-meta);letter-spacing:var(--tr-mono);text-transform:uppercase;color:var(--c-accent)}.blog-list{padding:32px 0;display:flex;flex-direction:column}.post-row{display:block;padding:28px 0;border-bottom:1px solid var(--c-border);color:inherit;text-decoration:none;transition:opacity .15s}.post-row:hover{opacity:.85}.post-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--t-meta);letter-spacing:var(--tr-mono);text-transform:uppercase;color:var(--c-text-3);margin-bottom:14px}.post-meta .sep{color:var(--c-text-4)}.post-row-inner{display:grid;grid-template-columns:1fr 200px;gap:32px;align-items:center}@media(max-width:720px){.post-row-inner{grid-template-columns:1fr}}.post-row h3{font-size:var(--t-h2);font-weight:var(--w-600);line-height:var(--lh-normal);letter-spacing:var(--tr-h3);margin:0 0 8px;color:var(--c-text)}.post-row p{margin:0;font-size:var(--t-body);color:var(--c-text-2);line-height:var(--lh-prose);max-width:720px}.post-cover{aspect-ratio:5/3;background-size:cover;background-position:center;border-radius:var(--r-2, 6px);background-color:var(--c-bg-sunk)}.pagination{display:flex;justify-content:space-between;align-items:center;padding:32px 0 96px;gap:16px;flex-wrap:wrap}.pag-link{padding:12px 20px;border:1px solid var(--c-border-strong);border-radius:999px;color:var(--c-text);text-decoration:none;font-size:var(--t-body-s);transition:background .15s}.pag-link:hover{background:var(--c-surface)}.pag-info{font-family:var(--font-mono);font-size:var(--t-meta);letter-spacing:var(--tr-mono);text-transform:uppercase;color:var(--c-text-3)}
