.blog-page .site-header { background: #fff; color: var(--blue); --nav-fill: var(--blue); --nav-hover: #fff; }
.blog-page .site-header:before { opacity: 0; }
.blog-page .site-header .brand img { filter: none; }
.blog-page .site-header .nav-contact { border-color: var(--line); }
.blog-hero { padding-top: calc(var(--header) + 65px); padding-bottom: 60px; }
.blog-hero-grid { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 65px; }
.blog-page main .eyebrow { color: var(--accent-ink); }
.blog-hero h1 { font-size: clamp(52px, 6.5vw, 92px); line-height: 1.06; letter-spacing: -.065em; font-weight: 400; margin-top: 24px; }
.blog-hero h1 span { color: #65879b; }
.blog-hero-grid>p { max-width: 390px; font-size: 15px; color: var(--muted); }
.blog-feature { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 65px; padding-bottom: 75px; }
.blog-image { display: block; overflow: hidden; }
.blog-image img { width: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.blog-image:hover img,.blog-image:focus-visible img { transform: scale(1.035); }
.blog-feature .blog-image img { aspect-ratio: 5/4; }
.blog-feature h2 { font-size: clamp(32px, 3.7vw, 50px); margin-top: 22px; }
.blog-feature-copy>p:not(.eyebrow) { font-size: 14px; color: var(--muted); margin-top: 22px; }
.blog-feature-copy .text-link { margin-top: 27px; }
.blog-more { background: var(--soft); padding-block: 60px 80px; }
.blog-more-heading { display: flex; align-items: baseline; gap: 20px; justify-content: space-between; margin-bottom: 35px; }
.blog-more-heading h2 { font-size: 34px; }
.blog-more-heading>p { font-size: 13px; color: var(--muted); }
.blog-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.blog-card .blog-image img { aspect-ratio: 4/3; }
.blog-card .eyebrow { font-size: 11px; margin-top: 24px; }
.blog-card h3 { font-size: clamp(24px, 2.4vw, 32px); line-height: 1.3; margin-top: 14px; }
.blog-card h3 a:hover,.blog-feature h2 a:hover { text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 6px; }
.blog-card-excerpt { margin-top: 16px; color: var(--muted); font-size: 14px; }
.blog-card .text-link { margin-top: 23px; }
.article-heading { padding-top: calc(var(--header) + 55px); max-width: 1000px; }
.article-heading h1 { margin-top: 24px; font-size: clamp(40px, 5.1vw, 72px); line-height: 1.13; letter-spacing: -.06em; font-weight: 400; }
.article-lead { color: var(--muted); font-size: 18px; max-width: 780px; margin-top: 26px; }
.article-heading .text-link { margin-bottom: 30px; }
.article-cover { margin-top: 45px; }
.article-cover img { width: 100%; max-height: 650px; aspect-ratio: 16/8; object-fit: cover; }
.article-cover figcaption { color: var(--muted); font-size: 12px; margin-top: 12px; }
.article-body { max-width: 760px; padding-block: 55px 75px; }
.article-body p,.article-body li { color: var(--muted); font-size: 16px; line-height: 1.95; }
.article-body p+p { margin-top: 20px; }
.article-body h2 { font-size: 32px; line-height: 1.25; margin: 40px 0 20px; }
.article-body h2:first-child { margin-top: 0; }
.article-body ul { padding-left: 22px; margin: 20px 0; }
.article-body li { padding-left: 5px; margin-top: 8px; }
.article-body .text-link { margin-top: 30px; }
.article-related { border-top: 1px solid var(--line); padding-block: 45px; display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 25px; }
.article-related p { font-size: 14px; color: var(--muted); }
@media(max-width:1000px) { .blog-hero-grid,.blog-feature { gap: 35px; } .blog-card-grid { gap: 24px; } }
@media(max-width:800px) {
  .blog-hero-grid,.blog-feature { grid-template-columns: 1fr; gap: 28px; }
  .blog-hero-grid>p { max-width: 520px; }
  .blog-card-grid { grid-template-columns: 1fr 1fr; gap: 35px 24px; }
}
@media(max-width:600px) {
  .blog-hero,.article-heading { padding-top: calc(var(--header) + 40px); }
  .blog-hero { padding-bottom: 40px; }
  .blog-hero h1 { font-size: clamp(46px, 11vw, 65px); }
  .blog-feature { padding-bottom: 50px; }
  .blog-feature .blog-image img { aspect-ratio: 4/3; }
  .blog-more { padding-block: 45px 55px; }
  .blog-more-heading { display: block; }
  .blog-more-heading>p { margin-top: 12px; }
  .blog-card-grid { grid-template-columns: 1fr; gap: 40px; }
  .blog-card h3 { font-size: 28px; }
  .article-heading h1 { font-size: clamp(36px, 8.8vw, 50px); }
  .article-lead { font-size: 16px; }
  .article-cover { margin-top: 30px; }
  .article-cover img { aspect-ratio: 4/3; }
  .article-body { padding-block: 35px 50px; }
  .article-body h2 { font-size: 28px; }
}
@media(prefers-reduced-motion:reduce) { .blog-image img { transition: none; } .blog-image:hover img,.blog-image:focus-visible img { transform: none; } }

.blog-tools { padding-bottom: 45px; }
.blog-search label { display: block; margin-bottom: 12px; font-size: 14px; }
.blog-search-row { display: flex; max-width: 760px; }
.blog-search input { min-width: 0; flex: 1; padding: 16px 18px; border: 1px solid var(--line); border-right: 0; border-radius: 0; background: #fff; color: var(--blue); font-size: 16px; }
.blog-search .button { gap: 12px; justify-content: center; background: var(--accent); color: var(--blue); --button-sweep: var(--accent-hover); }
.blog-search .button:hover,.blog-search .button:focus-visible { color: var(--blue); background: var(--accent); }
.blog-search svg { width: 19px; height: 19px; stroke: currentColor; fill: none; stroke-width: 1.5; }
.blog-categories { display: flex; flex-wrap: wrap; gap: 12px 25px; margin-top: 25px; }
.blog-categories a { font-size: 13px; padding: 8px 0; border-bottom: 2px solid transparent; }
.blog-categories a:hover,.blog-categories a[aria-current="page"] { border-bottom-color: var(--accent); }
.blog-page .eyebrow a:hover { text-decoration: underline; text-underline-offset: 5px; }
.blog-byline { font-size: 13px; color: var(--muted); margin-top: 15px; }
.blog-feature-copy>.blog-byline { font-size: 13px; }
.blog-byline a { color: var(--blue); text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 4px; }
.blog-byline a:hover { text-decoration-color: var(--accent); }
.article-heading .blog-byline { margin-top: 24px; }
.blog-archive-hero h1 { font-size: clamp(45px, 5.6vw, 78px); }
.blog-archive-hero>p:not(.eyebrow) { margin-top: 24px; color: var(--muted); max-width: 680px; font-size: 16px; }
.blog-results { padding-bottom: 75px; }
.blog-card .blog-result-title { font-size: clamp(24px, 2.4vw, 32px); line-height: 1.3; margin-top: 14px; }
.blog-result-title a:hover { text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 6px; }
.blog-results-summary { padding-block: 22px; margin-bottom: 28px; border-top: 1px solid var(--line); color: var(--muted); font-size: 14px; overflow-wrap: anywhere; }
.blog-empty { padding: 35px; background: var(--soft); max-width: 760px; }
.blog-empty h2 { font-size: 30px; }
.blog-empty p { font-size: 15px; color: var(--muted); margin-top: 16px; }
.blog-empty .text-link { margin-top: 24px; }
@media(max-width:600px) { .blog-search input { padding-inline: 12px; } .blog-search .button { padding-inline: 15px; } .blog-tools { padding-bottom: 30px; } .blog-categories { gap: 8px 19px; } .blog-empty { padding: 25px; } }
