.dp-article {
	background: var(--dp-color-canvas);
}

.dp-article-breadcrumb {
	padding-block: var(--dp-space-4);
	background: #fff;
	border-block-end: 1px solid var(--dp-color-border);
}

.dp-article-breadcrumb__inner {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
	align-items: center;
	color: var(--dp-color-muted);
	font-size: var(--dp-text-sm);
}

.dp-article-breadcrumb a {
	color: var(--dp-color-muted);
	text-decoration: none;
}

.dp-article-breadcrumb a:hover {
	color: var(--dp-color-brand);
}

.dp-article-hero {
	padding-block: var(--dp-space-8);
	background: #fff;
}

.dp-article-hero__panel {
	display: grid;
	gap: var(--dp-space-6);
	align-items: center;
	overflow: hidden;
	padding: clamp(1.5rem, 4vw, 3.25rem);
	border: 1px solid rgb(91 41 75 / .12);
	border-radius: var(--dp-radius-xl);
	background:
		radial-gradient(circle at 12% 18%, rgb(28 106 102 / .13), transparent 14rem),
		radial-gradient(circle at 84% 72%, rgb(178 82 106 / .16), transparent 16rem),
		linear-gradient(140deg, #fff, var(--dp-color-canvas));
	box-shadow: var(--dp-shadow-sm);
}

.dp-article-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem .8rem;
	align-items: center;
	color: var(--dp-color-muted);
	font-size: var(--dp-text-sm);
}

.dp-article-hero__category {
	display: inline-flex;
	align-items: center;
	min-height: 2rem;
	padding-inline: .75rem;
	border-radius: var(--dp-radius-pill);
	background: var(--dp-color-beauty-soft);
	color: var(--dp-color-brand);
	font-size: var(--dp-text-xs);
	font-weight: 850;
}

.dp-article-hero h1 {
	margin: var(--dp-space-4) 0 0;
	color: var(--dp-color-brand);
	font-size: clamp(2rem, 1.45rem + 2vw, 3.55rem);
	line-height: 1.45;
}

.dp-article-hero__lead {
	max-width: 50rem;
	margin: var(--dp-space-4) 0 0;
	color: var(--dp-color-muted);
	font-size: var(--dp-text-lg);
	line-height: 2;
}

.dp-article-hero__tags {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
	margin-block-start: var(--dp-space-5);
}

.dp-article-hero__tags span {
	display: inline-flex;
	align-items: center;
	min-height: 1.9rem;
	padding-inline: .7rem;
	border: 1px solid rgb(28 106 102 / .16);
	border-radius: var(--dp-radius-pill);
	background: rgb(255 255 255 / .76);
	color: var(--dp-color-secondary-hover);
	font-size: var(--dp-text-xs);
	font-weight: 750;
}

.dp-article-hero__visual {
	position: relative;
	min-height: 18rem;
	overflow: hidden;
	border-radius: var(--dp-radius-xl);
	background:
		radial-gradient(circle at 68% 32%, rgb(255 255 255 / .78), transparent 7rem),
		linear-gradient(145deg, var(--dp-color-beauty-soft), #eed4dc);
}

.dp-article-hero__visual::before {
	content: "";
	position: absolute;
	width: 9.5rem;
	height: 9.5rem;
	inset-block-start: 3.4rem;
	inset-inline-end: 22%;
	border: .55rem solid rgb(91 41 75 / .62);
	border-radius: 50%;
	box-shadow: 0 0 0 1rem rgb(255 255 255 / .34);
}

.dp-article-hero__visual::after {
	content: "";
	position: absolute;
	width: 5rem;
	height: 9rem;
	inset-block-end: 1.6rem;
	inset-inline-start: 17%;
	border-radius: 2.8rem 2.8rem 1.1rem 1.1rem;
	background: linear-gradient(180deg, #fff 0 22%, rgb(178 82 106 / .52) 22% 100%);
	box-shadow: 0 18px 34px rgb(91 41 75 / .12);
	transform: rotate(-7deg);
}

.dp-article-reading {
	padding-block: var(--dp-space-8) var(--dp-space-12);
}

.dp-article-layout {
	display: grid;
	gap: var(--dp-space-6);
	align-items: start;
}

.dp-article-toc {
	display: none;
	padding: var(--dp-space-5);
	border: 1px solid var(--dp-color-border);
	border-radius: var(--dp-radius-xl);
	background: #fff;
	box-shadow: var(--dp-shadow-sm);
}

.dp-article-toc h2 {
	margin: 0 0 var(--dp-space-4);
	color: var(--dp-color-brand);
	font-size: var(--dp-text-base);
}

.dp-article-toc ol {
	display: grid;
	gap: .3rem;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: article-toc;
}

.dp-article-toc li {
	counter-increment: article-toc;
}

.dp-article-toc a {
	display: grid;
	grid-template-columns: 1.7rem minmax(0, 1fr);
	gap: .45rem;
	align-items: start;
	padding: .55rem .6rem;
	border-radius: var(--dp-radius-md);
	color: var(--dp-color-muted);
	font-size: var(--dp-text-sm);
	text-decoration: none;
}

.dp-article-toc a::before {
	content: counter(article-toc, decimal-leading-zero);
	color: var(--dp-color-beauty);
	font-size: .72rem;
	font-weight: 900;
}

.dp-article-toc a:hover {
	background: var(--dp-color-beauty-soft);
	color: var(--dp-color-brand);
}

.dp-article-body {
	min-width: 0;
}

.dp-article-card {
	margin-block-end: var(--dp-space-5);
	padding: clamp(1.35rem, 3vw, 2.25rem);
	border: 1px solid var(--dp-color-border);
	border-radius: var(--dp-radius-xl);
	background: #fff;
	box-shadow: var(--dp-shadow-sm);
	scroll-margin-top: 7rem;
}

.dp-article-card h2 {
	margin: 0 0 var(--dp-space-4);
	color: var(--dp-color-brand);
	font-size: clamp(1.45rem, 1.25rem + .65vw, 2rem);
	line-height: 1.6;
}

.dp-article-card h3 {
	margin: var(--dp-space-6) 0 var(--dp-space-3);
	color: var(--dp-color-ink);
	font-size: var(--dp-text-lg);
}

.dp-article-card p {
	margin: 0 0 var(--dp-space-4);
	color: var(--dp-color-muted);
	font-size: var(--dp-text-base);
	line-height: 2.15;
}

.dp-article-card p:last-child {
	margin-block-end: 0;
}

.dp-article-card ul {
	display: grid;
	gap: .65rem;
	margin: var(--dp-space-4) 0 0;
	padding-inline-start: 1.2rem;
	color: var(--dp-color-muted);
	line-height: 2;
}

.dp-article-intro {
	position: relative;
	overflow: hidden;
}

.dp-article-intro::before {
	content: "";
	position: absolute;
	width: .3rem;
	inset-block: 1.6rem;
	inset-inline-start: 0;
	border-radius: var(--dp-radius-pill);
	background: linear-gradient(180deg, var(--dp-color-beauty), var(--dp-color-secondary));
}

.dp-article-note {
	margin-block: var(--dp-space-5);
	padding: var(--dp-space-5);
	border: 1px solid rgb(215 164 74 / .26);
	border-radius: var(--dp-radius-lg);
	background: var(--dp-color-accent-soft);
}

.dp-article-note strong {
	display: block;
	margin-block-end: .35rem;
	color: var(--dp-color-brand);
}

.dp-article-note p {
	margin: 0;
	font-size: var(--dp-text-sm);
}

.dp-article-steps {
	display: grid;
	gap: var(--dp-space-3);
	margin-block-start: var(--dp-space-5);
	counter-reset: steps;
}

.dp-article-step {
	position: relative;
	padding: var(--dp-space-4);
	padding-inline-start: 3.4rem;
	border: 1px solid var(--dp-color-border);
	border-radius: var(--dp-radius-lg);
	background: var(--dp-color-canvas);
	counter-increment: steps;
}

.dp-article-step::before {
	content: counter(steps, decimal-leading-zero);
	position: absolute;
	inset-block-start: var(--dp-space-4);
	inset-inline-start: var(--dp-space-4);
	display: grid;
	width: 2rem;
	height: 2rem;
	place-items: center;
	border-radius: 50%;
	background: var(--dp-color-brand);
	color: #fff;
	font-size: .72rem;
	font-weight: 900;
}

.dp-article-step strong {
	display: block;
	margin-block-end: .25rem;
	color: var(--dp-color-ink);
}

.dp-article-step span {
	color: var(--dp-color-muted);
	font-size: var(--dp-text-sm);
	line-height: 1.9;
}

.dp-article-split {
	display: grid;
	gap: var(--dp-space-4);
	margin-block-start: var(--dp-space-5);
}

.dp-article-pros,
.dp-article-limits {
	padding: var(--dp-space-5);
	border-radius: var(--dp-radius-lg);
}

.dp-article-pros {
	border: 1px solid rgb(28 106 102 / .17);
	background: var(--dp-color-home-soft);
}

.dp-article-limits {
	border: 1px solid rgb(178 82 106 / .17);
	background: var(--dp-color-beauty-soft);
}

.dp-article-pros h3,
.dp-article-limits h3 {
	margin: 0 0 var(--dp-space-3);
}

.dp-article-pros ul,
.dp-article-limits ul {
	margin: 0;
}

.dp-article-shop-cta {
	display: grid;
	gap: var(--dp-space-4);
	align-items: center;
	margin-block: var(--dp-space-6);
	padding: clamp(1.3rem, 3vw, 2rem);
	border-radius: var(--dp-radius-xl);
	background:
		radial-gradient(circle at 12% 50%, rgb(215 164 74 / .2), transparent 10rem),
		linear-gradient(135deg, var(--dp-color-brand), var(--dp-color-brand-hover));
	color: #fff;
	box-shadow: var(--dp-shadow-md);
}

.dp-article-shop-cta h2 {
	margin: 0;
	color: #fff;
	font-size: var(--dp-text-xl);
}

.dp-article-shop-cta p {
	margin: var(--dp-space-2) 0 0;
	color: rgb(255 255 255 / .78);
	line-height: 1.9;
}

.dp-article-shop-cta .dp-button {
	width: fit-content;
	background: #fff;
	color: var(--dp-color-brand);
}

.dp-article-shop-cta .dp-button:hover {
	background: var(--dp-color-accent-soft);
	color: var(--dp-color-brand);
}

.dp-article-footer-meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--dp-space-2);
	align-items: center;
	padding: var(--dp-space-5);
	border: 1px solid var(--dp-color-border);
	border-radius: var(--dp-radius-xl);
	background: #fff;
}

.dp-article-footer-meta strong {
	color: var(--dp-color-brand);
}

.dp-article-footer-meta span {
	display: inline-flex;
	align-items: center;
	min-height: 1.9rem;
	padding-inline: .65rem;
	border-radius: var(--dp-radius-pill);
	background: var(--dp-color-surface-muted);
	color: var(--dp-color-muted);
	font-size: var(--dp-text-xs);
	font-weight: 750;
}

.dp-article-related {
	padding-block: var(--dp-space-10) var(--dp-space-14);
	background: #fff;
}

.dp-article-related__head {
	display: flex;
	flex-wrap: wrap;
	gap: var(--dp-space-3);
	align-items: end;
	justify-content: space-between;
	margin-block-end: var(--dp-space-5);
}

.dp-article-related__head h2 {
	margin: 0;
	color: var(--dp-color-brand);
	font-size: var(--dp-text-2xl);
}

.dp-article-related__head p {
	margin: 0;
	color: var(--dp-color-muted);
	font-size: var(--dp-text-sm);
}

.dp-article-related-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--dp-space-4);
}

.dp-article-related-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--dp-color-border);
	border-radius: var(--dp-radius-xl);
	background: #fff;
	box-shadow: var(--dp-shadow-sm);
}

.dp-article-related-card__visual {
	position: relative;
	aspect-ratio: 16 / 9;
	background:
		radial-gradient(circle at 70% 28%, rgb(255 255 255 / .76), transparent 6rem),
		linear-gradient(145deg, var(--dp-color-home-soft), #dcecea);
}

.dp-article-related-card:nth-child(2) .dp-article-related-card__visual {
	background:
		radial-gradient(circle at 70% 28%, rgb(255 255 255 / .76), transparent 6rem),
		linear-gradient(145deg, var(--dp-color-accent-soft), #f3e0b7);
}

.dp-article-related-card:nth-child(3) .dp-article-related-card__visual {
	background:
		radial-gradient(circle at 70% 28%, rgb(255 255 255 / .76), transparent 6rem),
		linear-gradient(145deg, var(--dp-color-beauty-soft), #edd0d9);
}

.dp-article-related-card__visual::before {
	content: "";
	position: absolute;
	width: 5rem;
	height: 5rem;
	inset-block-start: 2rem;
	inset-inline-end: 16%;
	border-radius: 50%;
	border: .4rem solid rgb(91 41 75 / .44);
}

.dp-article-related-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: var(--dp-space-5);
}

.dp-article-related-card__category {
	color: var(--dp-color-secondary);
	font-size: var(--dp-text-xs);
	font-weight: 850;
}

.dp-article-related-card h3 {
	margin: var(--dp-space-2) 0;
	color: var(--dp-color-ink);
	font-size: var(--dp-text-lg);
	line-height: 1.8;
}

.dp-article-related-card p {
	margin: 0;
	color: var(--dp-color-muted);
	font-size: var(--dp-text-sm);
	line-height: 1.9;
}

.dp-article-related-card a {
	width: fit-content;
	margin-block-start: auto;
	padding-block-start: var(--dp-space-4);
	color: var(--dp-color-brand);
	font-weight: 800;
	text-decoration: none;
}

.dp-article-related-card a:hover {
	color: var(--dp-color-brand-hover);
}

@media (min-width: 42rem) {
	.dp-article-split {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dp-article-related-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.dp-article-hero__panel {
		grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr);
	}

	.dp-article-hero__visual {
		min-height: 24rem;
	}

	.dp-article-layout {
		grid-template-columns: 15.5rem minmax(0, 1fr);
	}

	.dp-article-toc {
		position: sticky;
		top: calc(var(--dp-header-height) + 1rem);
		display: block;
	}

	.dp-article-shop-cta {
		grid-template-columns: minmax(0, 1fr) auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dp-article-toc a {
		scroll-behavior: auto;
	}
}
