.archive-hero { background: var(--mist); border-bottom: 1px solid var(--line); padding: 25px 0 41px; }
.archive-breadcrumb { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; color: var(--slate); font-size: .875rem; margin-bottom: 30px; }
.archive-breadcrumb a:hover { color: var(--green); text-decoration: underline; text-underline-offset: 4px; }
.archive-hero h1 { color: var(--navy); font-size: clamp(2.4rem, 4.1vw, 3.55rem); line-height: 1.1; margin: 0 0 18px; text-wrap: balance; }
.archive-hero > .wrap > p { color: var(--slate); font-size: 1.0625rem; line-height: 1.8; max-width: 740px; margin: 0; }
.archive-articles { padding: 46px 0 62px; background: var(--fog); }
.archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.archive-card { min-width: 0; }
.archive-card-link { display: flex; flex-direction: column; height: 100%; }
.archive-card-image { overflow: hidden; background: var(--mist); }
.archive-card-image img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; transition: transform 250ms ease; }
.archive-card-copy { flex: 1; display: flex; flex-direction: column; padding-top: 24px; }
.archive-topic { color: var(--green); font-size: .875rem; font-weight: 700; letter-spacing: .055em; line-height: 1.6; text-transform: uppercase; margin: 0 0 13px; }
.archive-card h2 { color: var(--navy); font-family: var(--display); font-weight: 400; font-size: clamp(1.75rem, 2.15vw, 2rem); line-height: 1.2; margin: 0 0 17px; text-wrap: pretty; }
.archive-excerpt { color: var(--slate); font-size: 1rem; line-height: 1.8; margin: 0 0 25px; }
.archive-card-bottom { margin-top: auto; border-top: 1px solid var(--line); padding-top: 17px; }
.archive-meta { color: var(--slate); display: flex; gap: 8px 15px; align-items: center; flex-wrap: wrap; font-size: .8125rem; line-height: 1.65; margin-bottom: 17px; }
.archive-meta > span { border-left: 1px solid #b8c8c5; padding-left: 15px; }
.archive-read-link { display: inline-flex; align-items: center; gap: 10px; color: var(--green); font-size: .9375rem; font-weight: 600; line-height: 1.6; }
.archive-card-link:hover h2 { color: var(--green); }
.archive-card-link:hover .archive-read-link { text-decoration: underline; text-underline-offset: 4px; }
.archive-card-link:hover img { transform: scale(1.035); }
.archive-contact { background: var(--navy); color: white; padding: 45px 0; border-top: 3px solid #82bba6; }
.archive-contact-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 50px; align-items: center; }
.archive-contact .eyebrow { font-size: .875rem; margin-bottom: 15px; }
.archive-contact h2 { color: white; font-size: clamp(1.875rem, 2.8vw, 2.5rem); line-height: 1.18; margin: 0 0 16px; text-wrap: balance; }
.archive-contact p:not(.eyebrow) { color: #d5e1e6; font-size: 1rem; line-height: 1.8; max-width: 585px; margin: 0; }
.archive-contact-actions { display: flex; flex-direction: column; gap: 17px; align-items: center; }
.archive-contact-actions .button { font-size: .875rem; padding: 15px 21px; }
.archive-contact-phone { color: white; font-size: 1.125rem; text-underline-offset: 5px; }
.archive-contact-phone:hover { text-decoration: underline; }
.blog-archive-page a:focus-visible { outline: 2px solid var(--green); outline-offset: 5px; }
.archive-contact a:focus-visible { outline-color: white; }
@media (max-width: 1100px) {
  .archive-grid { gap: 25px; }
  .archive-card h2 { font-size: 1.75rem; }
}
@media (max-width: 900px) {
  .archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 28px; }
  .archive-contact-inner { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .archive-contact-actions { flex-direction: row; flex-wrap: wrap; justify-content: flex-start; gap: 18px 24px; }
}
@media (max-width: 600px) {
  .archive-hero { padding: 22px 0 31px; }
  .archive-breadcrumb { margin-bottom: 25px; }
  .archive-hero h1 { font-size: 2.5rem; }
  .archive-hero > .wrap > p { font-size: 1rem; }
  .archive-articles { padding: 31px 0 41px; }
  .archive-grid { grid-template-columns: minmax(0, 1fr); gap: 39px; }
  .archive-card h2 { font-size: 1.875rem; }
  .archive-card-copy { padding-top: 20px; }
  .archive-excerpt { margin-bottom: 21px; }
  .archive-contact { padding: 34px 0 37px; }
}
@media (prefers-reduced-motion: reduce) {
  .archive-card-image img { transition: none; }
}

/* Native WordPress archive additions. */
.archive-card-no-image .archive-card-copy { border-top: 2px solid var(--green); }
.archive-card, .archive-hero h1, .archive-contact h2 { overflow-wrap: anywhere; }
.archive-pagination { margin-top: 45px; padding-top: 27px; border-top: 1px solid var(--line); }
.archive-pagination .nav-links { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; }
.archive-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px 14px; color: var(--navy); font-size: .9375rem; border: 1px solid var(--line); }
.archive-pagination a:hover { color: var(--green); border-color: var(--green); }
.archive-pagination .current { background: var(--navy); color: white; border-color: var(--navy); }
.archive-pagination .dots { border-color: transparent; }
.archive-pagination .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; white-space: nowrap; }
.archive-empty { padding: 15px 0 35px; }
.archive-empty h2 { color: var(--navy); font-size: 2rem; line-height: 1.2; margin: 0 0 16px; }
.archive-empty p { color: var(--slate); font-size: 1rem; margin: 0; }
.archive-empty a { color: var(--green); text-decoration: underline; text-underline-offset: 4px; }
