.gb-article-shell { max-width: 940px; }
.gb-single-article, .gb-page-article { background: #fff; border: 1px solid var(--gb-border); border-radius: 20px; padding: clamp(28px,5vw,64px); }
.gb-article-header { max-width: 800px; margin: 0 auto 34px; text-align: center; }
.gb-article-meta { color: var(--gb-muted); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.gb-article-header h1, .gb-page-header h1 { margin: 10px 0 16px; font: 700 clamp(42px,6vw,72px)/1.02 "Playfair Display", serif; letter-spacing: -.025em; }
.gb-article-deck { color: var(--gb-text); font-size: 19px; }
.gb-article-featured { margin: 0 -16px 34px; overflow: hidden; border-radius: 16px; }
.gb-article-featured img { width: 100%; display: block; }
.gb-article-content { max-width: 760px; margin-inline: auto; color: #303846; font-size: 18px; line-height: 1.8; }
.gb-article-content h2, .gb-article-content h3 { font-family: "Playfair Display", serif; }
.gb-story-list { display: grid; }
.gb-story-row { display: grid; grid-template-columns: 260px 1fr; gap: 28px; padding: 28px 0; border-bottom: 1px solid var(--gb-border); }
.gb-story-thumb { aspect-ratio: 16/10; overflow: hidden; border-radius: 12px; background: var(--gb-surface); }
.gb-story-thumb img { width: 100%; height: 100%; object-fit: cover; }
.gb-story-row h2 { margin: 6px 0 8px; font: 700 28px/1.2 "Playfair Display", serif; }
.gb-story-row h2 a { text-decoration: none; }
.gb-story-row p { color: var(--gb-text); margin: 0; }
.gb-empty-state { max-width: 720px; padding: 80px 0 120px; text-align: center; }
.gb-empty-state h1 { margin: 10px 0; font: 700 58px/1.05 "Playfair Display", serif; }
@media (max-width: 680px) { .gb-story-row { grid-template-columns: 1fr; gap: 16px; } }
