:root {
	--sh-primary: #1f5f68;
	--sh-primary-dark: #164850;
	--sh-secondary: #2f8f83;
	--sh-ink: #1e2930;
	--sh-muted: #5f6f73;
	--sh-border: #d9e5e3;
	--sh-soft: #f5f8f7;
	--sh-soft-green: #edf7f4;
	--sh-warning: #fff7e6;
	--sh-white: #ffffff;
	--sh-shadow: 0 12px 28px rgba(23, 64, 70, 0.08);
}

body.senior-health-site {
	background: var(--sh-soft);
	color: var(--sh-ink);
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 18px;
	line-height: 1.65;
}

.senior-health-site a {
	color: var(--sh-primary);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
}

.senior-health-site a:hover,
.senior-health-site a:focus {
	color: var(--sh-primary-dark);
}

.senior-health-site .site-header,
.senior-health-site .main-navigation,
.senior-health-site .site-info {
	background: var(--sh-white);
}

.senior-health-site .site-header {
	border-bottom: 1px solid var(--sh-border);
}

.senior-health-site .inside-header {
	padding-top: 18px;
	padding-bottom: 18px;
}

.senior-health-site .site-branding .main-title {
	font-size: 27px;
	font-weight: 750;
	letter-spacing: 0;
}

.senior-health-site .site-branding .main-title a {
	color: var(--sh-primary);
	text-decoration: none;
}

.senior-health-site .site-description {
	color: var(--sh-muted);
	font-size: 15px;
	margin-top: 2px;
}

.senior-health-site .main-navigation {
	border-bottom: 1px solid var(--sh-border);
}

.senior-health-site .main-navigation .main-nav ul li a {
	color: var(--sh-ink);
	font-size: 15px;
	font-weight: 650;
	line-height: 50px;
	padding-left: 12px;
	padding-right: 12px;
}

.senior-health-site .main-navigation .main-nav ul li[class*="current-menu-"] > a,
.senior-health-site .main-navigation .main-nav ul li a:hover,
.senior-health-site .main-navigation .main-nav ul li a:focus {
	background: transparent;
	color: var(--sh-primary);
}

.senior-health-site .site-content,
.senior-health-site .container.grid-container {
	max-width: 1180px;
}

.senior-health-site .inside-article,
.senior-health-site .comments-area,
.senior-health-site .page-header {
	border-radius: 0;
	box-shadow: none;
}

.senior-health-front-page .inside-article {
	background: transparent;
	padding: 0;
}

.senior-health-front-page .entry-content {
	margin-top: 0;
}

.sh-home {
	margin: 0 auto;
	max-width: 1180px;
	padding: 36px 0 68px;
}

.sh-hero {
	align-items: center;
	background: var(--sh-white);
	border: 1px solid var(--sh-border);
	display: grid;
	gap: 34px;
	grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.6fr);
	margin-bottom: 34px;
	padding: 48px;
}

.sh-eyebrow {
	color: var(--sh-secondary);
	font-size: 14px;
	font-weight: 750;
	letter-spacing: 0;
	margin-bottom: 10px;
	text-transform: uppercase;
}

.sh-hero h1,
.sh-page h1,
.sh-category-title,
.sh-single-title {
	color: var(--sh-ink);
	font-size: 42px;
	font-weight: 780;
	letter-spacing: 0;
	line-height: 1.15;
	margin-bottom: 18px;
}

.sh-hero p {
	color: #33464c;
	font-size: 20px;
	margin-bottom: 18px;
	max-width: 760px;
}

.sh-hero-panel {
	background: var(--sh-soft-green);
	border: 1px solid var(--sh-border);
	padding: 28px;
}

.sh-hero-panel strong {
	color: var(--sh-primary);
	display: block;
	font-size: 20px;
	margin-bottom: 10px;
}

.sh-search-form {
	display: flex;
	gap: 8px;
	margin-top: 20px;
}

.sh-search-form label {
	flex: 1;
}

.sh-search-form input[type="search"] {
	background: var(--sh-white);
	border: 1px solid var(--sh-border);
	color: var(--sh-ink);
	min-height: 48px;
	padding: 10px 14px;
	width: 100%;
}

.sh-search-form button,
.sh-button {
	background: var(--sh-primary);
	border: 0;
	color: var(--sh-white);
	display: inline-block;
	font-weight: 700;
	min-height: 48px;
	padding: 11px 18px;
	text-decoration: none;
}

.sh-search-form button:hover,
.sh-search-form button:focus,
.sh-button:hover,
.sh-button:focus {
	background: var(--sh-primary-dark);
	color: var(--sh-white);
}

.sh-section {
	background: var(--sh-white);
	border: 1px solid var(--sh-border);
	margin-top: 26px;
	padding: 38px;
}

.sh-section h2,
.entry-content .sh-article h2,
.sh-single-content h2 {
	color: var(--sh-ink);
	font-size: 29px;
	font-weight: 760;
	letter-spacing: 0;
	line-height: 1.25;
	margin-bottom: 14px;
	margin-top: 34px;
}

.sh-section h2:first-child,
.entry-content .sh-article h2:first-child,
.sh-single-content h2:first-child {
	margin-top: 0;
}

.sh-section > p {
	color: #40545a;
	max-width: 860px;
}

.sh-category-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 24px;
}

.sh-card {
	background: var(--sh-white);
	border: 1px solid var(--sh-border);
	box-shadow: var(--sh-shadow);
	color: var(--sh-ink);
	display: block;
	min-height: 178px;
	padding: 24px;
	text-decoration: none;
}

.sh-card:hover,
.sh-card:focus {
	border-color: #a9cbc6;
	box-shadow: 0 14px 34px rgba(23, 64, 70, 0.12);
	color: var(--sh-ink);
	transform: translateY(-1px);
}

.sh-card strong {
	color: var(--sh-primary);
	display: block;
	font-size: 20px;
	line-height: 1.25;
	margin-bottom: 10px;
}

.sh-card p {
	color: #40545a;
	font-size: 16px;
	margin-bottom: 0;
}

.sh-callout,
.sh-disclaimer,
.sh-source-box,
.sh-editorial-note,
.sh-safety-note {
	border: 1px solid var(--sh-border);
	margin: 24px 0;
	padding: 20px 22px;
}

.sh-disclaimer,
.sh-safety-note {
	background: var(--sh-warning);
	border-color: #ead39d;
}

.sh-callout,
.sh-editorial-note {
	background: var(--sh-soft-green);
}

.sh-source-box {
	background: #fbfdfd;
}

.sh-callout strong,
.sh-disclaimer strong,
.sh-source-box strong,
.sh-editorial-note strong,
.sh-safety-note strong {
	color: var(--sh-primary-dark);
	display: block;
	margin-bottom: 8px;
}

.sh-link-list {
	display: grid;
	gap: 10px;
	list-style: none;
	margin: 18px 0 0;
	padding: 0;
}

.sh-link-list a {
	background: var(--sh-soft);
	border: 1px solid var(--sh-border);
	display: block;
	font-weight: 700;
	padding: 13px 16px;
	text-decoration: none;
}

.sh-page {
	margin: 0 auto;
	max-width: 860px;
}

.sh-page .inside-article,
.page .entry-content > .sh-page {
	background: var(--sh-white);
	border: 1px solid var(--sh-border);
	padding: 38px;
}

.sh-category-wrap,
.sh-single-wrap {
	margin: 0 auto;
	max-width: 1180px;
	padding: 40px 0 64px;
}

.sh-category-header {
	background: var(--sh-white);
	border: 1px solid var(--sh-border);
	margin-bottom: 24px;
	padding: 38px;
}

.sh-category-description {
	color: #40545a;
	font-size: 19px;
	max-width: 880px;
}

.sh-post-grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sh-post-card {
	background: var(--sh-white);
	border: 1px solid var(--sh-border);
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.sh-post-card img {
	aspect-ratio: 16 / 9;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.sh-post-card-body {
	padding: 22px;
}

.sh-post-card h2 {
	font-size: 22px;
	letter-spacing: 0;
	line-height: 1.25;
	margin-bottom: 10px;
}

.sh-post-card h2 a {
	color: var(--sh-ink);
	text-decoration: none;
}

.sh-post-card h2 a:hover,
.sh-post-card h2 a:focus {
	color: var(--sh-primary);
}

.sh-post-card .sh-post-meta {
	color: var(--sh-muted);
	font-size: 14px;
	font-weight: 650;
	margin-bottom: 8px;
}

.sh-empty-archive {
	background: var(--sh-white);
	border: 1px solid var(--sh-border);
	padding: 30px;
}

.sh-single-article {
	background: var(--sh-white);
	border: 1px solid var(--sh-border);
	margin: 0 auto;
	max-width: 900px;
}

.sh-single-header {
	padding: 42px 46px 24px;
}

.sh-single-kicker {
	color: var(--sh-secondary);
	font-size: 14px;
	font-weight: 760;
	letter-spacing: 0;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.sh-single-meta {
	color: var(--sh-muted);
	font-size: 15px;
	margin-bottom: 0;
}

.sh-single-thumbnail img {
	aspect-ratio: 16 / 9;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.sh-single-content {
	font-size: 18px;
	padding: 32px 46px 48px;
}

.sh-single-content p,
.sh-single-content li {
	color: #33464c;
}

.sh-single-content h3 {
	color: var(--sh-ink);
	font-size: 23px;
	font-weight: 740;
	letter-spacing: 0;
	line-height: 1.3;
	margin-bottom: 10px;
	margin-top: 26px;
}

.sh-single-content ul,
.sh-single-content ol,
.entry-content .sh-article ul,
.entry-content .sh-article ol {
	margin-left: 22px;
}

.sh-faq {
	border-top: 1px solid var(--sh-border);
	margin-top: 26px;
	padding-top: 16px;
}

.sh-faq h3 {
	font-size: 20px;
	margin-top: 18px;
}

.sh-toc {
	background: var(--sh-soft);
	border: 1px solid var(--sh-border);
	margin: 24px 0;
	padding: 20px 22px;
}

.sh-toc strong {
	display: block;
	margin-bottom: 8px;
}

.sh-toc ol {
	margin-bottom: 0;
}

.sh-table-wrap {
	overflow-x: auto;
}

.sh-table-wrap table {
	border-collapse: collapse;
	min-width: 640px;
	width: 100%;
}

.sh-table-wrap th,
.sh-table-wrap td {
	border: 1px solid var(--sh-border);
	padding: 10px 12px;
	text-align: left;
}

.sh-table-wrap th {
	background: var(--sh-soft-green);
	color: var(--sh-primary-dark);
}

.site-info {
	border-top: 1px solid var(--sh-border);
	color: #40545a;
}

.site-info .inside-site-info {
	display: block;
	padding-bottom: 24px;
	padding-top: 28px;
}

.sh-footer-brand {
	align-items: start;
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.8fr);
	margin-bottom: 18px;
	text-align: left;
}

.sh-footer-summary strong {
	color: var(--sh-primary);
	font-size: 22px;
}

.sh-footer-summary p {
	margin: 7px 0 0;
}

.sh-footer-disclaimer {
	color: var(--sh-muted);
	font-size: 15px;
}

.sh-footer-nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	justify-content: flex-end;
	list-style: none;
	margin: 0;
	padding: 0;
}

.sh-footer-nav a {
	font-size: 15px;
	font-weight: 650;
	text-decoration: none;
}

.copyright-bar {
	color: var(--sh-muted);
	font-size: 14px;
	text-align: left;
}

@media (max-width: 1024px) {
	.sh-hero {
		grid-template-columns: 1fr;
		padding: 34px;
	}

	.sh-category-grid,
	.sh-post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.senior-health-site .main-navigation .main-nav ul li a {
		font-size: 14px;
		padding-left: 9px;
		padding-right: 9px;
	}
}

@media (max-width: 768px) {
	body.senior-health-site {
		font-size: 17px;
	}

	.senior-health-site .inside-header {
		padding-left: 22px;
		padding-right: 22px;
	}

	.sh-home,
	.sh-category-wrap,
	.sh-single-wrap {
		padding: 22px 0 44px;
	}

	.sh-hero,
	.sh-section,
	.sh-category-header,
	.sh-page .inside-article,
	.page .entry-content > .sh-page {
		padding: 24px;
	}

	.sh-hero h1,
	.sh-page h1,
	.sh-category-title,
	.sh-single-title {
		font-size: 32px;
	}

	.sh-hero p {
		font-size: 18px;
	}

	.sh-search-form {
		display: block;
	}

	.sh-search-form button {
		margin-top: 8px;
		width: 100%;
	}

	.sh-category-grid,
	.sh-post-grid,
	.sh-footer-brand {
		grid-template-columns: 1fr;
	}

	.sh-single-header,
	.sh-single-content {
		padding-left: 24px;
		padding-right: 24px;
	}

	.sh-footer-nav ul {
		justify-content: flex-start;
	}
}
