/* Front page blocks */
.front-page-content { padding-top: 52px; }
.front-hero { min-height: 395px; background: url("../img/top-image.jpeg") center/cover; border-bottom: 1px solid #bdbdbd; }
.front-hero-shade { min-height: 365px; display: grid; place-items: center; background: rgba(255,255,255,.4); text-align: center; }
.front-hero h1 { margin: 0; color: #111; font: 400 48px/1.15 "Noto Serif",serif; }
.front-hero h1 span { display: block; margin-top: 14px; font-size: 18px; }
.front-section-title { text-align: center; margin: 58px 0 36px; border-bottom: 1px solid #c20000; }
.front-section-title img { display: inline-block; width: 180px; max-width: 100%; vertical-align: bottom; transform: translateY(10px); background: white; padding: 0 12px; }
.front-products-query .wp-block-post-template { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; padding: 0; margin: 0; list-style: none; }
.front-products-query .wp-block-post { display: grid; grid-template-columns: minmax(0, 40%) minmax(0,1fr); grid-template-rows: max-content max-content 1fr; column-gap: 20px; align-content: start; min-width: 0; padding: 20px; border: 1px solid #c9c9c9; background: #fafafa; }
.front-products-query .wp-block-post-featured-image { grid-row: 1 / span 3; margin: 0; align-self: center; }
.front-products-query .wp-block-post-featured-image img { display: block; width: 100%; height: 145px; object-fit: contain; }
.front-products-query .wp-block-post-title { margin: 0; padding-bottom: 0; border-bottom: 1px solid #111; font-size: 18px; line-height: 1.4; }
.front-products-query .wp-block-post-title a { color: inherit; text-decoration: none; }
.front-products-query .wp-block-post-excerpt { min-width: 0; margin: 8px 0; font-size: 14px; line-height: 1.55; overflow-wrap: anywhere; }
.front-products-query .wp-block-post-excerpt p { margin: 0; }
.front-products-query .wp-block-read-more { grid-column: 2; align-self: end; color: #1a4e9c; font-size: 14px; }
.front-products-query .wp-block-post:not(:has(.wp-block-post-featured-image img)) { grid-template-columns: 1fr; }
.front-products-query .wp-block-post:not(:has(.wp-block-post-featured-image img)) .wp-block-read-more { grid-column: 1; }
.front-products-more { margin: 24px 0 0; text-align: right; }
.front-products-more a, .front-solutions-query .wp-block-read-more { color: #1a4e9c; }
.front-solutions-query .wp-block-post-template { padding: 0; margin: 0; list-style: none; }
.front-solutions-query .wp-block-post { max-width: 780px; margin: 0 auto; text-align: center; }
.front-solutions-query .wp-block-post-featured-image { margin: 58px auto 0; }
.front-solutions-query .wp-block-post-featured-image img { display: block; width: auto; max-width: min(100%,350px); max-height: 250px; margin: auto; object-fit: contain; }
.front-solutions-query .wp-block-post-title { margin: 16px 0; font-size: 24px; line-height: 1.5; }
.front-solutions-query .wp-block-post-title a { color: inherit; text-decoration: none; }
.front-solutions-query .wp-block-post-excerpt { max-width: 640px; margin: 24px auto; text-align: left; font-size: 16px; line-height: 1.7; }
.front-solutions-query .wp-block-post-excerpt p { margin: 0; white-space: pre-line; }
.front-solutions-query .wp-block-read-more { display: inline-block; margin-top: 8px; }
.front-example { padding: 30px 0 100px; text-align: center; }
.front-example h3 { margin: 58px 0 0; font-size: 24px; }
.front-example p { margin: 20px auto; font-size: 16px; line-height: 1.65; }
.front-example img { max-width: 100%; height: auto; }
@media (max-width: 760px) {
 .front-hero h1 { font-size: clamp(28px,6vw,42px); }
 .front-hero h1 span { font-size: 14px; }
 .front-products-query .wp-block-post-template { grid-template-columns: 1fr; }
}
@media (max-width: 460px) {
 .front-products-query .wp-block-post { grid-template-columns: 1fr; grid-template-rows: auto; }
 .front-products-query .wp-block-post-featured-image { grid-row: auto; margin-bottom: 14px; }
 .front-products-query .wp-block-read-more { grid-column: 1; }
}
.front-products-query .wp-block-query-pagination { display: flex; justify-content: center; gap: 16px; margin: 28px 0; }
.front-products-query .wp-block-query-pagination a { color: #1a4e9c; }
