/* Walden's editorial article system. Scoped to single posts. */
.post-single {
	background: var(--wd-white);
	color: var(--wd-ink);
	font: 400 16px/1.65 "Inter", system-ui, sans-serif;
}

.post-single :focus-visible {
	outline: 3px solid var(--wd-gold);
	outline-offset: 4px;
}

.post-single .post-editorial-hero {
	background: var(--wd-teal-dark);
	color: var(--wd-white);
}

.post-single .post-editorial-hero__inner,
.post-single .post-editorial-content__shell,
.post-single .post-editorial-related__shell,
.post-single .post-editorial-contact__shell {
	width: min(var(--wd-shell), calc(100% - var(--wd-page-gutter) * 2));
	margin-inline: auto;
}

.post-single .post-editorial-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
	align-items: center;
	gap: 48px;
	padding-block: var(--wd-section-space);
	min-height: 0;
}

.post-single .post-editorial-hero__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	min-width: 0;
	padding-block:0;
}

.post-single .post-editorial-hero__back {
	margin-bottom: 32px;
	font-size: .875rem;
	font-weight: 600;
	color: rgba(255, 255, 255, .68);
	text-decoration: underline;
	text-underline-offset: .25em;
}

@media (hover: hover) and (pointer: fine) {.post-single .post-editorial-hero__back:hover{
	color: var(--wd-white);
}}

.post-single .post-editorial-hero__eyebrow,
.post-single .post-editorial-related__eyebrow,
.post-single .post-editorial-contact__eyebrow {
	margin: 0 0 20px;
	font: 700 .75rem/1.4 "Inter", system-ui, sans-serif;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.post-single .post-editorial-hero__eyebrow,
.post-single .post-editorial-contact__eyebrow {
	color: #f0c66d;
}

.post-single .post-editorial-hero__eyebrow span {
	padding-inline: 8px;
	color: rgba(255, 255, 255, .65);
}

.post-single .post-editorial-hero__title {
	max-width: 16ch;
	margin: 0;
	color: var(--wd-white);
	font: 600 var(--wd-type-h1)/1.08 "Playfair Display", Georgia, serif;
	letter-spacing: -.035em;
	text-wrap: balance;
}

.post-single .post-editorial-hero__intro {
	max-width: 55ch;
	margin: clamp(24px, 3vw, 36px) 0 0;
	color: rgba(255, 255, 255, .82);
	font: 400 1.125rem/1.65 "Inter", system-ui, sans-serif;
}

.post-single .post-editorial-hero__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 18px;
	margin-top: clamp(32px, 4vw, 52px);
	color: rgba(255, 255, 255, .73);
	font-size: .875rem;
}

.post-single .post-editorial-hero__byline strong {
	color: var(--wd-white);
	font-weight: 600;
}

.post-single .post-editorial-hero__byline a {
	color: var(--wd-white);
	font-weight: 600;
	text-decoration-thickness: 1px;
}

.post-single .post-editorial-hero__meta-divider {
	width: 1px;
	height: 18px;
	background: rgba(255, 255, 255, .35);
}

.post-single .post-editorial-hero__media {
	position: relative;
	min-width: 0;
	min-height: 0;
	aspect-ratio: 4 / 3;
	border-radius: var(--wd-radius-media);
	margin: 0;
	overflow: hidden;
	background: var(--wd-teal);
}

.post-single .post-editorial-hero__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.post-single .post-editorial-hero__media--diagram {
	background: var(--wd-white);
}

.post-single .post-editorial-hero__media--diagram .post-editorial-hero__image {
	object-fit: contain;
}

.post-single .post-editorial-hero--text-only .post-editorial-hero__inner {
	grid-template-columns: minmax(0, 1fr);
	min-height: 0;
}

.post-single .post-editorial-hero--text-only .post-editorial-hero__copy {
	max-width: 65ch;
}

.post-single .post-editorial-content {
	padding-block:var(--wd-section-space);
}

.post-single .post-editorial-content__column {
	width: min(100%, 65ch);
	margin-left: clamp(0px, 8vw, 128px);
}

.post-single .post-editorial-content__reviewed {
	margin: 0 0 36px;
	padding: 16px 0;
	border-block: 1px solid var(--wd-line);
	color: var(--wd-muted);
	font-size: .875rem;
}

.post-single .post-editorial-content__reviewed a {
	margin-inline: 4px;
	color: var(--wd-teal);
	font-weight: 700;
}

.post-single .post-body__prose {
	color: var(--wd-ink);
	font: 400 clamp(1rem, 1.18vw, 1.0625rem)/1.75 "Inter", system-ui, sans-serif;
}

.post-single .post-body__prose > * + * {
	margin-top: 1.45em;
}

.post-single .post-body__prose > :first-child:not(.post-toc) {
	font-size: 1.125em;
	line-height: 1.68;
}

.post-single .post-body__prose :is(h2, h3, h4) {
	color: var(--wd-teal-dark);
	font-family: "Playfair Display", Georgia, serif;
	font-weight: 600;
	letter-spacing: -.02em;
	text-wrap: balance;
}

.post-single .post-body__prose h2 {
	margin: 2.1em 0 .65em;
	font-size:var(--wd-type-h2);
	line-height: 1.1;
}

.post-single .post-body__prose h3 {
	margin: 1.8em 0 .6em;
	font-size:var(--wd-type-h3);
	line-height: 1.18;
}

.post-single .post-body__prose h4 {
	margin: 1.6em 0 .55em;
	font-size: 1.3rem;
	line-height: 1.25;
}

.post-single .post-body__prose :is(ul, ol) {
	padding-left: 1.5em;
	margin-block: 1.5em;
	list-style: revert;
}

.post-single .post-body__prose li + li {
	margin-top: .65em;
}

.post-single .post-body__prose li::marker {
	color: var(--wd-gold-dark);
}

.post-single .post-body__prose a {
	color: var(--wd-teal);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .2em;
}

@media (hover: hover) and (pointer: fine) {.post-single .post-body__prose a:hover{
	color: var(--wd-teal-light);
}}

.post-single .post-body__prose blockquote {
	margin: 2em 0;
	padding: .5em 0 .5em 1.5em;
	border-left: 4px solid var(--wd-gold);
	color: var(--wd-teal-dark);
	font-size: 1.125rem;
}

.post-single .post-body__prose img {
	max-width: 100%;
	height: auto;
}

.post-single .post-body__prose figure {
	margin: 2.2em 0;
}

.post-single .post-body__prose figcaption {
	margin-top: 10px;
	color: var(--wd-muted);
	font-size: .875rem;
}

.post-single .post-toc {
	margin: 0 0 clamp(48px, 6vw, 72px);
	padding: clamp(24px, 3vw, 36px);
	border: 1px solid var(--wd-line);
	border-top:1px solid var(--wd-line);
	border-radius: 12px;
	background: var(--wd-surface);
}

.post-single .post-toc__title {
	margin: 0 0 16px;
	color: var(--wd-teal-dark);
	font: 600 1.5rem/1.2 "Playfair Display", Georgia, serif;
}

.post-single .post-toc__list {
	margin: 0;
	padding-left: 1.35em;
	list-style: decimal;
	font-size: .9375rem;
}

.post-single .post-toc__list li {
	padding-block: 7px;
}

.post-single .post-toc__list li::marker {
	color: var(--wd-gold-dark);
}

.post-single .post-toc__list a {
	color: var(--wd-teal-dark);
	font-weight: 600;
}

.post-single .post-editorial-related {
	padding-block:var(--wd-section-space);
	background: var(--wd-surface);
}

.post-single .post-editorial-related__heading {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	justify-content: space-between;
	gap: 20px 40px;
	margin-bottom: 40px;
}

.post-single .post-editorial-related__eyebrow {
	width: 100%;
	margin-bottom: -4px;
	color: var(--wd-teal-light);
}

.post-single .post-editorial-related__heading h2 {
	margin: 0;
	color: var(--wd-teal-dark);
	font: 600 var(--wd-type-h2)/1.12 "Playfair Display", Georgia, serif;
	letter-spacing: -.025em;
}

.post-single .post-editorial-related__heading > a {
	color: var(--wd-teal);
	font-size: .875rem;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: .25em;
}

.post-single .post-editorial-related__heading > a span {
	display: inline-block;
	margin-left: 5px;
	transition: transform 180ms var(--wd-ease);
}

@media (hover: hover) and (pointer: fine) {.post-single .post-editorial-related__heading > a:hover span{
	transform: translate(3px, -3px);
}}

.post-single .post-editorial-related__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
	grid-template-rows: repeat(2, minmax(220px, auto));
	gap: 16px;
}

.post-single .post-editorial-related__item {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(28px, 3.8vw, 44px);
	border: 1px solid var(--wd-line);
	border-top:1px solid var(--wd-line);
	border-radius: 12px;
	background: var(--wd-white);
	color: var(--wd-teal-dark);
	text-decoration: none;
	transition: transform 180ms var(--wd-ease), box-shadow 180ms var(--wd-ease);
}

@media (hover: hover) and (pointer: fine) {.post-single .post-editorial-related__item:hover{
	transform:none;
	box-shadow:none;
}}

.post-single .post-editorial-related__item--featured {
	grid-row: span 2;
	border: 0;
	background: var(--wd-teal-dark);
	color: var(--wd-white);
}

.post-single .post-editorial-related__meta {
	color: var(--wd-teal-light);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.post-single .post-editorial-related__item--featured .post-editorial-related__meta {
	color: #f0c66d;
}

.post-single .post-editorial-related__title {
	max-width: 25ch;
	margin-top: clamp(24px, 3vw, 44px);
	font: 600 var(--wd-type-h3)/1.2 "Playfair Display", Georgia, serif;
	text-wrap: balance;
}

.post-single .post-editorial-related__item--featured .post-editorial-related__title {
	font-size: clamp(2.2rem, 3.3vw, 3.8rem);
}

.post-single .post-editorial-related__excerpt {
	max-width: 50ch;
	margin-top: 16px;
	color: var(--wd-muted);
	font-size: .9375rem;
	line-height: 1.6;
}

.post-single .post-editorial-related__item--featured .post-editorial-related__excerpt {
	color: rgba(255, 255, 255, .75);
}

.post-single .post-editorial-related__link {
	margin-top: auto;
	padding-top: 30px;
	color: var(--wd-teal);
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.post-single .post-editorial-related__item--featured .post-editorial-related__link {
	color: #f0c66d;
}

.post-single .post-editorial-related__link span {
	display: inline-block;
	margin-left: 6px;
	transition: transform 180ms var(--wd-ease);
}

@media (hover: hover) and (pointer: fine) {.post-single .post-editorial-related__item:hover .post-editorial-related__link span{
	transform: translateX(4px);
}}

.post-single .post-editorial-contact {
	padding-block:var(--wd-section-space);
	background: var(--wd-white);
}

.post-single .post-editorial-contact__panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 32px 48px;
	padding: clamp(32px, 5vw, 64px);
	border-left: 6px solid var(--wd-gold);
	border-radius: 0 12px 12px 0;
	background: var(--wd-teal-dark);
	color: var(--wd-white);
}

.post-single .post-editorial-contact__panel h2 {
	max-width: 26ch;
	margin: 0;
	color: var(--wd-white);
	font: 600 var(--wd-type-h2)/1.12 "Playfair Display", Georgia, serif;
	letter-spacing: -.025em;
	text-wrap: balance;
}

.post-single .post-editorial-contact__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 24px;
}

.post-single .post-editorial-contact__actions a {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	font-size: .875rem;
	font-weight: 700;
}

.post-single .post-editorial-contact__book {
	padding: 12px 24px;
	border-radius: 8px;
	background: var(--wd-gold);
	color: var(--wd-teal-dark);
	text-decoration: none;
	transition: background 180ms var(--wd-ease), transform 180ms var(--wd-ease);
}

@media (hover: hover) and (pointer: fine) {.post-single .post-editorial-contact__book:hover{
	transform:none;
	background: #e0b050;
}}

.post-single .post-editorial-contact__phone {
	color: var(--wd-white);
	text-underline-offset: .25em;
}

@media (max-width: 960px) {
	.post-single .post-editorial-hero__inner { gap: 36px; }
	.post-single .post-editorial-hero__title { font-size: var(--wd-type-h1); }
	.post-single .post-editorial-content__column { margin-left: clamp(0px, 5vw, 72px); }
	.post-single .post-editorial-contact__panel { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
	.post-single .post-editorial-hero__inner,
	.post-single .post-editorial-content__shell,
	.post-single .post-editorial-related__shell,
	.post-single .post-editorial-contact__shell { width: min(100% - var(--wd-page-gutter) * 2, var(--wd-shell)); }
	.post-single .post-editorial-hero__inner { grid-template-columns: 1fr; gap: 32px; min-height: 0; }
	.post-single .post-editorial-hero__copy { padding-block: 0; }
	.post-single .post-editorial-hero__back { margin-bottom: 38px; }
	.post-single .post-editorial-hero__title { max-width: 18ch; font-size: var(--wd-type-h1); }
	.post-single .post-editorial-hero__intro { margin-top: 22px; }
	.post-single .post-editorial-hero__meta { margin-top: 32px; }
	.post-single .post-editorial-hero__media { min-height: 0; aspect-ratio: 16 / 10; }
	.post-single .post-editorial-hero__image { position: absolute; inset: 0; }
	.post-single .post-editorial-content__column { margin-left: 0; }
	.post-single .post-editorial-related__grid { grid-template-columns: 1fr; grid-template-rows: auto; }
	.post-single .post-editorial-related__item--featured { grid-row: auto; min-height: 350px; }
}

@media (max-width: 480px) {
	.post-single .post-editorial-hero__inner,
	.post-single .post-editorial-content__shell,
	.post-single .post-editorial-related__shell,
	.post-single .post-editorial-contact__shell { width: min(100% - var(--wd-page-gutter) * 2, var(--wd-shell)); }
	.post-single .post-editorial-hero__copy { padding-block: 0; }
	.post-single .post-editorial-hero__back { margin-bottom: 30px; }
	.post-single .post-editorial-hero__title { font-size: var(--wd-type-h1); }
	.post-single .post-editorial-hero__intro { font-size: 1rem; }
	.post-single .post-editorial-hero__meta-divider { display: none; }
	.post-single .post-editorial-hero__media { aspect-ratio: 4 / 3; }
	.post-single .post-editorial-content { padding-block: var(--wd-section-space); }
	.post-single .post-body__prose h2 { font-size:var(--wd-type-h2); }
	.post-single .post-toc { padding: 22px 20px; }
	.post-single .post-editorial-related { padding-block: 64px; }
	.post-single .post-editorial-related__item { padding: 26px 24px; }
	.post-single .post-editorial-contact { padding-block: 56px; }
	.post-single .post-editorial-contact__panel { padding: 32px 24px; }
	.post-single .post-editorial-contact__actions { display: grid; grid-template-columns: 1fr; width: 100%; }
	.post-single .post-editorial-contact__actions a { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.post-single .post-editorial-related__item,
	.post-single .post-editorial-related__link span,
	.post-single .post-editorial-related__heading > a span,
	.post-single .post-editorial-contact__book { transition: none; }
	@media (hover: hover) and (pointer: fine) {.post-single .post-editorial-related__item:hover,
.post-single .post-editorial-related__item:hover .post-editorial-related__link span,
.post-single .post-editorial-related__heading > a:hover span,
.post-single .post-editorial-contact__book:hover{ transform: none; }}
}

.post-single .post-editorial-hero__figure { min-width: 0; margin: 0; }
.post-single .post-editorial-hero__credit { margin-top: 12px; color: #d8e8e9; font: 400 .8125rem/1.6 "Inter", system-ui, sans-serif; overflow-wrap: anywhere; }
.post-single .post-editorial-hero__credit a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.post-single .post-editorial-hero__credit a:focus-visible { outline: 3px solid var(--wd-gold); outline-offset: 3px; }

/* Blog index and category archives share the same editorial hierarchy. */
:is(body.blog, body.category) .site-main { background: var(--wd-white); color: var(--wd-ink); font: 400 16px/1.65 "Inter", system-ui, sans-serif; }
:is(body.blog, body.category) .title-banner { padding-block:var(--wd-section-space); border: 0; background: var(--wd-teal-dark); color: var(--wd-white); }
:is(body.blog, body.category) .title-banner__inner { gap: 18px; }
:is(body.blog, body.category) .title-banner :is(.breadcrumbs, .breadcrumbs a) { color: #d8e8e9; }
:is(body.blog, body.category) .title-banner .eyebrow { margin: 10px 0 0; color: #f0c66d; font: 700 12px/1.4 "Inter", system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
:is(body.blog, body.category) .title-banner__title { max-width: 20ch; margin: 0; color: var(--wd-white); font: 600 clamp(2.65rem, 5.2vw, 5rem)/1.04 "Playfair Display", Georgia, serif; letter-spacing: -.025em; text-wrap: balance; }
:is(body.blog, body.category) .title-banner__intro { max-width: 68ch; margin: 0; color: #d8e8e9; font: 400 clamp(1rem, 1.2vw, 1.125rem)/1.65 "Inter", system-ui, sans-serif; }
:is(body.blog, body.category) .blog-promise { padding-top:24px; }
:is(body.blog, body.category) .blog-promise .areas-statement__text { max-width: 68ch; margin: 0; color: var(--wd-teal-dark); font:400 1.125rem/1.6 "Inter",system-ui,sans-serif; }
:is(body.blog, body.category) .blog-featured__card { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 48px; align-items: center; padding:0; border:0; border-radius:0; background:transparent; text-decoration: none; }
:is(body.blog, body.category) .blog-featured__media { display: block; overflow: hidden; border-radius: var(--wd-radius-media); }
:is(body.blog, body.category) .blog-featured__img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
:is(body.blog, body.category) .blog-featured__body { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
:is(body.blog, body.category) .blog-featured__title { color: var(--wd-teal-dark); font: 600 var(--wd-type-h2)/1.12 "Playfair Display", Georgia, serif; }
:is(body.blog, body.category) .blog-featured__excerpt { color: var(--wd-ink); font-size: 1.0625rem; line-height: 1.65; }
:is(body.blog, body.category) :is(.blog-featured__meta, .post-card__meta) { color: var(--wd-muted); font-size: .875rem; }
:is(body.blog, body.category) .blog-filter { padding-block: 20px; border-block: 1px solid var(--wd-line); }
:is(body.blog, body.category) .blog-filter__link { border-color: var(--wd-line); border-radius: 999px; background: var(--wd-white); color: var(--wd-teal-dark); font-weight: 600; }
:is(body.blog, body.category) .blog-filter__link.is-active { border-color:var(--wd-teal); background:var(--wd-teal); color:var(--wd-white); }
@media (hover: hover) and (pointer: fine) { :is(body.blog, body.category) .blog-filter__link:hover { border-color:var(--wd-teal); background:var(--wd-teal); color:var(--wd-white); } }
:is(body.blog, body.category) .post-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
:is(body.blog, body.category) .post-card { min-width: 0; gap:16px; padding:0 0 24px; border:0; border-bottom:1px solid var(--wd-line); border-radius:0; background:var(--wd-white); }
@media (hover: hover) and (pointer: fine) {:is(body.blog, body.category) .post-card:hover{ border-color: var(--wd-teal); box-shadow:none; }}
:is(body.blog, body.category) .post-card__media { display: block; overflow: hidden; border-radius: var(--wd-radius-media); }
:is(body.blog, body.category) .post-card__img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
:is(body.blog, body.category) .post-card__body { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; flex: 1; }
:is(body.blog, body.category) .post-card__title { color: var(--wd-teal-dark); font: 600 clamp(1.35rem, 1.8vw, 1.8rem)/1.2 "Playfair Display", Georgia, serif; }
:is(body.blog, body.category) .post-card__excerpt { color: var(--wd-ink); font-size: .9375rem; line-height: 1.6; }
:is(body.blog, body.category) .post-card__chip { border-color: var(--wd-line); background: var(--wd-surface); color: var(--wd-teal-dark); font-weight: 700; }
:is(body.blog, body.category) .pagination a { color: var(--wd-teal); }
:is(body.blog, body.category) .blog-photo-credit { margin: 32px 0 0; color: var(--wd-muted); font-size: .875rem; }
:is(body.blog, body.category) .blog-photo-credit a { color: var(--wd-teal); text-decoration: underline; text-underline-offset: .2em; }
:is(body.blog, body.category) :focus-visible { outline: 3px solid var(--wd-gold); outline-offset: 4px; }

@media (max-width: 900px) {
	:is(body.blog, body.category) .post-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	:is(body.blog, body.category) .title-banner { padding-block: 56px 64px; }
	:is(body.blog, body.category) .title-banner__title { font-size: clamp(2.25rem, 9vw, 3.5rem); }
	:is(body.blog, body.category) .blog-featured__card { grid-template-columns: 1fr; }
	:is(body.blog, body.category) .post-cards { grid-template-columns: 1fr; }
}
