:root {
	--color-border: #E4DFD2;
	--color-muted: #706A5C;
	--color-heading: #201C13;
	--color-accent-text: #FFFFFF;
	--color-link: #866518;
	--color-bg: #FFFFFF;
	--color-surface: #F7F4ED;
	--color-accent: #8F6D1E;
	--color-text: #302C21;
}

.spotlight {
	box-sizing: border-box;
	overflow-wrap: break-word;
	margin-bottom: 32px;
}

.spotlight .heroTitle {
	margin: 0 0 8px;
	font-size: 32px;
	line-height: 1.15;
}

.spotlight .heroText {
	margin: 0 0 16px;
	font-size: 17.28px;
	max-width: 60ch;
}

.spotlight img {
	max-width: 100%;
}

.spotlight-qh > .shell {
	display: grid;
	padding-top: 32px;
	grid-template-columns: minmax(0,1fr);
	align-items: center;
	gap: 24px;
	padding-bottom: 32px;
}

.spotlight-qh blockquote {
	margin: 8px 0 16px;
	font-size: 20.8px;
	border-left: 4px solid var(--color-accent);
	padding: 4px 16px;
	font-family: "Raleway", Arial, sans-serif;
	font-style: italic;
}

.spotlight-qh figure {
	margin: 0;
}

.spotlight-qh figure img {
	display: block;
	border-radius: 50%;
	object-fit: cover;
	width: 100%;
	aspect-ratio: 1 / 1;
}

.heading h1 {
	margin: 0 0 20px;
	font-size: 24px;
	color: var(--color-heading);
}

.shell {
	padding-left: 16px;
	margin: 0 auto;
	box-sizing: border-box;
	max-width: 1152px;
	padding-right: 16px;
}

.pageGrid {
	padding-top: 24px;
	padding-bottom: 40px;
}

.pageContent {
	min-width: 0;
}

.sidebarLeft {
	margin-top: 32px;
	min-width: 0;
}

.headline {
	margin: 0 0 6.4px;
	font-size: 24.8px;
	line-height: 1.25;
	font-family: "Raleway", Arial, sans-serif;
}

.headline a {
	color: var(--color-heading);
	text-decoration: none;
}

.headline a:hover {
	color: var(--color-link);
	text-decoration: underline;
}

.entryMeta {
	margin: 0 0 14.4px;
	font-size: 13.6px;
	color: var(--color-muted);
}

.entryMeta a {
	color: var(--color-muted);
}

.copy img {
	height: auto;
	max-width: 100%;
}

.copy h2:not(.headline), .standfirst h2 {
	margin: 20px 0 8px;
	font-size: 18.4px;
}

.copy h3, .standfirst h3 {
	font-size: 16.32px;
}

.thumbnail {
	margin: 0 0 16px;
}

.thumbnail img {
	display: block;
	height: auto;
	border-radius: 0;
	width: 100%;
}

.mainStory .headline {
	font-size: 33.6px;
	line-height: 1.15;
}

.mainStory {
	border-bottom: 3px solid var(--color-heading);
	margin-bottom: 32px;
	padding-bottom: 24px;
}

.sideStory {
	display: grid;
	grid-template-columns: minmax(0,1fr);
	gap: 32px;
	margin-bottom: 32px;
}

.posts .titleBlock {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 16px;
	justify-content: space-between;
}

.posts .headline {
	font-size: 21.6px;
}

.posts .copy {
	font-size: 15.2px;
}

.posts .item {
	padding-top: 14.4px;
	border-top: 1px solid var(--color-border);
	margin-bottom: 22.4px;
}

.block {
	font-size: 14.72px;
	margin-bottom: 28px;
}

.boxTitle {
	margin: 0 0 9.6px;
	font-size: 16px;
	color: var(--color-heading);
	border-bottom: 2px solid var(--color-accent);
	font-family: "Raleway", Arial, sans-serif;
	text-transform: none;
	padding-bottom: 5.6px;
}

.linkList {
	margin: 0;
	padding: 0;
	list-style: none;
}

.linkList li, .linkList > div {
	padding: 4.8px 0;
	border-bottom: 1px solid var(--color-border);
}

.block a {
	color: var(--color-link);
	text-decoration: none;
}

.block a:hover {
	text-decoration: underline;
}

.singleTitle {
	margin: 0 0 8px;
	font-size: 33.6px;
	color: var(--color-heading);
	line-height: 1.2;
	font-family: "Raleway", Arial, sans-serif;
}

.articleMeta {
	margin: 0 0 24px;
	font-size: 14.08px;
	color: var(--color-muted);
}

.articleMeta a {
	color: var(--color-muted);
}

.richText img {
	height: auto;
	max-width: 100%;
}

.afterPost {
	margin-top: 40px;
	padding-top: 24px;
	border-top: 1px solid var(--color-border);
}

.tableOfContents {
	background: var(--color-surface);
	padding: 16px 20px;
	border-radius: 0;
	margin-bottom: 24px;
}

.tableOfContents p {
	margin: 0 0 6.4px;
}

.bio {
	padding: 20px;
	border-radius: 0;
	border: 1px solid var(--color-border);
	margin-bottom: 24px;
}

.bio p {
	margin: 0 0 6.4px;
}

.relatedPosts h2 {
	font-size: 18.4px;
}

.pageNav {
	display: flex;
	margin-top: 24px;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: space-between;
}

.trail {
	margin: 0 0 16px;
	font-size: 13.12px;
	color: var(--color-muted);
}

.trail a {
	color: var(--color-muted);
}

.siteFooter-lt {
	margin-top: 48px;
	padding: 32px 0;
	border-top: 1px dotted var(--color-muted);
	font-style: italic;
}

.siteFooter-lt .bylineBox {
	font-size: 19.2px;
	font-family: "Raleway", Arial, sans-serif;
	font-style: normal;
}

.siteFooter-lt .credits {
	font-size: 12.8px;
	color: var(--color-muted);
	font-style: normal;
}

.siteFooter-lt .credits a {
	margin-left: 9.6px;
}

.heroActions {
	display: flex;
	margin: 16px 0 0;
	flex-wrap: wrap;
	padding: 0;
	gap: 12px;
	list-style: none;
}

.btn {
	display: inline-block;
	background: var(--color-accent);
	color: var(--color-accent-text);
	text-decoration: none;
	padding: 9.6px 17.6px;
	border-radius: 0;
	font-weight: 700;
	border: 2px solid var(--color-accent);
}

.btnAlt {
	background: var(--color-bg);
	color: var(--color-accent);
}

.pills {
	display: flex;
	margin: 14.4px 0 0;
	flex-wrap: wrap;
	font-size: 13.6px;
	padding: 0;
	gap: 8px;
	list-style: none;
}

.pills li, .pills span {
	background: var(--color-surface);
	color: var(--color-text);
	padding: 4px 10.4px;
	border-radius: 0;
	border: 1px solid var(--color-border);
}

.overTitle {
	margin: 0 0 6.4px;
	font-size: 12.8px;
	color: var(--color-muted);
	letter-spacing: 0.08em;
	font-weight: 700;
	text-transform: uppercase;
}

.postsHeading, h2.postsHeading {
	margin: 0 0 24px;
}

.postsHeading h2, h2.postsHeading {
	font-size: 30.4px;
	margin-bottom: 5.6px;
}

.postsHeading p {
	margin: 0;
	color: var(--color-muted);
}

.description {
	margin: 0 0 24px;
	max-width: 70ch;
}

.block .count {
	padding-left: 22.4px;
	margin: 0;
}

.block .count li {
	padding: 4.8px 0;
	border-bottom: 1px solid var(--color-border);
}

.block .count li::marker {
	color: var(--color-accent);
	font-weight: 700;
}

.block .group {
	margin-bottom: 9.6px;
}

.block .group > strong {
	display: block;
	font-size: 13.6px;
	color: var(--color-muted);
	letter-spacing: 0.04em;
}

.contactCard {
	margin: 16px 0;
	box-sizing: border-box;
	max-width: 100%;
}

.contactCard .quoteForm {
	display: grid;
	grid-template-columns: minmax(0,1fr);
	gap: 9.6px;
}

.contactCard .inputGroup {
	display: grid;
	gap: 3.2px;
	min-width: 0;
}

.contactCard label {
	font-size: 13.6px;
	font-weight: 600;
}

.contactCard input[type=text], .contactCard input[type=tel], .contactCard textarea {
	background: var(--color-bg);
	box-sizing: border-box;
	color: var(--color-text);
	padding: 8px 9.6px;
	border-radius: 0;
	border: 1px solid var(--color-border);
	font: inherit;
	width: 100%;
}

.contactCard button {
	background: var(--color-accent);
	color: var(--color-accent-text);
	padding: 10.4px 17.6px;
	border-radius: 0;
	font-weight: 700;
	border: 0;
	font: inherit;
	cursor: pointer;
}

.contactCard .callLine {
	margin: 9.6px 0 0;
	font-size: 14.4px;
}

.contactCard .heroLede {
	margin: 0 0 9.6px;
}

.contactCard-boxed {
	background: var(--color-bg);
	color: var(--color-text);
	padding: 20px;
	border-radius: 0;
	border: 1px solid var(--color-border);
	box-shadow: 0 10px 30px rgba(0,0,0,.14);
}

.contactCard-inline {
	background: var(--color-surface);
	color: var(--color-text);
	padding: 14.4px;
	border-radius: 0;
}

.contactCard-tabbed {
	background: var(--color-bg);
	color: var(--color-text);
	padding: 16px;
	border-top: 4px solid var(--color-accent);
	box-shadow: 0 6px 20px rgba(0,0,0,.1);
}

.contactCard .toggleGroup {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 1px solid var(--color-border);
	gap: 0;
}

.contactCard .toggleGroup input {
	position: absolute;
	height: 1px;
	width: 1px;
	opacity: 0;
}

.contactCard .toggleGroup label {
	color: var(--color-muted);
	padding: 7.2px 14.4px;
	border-bottom: 3px solid transparent;
	cursor: pointer;
}

.contactCard .toggleGroup input:checked + label {
	border-bottom-color: var(--color-accent);
	color: var(--color-heading);
}

.contactCard-call {
	text-align: center;
	background: var(--color-surface);
	color: var(--color-text);
	padding: 16px;
	border-radius: 0;
}

.contactCard .callNow {
	display: inline-block;
	font-size: 20px;
	background: var(--color-accent);
	color: var(--color-accent-text);
	text-decoration: none;
	padding: 14.4px 25.6px;
	border-radius: 999px;
	font-weight: 700;
}

.contactCard-two {
	background: var(--color-bg);
	color: var(--color-text);
	padding: 17.6px;
	border-radius: 0;
	border: 2px dashed var(--color-border);
}

.contactCard fieldset {
	display: grid;
	margin: 0;
	padding: 0;
	border: 0;
	gap: 8px;
	min-width: 0;
}

.contactCard legend {
	font-size: 12px;
	color: var(--color-muted);
	letter-spacing: 0.08em;
}

.contactCard details > summary {
	display: inline-block;
	margin: 4.8px 0;
	background: var(--color-heading);
	color: var(--color-bg);
	padding: 8px 16px;
	border-radius: 0;
	list-style: none;
	cursor: pointer;
}

.contactCard-compact {
	background: var(--color-surface);
	color: var(--color-text);
	padding: 16px;
	border-radius: 0;
	border: 1px solid var(--color-border);
}

.contactCard-capsule {
	background: var(--color-surface);
	color: var(--color-text);
	padding: 9.6px;
	border-radius: 0;
	border: 1px solid var(--color-border);
}

.contactCard-capsule input[type=text], .contactCard-capsule input[type=tel], .contactCard-capsule button {
	border-radius: 999px;
}

.contactCard-capsule input[type=text], .contactCard-capsule input[type=tel] {
	padding: 8.8px 16px;
}

.contactCard-capsule .callLine {
	text-align: center;
}

.topicIndex {
	margin: 0 0 32px;
	background: var(--color-surface);
	padding: 16px 18.4px;
	border-radius: 0;
	border: 1px solid var(--color-border);
	overflow-wrap: anywhere;
}

.topicIndex p {
	margin: 0 0 8px;
}

.topicIndex ul, .topicIndex ol {
	padding-left: 20px;
	margin: 0;
}

.topicIndex li {
	margin: 0 0 5.6px;
}

.topicIndex ul {
	padding-left: 0;
	list-style: none;
}

.topicIndex li strong {
	display: inline-block;
	color: var(--color-accent);
	min-width: 24px;
}

.titleBlock .articleMeta {
	margin: 0 0 20px;
}

.entry-bm .bannerStrip {
	background: var(--color-surface);
	border-left: 4px solid var(--color-accent);
	padding: 8px 14.4px;
	margin-bottom: 16px;
}

.entry-bm .bannerStrip .articleMeta {
	margin: 0;
}

.logo::before {
	display: inline-block;
	text-align: center;
	font-size: 0.8em;
	background: var(--color-heading);
	color: var(--color-bg);
	border-radius: 50%;
	margin-right: 7.2px;
	content: "C";
	line-height: 1.6;
	min-width: 25.6px;
}

.btn, .callNow, .contactCard button, .siteSearch button {
	border-radius: 999px;
}

.thumbnail img, .richText img, .copy img {
	border-radius: 20px;
}

.copy p, .richText p {
	margin: 0 0 9.6px;
}

body {
	line-height: 1.45;
}

.trail {
	font-size: 11.52px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.tableOfContents ul, .tableOfContents ol {
	display: flex;
	flex-wrap: wrap;
	gap: 6.4px;
}

.tableOfContents li {
	background: var(--color-surface);
	padding: 2.4px 9.6px;
	border-bottom: 0;
	border-radius: 999px;
}

.copy blockquote, .richText blockquote {
	background: var(--color-accent);
	color: var(--color-accent-text);
	border-left: 0;
	padding: 16px;
}

.copy ul, .richText ul {
	list-style-type: square;
}

.chips a {
	background: transparent;
	border-bottom: 2px solid var(--color-accent);
	border-radius: 0;
	border: 0;
}

.pageNav-top {
	text-align: right;
	margin: 8px 0;
}

.entry-pg-band .titleBlock {
	background: var(--color-accent);
	color: var(--color-accent-text);
	padding: 20px 16px;
	border-radius: 0;
	margin-bottom: 20px;
}

.entry-pg-band .singleTitle {
	margin: 0;
	color: var(--color-accent-text);
}

.archive.cardGrid {
	display: grid;
	grid-template-columns: minmax(0,1fr);
	gap: 12px;
}

.archive.cardGrid > div {
	padding: 14.4px;
	border-radius: 0;
	border: 1px solid var(--color-border);
}

.archive.cardGrid a {
	display: block;
	text-decoration: none;
}

.archive.cardGrid span {
	display: block;
	font-size: 13.6px;
	color: var(--color-muted);
}

.pageNav-more a {
	display: block;
	text-align: center;
	background: var(--color-surface);
	padding: 12.8px;
	border-radius: 0;
	font-weight: 700;
	width: 100%;
}

@media (min-width: 720px) {
	.spotlight .heroTitle {
		font-size: 41.6px;
	}
	.spotlight-qh > .shell {
		grid-template-columns: minmax(0,2fr) minmax(0,1fr);
	}
	.pageGrid {
		display: grid;
		column-gap: 36px;
		grid-template-columns: 272px minmax(0,1fr);
		grid-template-areas: "l m";
		align-items: start;
	}
	.pageContent {
		grid-area: m;
	}
	.sidebarLeft {
		margin-top: 0;
		grid-area: l;
	}
	.contactCard-inline .quoteForm {
		grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto;
		align-items: end;
	}
	.contactCard-capsule {
		padding: 6.4px 8px;
		border-radius: 999px;
	}
	.contactCard-capsule .quoteForm {
		grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto;
		align-items: center;
	}
	.contactCard-capsule .inputGroup label {
		position: absolute;
		overflow: hidden;
		height: 1px;
		clip: rect(0 0 0 0);
		white-space: nowrap;
		width: 1px;
	}
	.archive.cardGrid {
		grid-template-columns: repeat(2, minmax(0,1fr));
	}
}

@media (min-width: 1024px) {
	.sideStory {
		grid-template-columns: repeat(2, minmax(0,1fr));
	}
}
