/* Grid & Glint — Blog */
.blog-hero { padding: clamp(56px, 8vw, 96px) 0 clamp(32px, 5vw, 48px); border-bottom: var(--bw-2) solid var(--navy-900); }
.blog-hero h1 { font-size: clamp(34px, 5.5vw, 56px); text-transform: uppercase; letter-spacing: var(--ls-tighter); line-height: var(--lh-tight); max-width: 18ch; }
.blog-hero p { color: var(--text-body); font-size: var(--text-md); line-height: var(--lh-relaxed); max-width: 56ch; margin-top: var(--space-4); }

.blog-list { padding: clamp(48px, 6vw, 80px) 0; }
.blog-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-6); }
@media (min-width: 760px) { .blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1080px) { .blog-grid { grid-template-columns: repeat(3, 1fr); } }

.blog-card { display: flex; flex-direction: column; overflow: hidden; }
.blog-card__cover { width: 100%; aspect-ratio: 16/10; object-fit: cover; background: var(--navy-600); border-bottom: var(--bw-1) solid var(--border); }
.blog-card__body { padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-3); flex: 1; }
.blog-card__title { font-size: var(--text-lg); text-transform: uppercase; letter-spacing: var(--ls-tight); line-height: var(--lh-snug); }
.blog-card__excerpt { color: var(--text-muted); font-size: var(--text-sm); line-height: var(--lh-relaxed); flex: 1; }
.blog-card__meta { color: var(--text-faint); font-size: var(--text-2xs); font-weight: 700; letter-spacing: var(--ls-wide); text-transform: uppercase; }
.blog-empty { color: var(--text-muted); font-size: var(--text-md); padding: var(--space-8) 0; }

.post { padding: clamp(48px, 7vw, 88px) 0; }
.post__header { max-width: var(--container-md); margin: 0 auto var(--space-7); display: flex; flex-direction: column; gap: var(--space-4); }
.post__title { font-size: clamp(30px, 5vw, 50px); text-transform: uppercase; letter-spacing: var(--ls-tighter); line-height: var(--lh-tight); }
.post__meta { color: var(--text-faint); font-size: var(--text-2xs); font-weight: 700; letter-spacing: var(--ls-wide); text-transform: uppercase; }
.post__cover { width: 100%; max-width: var(--container-md); margin: 0 auto var(--space-7); border-radius: var(--radius-card); border: var(--bw-1) solid var(--border); aspect-ratio: 16/9; object-fit: cover; }
.post__body { max-width: var(--container-md); margin: 0 auto; color: var(--text-body); font-size: var(--text-md); line-height: var(--lh-relaxed); display: flex; flex-direction: column; gap: var(--space-5); }
.post__body h2 { font-size: var(--text-xl); text-transform: uppercase; letter-spacing: var(--ls-tight); margin-top: var(--space-3); }
.post__body h3 { font-size: var(--text-lg); text-transform: uppercase; letter-spacing: var(--ls-tight); }
.post__body a { text-decoration: underline; }
.post__body ul, .post__body ol { padding-left: 1.4em; display: flex; flex-direction: column; gap: var(--space-2); }
.post__body img { border-radius: var(--radius-md); border: var(--bw-1) solid var(--border); }
.post__body blockquote { border-left: var(--bw-2) solid var(--yellow); padding-left: var(--space-4); color: var(--text-muted); font-style: italic; }
.post__back { max-width: var(--container-md); margin: var(--space-8) auto 0; }

.not-found { padding: clamp(80px, 12vw, 140px) 0; text-align: center; }
.not-found h1 { font-size: clamp(40px, 8vw, 80px); }
.not-found p { color: var(--text-muted); margin-top: var(--space-4); }
