.blog-shell { max-width: 1080px; }
.blog-hero { max-width: 780px; padding: 64px 0 32px; }
.blog-hero h1, .blog-article h1 { font-family: Georgia, serif; font-size: clamp(38px, 6vw, 68px); line-height: 1.04; margin: 14px 0 20px; }
.blog-hero p, .blog-deck { color: var(--muted); font-size: 19px; line-height: 1.65; }
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; padding: 24px 0 72px; }
.blog-card { display: flex; flex-direction: column; min-height: 310px; padding: 26px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); }
.blog-card > span, .blog-byline { color: var(--muted); font-size: 12px; font-weight: 800; }
.blog-card h2 { font-family: Georgia, serif; font-size: 26px; line-height: 1.15; }
.blog-card h2 a, .blog-read { color: var(--ink); text-decoration: none; }
.blog-card p { color: var(--muted); line-height: 1.55; }
.blog-read { margin-top: auto; font-weight: 900; }
.blog-breadcrumbs { display: flex; gap: 10px; padding-top: 34px; color: var(--muted); font-size: 13px; }
.blog-breadcrumbs a { color: inherit; }
.blog-article { max-width: 820px; margin: 0 auto; padding: 48px 0 90px; }
.blog-article > header { padding-bottom: 30px; border-bottom: 1px solid var(--line); }
.blog-copy { font-size: 18px; line-height: 1.78; }
.blog-copy h2 { font-family: Georgia, serif; font-size: 34px; line-height: 1.2; margin: 52px 0 16px; }
.blog-copy h3 { font-size: 22px; margin: 34px 0 12px; }
.blog-copy p, .blog-copy li { color: var(--muted); }
.blog-copy strong { color: var(--ink); }
.blog-price-embed { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; margin: 34px 0; padding: 22px; border: 1px solid var(--orange); border-radius: 14px; background: var(--panel); }
.blog-price-embed > div { display: flex; flex-direction: column; gap: 5px; }
.blog-price-embed small { color: var(--muted); }
.blog-price-value { text-align: right; }
.blog-price-value > strong { color: var(--orange); font-size: 25px; }
.blog-price-value a { color: var(--ink); font-size: 13px; font-weight: 900; }
@media (max-width: 800px) { .blog-grid { grid-template-columns: 1fr; } .blog-price-embed { grid-template-columns: 1fr; } .blog-price-value { text-align: left; } }
