/* A native Posts feed: readable cards, predictable pagination, no feed plugin. */
.crystal-blog-hero { position: relative; overflow: hidden; background: radial-gradient(ellipse at 88% 12%,#c3e1ee 0,transparent 42%),linear-gradient(120deg,#f8fbfd 8%,#e3f0f6 100%); padding-bottom: 3rem; }
.crystal-blog-hero h1 { max-width: 20ch; color: #163e52; }
.crystal-blog-hero .crystal-structure-lead { max-width: 44ch; }
.crystal-blog-listing { padding-block: 3rem 4rem; background: #f6fafc; }
.crystal-blog-listing > .crystal-structure-inner > h2 { margin: 0 0 1.5rem; }
.crystal-blog-query .crystal-blog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; margin: 0; padding: 0; }
.crystal-blog-grid > .wp-block-post { display: flex; min-width: 0; margin: 0; }
.crystal-blog-card { width: 100%; display: flex; flex-direction: column; overflow: hidden; border: 1px solid #d8e6ed; border-radius: 1.2rem; background: #fff; box-shadow: 0 8px 24px #163e5208; }
.crystal-blog-card-image { margin: 0; }
.crystal-blog-card-image img { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.crystal-blog-card-copy { display: flex; flex: 1; flex-direction: column; gap: .8rem; padding: 1.5rem; }
.crystal-blog-card-copy > * { margin: 0; }
.crystal-blog-date { color: #4f6d7b; font-size: .8rem; }
.crystal-blog-card h3 { font-size: 1.3rem; line-height: 1.35; font-weight: 600; letter-spacing: -.025em; }
.crystal-blog-card h3 a { text-decoration: none; }
.crystal-blog-card h3 a:hover { text-decoration: underline; text-underline-offset: .15em; }
.crystal-blog-card .wp-block-post-excerpt { display: flex; flex: 1; flex-direction: column; font-size: .95rem; line-height: 1.65; color: #466471; }
.crystal-blog-card .wp-block-post-excerpt__excerpt { margin: 0; }
.crystal-blog-card .wp-block-post-excerpt__more-text { margin-top: auto; padding-top: 1.15rem; font-size: .86rem; font-weight: 650; }
.crystal-blog-card a:focus-visible, .crystal-blog-query .page-numbers:focus-visible { outline: 3px solid #257a9c; outline-offset: 4px; border-radius: .2rem; }
.crystal-blog-query .wp-block-query-pagination { margin-top: 2rem; gap: 1rem; }
.crystal-blog-query .wp-block-query-pagination a { color: #174e68; }
.crystal-blog-query .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; padding-inline: .5rem; box-sizing: border-box; border-radius: .55rem; text-decoration: none; }
.crystal-blog-query .page-numbers.current { color: #fff; background: #245b75; }
.crystal-blog-empty { max-width: 780px; padding: clamp(1.5rem,4vw,3rem); border: 1px solid #d7e6ed; border-radius: 1.3rem; background: #fff; }
.crystal-blog-empty h3 { font-size: clamp(1.5rem,3vw,2rem); margin-top: .9rem; }
.crystal-blog-empty p:not(.crystal-eyebrow) { color: #476571; max-width: 58ch; }
.crystal-blog-empty .wp-block-buttons { margin-top: 1.5rem; gap: .8rem; }
.crystal-blog-empty .wp-block-button__link { font-size: .92rem; }

/* Posts use the same masthead, with a calmer long-form reading width. */
.crystal-blog-article { margin-top: 0; padding: calc(var(--crystal-header-height) + 2.5rem) clamp(1.1rem,4vw,2.5rem) 4rem; }
.crystal-blog-article .crystal-blog-article-head { max-width: 850px; margin-inline: auto; margin-bottom: 2.5rem; }
.crystal-blog-article .crystal-breadcrumb { margin-bottom: 2rem; }
.crystal-blog-article h1 { margin-top: 1rem; font-size: clamp(2.3rem,4.5vw,4rem); font-weight: 550; line-height: 1.12; letter-spacing: -.04em; color: #173d50; }
.crystal-blog-article > .wp-block-post-featured-image { max-width: 1000px; margin: 0 auto 2.5rem; }
.crystal-blog-article > .wp-block-post-featured-image img { max-height: 580px; object-fit: cover; border-radius: 1.2rem; }
.crystal-blog-article > .wp-block-post-content { max-width: 760px; margin-inline: auto; font-size: 1.05rem; line-height: 1.8; }
.crystal-blog-article > .wp-block-post-content > * { max-width: 100%; }
.crystal-blog-article .crystal-blog-article-bottom { max-width: 760px; margin: 2.5rem auto 0; padding-top: 1.5rem; border-top: 1px solid #d5e4ec; }

/* Native article blocks share one visual system; authors only supply content. */
.crystal-blog-article .wp-block-post-content h2 { margin-top: 2.4rem; margin-bottom: .85rem; color: #173d50; font-size: clamp(1.45rem, 2.4vw, 1.9rem); line-height: 1.3; letter-spacing: -.025em; }
.crystal-blog-article .wp-block-post-content h3 { color: #173d50; font-size: 1.25rem; line-height: 1.4; }
.crystal-blog-article .wp-block-post-content p { margin-block: 0 1.15rem; }
.crystal-blog-article .wp-block-post-content li { margin-block: .35rem; }
.crystal-blog-article .wp-block-post-content a { color: #185f7d; font-weight: 650; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.crystal-blog-article .wp-block-post-content a:hover { color: #103e53; text-decoration-thickness: 2px; }
.crystal-blog-article .wp-block-post-content a:focus-visible { outline: 3px solid #3285a6; outline-offset: 4px; border-radius: .15rem; }
.crystal-article-lead, .crystal-article-intro { font-size: 1.16em; line-height: 1.7; color: #234e62; }
.crystal-article-takeaways, .crystal-article-next-step { margin-block: 1.8rem 2rem; padding: clamp(1.1rem,3vw,1.65rem); border-radius: .8rem; }
.crystal-article-takeaways { background: #edf5f8; border-left: 3px solid #7caec2; }
.crystal-article-next-step { background: #e2f0f5; border: 1px solid #c4dfe9; }
.crystal-article-takeaways > :first-child, .crystal-article-next-step > :first-child,
.crystal-blog-article .wp-block-post-content .crystal-article-takeaways > h2,
.crystal-blog-article .wp-block-post-content .crystal-article-next-step > h2 { margin-top: 0; }
.crystal-article-takeaways > :last-child, .crystal-article-next-step > :last-child { margin-bottom: 0; }
.crystal-article-note { color: #4f6874; font-size: .88em; }
.crystal-article-sources { padding-top: 1.2rem; margin-top: 2rem; border-top: 1px solid #d5e4ec; font-size: .85em; line-height: 1.65; }
.crystal-blog-article .wp-block-post-content .crystal-article-sources h2 { font-size: 1.2rem; margin-top: 0; }
.crystal-article-sources a { overflow-wrap: anywhere; }
.crystal-article-review { margin-top: 1.8rem; padding-top: 1.2rem; border-top: 1px solid #d5e4ec; color: #4f6874; font-size: .9em; }
@media (max-width: 1000px) {
 .crystal-blog-query .crystal-blog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
 .crystal-blog-hero { padding-bottom: 2.4rem; }
 .crystal-blog-listing { padding-block: 2.2rem 3rem; }
 .crystal-blog-query .crystal-blog-grid { grid-template-columns: 1fr; }
 .crystal-blog-card-copy { padding: 1.3rem; }
 .crystal-blog-query .wp-block-query-pagination { gap: .65rem; font-size: .88rem; }
 .crystal-blog-empty .wp-block-buttons { flex-direction: column; align-items: stretch; }
 .crystal-blog-empty .wp-block-button__link { width: 100%; }
}
