/* ---- Site-specific additions on top of the Prudent template ---- */
html { scroll-padding-top: 110px; }
body { background: var(--primary); }
.eyebrow { font-family: var(--font-2); text-transform: uppercase; letter-spacing: .12em; font-size: .85rem; color: var(--accent-color); font-weight: 700; }

/* Text wordmark (replaces template logo image) */
.wordmark { display: inline-flex; align-items: center; gap: .6rem; color: #fff; text-decoration: none; font-family: var(--font-1); }
.wordmark i { font-size: 2.2rem; }
.wordmark span { display: flex; flex-direction: column; line-height: 1.1; font-size: 1.25rem; font-weight: 700; color: #fff; }
.wordmark small { font-family: var(--font-2); font-size: .72rem; letter-spacing: .32em; text-transform: uppercase; color: var(--accent-color); font-weight: 700; }

/* Hero & banners: work with or without a photo */
.hero { background-size: cover; background-position: center; padding-top: 6rem; padding-bottom: 9rem; }
.page-banner { background-size: cover; background-position: center; min-height: 320px; display: flex; }
.page-banner .r-container { width: 100%; }
.page-banner h1 { font-size: clamp(1.8rem, 4vw, 3rem); }
.lead-sm { font-size: 1.1rem; }
.trust-strip { margin-top: -4rem; z-index: 3; max-width: 1200px; margin-left: auto; margin-right: auto; padding: 2.5rem 1.5rem; }
.cta-section { background-size: cover; background-position: center; min-height: 460px; display: flex; }
.cta-section .r-container { width: 100%; }

/* Process steps */
.step-num { display: inline-flex; align-items: center; justify-content: center; min-width: 64px; height: 64px; font-family: var(--font-1); font-size: 1.3rem; color: #fff; }

/* Service cards equal height */
.services-section .service .card-service { display: flex; flex-direction: column; }
.service-nav .link { background: var(--background-color); color: var(--text-color); }
.service-nav .link.active, .service-nav .link:hover { background: var(--accent-color); color: #fff; }
.bring-box { background: var(--background-color); border-left: 4px solid var(--accent-color); }
.check-list li { font-family: var(--font-2); color: var(--text-color-2); }

/* Post cards */
.post-thumb { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; }
.post-thumb--empty { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #1C3345, #24445c); color: var(--accent-color); font-size: 3rem; }
.related-link { border-bottom: 1px solid #e5e5e5; padding-bottom: .75rem; }
.related-link:hover { color: var(--accent-color) !important; }

/* Article body from WordPress (Gutenberg blocks) */
.prose { font-family: var(--font-2); color: var(--text-color-2); font-size: 1.05rem; line-height: 1.75; }
.prose h2 { font-size: 1.6rem; margin: 2rem 0 1rem; color: var(--text-color); }
.prose h3 { font-size: 1.3rem; margin: 1.6rem 0 .8rem; color: var(--text-color); }
.prose h4 { font-size: 1.1rem; margin: 1.4rem 0 .6rem; }
.prose p, .prose ul, .prose ol { margin-bottom: 1.1rem; }
.prose ul, .prose ol { padding-left: 1.4rem; }
.prose li { margin-bottom: .45rem; }
.prose li::marker { color: var(--accent-color); }
.prose strong { color: var(--text-color); }
.prose a { color: var(--accent-color); text-decoration: underline; }
.prose img { max-width: 100%; height: auto; }
.prose figure { margin: 1.5rem 0; }
.prose figcaption { font-size: .9rem; color: #777; text-align: center; margin-top: .5rem; }
.prose blockquote { border-left: 4px solid var(--accent-color); padding: .5rem 0 .5rem 1.25rem; font-style: italic; color: var(--text-color); }
.prose table { width: 100%; border-collapse: collapse; margin-bottom: 1.25rem; }
.prose th, .prose td { border: 1px solid #ddd; padding: .6rem .8rem; }
.prose th { background: var(--background-color); }
.prose .aligncenter, .prose .has-text-align-center { text-align: center; margin-left: auto; margin-right: auto; }
.prose .alignleft { float: left; margin: 0 1.25rem 1rem 0; }
.prose .alignright { float: right; margin: 0 0 1rem 1.25rem; }
.prose .wp-block-columns { display: flex; gap: 2rem; flex-wrap: wrap; }
.prose .wp-block-column { flex: 1 1 250px; }
.prose .wp-block-button__link { display: inline-block; background: var(--accent-color); color: #fff; padding: .8rem 2rem; text-decoration: none; }

/* Cookie consent */
.consent { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 2000; max-width: 560px; background: var(--text-color); color: #fff; padding: 1.25rem; display: flex; flex-direction: column; gap: 1rem; box-shadow: 0 10px 30px rgba(0,0,0,.25); font-family: var(--font-2); }
.consent[hidden] { display: none; }

@media (max-width: 1199px) {
  .hero { padding-top: 3rem; padding-bottom: 6rem; }
  .trust-strip { margin: -3rem 1rem 0; }
}

/* Headings: serif everywhere, including Bootstrap .h* utility classes */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: var(--font-1); }
.prose ul, .bring-box ul { list-style: disc; }
.prose ol { list-style: decimal; }
.bring-box li { font-family: var(--font-2); color: var(--text-color-2); margin-bottom: .35rem; }
.btn-outline-accent { border: 1px solid var(--accent-color); color: var(--accent-color); background: transparent; }
.btn-outline-accent:hover { background: var(--accent-color); color: #fff; }
