:root { --sfps-wp-blue: #0a8ff0; --sfps-wp-dark: #020711; --sfps-wp-white: #fff; }
.nav-toggle { display: none; }
.sfps-page-hero { padding: clamp(7rem, 13vw, 11rem) 0 clamp(3rem, 6vw, 5rem); background: var(--sfps-wp-dark); color: var(--sfps-wp-white); }
.sfps-page-hero h1, .sfps-article-hero h1 { max-width: 18ch; }
.sfps-listing-inner, .sfps-entry-content { padding-top: clamp(3rem, 6vw, 6rem); padding-bottom: clamp(4rem, 8vw, 8rem); }
.sfps-post-grid { display: grid; gap: 2rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sfps-post-card { border: 1px solid rgba(2, 7, 17, .14); background: #fff; }
.sfps-card-image { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #d9e4ec; }
.sfps-card-image img { width: 100%; height: 100%; object-fit: cover; }
.sfps-card-copy { padding: clamp(1.25rem, 3vw, 2rem); }
.sfps-card-copy h2 { font-size: clamp(1.5rem, 3vw, 2.25rem); }
.sfps-card-copy h2 a { color: inherit; }
.sfps-reading-width { max-width: 56rem; }
.sfps-article-hero { padding: clamp(8rem, 14vw, 12rem) 0 4rem; background: var(--sfps-wp-dark); color: var(--sfps-wp-white); }
.article-hero-layout.has-no-image { grid-template-columns: minmax(0, 1fr); }
.article-hero-layout.has-no-image .article-hero-copy { max-width: 70rem; }
.sfps-featured-image { margin-top: -1.5rem; }
.sfps-featured-image img { width: 100%; height: auto; }
.sfps-entry-content { font-size: 1.125rem; line-height: 1.75; }
.sfps-entry-content img { max-width: 100%; height: auto; }
.sfps-entry-content a { text-decoration: underline; text-underline-offset: .15em; }
.sfps-article-footer { padding-bottom: 4rem; }
.sfps-search-form label { display: block; font-weight: 700; margin-bottom: .5rem; }
.sfps-search-form > div { display: flex; gap: .75rem; }
.sfps-search-form input { min-width: 0; padding: .85rem; border: 2px solid currentColor; }
.sfps-wpforms .wpforms-container { margin: 0; }
.sfps-wpforms .wpforms-field { padding: 0 0 1rem; }
.sfps-wpforms .wpforms-field-label { display: block; color: inherit; }
.sfps-wpforms input, .sfps-wpforms textarea, .sfps-wpforms select { width: 100%; max-width: none; }
.sfps-wpforms .wpforms-submit { cursor: pointer; }
.footer-grid > div:last-child { display: grid; align-content: start; justify-items: start; gap: .8rem; }
.footer-grid > div:last-child .button { width: auto; }
.footer-phone { display: block; overflow-wrap: anywhere; font-weight: 800; }
.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; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { clip: auto !important; clip-path: none; display: block; height: auto; left: .5rem; top: .5rem; width: auto; z-index: 100000; }
@media (max-width: 760px) {
	.nav-toggle { display: inline-flex; min-height: 44px; align-items: center; background: transparent; border: 2px solid currentColor; color: inherit; padding: .5rem .75rem; }
	#primary-navigation { display: none; }
	#primary-navigation.is-open { display: block; }
	.sfps-post-grid { grid-template-columns: 1fr; }
	.sfps-search-form > div { align-items: stretch; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; } }
