/* ==========================================================================
   Inner pages: Journal, pages, archives, 404, comments
   The landscape holds a blue-hour frame; the page fades to night under long reads.
   ========================================================================== */

.dw-inner .site-main {
	padding-bottom: clamp(80px, 14vh, 160px);
	background: linear-gradient(180deg,
		rgba(9, 12, 32, 0) 0,
		rgba(9, 12, 32, 0) 52vh,
		rgba(9, 12, 32, 0.86) 96vh,
		rgba(9, 12, 32, 0.92) 100%);
}

.dw-page {
	padding-top: calc(var(--header-h) + clamp(48px, 12vh, 140px));
}

/* Page heading ------------------------------------------------------------ */

.page-head__eyebrow {
	margin-bottom: 26px;
}

.page-head__title {
	font-size: clamp(52px, 11vw, 150px);
	line-height: 0.96;
	text-transform: lowercase;
}

/* The smallest phones wrap "prints + designs" (the Past Projects filter), dropping
   the "p" onto the "d"; these filter pages get a little more line room there. */
@media (max-width: 379px) {
	.tax-project_service .page-head__title {
		line-height: 1.08;
	}
}

.page-head__intro {
	margin-top: clamp(20px, 3vh, 32px);
}

/* Desktop: two-line page titles ("past projects") read as one line. */
@media (min-width: 1024px) {
	.page-head__title .dw-line {
		display: inline;
	}

	.page-head__intro {
		margin-top: clamp(32px, 5vh, 52px);
	}
}

.dw-page__actions {
	margin-top: 40px;
}

/* Past Projects filter pages: the "about the ... service" link sits between the heading
   and the pills, with room above the pills so the two never touch. */
.dw-page__related {
	margin: 0 0 clamp(18px, 3vh, 26px);
}

/* Filter pills. Separator dots are drawn between pills with real spacing on both
   sides (flex gap + margins, no absolute positioning). Where the row can wrap, the
   dots are dropped so none ever lands at the start of a line. */
.dw-filter__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0 0 clamp(32px, 6vh, 56px);
	padding: 0;
	list-style: none;
}

.dw-filter__list li {
	display: flex;
	align-items: center;
}

.dw-filter a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 18px;
	border: 1px solid var(--fg-faint);
	border-radius: var(--radius-pill);
	font-size: 13px;
	letter-spacing: 0.14em;
	text-transform: lowercase;
	text-decoration: none;
	white-space: nowrap;
}

@media (min-width: 900px) {
	.dw-filter__list {
		gap: 12px 0;
	}

	.dw-filter__list li + li::before {
		content: "";
		flex: none;
		width: 4px;
		height: 4px;
		margin: 0 20px;
		border-radius: 50%;
		background: var(--fg-faint);
	}
}

.dw-filter a:hover,
.dw-filter a[aria-current] {
	border-color: var(--fg);
	background: rgba(247, 239, 229, 0.08);
}

/* On the journal the filter sits under the intro line. */
.dw-filter--journal {
	margin-top: clamp(26px, 4.5vh, 44px);
}

.dw-filter--journal .dw-filter__list {
	margin-bottom: 0;
}

/* Journal list ------------------------------------------------------------ */

.post-list {
	margin-top: clamp(48px, 9vh, 104px);
	border-top: 1px solid var(--fg-faint);
}

.post-row {
	border-bottom: 1px solid var(--fg-faint);
}

.post-row__link {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 28px;
	gap: 14px 20px;
	padding: clamp(26px, 4vh, 40px) 0;
	text-decoration: none;
	color: inherit;
}

.post-row__meta {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 4px 18px;
	font-size: 11.5px;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--fg-soft);
}

.post-row__meta .dw-cal {
	grid-row: 1 / span 2;
}

.post-row__topic {
	align-self: end;
	color: var(--fg);
}

.post-row__time {
	align-self: start;
}

.post-row__body {
	grid-column: 1;
}

.post-row__title {
	font-family: var(--font-display-light);
	font-weight: 250;
	font-size: clamp(28px, 6.4vw, 54px);
	line-height: 1.05;
	letter-spacing: -0.025em;
	text-transform: lowercase;
	transition: opacity var(--dur-fast);
}

.post-row__excerpt {
	max-width: 42em;
	margin-top: 14px;
	font-size: 16px;
	line-height: 1.65;
	letter-spacing: 0.04em;
	color: var(--fg-soft);
}

.post-row__media {
	grid-column: 1;
	overflow: hidden;
	border: 1px solid rgba(255, 245, 235, 0.22);
	border-radius: var(--radius-sm);
	aspect-ratio: 16 / 9;
}

.post-row__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.2s var(--ease-out);
}

.post-row__arrow {
	grid-column: 2;
	grid-row: 2;
	align-self: start;
	padding-top: 8px;
}

.post-row__arrow .dw-icon {
	width: 26px;
	height: 26px;
	transition: transform var(--dur) var(--ease-out);
}

.post-row__link:hover .post-row__arrow .dw-icon {
	transform: translate(3px, -3px);
}

.post-row__link:hover .post-row__media img {
	transform: scale(1.04);
}

@media (min-width: 900px) {
	.post-row__link {
		grid-template-columns: 180px minmax(0, 1fr) 300px 52px;
		align-items: start;
		column-gap: clamp(24px, 3vw, 56px);
	}

	.post-row__meta {
		grid-column: 1;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		padding-top: 6px;
	}

	.post-row__meta .dw-cal {
		margin-bottom: 8px;
	}

	.post-row__topic,
	.post-row__time {
		align-self: auto;
	}

	.post-row__body {
		grid-column: 2;
	}

	.post-row__media {
		grid-column: 3;
		grid-row: 1;
	}

	.post-row__arrow {
		grid-column: 4;
		grid-row: 1;
		justify-self: end;
	}
}

/* Pagination -------------------------------------------------------------- */

.dw-pagination {
	margin-top: 48px;
}

.dw-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.dw-pagination .page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 48px;
	height: 48px;
	padding: 0 14px;
	border: 1px solid var(--fg-faint);
	border-radius: var(--radius-pill);
	font-size: 15px;
	letter-spacing: 0.1em;
	text-decoration: none;
}

.dw-pagination .page-numbers.current,
.dw-pagination a.page-numbers:hover {
	border-color: var(--fg);
	background: rgba(247, 239, 229, 0.08);
}

.dw-pagination .page-numbers.dots {
	border: 0;
}

/* Article ----------------------------------------------------------------- */

.dw-article {
	padding-top: calc(var(--header-h) + clamp(48px, 12vh, 140px));
}

.dw-article--page {
	padding-top: 0;
}

.dw-article--page .page-head {
	padding-top: calc(var(--header-h) + clamp(48px, 12vh, 140px));
}

.dw-article__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 22px;
	margin-bottom: 30px;
	font-size: 12px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--fg-soft);
}

.dw-article__topic {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 16px;
	border: 1px solid var(--fg-faint);
	border-radius: var(--radius-pill);
	color: var(--fg);
	text-decoration: none;
}

.dw-article__topic:hover {
	border-color: var(--fg);
	background: rgba(247, 239, 229, 0.08);
}

.dw-article__title {
	font-size: clamp(44px, 8.4vw, 120px);
	line-height: 0.98;
	text-transform: lowercase;
	max-width: 14em;
}

.dw-article__lede {
	margin-top: clamp(20px, 3vh, 32px);
}

.dw-article__figure {
	margin-top: clamp(40px, 8vh, 88px);
}

.dw-article__figure.dw-container {
	max-width: calc(900px + 2 * var(--page-gutter));
}

.dw-article__figure img {
	width: 100%;
	border: 1px solid rgba(255, 245, 235, 0.22);
	border-radius: var(--radius-sm);
}

.dw-article__foot {
	max-width: calc(760px + 2 * var(--page-gutter));
	margin-top: clamp(56px, 10vh, 112px);
}

.dw-article__crumbs {
	margin-bottom: 18px;
}

.dw-article__byline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-top: clamp(18px, 3vh, 28px);
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.18em;
	color: var(--fg-soft);
}

/* Related service, after the article. */
.dw-article__service {
	max-width: calc(760px + 2 * var(--page-gutter));
	margin-top: clamp(48px, 8vh, 88px);
}

.dw-article__service-link {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px 24px;
	padding: 28px 0;
	border-top: 1px solid var(--fg-faint);
	border-bottom: 1px solid var(--fg-faint);
	text-decoration: none;
}

.dw-article__service-link .dw-eyebrow {
	grid-column: 1 / -1;
}

.dw-article__service-name {
	font-size: clamp(34px, 4vw, 56px);
	line-height: 1.05;
}

.dw-article__service-desc {
	grid-column: 1;
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.04em;
	color: var(--fg-soft);
}

.dw-article__service-link .dw-circle {
	grid-column: 2;
	grid-row: 2 / span 2;
}

.dw-article__service-link:hover .dw-circle {
	border-color: var(--fg);
	background: rgba(247, 239, 229, 0.08);
}

/* More from the journal. */
.dw-related {
	margin-top: clamp(80px, 14vh, 160px);
}

.dw-related__title {
	font-size: clamp(40px, 6vw, 88px);
	line-height: 1;
}

.dw-related__list {
	margin-top: clamp(28px, 5vh, 48px);
}

/* Long-form content ------------------------------------------------------- */

.dw-prose {
	max-width: calc(760px + 2 * var(--page-gutter));
	margin-top: clamp(40px, 7vh, 80px);
	font-size: clamp(17px, 1.1vw + 10px, 20px);
	line-height: 1.75;
	letter-spacing: 0.01em;
	color: rgba(247, 239, 229, 0.9);
}

.dw-prose > * + * {
	margin-top: 1.3em;
}

.dw-prose h2,
.dw-prose h3,
.dw-prose h4 {
	margin-top: 2.2em;
	font-family: var(--font-display-light);
	font-weight: 300;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--color-cream);
}

.dw-prose h2 {
	font-size: clamp(30px, 3vw, 44px);
}

.dw-prose h3 {
	font-size: clamp(24px, 2.2vw, 32px);
}

.dw-prose h4 {
	font-size: 21px;
	font-family: var(--font-ui);
	font-weight: 500;
	letter-spacing: 0.04em;
}

.dw-prose a {
	color: var(--color-peach);
}

.dw-prose a:hover {
	color: var(--color-cream);
}

.dw-prose strong {
	font-weight: 650;
	color: var(--color-cream);
}

.dw-prose ul,
.dw-prose ol {
	padding-left: 1.3em;
}

.dw-prose li + li {
	margin-top: 0.45em;
}

.dw-prose blockquote,
.dw-prose .wp-block-quote {
	margin-inline: 0;
	padding-left: 1.2em;
	border-left: 1px solid var(--color-peach);
	font-family: var(--font-display-light);
	font-weight: 300;
	font-size: 1.45em;
	line-height: 1.35;
	color: var(--color-cream);
}

.dw-prose blockquote cite {
	display: block;
	margin-top: 0.8em;
	font-family: var(--font-ui);
	font-size: 0.55em;
	font-style: normal;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--fg-soft);
}

.dw-prose img,
.dw-prose figure img {
	border-radius: var(--radius-sm);
}

.dw-prose figcaption,
.dw-prose .wp-element-caption {
	margin-top: 10px;
	font-size: 13px;
	letter-spacing: 0.08em;
	color: var(--fg-soft);
}

.dw-prose hr {
	border: 0;
	border-top: 1px solid var(--fg-faint);
	margin-block: 2.4em;
}

.dw-prose pre,
.dw-prose code {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.86em;
}

.dw-prose pre {
	padding: 20px 22px;
	overflow-x: auto;
	border-radius: var(--radius-sm);
	background: rgba(0, 0, 0, 0.35);
}

.dw-prose table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9em;
}

.dw-prose th,
.dw-prose td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--fg-faint);
	text-align: left;
}

.dw-prose .alignwide {
	max-width: none;
	margin-inline: calc(-1 * min(12vw, 160px));
}

.dw-prose .alignfull {
	margin-inline: calc(50% - 50vw);
	max-width: 100vw;
}

.dw-prose .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	min-height: 52px;
	padding: 0 28px;
	border: 1px solid var(--fg-faint);
	border-radius: var(--radius-pill);
	background: transparent;
	color: var(--color-cream);
	font-size: 15px;
	letter-spacing: 0.12em;
	text-decoration: none;
}

.dw-prose .wp-block-button__link:hover {
	border-color: var(--color-cream);
}

@media (max-width: 899px) {
	.dw-prose .alignwide {
		margin-inline: 0;
	}
}

/* Tags and post navigation ----------------------------------------------- */

.dw-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 48px;
}

.dw-tags a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 16px;
	border: 1px solid var(--fg-faint);
	border-radius: var(--radius-pill);
	font-size: 13px;
	letter-spacing: 0.12em;
	text-decoration: none;
}

.dw-tags a:hover {
	border-color: var(--fg);
}

.dw-postnav .nav-links {
	display: grid;
	gap: 24px;
	padding-top: 32px;
	border-top: 1px solid var(--fg-faint);
}

.dw-postnav a {
	display: grid;
	gap: 8px;
	text-decoration: none;
}

.dw-postnav__label {
	font-size: 11.5px;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--fg-soft);
}

.dw-postnav__title {
	font-family: var(--font-display-light);
	font-weight: 300;
	font-size: clamp(22px, 2.2vw, 32px);
	line-height: 1.15;
	text-transform: lowercase;
}

.dw-postnav a:hover .dw-postnav__title {
	text-decoration: underline;
	text-decoration-thickness: 1px;
}

@media (min-width: 720px) {
	.dw-postnav .nav-links {
		grid-template-columns: 1fr 1fr;
	}

	.dw-postnav .nav-next {
		grid-column: 2;
		text-align: right;
	}
}

/* Comments ---------------------------------------------------------------- */

.dw-comments-wrap {
	max-width: calc(760px + 2 * var(--page-gutter));
	margin-top: 72px;
}

.dw-comments__title {
	font-family: var(--font-display-light);
	font-weight: 300;
	font-size: clamp(28px, 2.6vw, 38px);
	letter-spacing: -0.02em;
	margin-bottom: 28px;
}

.dw-comments__list {
	display: grid;
	gap: 28px;
	margin-bottom: 56px;
}

.dw-comments__list .children {
	list-style: none;
	margin-top: 24px;
	padding-left: 28px;
	border-left: 1px solid var(--fg-faint);
}

.dw-comments .comment-body {
	font-size: 16px;
	line-height: 1.65;
}

.dw-comments .comment-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 16px;
	margin-bottom: 10px;
	font-size: 13px;
	letter-spacing: 0.08em;
	color: var(--fg-soft);
}

.dw-comments .avatar {
	border-radius: 50%;
	float: left;
	margin-right: 12px;
}

.dw-comments .comment-meta a {
	text-decoration: none;
}

.dw-comments .reply a {
	font-size: 13px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.comment-form {
	display: grid;
	gap: 18px;
}

.comment-form label {
	display: block;
	margin-bottom: 6px;
	font-size: 12px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--fg-soft);
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea,
.search-form .search-field {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid var(--fg-faint);
	border-radius: var(--radius-sm);
	background: rgba(6, 8, 22, 0.5);
	color: var(--color-cream);
	font-size: 16px;
}

.comment-form input:focus,
.comment-form textarea:focus,
.search-form .search-field:focus {
	outline: 2px solid var(--focus);
	outline-offset: 2px;
	border-color: transparent;
}

.comment-form .comment-form-cookies-consent {
	display: flex;
	gap: 10px;
	align-items: flex-start;
}

.comment-form .comment-form-cookies-consent label {
	margin: 0;
	text-transform: none;
	letter-spacing: 0.04em;
	font-size: 14px;
}

.search-form {
	display: flex;
	gap: 10px;
	margin-top: 24px;
	max-width: 520px;
}

.search-form label {
	flex: 1;
}

.search-form .search-submit {
	min-height: 52px;
	padding: 0 24px;
	border: 1px solid var(--fg-faint);
	border-radius: var(--radius-pill);
	background: transparent;
	color: var(--color-cream);
	letter-spacing: 0.12em;
	cursor: pointer;
}

.dw-empty {
	margin-top: clamp(40px, 7vh, 72px);
}

/* Calendar date ----------------------------------------------------------- */
/* A thin outline calendar page: month on top, the day large underneath, the
   year beside it. */

.dw-cal {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--fg);
	font-family: var(--font-ui);
	text-transform: none;
	letter-spacing: 0;
}

.dw-cal__page {
	position: relative;
	display: grid;
	width: 54px;
	border: 1.25px solid var(--fg-soft);
	border-radius: 8px;
	text-align: center;
}

/* Two binder rings across the top edge. */
.dw-cal__page::before,
.dw-cal__page::after {
	content: "";
	position: absolute;
	top: -6px;
	width: 4px;
	height: 11px;
	border: 1.25px solid var(--fg-soft);
	border-radius: 3px;
	background: var(--color-night);
}

.dw-cal__page::before {
	left: 12px;
}

.dw-cal__page::after {
	right: 12px;
}

.dw-cal__month {
	padding: 8px 0 4px 0.22em;
	border-bottom: 1px solid var(--fg-faint);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--color-peach);
}

.dw-cal__day {
	padding: 6px 0 8px;
	font-family: var(--font-display-light);
	font-weight: 300;
	font-size: 27px;
	line-height: 1;
	letter-spacing: -0.02em;
}

.dw-cal__year {
	font-size: 11.5px;
	letter-spacing: 0.24em;
	color: var(--fg-soft);
}

/* Journal articles: the parts that make a long read feel designed ---------- */

/* The opening answer: larger, with the dusk gradient running down its edge. */
.type-post .dw-prose > p:first-child {
	padding: 4px 0 4px clamp(20px, 2.4vw, 30px);
	border-left: 3px solid #b55bb0;
	border-image: linear-gradient(180deg, #7d5cd0, #e3627e 55%, #fbb36a) 1;
	font-size: 1.18em;
	line-height: 1.6;
	color: var(--color-cream);
}

/* Sections are numbered in the gradient, with a short gradient rule under each. */
.type-post .dw-prose {
	counter-reset: dw-section;
}

.type-post .dw-prose h2 {
	counter-increment: dw-section;
	margin-top: 2.4em;
	font-size: clamp(32px, 3.4vw, 48px);
	font-weight: 250;
	text-transform: lowercase;
}

.type-post .dw-prose h2::before {
	content: counter(dw-section, decimal-leading-zero);
	display: block;
	width: max-content;
	margin-bottom: 14px;
	font-family: var(--font-ui);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.3em;
	background: linear-gradient(90deg, #9a6be0, #e3627e, #fbb36a);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.type-post .dw-prose h2::after {
	content: "";
	display: block;
	width: 56px;
	height: 2px;
	margin-top: 18px;
	border-radius: 2px;
	background: linear-gradient(90deg, #7d5cd0, #e3627e, #fbb36a);
}

.type-post .dw-prose h3 {
	position: relative;
	padding-left: 24px;
}

.type-post .dw-prose h3::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.42em;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: linear-gradient(180deg, #b55bb0, #fbb36a);
}

/* Lists whose items open with a bold lead ("signs it is time", "common
   mistakes") become cards. */
.type-post .dw-prose ul:has(> li > strong:first-child) {
	display: grid;
	gap: 14px;
	padding: 0;
	list-style: none;
}

.type-post .dw-prose ul:has(> li > strong:first-child) > li {
	position: relative;
	margin: 0;
	padding: 22px 22px 20px;
	overflow: hidden;
	border: 1px solid rgba(247, 239, 229, 0.14);
	border-radius: 14px;
	background: rgba(247, 239, 229, 0.035);
	font-size: 0.88em;
	line-height: 1.6;
}

.type-post .dw-prose ul:has(> li > strong:first-child) > li::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 2px;
	background: linear-gradient(90deg, #7d5cd0, #e3627e, #fbb36a);
	opacity: 0.85;
}

.type-post .dw-prose ul:has(> li > strong:first-child) > li > strong:first-child {
	display: block;
	margin-bottom: 6px;
	font-size: 1.08em;
	line-height: 1.35;
}

/* Other lists: a small gradient dash instead of a bullet. */
.type-post .dw-prose ul:not(:has(> li > strong:first-child)) {
	padding-left: 0;
	list-style: none;
}

.type-post .dw-prose ul:not(:has(> li > strong:first-child)) > li {
	position: relative;
	padding-left: 28px;
}

.type-post .dw-prose ul:not(:has(> li > strong:first-child)) > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.82em;
	width: 14px;
	height: 2px;
	border-radius: 2px;
	background: linear-gradient(90deg, #e3627e, #fbb36a);
}

/* Pull quote: big, thin and in the gradient. */
.dw-prose .wp-block-pullquote {
	margin-block: 2.2em;
	padding: 0;
	border: 0;
	text-align: left;
}

.dw-prose .wp-block-pullquote blockquote {
	margin: 0;
	padding: 0 0 0 clamp(20px, 2.4vw, 30px);
	border-left: 1px solid var(--fg-faint);
	font-size: inherit;
}

.dw-prose .wp-block-pullquote p {
	font-family: var(--font-display-light);
	font-weight: 250;
	font-size: clamp(28px, 3.2vw, 44px);
	line-height: 1.18;
	letter-spacing: -0.02em;
	background: linear-gradient(180deg, #9a6be0 10%, #e3627e 55%, #fbb36a 95%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* Images of real work, a little wider than the text. */
.type-post .dw-prose > figure.wp-block-image {
	margin-block: 2.2em;
}

.type-post .dw-prose > figure.wp-block-image img {
	width: 100%;
	height: auto;
	border: 1px solid rgba(255, 245, 235, 0.22);
}

.type-post .dw-prose > figure.wp-block-image figcaption {
	margin-top: 12px;
	font-size: 13px;
	letter-spacing: 0.08em;
	color: var(--fg-soft);
}

/* "What this means for your business": a panel with a gradient edge. */
.dw-prose .dw-takeaway {
	margin-top: 3em;
	padding: clamp(28px, 4vw, 52px);
	border: 1px solid transparent;
	border-radius: 20px;
	background:
		linear-gradient(rgba(16, 14, 34, 0.94), rgba(16, 14, 34, 0.94)) padding-box,
		linear-gradient(135deg, #7d5cd0, #e3627e 55%, #fbb36a) border-box;
	box-shadow: 0 30px 80px rgba(125, 92, 208, 0.16);
}

.dw-prose .dw-takeaway > .wp-block-group__inner-container > * + * {
	margin-top: 1.1em;
}

.type-post .dw-prose .dw-takeaway h2 {
	margin-top: 0;
}

.dw-prose .dw-takeaway .wp-block-buttons {
	margin-top: 1.6em;
}

.dw-prose .dw-takeaway .wp-block-button__link {
	gap: 14px;
	min-height: 56px;
	padding: 0 32px;
	border-color: var(--color-cream);
	background: var(--color-cream);
	color: var(--color-ink);
}

.dw-prose .dw-takeaway .wp-block-button__link:hover {
	background: transparent;
	color: var(--color-cream);
}

@media (min-width: 900px) {
	.type-post .dw-prose ul:has(> li > strong:first-child) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.type-post .dw-prose > .wp-block-pullquote,
	.type-post .dw-prose > figure.wp-block-image {
		margin-inline: calc(-1 * min(7vw, 90px));
	}
}
