/* Native WordPress blog. Shared colors are defined in styles.css. */
.nav-blog-link { display:flex; align-items:center; padding:15px 13px; font-size:.93rem; white-space:nowrap; }
.nav-blog-link:hover, .blog .nav-blog-link, .single-post .nav-blog-link, .category .nav-blog-link, .tag .nav-blog-link { color:var(--blue); background:#f7faff; }
.blog-hero { background:var(--ice); border-bottom:1px solid var(--line); padding-bottom:58px; }
.blog-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:28px 0 34px; color:var(--muted); font-size:.875rem; }
.blog-breadcrumb a:hover { color:var(--blue); text-decoration:underline; }
.blog-eyebrow { color:var(--blue); font-size:.875rem; font-weight:700; letter-spacing:.1em; margin-bottom:14px; }
.blog-hero h1 { max-width:900px; font-size:clamp(2.4rem,4.2vw,3.8rem); overflow-wrap:anywhere; }
.blog-intro { font-size:1.125rem; line-height:1.75; max-width:700px; margin-top:18px; }
.blog-list { padding-block:52px 80px; }
.blog-section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin-bottom:28px; }
.blog-section-heading h2 { font-size:1.75rem; }
.blog-section-heading > span { font-size:.875rem; color:var(--muted); }
.blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.blog-card { min-width:0; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:white; transition:box-shadow .15s; }
.blog-card:hover { box-shadow:0 9px 28px #183a6110; }
.blog-card-image { display:block; aspect-ratio:16/10; overflow:hidden; background:var(--ice); }
.blog-card-image img { width:100%; height:100%; object-fit:cover; }
.blog-card-body { padding:27px; display:flex; flex:1; flex-direction:column; align-items:flex-start; }
.blog-categories { display:flex; flex-wrap:wrap; gap:8px 14px; margin-bottom:14px; font-size:.875rem; color:var(--blue-dark); font-weight:700; }
.blog-categories a:hover { text-decoration:underline; }
.blog-card-title { font-size:1.45rem; line-height:1.3; letter-spacing:-.02em; overflow-wrap:anywhere; }
.blog-card-title a:hover { color:var(--blue-dark); }
.blog-meta { display:flex; flex-wrap:wrap; align-items:center; gap:7px 17px; color:var(--muted); font-size:.875rem; margin-top:18px; }
.blog-excerpt { margin-top:18px; margin-bottom:24px; line-height:1.7; overflow-wrap:anywhere; }
.blog-read { display:inline-flex; align-items:center; gap:10px; margin-top:auto; color:var(--blue-dark); font-weight:700; min-height:44px; }
.blog-read:hover { text-decoration:underline; }
.blog-empty { border:1px solid var(--line); border-left:4px solid var(--blue); border-radius:6px; padding:40px; }
.blog-empty h3 { font-size:1.4rem; margin-bottom:10px; }
.lwt-blog .pagination { margin-top:38px; }
.lwt-blog .pagination .nav-links { display:flex; flex-wrap:wrap; gap:8px; }
.lwt-blog .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:8px 15px; border:1px solid var(--line); border-radius:4px; font-size:1rem; }
.lwt-blog .page-numbers.current, .lwt-blog a.page-numbers:hover { background:var(--blue); border-color:var(--blue); color:white; }
.screen-reader-text { border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute!important; width:1px; word-wrap:normal!important; }
.blog-reading-width { width:min(820px,calc(100% - 64px)); margin-inline:auto; }
.blog-article-header { background:var(--ice); border-bottom:1px solid var(--line); padding-bottom:44px; }
.blog-article-header h1 { font-size:clamp(2.15rem,4.1vw,3.6rem); line-height:1.14; overflow-wrap:anywhere; }
.blog-article-header .blog-meta { margin-top:24px; }
.blog-featured { margin-top:40px; }
.blog-featured img { width:100%; max-height:620px; object-fit:contain; border-radius:7px; }
.blog-content { padding-block:42px 24px; font-size:1.125rem; line-height:1.85; overflow-wrap:anywhere; }
.blog-content > * + * { margin-top:1.4em; }
.blog-content p, .blog-content li { color:var(--ink); }
.blog-content h2 { font-size:clamp(1.6rem,3vw,2rem); margin-top:1.7em; margin-bottom:.7em; line-height:1.3; }
.blog-content h3 { font-size:1.4rem; margin-top:1.6em; margin-bottom:.7em; line-height:1.3; }
.blog-content h4, .blog-content h5, .blog-content h6 { line-height:1.4; margin-block:1.5em .6em; }
.blog-content a { color:var(--blue-dark); text-decoration:underline; text-underline-offset:3px; }
.blog-content img, .blog-content video, .blog-content iframe { max-width:100%; }
.blog-content figure { margin-inline:0; max-width:100%; }
.blog-content figcaption { color:var(--muted); font-size:.875rem; margin-top:10px; }
.blog-content blockquote { margin-inline:0; padding:18px 26px; border-left:4px solid var(--blue); background:var(--ice); }
.blog-content pre { overflow:auto; padding:22px; background:var(--navy); color:white; border-radius:6px; font-size:.9375rem; }
.blog-content :not(pre) > code { background:var(--ice); padding:2px 5px; }
.blog-content .wp-block-table { overflow:auto; }
.blog-content table { border-collapse:collapse; width:100%; font-size:1rem; }
.blog-content th, .blog-content td { text-align:left; border:1px solid var(--line); padding:12px; }
.blog-content .aligncenter { margin-inline:auto; }
.blog-content .alignleft { float:left; margin-right:24px; }
.blog-content .alignright { float:right; margin-left:24px; }
.blog-content::after { content:""; display:block; clear:both; }
.blog-content .wp-block-button__link { text-decoration:none; }
.blog-content input[type=password] { max-width:100%; border:1px solid var(--line); border-radius:4px; padding:10px; }
.blog-content input[type=submit] { background:var(--blue); color:white; border:0; padding:11px 20px; border-radius:4px; cursor:pointer; }
.blog-article-footer { padding-block:24px 68px; border-top:1px solid var(--line); }
.blog-tags { display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:.875rem; margin-bottom:24px; }
.blog-tags a { background:var(--ice); color:var(--blue-dark); padding:5px 12px; border-radius:4px; }
.blog-back { color:var(--blue-dark); font-weight:700; display:inline-block; padding-block:10px; }
.blog-back:hover { text-decoration:underline; }
.blog-article-footer .post-navigation { margin-top:26px; }
.blog-article-footer .nav-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; }
.blog-article-footer .nav-links a { display:block; border:1px solid var(--line); padding:20px; border-radius:6px; overflow-wrap:anywhere; font-weight:700; }
.blog-neighbor-label { display:block; color:var(--muted); font-size:.875rem; font-weight:400; margin-bottom:8px; }
.blog-content-pages { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
@media (max-width:1200px) { .nav-blog-link { padding-inline:9px; font-size:.875rem; } }
@media (max-width:1080px) { .nav-blog-link { padding:17px 6px; font-size:1rem; font-weight:600; border-bottom:1px solid var(--line); } }
@media (max-width:900px) { .blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) {
  .blog-reading-width { width:calc(100% - 40px); }
  .blog-hero { padding-bottom:36px; }
  .blog-breadcrumb { padding-block:22px 26px; }
  .blog-intro { font-size:1rem; }
  .blog-list { padding-block:34px 50px; }
  .blog-section-heading { display:block; }
  .blog-section-heading > span { display:block; margin-top:8px; }
  .blog-grid { grid-template-columns:1fr; gap:22px; }
  .blog-empty, .blog-card-body { padding:25px; }
  .blog-article-header { padding-bottom:30px; }
  .blog-content { font-size:1.0625rem; padding-top:30px; }
  .blog-article-footer .nav-links { grid-template-columns:1fr; }
}
