/* Blog index */
.blog-hero { background: linear-gradient(110deg, #f4f6f9 0%, #f8f9fb 54%, #eef2f7 100%); }
.blog-hero__inner { min-height: 326px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: center; gap: clamp(28px, 4vw, 62px); padding-block: 30px; }
.blog-hero__copy { max-width: 550px; }
.blog-hero__copy .gold-rule { margin-bottom: 10px; }
.blog-hero__copy .eyebrow { margin-bottom: 10px; }
.blog-hero h1 { margin: 0 0 14px; font-size: clamp(42px, 3.5vw, 51px); line-height: 1.04; }
.blog-hero h1 span { color: var(--red); }
.blog-hero__copy > p:last-child { max-width: 480px; margin: 0; color: var(--slate); font-size: 19px; line-height: 1.5; }
.blog-featured { min-width: 0; min-height: 252px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.03fr); overflow: hidden; border: 1px solid rgba(11,31,68,.06); border-radius: 12px; background: var(--white); box-shadow: 0 10px 32px rgba(11,31,68,.06); }
.blog-featured__image-link { min-height: 100%; overflow: hidden; background: #dce5ef; }
.blog-featured__image-link img { width: 100%; height: 100%; min-height: 252px; object-fit: cover; transition: transform .35s ease; }
.blog-featured__image-link:hover img { transform: scale(1.035); }
.blog-featured__body { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; padding: clamp(20px, 2.25vw, 32px); }
.blog-category { position: relative; margin: 0 0 9px; padding-top: 8px; color: #596a83; font-size: 11px; font-weight: 750; letter-spacing: .13em; line-height: 1.35; text-transform: uppercase; }
.blog-category::before { position: absolute; top: 0; left: 0; width: 31px; height: 2px; background: var(--gold); content: ""; }
.blog-featured h2 { margin: 0 0 9px; font-size: clamp(21px, 2vw, 27px); line-height: 1.2; }
.blog-featured h2 a, .blog-card h3 a { color: inherit; text-decoration: none; }
.blog-featured h2 a:hover, .blog-card h3 a:hover { color: var(--red); text-decoration: underline; text-underline-offset: 3px; }
.blog-featured__excerpt { margin: 0 0 17px; color: var(--slate); font-size: 14px; line-height: 1.52; }
.blog-featured__meta { width: 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: auto; color: #66748a; font-size: 12px; }
.blog-featured__meta .text-link { margin-left: auto; font-size: 13px; white-space: nowrap; }

.blog-list-section { padding: 31px 0 44px; }
.blog-list-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 435px); align-items: end; gap: 32px; margin-bottom: 20px; }
.blog-list-heading .gold-rule { margin-bottom: 8px; }
.blog-list-heading h2 { margin: 0 0 1px; font-size: clamp(34px, 3.4vw, 44px); line-height: 1.08; }
.blog-list-heading > div > p { margin: 0; color: var(--slate); font-size: 16px; }
.blog-search { min-width: 0; min-height: 56px; display: flex; align-items: center; gap: 12px; padding: 0 16px; border: 1px solid #dce2eb; border-radius: 9px; background: #f8f9fb; }
.blog-search:focus-within { border-color: var(--navy); box-shadow: 0 0 0 3px rgba(11,31,68,.1); }
.blog-search svg { width: 20px; height: 20px; flex: 0 0 20px; fill: none; stroke: var(--navy); stroke-width: 1.8; stroke-linecap: round; }
.blog-search input { width: 100%; min-width: 0; height: 45px; padding: 0; border: 0; outline: 0; color: var(--navy-ink); background: transparent; font: 400 15px/1.4 var(--font-body); }
.blog-search input::placeholder { color: #748198; opacity: 1; }
.blog-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 23px; }
.blog-filter { min-height: 42px; padding: 0 20px; border: 1px solid #dce2eb; border-radius: 8px; color: var(--navy); background: #f4f6f9; font: 600 14px/1.2 var(--font-body); cursor: pointer; transition: background-color .16s ease, color .16s ease, border-color .16s ease, transform .16s ease; }
.blog-filter:hover { border-color: #aab5c5; transform: translateY(-1px); }
.blog-filter.is-active { border-color: var(--red); color: var(--white); background: var(--red); }
.blog-filter:focus-visible, .blog-page-arrow:focus-visible, .blog-page-number:focus-visible, #blog-reset:focus-visible { outline: 3px solid rgba(212,175,55,.85); outline-offset: 3px; }
.blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 18px; }
.blog-card { min-width: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--border); border-radius: 10px; background: var(--white); box-shadow: 0 4px 16px rgba(11,31,68,.025); transition: transform .18s ease, box-shadow .18s ease; }
.blog-card:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(11,31,68,.09); }
.blog-card[hidden] { display: none; }
.blog-card__image-link { display: block; overflow: hidden; background: #e9eef4; }
.blog-card__image-link img { width: 100%; aspect-ratio: 16 / 8.4; object-fit: cover; transition: transform .35s ease; }
.blog-card:hover .blog-card__image-link img { transform: scale(1.025); }
.blog-card__body { flex: 1; display: flex; flex-direction: column; align-items: flex-start; padding: 16px 18px 17px; }
.blog-card .blog-category { margin-bottom: 7px; padding-top: 7px; font-size: 10px; }
.blog-card h3 { margin: 0 0 8px; font-size: 19px; line-height: 1.24; }
.blog-card__excerpt { margin: 0 0 17px; color: var(--slate); font-size: 14px; line-height: 1.48; }
.blog-card__meta { width: 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: auto; color: #66748a; font-size: 11px; }
.blog-card__meta .text-link { margin-left: auto; font-size: 12px; white-space: nowrap; }
.blog-empty { max-width: 560px; margin: 25px auto 10px; padding: 36px 24px; border: 1px solid var(--border); border-radius: 12px; background: #f8f9fb; text-align: center; }
.blog-empty .gold-rule { margin-inline: auto; }
.blog-empty h3 { margin: 0 0 5px; font-size: 24px; }
.blog-empty p { margin: 0 0 17px; color: var(--slate); }
.blog-empty[hidden] { display: none; }
.blog-empty .button { min-height: 46px; font-size: 14px; }
.blog-pagination { display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 18px; }
.blog-pagination[hidden] { display: none; }
.blog-pagination__numbers { display: flex; align-items: center; gap: 8px; }
.blog-page-arrow, .blog-page-number { min-width: 38px; min-height: 40px; display: inline-grid; place-items: center; padding: 0 10px; border: 1px solid #dce2eb; border-radius: 8px; color: var(--navy); background: #f5f7fa; font: 600 14px/1 var(--font-body); text-decoration: none; cursor: pointer; }
.blog-page-arrow { font-size: 20px; }
.blog-page-arrow:hover:not(:disabled), .blog-page-number:hover { border-color: var(--navy); background: var(--white); }
.blog-page-arrow:disabled { color: #9aa5b5; cursor: not-allowed; }
.blog-page-number[aria-current="page"] { border-color: var(--red); color: var(--white); background: var(--red); }
.blog-cta { margin-top: 0; }
.blog-cta .home-cta__inner { min-height: 112px; }
.blog-cta .home-cta h2 { font-size: clamp(23px, 2.4vw, 31px); }

@media (max-width: 1020px) {
  .blog-hero__inner { grid-template-columns: 1fr; gap: 23px; padding-block: 30px; }
  .blog-hero__copy { max-width: 580px; }
  .blog-featured { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .blog-featured__body { padding: 20px; }
  .blog-hero h1 { font-size: clamp(43px, 4.8vw, 50px); }
  .blog-grid { gap: 14px; }
  .blog-card__body { padding-inline: 15px; }
}

@media (max-width: 760px) {
  .blog-hero__inner { gap: 23px; padding-block: 30px; }
  .blog-hero h1 { font-size: clamp(43px, 8.5vw, 56px); }
  .blog-featured { min-height: 225px; grid-template-columns: .9fr 1.1fr; }
  .blog-featured__image-link img { min-height: 225px; }
  .blog-list-heading { grid-template-columns: 1fr; align-items: start; gap: 17px; }
  .blog-search { max-width: 100%; }
  .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .blog-hero__inner { padding-block: 27px; }
  .blog-hero h1 { font-size: clamp(39px, 10vw, 48px); }
  .blog-hero__copy > p:last-child { font-size: 16px; }
  .blog-featured { grid-template-columns: 1fr; }
  .blog-featured__image-link img { min-height: 0; aspect-ratio: 16 / 9; }
  .blog-featured__body { padding: 18px; }
  .blog-featured__meta { gap: 7px; }
  .blog-featured__meta .text-link { margin-left: auto; }
  .blog-list-section { padding: 25px 0 32px; }
  .blog-list-heading h2 { font-size: 35px; }
  .blog-filters { gap: 8px; }
  .blog-filter { min-height: 40px; padding-inline: 13px; font-size: 13px; }
  .blog-grid { grid-template-columns: 1fr; gap: 13px; }
  .blog-card__image-link img { aspect-ratio: 16 / 8.5; }
  .blog-card__body { padding: 16px; }
  .blog-cta .home-cta__inner { min-height: 0; align-items: flex-start; flex-direction: column; gap: 19px; padding-block: 30px; }
  .blog-cta .home-cta .button { width: 100%; max-width: 330px; }
  .blog-pagination { gap: 6px; }
  .blog-pagination__numbers { gap: 6px; }
  .blog-page-arrow, .blog-page-number { min-width: 36px; min-height: 38px; }
}

@media (prefers-reduced-motion: reduce) {
  .blog-card, .blog-featured__image-link img, .blog-card__image-link img, .blog-filter { transition: none; }
}
