/* Pages: layout wrappers for whole pages. */
.de-static-inner { max-width: 72ch; margin: 0 auto; padding: var(--space-7) var(--space-4); }
.de-counts-inner { max-width: var(--max-width); margin: 0 auto; padding: var(--space-6) var(--space-4) 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: var(--space-2); }
.de-count { margin: 0; padding: var(--space-4) var(--space-5); background: var(--color-surface); border-radius: var(--radius-md); display: grid; gap: var(--space-1); font-size: var(--text-sm); font-weight: 600; }
.de-count strong { font-family: var(--font-heading); font-size: var(--text-2xl); font-weight: 800; letter-spacing: -0.02em; line-height: 1; color: var(--color-primary); }
.de-list-inner { max-width: var(--max-width); margin: 0 auto; padding: var(--space-6) var(--space-4); }
.de-list-intro { font-size: var(--text-lg); max-width: 60ch; line-height: 1.4; }
.de-single-inner { max-width: var(--max-width); margin: 0 auto; padding: var(--space-5) var(--space-4); }
.de-spec-groups { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: var(--space-5); margin: var(--space-5) 0; }
.de-spec-group h2 { font-size: var(--text-lg); }
.de-summary { font-size: var(--text-lg); max-width: 65ch; line-height: 1.4; }
.de-single-actions { display: flex; gap: var(--space-3); flex-wrap: wrap; margin: var(--space-5) 0; }
.de-post-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--space-2); margin: var(--space-5) 0; }
.de-post-card { background: var(--color-surface); border-radius: var(--radius-md); padding: var(--space-4); }
.de-post-card img { border-radius: var(--radius-sm); margin-bottom: var(--space-3); aspect-ratio: 16 / 9; object-fit: cover; width: 100%; }
.de-post-card h2 { font-size: var(--text-lg); }
.de-post-card h2 a { text-decoration: none; color: var(--color-text); }
.de-post-date { font-size: var(--text-sm); font-weight: 600; }
.de-post-hero { border-radius: var(--radius-md); margin: var(--space-4) 0; }
.de-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: var(--space-2); margin: var(--space-4) 0; }
.de-gallery img { border-radius: var(--radius-sm); aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
