/* Blog: hub, area pages and article typography. Builds on base.css tokens. */
.blog-head { background: var(--navy); color: #F7F5F0; background-image: radial-gradient(120% 90% at 85% 0%, #2B3350 0%, var(--navy) 60%); padding: calc(7rem + env(safe-area-inset-top)) 0 3.5rem; }
.blog-head .kicker { color: var(--gold-2); }
.blog-head h1 { margin-top: 1rem; font-size: clamp(2.5rem, 9vw, 4.5rem); font-weight: 600; line-height: 1.02; letter-spacing: -.03em; }
.blog-head .lead { color: rgba(247,245,240,.75); font-size: 1.125rem; max-width: 34rem; }
.blog-list { padding: 2.5rem 0 5rem; }
.pills { display: flex; gap: .5rem; overflow-x: auto; scrollbar-width: none; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); }
.pills::-webkit-scrollbar { display: none; }
.pill { flex: none; min-height: 2.5rem; display: inline-flex; align-items: center; padding: 0 1rem; border-radius: 999px; text-decoration: none; font-size: .9375rem; font-weight: 550; color: var(--muted); box-shadow: inset 0 0 0 1px var(--line); transition: transform 100ms ease-out, background 160ms; -webkit-tap-highlight-color: transparent; }
.pill:active { transform: scale(.96); }
.pill.on { color: var(--navy); background: linear-gradient(135deg, #BFA56F, #D6BD8D 50%, #B3965F); box-shadow: none; }
@media (hover: hover) { .pill:not(.on):hover { color: var(--ink); } }
.posts { margin-top: 1.75rem; display: grid; gap: .75rem; }
@media (min-width: 640px) { .posts { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .posts { grid-template-columns: repeat(3, 1fr); } }
.post-card { display: flex; flex-direction: column; gap: .5rem; padding: 1.4rem; border-radius: 1.25rem; text-decoration: none; background: var(--surface); box-shadow: 0 1px 0 var(--line) inset, 0 20px 40px -30px rgba(30,36,51,.4); transition: transform 100ms ease-out; -webkit-tap-highlight-color: transparent; }
.post-card:active { transform: scale(.98); }
.post-card .k { font-size: .6875rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-1); }
.post-card b { font-size: 1.1875rem; font-weight: 600; letter-spacing: -.015em; line-height: 1.25; text-wrap: balance; }
.post-card .s { color: var(--muted); font-size: .9375rem; text-wrap: pretty; }
.post-card .m { margin-top: auto; padding-top: .5rem; font-size: .8125rem; color: var(--muted); }
.tag { margin-left: .4rem; padding: .1rem .5rem; border-radius: 999px; font-size: .6875rem; font-weight: 600; color: var(--amber); box-shadow: inset 0 0 0 1px currentColor; }
.empty { grid-column: 1 / -1; color: var(--muted); }

/* Article */
.article { max-width: 44rem; margin: 0 auto; padding: calc(6.5rem + env(safe-area-inset-top)) var(--gutter) 3rem; }
.crumbs { display: flex; flex-wrap: wrap; gap: .5rem; font-size: .8125rem; color: var(--muted); margin-bottom: 1.75rem; }
.crumbs a { color: inherit; text-decoration: none; } .crumbs a:hover { color: var(--ink); }
.article h1 { margin-top: .9rem; font-size: clamp(1.9rem, 6.4vw, 3rem); font-weight: 600; line-height: 1.08; letter-spacing: -.025em; text-wrap: balance; }
.article .meta { margin-top: 1rem; font-size: .875rem; color: var(--muted); }
.article .lead { margin-top: 1.5rem; font-size: 1.25rem; line-height: 1.5; color: var(--ink); max-width: none; text-wrap: pretty; }
.prose { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.prose h2 { margin: 2.5rem 0 .75rem; font-size: 1.5rem; font-weight: 600; letter-spacing: -.018em; line-height: 1.2; }
.prose h3 { margin: 2rem 0 .5rem; font-size: 1.1875rem; font-weight: 600; }
.prose p { margin: 1rem 0; font-size: 1.0625rem; line-height: 1.75; text-wrap: pretty; }
.prose ul, .prose ol { margin: 1rem 0; padding-left: 1.4rem; }
.prose ul { list-style: disc; } .prose ol { list-style: decimal; }
.prose li { margin: .6rem 0; padding-left: .25rem; font-size: 1.0625rem; line-height: 1.65; text-wrap: pretty; }
.prose li::marker { color: var(--gold-1); }
.prose a, .sources a { color: var(--gold-1); text-underline-offset: 3px; }
@media (prefers-color-scheme: dark) { .prose a, .sources a, .post-card .k { color: var(--gold-2); } }
.prose blockquote { margin: 1.5rem 0; padding: .25rem 0 .25rem 1.25rem; border-left: 2px solid var(--gold-1); color: var(--muted); font-size: 1.125rem; }
.cta-card { margin-top: 3rem; padding: 1.75rem; border-radius: 1.5rem; display: grid; gap: .5rem; background: var(--navy); color: #F7F5F0; background-image: radial-gradient(120% 120% at 90% 0%, #2B3350 0%, var(--navy) 65%); }
.cta-card b { font-size: 1.375rem; font-weight: 600; letter-spacing: -.015em; }
.cta-card span { color: rgba(247,245,240,.75); }
.cta-card .btn { margin-top: 1rem; }
.sources { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--line); font-size: .9375rem; color: var(--muted); }
.sources h2 { font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 .75rem; color: var(--ink); }
.sources ul { display: grid; gap: .5rem; padding-left: 1.1rem; list-style: disc; }
.sources p { margin-top: 1rem; font-size: .8125rem; }
.related { padding: 1rem 0 5rem; }
.related h2 { font-size: 1.25rem; font-weight: 600; letter-spacing: -.01em; }
.draftbox { margin-top: 1.5rem; padding: 1rem 1.25rem; border-radius: 1rem; background: color-mix(in srgb, var(--amber) 12%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--amber) 45%, transparent); font-size: .875rem; color: var(--ink); }
.draftbox b { color: var(--amber); }
.draftbox ul { margin: .5rem 0 0; padding-left: 1.1rem; list-style: disc; display: grid; gap: .3rem; }

/* Quick answer + FAQ: the direct answer people (and search engines) look for first */
.quick { margin-top: 1.5rem; padding: 1.1rem 1.25rem; border-radius: 1.25rem; background: color-mix(in srgb, var(--gold-2) 20%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--gold-1) 40%, transparent); }
.quick b { display: block; font-size: .6875rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-1); }
@media (prefers-color-scheme: dark) { .quick b { color: var(--gold-2); } }
.quick p { margin: .4rem 0 0; font-size: 1.0625rem; line-height: 1.6; text-wrap: pretty; }
.faq-block { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.faq-block h2 { font-size: 1.5rem; font-weight: 600; letter-spacing: -.018em; margin: 0 0 1rem; }
.faq-block dl { margin: 0; display: grid; gap: 1.25rem; }
.faq-block dt { font-weight: 600; font-size: 1.0625rem; letter-spacing: -.01em; }
.faq-block dd { margin: .35rem 0 0; color: var(--muted); font-size: 1rem; line-height: 1.65; text-wrap: pretty; }
