:root {
	--line: #353D46;
	--on-accent: #12171C;
	--mute: #949EA8;
	--fg: #DDE0E4;
	--link: #63A6E9;
	--bg: #12171C;
	--alt: #1B2128;
	--accent: #408FDD;
	--head: #FFFFFF;
}

*, *::before, *::after {
	box-sizing: border-box;
}

body {
	font-family: Verdana, Geneva, sans-serif;
	margin: 0;
	overflow-wrap: break-word;
	font-size: 17px;
	color: var(--fg);
	line-height: 1.55;
	background: var(--bg);
}

h1, h2, h3, h4 {
	font-family: Verdana, Geneva, sans-serif;
	color: var(--head);
	line-height: 1.25;
}

a {
	color: var(--link);
}

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

pre, table {
	overflow-x: auto;
	max-width: 100%;
}

table {
	display: block;
	border-collapse: collapse;
}

blockquote {
	margin: 20px 0;
	border-left: 3px solid var(--accent);
	color: var(--mute);
	padding: 4px 20px;
}

.sr-only {
	position: absolute;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	width: 1px;
	white-space: nowrap;
}

.skip {
	position: absolute;
	left: -960px;
	top: 0;
}

.skip:focus {
	left: 16px;
	z-index: 50;
	padding: 8px;
	background: var(--bg);
}

.page-nav {
	justify-content: space-between;
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 32px;
}

.history div {
	padding: 5.6px 0;
}

.history__month {
	font-size: 19.2px;
	margin-top: 28px;
}

.site-head > .content-width {
	display: grid;
	gap: 12px;
	padding-top: 24px;
	grid-template-columns: minmax(0,1fr);
	padding-bottom: 20px;
}

.site-head {
	border-bottom: 1px solid var(--head);
}

.site-head__title {
	font-family: Verdana, Geneva, sans-serif;
	font-size: 28.8px;
	font-weight: 700;
	color: var(--head);
	text-decoration: none;
}

.site-head__lede {
	margin: 4px 0 0;
	font-size: 14.4px;
	color: var(--mute);
}

.rank-no {
	font-size: 12px;
	font-weight: 700;
	color: var(--accent);
}

.primary-menu__nav-list {
	justify-content: flex-start;
	margin: 0;
	display: flex;
	gap: 4px 17.6px;
	list-style: none;
	flex-wrap: wrap;
	padding: 0;
}

.primary-menu__nav-list a {
	font-size: 15.2px;
	color: var(--fg);
	text-decoration: none;
}

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

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

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

.showcase .showcase__hero-text {
	margin: 0 0 16px;
	font-size: 17.28px;
	max-width: 60ch;
}

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

.showcase-sc .showcase__figure {
	height: 192px;
	overflow: hidden;
	background: linear-gradient(120deg, var(--accent), var(--head));
}

.showcase-sc .showcase__figure img {
	height: 100%;
	display: block;
	width: 100%;
	object-fit: cover;
}

.showcase-sc .hero-panel {
	position: relative;
	box-shadow: 0 12px 36px rgba(0,0,0,.16);
	max-width: 704px;
	padding: 20px;
	margin-top: -64px;
	border-radius: 0;
	background: var(--bg);
}

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

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

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

.main {
	min-width: 0;
}

.entry__post-title {
	font-family: Verdana, Geneva, sans-serif;
	margin: 0 0 6.4px;
	font-size: 24.8px;
	line-height: 1.25;
}

.entry__post-title a {
	color: var(--head);
	text-decoration: none;
}

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

.entry__post-info {
	margin: 0 0 14.4px;
	font-size: 13.6px;
	color: var(--mute);
}

.entry__post-info a {
	color: var(--mute);
}

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

.entry__post-body h2:not(.entry__post-title), .entry__summary-text h2 {
	margin: 20px 0 8px;
	font-size: 18.4px;
}

.entry__post-body h3, .entry__summary-text h3 {
	font-size: 16.32px;
}

.entry__card-image {
	margin: 0 0 16px;
}

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

.featured .entry__post-title {
	font-size: 33.6px;
	line-height: 1.15;
}

.featured {
	border-bottom: 3px solid var(--head);
	margin-bottom: 32px;
	padding-bottom: 24px;
}

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

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

.side-story .entry {
	height: 100%;
	padding: 20px;
	border-radius: 0;
	background: var(--alt);
	box-sizing: border-box;
}

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

.card-box__widget-title {
	font-family: Verdana, Geneva, sans-serif;
	margin: 0 0 9.6px;
	font-size: 16px;
	color: var(--head);
	text-transform: none;
	border-bottom: 2px solid var(--accent);
	padding-bottom: 5.6px;
}

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

.card-box__block-list li, .card-box__block-list > div {
	border-bottom: 1px solid var(--line);
	padding: 4.8px 0;
}

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

.card-box a:hover {
	text-decoration: underline;
}

.single__entry-heading {
	font-family: Verdana, Geneva, sans-serif;
	margin: 0 0 8px;
	font-size: 33.6px;
	color: var(--head);
	line-height: 1.2;
}

.single__post-date {
	margin: 0 0 24px;
	font-size: 14.08px;
	color: var(--mute);
}

.single__post-date a {
	color: var(--mute);
}

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

.single__post-footer {
	border-top: 1px solid var(--line);
	padding-top: 24px;
	margin-top: 40px;
}

.on-this-page {
	padding: 16px 20px;
	margin-bottom: 24px;
	border-radius: 0;
	background: var(--alt);
}

.on-this-page p {
	margin: 0 0 6.4px;
}

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

.about-box p {
	margin: 0 0 6.4px;
}

.related-posts h2 {
	font-size: 18.4px;
}

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

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

.crumbs a {
	color: var(--mute);
}

.foot-st {
	border-top: 1px solid var(--line);
	text-align: center;
	padding: 48px 0;
	margin-top: 48px;
}

.foot-st .site-head__title {
	font-family: Verdana, Geneva, sans-serif;
	margin: 0 0 12px;
	font-size: 24px;
	color: var(--head);
}

.foot-st > div > p {
	margin-right: auto;
	max-width: 52ch;
	margin-left: auto;
}

.foot-st .card-box__block-list {
	justify-content: center;
	margin: 16px 0;
	display: flex;
	gap: 4.8px 19.2px;
	list-style: none;
	flex-wrap: wrap;
	padding: 0;
}

.foot-st .foot__legal {
	font-size: 12.8px;
	color: var(--mute);
}

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

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

.showcase__pill-link-alt {
	color: var(--accent);
	background: var(--bg);
}

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

.showcase__highlights li, .showcase__highlights span {
	color: var(--fg);
	border: 1px solid var(--line);
	padding: 4px 10.4px;
	border-radius: 0;
	background: var(--alt);
}

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

.post-list__stream-title, h2.post-list__stream-title {
	margin: 0 0 24px;
}

.post-list__stream-title h2, h2.post-list__stream-title {
	font-size: 30.4px;
	margin-bottom: 5.6px;
}

.post-list__stream-title p {
	margin: 0;
	color: var(--mute);
}

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

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

.reach-us .request-form {
	display: grid;
	gap: 9.6px;
	grid-template-columns: minmax(0,1fr);
}

.reach-us .field {
	display: grid;
	gap: 3.2px;
	min-width: 0;
}

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

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

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

.reach-us .tel-line {
	margin: 9.6px 0 0;
	font-size: 14.4px;
}

.reach-us .deck {
	margin: 0 0 9.6px;
}

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

.reach-us-inline {
	color: var(--fg);
	padding: 14.4px;
	border-radius: 0;
	background: var(--alt);
}

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

.reach-us .tabs {
	display: flex;
	gap: 0;
	flex-wrap: wrap;
	border-bottom: 1px solid var(--line);
}

.reach-us .tabs input {
	position: absolute;
	opacity: 0;
	height: 1px;
	width: 1px;
}

.reach-us .tabs label {
	color: var(--mute);
	border-bottom: 3px solid transparent;
	cursor: pointer;
	padding: 7.2px 14.4px;
}

.reach-us .tabs input:checked + label {
	color: var(--head);
	border-bottom-color: var(--accent);
}

.reach-us-call {
	color: var(--fg);
	text-align: center;
	padding: 16px;
	border-radius: 0;
	background: var(--alt);
}

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

.reach-us-two {
	color: var(--fg);
	border: 2px dashed var(--line);
	padding: 17.6px;
	border-radius: 0;
	background: var(--bg);
}

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

.reach-us legend {
	font-size: 12px;
	letter-spacing: 0.08em;
	color: var(--mute);
}

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

.reach-us-compact {
	color: var(--fg);
	border: 1px solid var(--line);
	padding: 16px;
	border-radius: 0;
	background: var(--alt);
}

.reach-us-fold {
	overflow: hidden;
	color: var(--fg);
	border: 1px solid var(--line);
	border-radius: 0;
	background: var(--bg);
}

.reach-us-fold details > summary {
	justify-content: space-between;
	margin: 0;
	display: flex;
	font-weight: 700;
	color: var(--head);
	list-style: none;
	align-items: center;
	cursor: pointer;
	padding: 13.6px 17.6px;
	border-radius: 0;
	background: var(--alt);
}

.reach-us-fold details > summary::-webkit-details-marker {
	display: none;
}

.reach-us-fold details > summary::after {
	font-size: 20.8px;
	content: "+";
	color: var(--accent);
	line-height: 1;
}

.reach-us-fold details[open] > summary::after {
	content: "-";
}

.reach-us-fold .step {
	display: grid;
	gap: 9.6px;
	padding: 17.6px;
}

.reach-us-fold .tel-line {
	padding: 0 17.6px 14.4px;
}

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

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

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

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

.seasonal li span {
	font-size: 13.6px;
	color: var(--mute);
}

.single__title-block .single__post-date {
	margin: 0 0 20px;
}

.summary-box {
	font-size: 14.4px;
	padding: 16px;
	margin-bottom: 24px;
	border-radius: 0;
	background: var(--alt);
}

.summary-box dl {
	margin: 0;
	display: grid;
	gap: 4.8px 16px;
	grid-template-columns: auto minmax(0,1fr);
}

.summary-box dd {
	margin: 0;
}

.summary-box dt {
	color: var(--mute);
}

.single-sm .pair-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: minmax(0,1fr);
}

.site-head__title::before {
	transform: rotate(45deg);
	height: 12px;
	content: "";
	display: inline-block;
	width: 12px;
	border: 3px solid var(--accent);
	margin-right: 8.8px;
	vertical-align: middle;
}

.showcase__pill-link, .call-button, .reach-us button, .finder button {
	border-radius: 999px;
}

.entry__card-image img, .single__rich-text img, .entry__post-body img {
	border-radius: 8px;
}

.entry__post-body p, .single__rich-text p {
	margin: 0 0 22.4px;
}

body {
	line-height: 1.8;
}

.on-this-page {
	border-left: 4px solid var(--accent);
	padding-left: 16px;
	background: transparent;
}

.entry__post-body blockquote, .single__rich-text blockquote {
	font-family: Verdana, Geneva, sans-serif;
	border-left: 0;
	font-size: 1.2em;
	text-align: center;
}

.entry__post-body ul, .single__rich-text ul {
	list-style-type: "\203A  ";
}

.chips a::before, .entry__post-info a::before {
	content: "#";
	color: var(--accent);
}

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

.page-nav-top-circle a {
	justify-content: center;
	height: 38.4px;
	display: inline-flex;
	color: var(--on-accent);
	width: 38.4px;
	text-decoration: none;
	align-items: center;
	border-radius: 50%;
	background: var(--accent);
}

table.history td {
	border-bottom: 1px solid var(--line);
	padding: 6.4px 12px;
}

@media (min-width: 720px) {
	.site-head > .content-width {
		align-items: end;
		grid-template-columns: minmax(0,1fr) auto;
	}
	.showcase .showcase__headline {
		font-size: 41.6px;
	}
	.showcase-sc .showcase__figure {
		height: 288px;
	}
	.reach-us-inline .request-form {
		align-items: end;
		grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto;
	}
	.single-sm .pair-grid {
		align-items: start;
		grid-template-columns: 176px minmax(0,1fr);
	}
}

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