/* Articles and native Polymer testimonials share Coventry's warm editorial style. */
body .polymer-blog-archive__grid { padding-top: 1rem !important; padding-bottom: 5rem !important; }
body .polymer-blog-filters { background: var(--hv-color-surface); border: 1px solid var(--hv-color-border); border-radius: 16px; padding: clamp(1.25rem, 3vw, 2rem); margin-bottom: 2.5rem; }
body .polymer-blog-filters .polymer-project-filters__search-input { min-height: 50px; border: 1px solid var(--hv-color-border-strong); border-radius: 9px; background: var(--hv-color-paper); color: var(--hv-color-ink); }
body .polymer-blog-filters .polymer-project-filters__submit { background: var(--hv-color-accent); border: 1px solid var(--hv-color-accent); border-radius: 9px; color: var(--hv-color-white); min-height: 50px; font-family: var(--hv-font-ui); font-size: 1.15rem; font-weight: 400; letter-spacing: .08em; text-transform: uppercase; padding: .75rem 1.5rem; }
body .polymer-blog-filters .polymer-project-filters__submit:hover { background: var(--hv-color-accent-hover); border-color: var(--hv-color-accent-hover); }
body .polymer-blog-filters .polymer-project-filters__type-button { min-height: 44px; border: 1px solid var(--hv-color-border-strong); border-radius: 9px; background: var(--hv-color-paper); color: var(--hv-color-text-strong); padding: .7rem 1rem; }
body .polymer-blog-filters .polymer-project-filters__type input:checked + .polymer-project-filters__type-button { background: var(--hv-color-ink); color: var(--hv-color-white); border-color: var(--hv-color-ink); }
body .polymer-blog-filters .polymer-project-filters__reset { color: var(--hv-color-accent-text); text-underline-offset: .2em; }
body .polymer-blog-card { border: 1px solid var(--hv-color-border-card); border-radius: 16px; overflow: hidden; background: var(--hv-color-paper); box-shadow: 0 3px 16px rgb(var(--hv-ink-rgb) / 3%); transition: border-color 180ms ease, box-shadow 180ms ease; }
body .polymer-blog-card:hover { border-color: var(--hv-color-border-hover); box-shadow: 0 10px 28px rgb(var(--hv-ink-rgb) / 8%); }
body .polymer-blog-card__image-link { aspect-ratio: 3 / 2; background: var(--hv-color-surface); }
body .polymer-blog-card__image { width: 100%; height: 100%; object-fit: cover; }
body .polymer-blog-card__image-placeholder { position: relative; background: var(--hv-color-surface); }
body .polymer-blog-card__image-placeholder::after { content: ""; position: absolute; inset: 15%; background: url('../images/footer-mark-transparent.svg') center / contain no-repeat; opacity: .65; }
body .polymer-blog-card__body { padding: clamp(1.5rem, 2.5vw, 2rem); gap: 1rem; }
body .polymer-blog-card__meta { font-family: var(--hv-font-body); font-size: .8125rem; color: var(--hv-color-eyebrow); line-height: 1.6; }
body .polymer-blog-card__categories a { text-decoration: underline; text-underline-offset: .2em; }
body .polymer-blog-card__title { font-family: var(--hv-font-display); font-size: clamp(2rem, 2.7vw, 2.7rem); font-weight: 400; line-height: 1.1; color: var(--hv-color-ink); }
body .polymer-blog-card__title a:hover { color: var(--hv-color-accent-text); }
body .polymer-blog-card__excerpt { color: var(--hv-color-text-muted); font-size: 1rem; line-height: 1.7; }
body .hv-article-card-link { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-top: 1rem; margin-top: auto; border-top: 1px solid var(--hv-color-border-divider); color: var(--hv-color-accent-text); font-size: .9375rem; font-weight: 500; text-decoration: none; }
body .polymer-blog-archive__pagination .page-numbers { border: 1px solid var(--hv-color-border); border-radius: 8px; color: var(--hv-color-text-link); background: var(--hv-color-paper); }
body .polymer-blog-archive__pagination .page-numbers.current { background: var(--hv-color-ink); color: var(--hv-color-white); }
body .polymer-single-post__header { padding: clamp(3rem, 6vw, 6rem) 0 2.5rem; background: var(--hv-color-surface); border-bottom: 1px solid var(--hv-color-border-card); }
body .polymer-single-post__title { max-width: 1000px; font-family: var(--hv-font-display); font-size: clamp(2.75rem, 5.5vw, 5rem); font-weight: 400; line-height: 1.08; margin-bottom: 1.75rem; }
body .polymer-single-post__meta { flex-wrap: wrap; gap: .5rem 1rem; color: var(--hv-color-eyebrow); font-size: .875rem; }
body .polymer-single-post__content > .container { max-width: 860px; }
body .polymer-single-post__content { font-size: 1.0625rem; line-height: 1.8; padding-block: 3rem 5rem; }
body .polymer-single-post__content :is(h2,h3) { margin-top: 2rem; }
body .hv-article-back { display: inline-block; min-height: 44px; margin-bottom: 1rem; color: var(--hv-color-accent-text); font-size: .9375rem; text-decoration: none; }
body .hv-article-hero { margin: 3rem auto 0; }
body .hv-article-hero img { display: block; width: 100%; max-height: 650px; object-fit: contain; border: 1px solid var(--hv-color-border-card); border-radius: 16px; background: var(--hv-color-paper); padding: 1rem; }
body .hv-sample-notice { text-align: center; color: var(--hv-color-eyebrow); font-size: .9375rem; margin: 0; }
body .hv-testimonial-showcase { padding-bottom: 5rem !important; }
body .hv-testimonial-showcase .polymer-testimonials-slider { background: transparent; padding: 0 0 4rem; }
body .hv-testimonial-showcase .polymer-testimonial { position: relative; min-height: 340px; background: var(--hv-color-surface); border: 1px solid var(--hv-color-border); border-radius: 18px; padding: clamp(2rem, 5vw, 4rem); }
body .hv-testimonial-showcase .polymer-testimonial::before { content: '“'; display: block; font-family: var(--hv-font-display); font-size: 6rem; line-height: .65; color: var(--hv-color-accent); margin-bottom: 1rem; }
body .hv-testimonial-showcase .polymer-testimonial__quote { font-family: var(--hv-font-display); font-size: clamp(1.8rem, 3.2vw, 3rem); font-weight: 400; line-height: 1.25; margin-bottom: 2rem; }
body .hv-testimonial-showcase .polymer-testimonial__attribution { border-top: 1px solid var(--hv-color-border-quote); padding-top: 1.25rem; margin: 0; width: 100%; font-size: .9375rem; }
body .hv-testimonial-showcase .polymer-testimonial__author { font-weight: 500; }
body .hv-testimonial-showcase .polymer-testimonial__meta { color: var(--hv-color-eyebrow); opacity: 1; font-size: .8125rem; margin-top: .35rem; }
body .hv-testimonial-showcase .polymer-slider .swiper-button-prev,
body .hv-testimonial-showcase .polymer-slider .swiper-button-next { background: var(--hv-color-selected); border: 1px solid var(--hv-color-border-accent); color: var(--hv-color-accent-text); }
body .hv-testimonial-showcase .polymer-slider .swiper-pagination-bullet-active { background: var(--hv-color-accent-text); }
body :is(.polymer-blog-card,.polymer-blog-filters,.polymer-single-post,.hv-testimonial-showcase) :is(a,button,input):focus-visible { outline: 2px solid var(--hv-color-focus); outline-offset: 4px; }
@media (max-width: 575.98px) {
    body .polymer-blog-filters .polymer-project-filters__search { flex-wrap: wrap; }
    body .polymer-blog-filters .polymer-project-filters__submit { width: 100%; }
    body .hv-testimonial-showcase .polymer-testimonial { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) { body .polymer-blog-card { transition: none; } }
body .polymer-blog-filters .polymer-project-filters__type-count { color: inherit; }
body .hv-testimonial-showcase .polymer-testimonial__quote p { font: inherit; line-height: inherit; margin: 0; }
/* Text slides size to their content instead of the image slider's 16:9 ratio. */
body .hv-testimonial-showcase .polymer-testimonials-slider { aspect-ratio: auto; height: auto; }
body .hv-testimonial-showcase .swiper-wrapper { height: auto; align-items: stretch; }
body .hv-testimonial-showcase .swiper-slide { height: auto; }
body .polymer-blog-filters .polymer-project-filters__types-toggle { min-height: 48px; border: 1px solid var(--hv-color-border-strong); border-radius: 9px; background: var(--hv-color-paper); color: var(--hv-color-text-strong); font-size: 1rem; }
