:root {
	--background: #ffffff;
	--foreground: #221a16;
	--color-cream: #fff8f6;
	--color-ink: #221a16;
	--color-accent: #bd696f;
	--color-accent-deep: #9c4f57;
	--color-accent-soft: #f3d4d1;
	--color-card: #ffffff;
	--color-muted: #756a65;
	--color-line: #f0ddd9;
	--header-height: 5rem;
	--font-display: "Playfair Display", Georgia, serif;
	--font-body: "Manrope", "Segoe UI", sans-serif;
}
*,
*::before,
*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
#kategori,
#produk,
#video,
#blog,
#catalog { scroll-margin-top: calc(var(--header-height) + 1rem); }
body {
	background: #fffaf9;
	color: var(--foreground);
	font-family: var(--font-body);
	margin: 0;
}
body.menu-open,
body.home-popup-open { overflow: hidden; }
a { color: inherit; text-decoration: none; transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease; }
img { display: block; height: auto; max-width: 100%; }
p { margin: 0; }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*,
	*::before,
	*::after {
		animation-duration: 1ms !important;
		scroll-behavior: auto !important;
		transition-duration: 1ms !important;
	}
}
.shell { margin-inline: auto; max-width: 72rem; padding-inline: 1.25rem; width: 100%; }
.text-center { text-align: center; }
.skip-link {
	background: var(--color-ink);
	border-radius: 999px;
	color: #fff;
	font-size: .875rem;
	font-weight: 700;
	left: 1rem;
	padding: .7rem 1.15rem;
	position: fixed;
	top: 1rem;
	transform: translateY(-160%);
	z-index: 200;
}
.skip-link:focus { transform: translateY(0); }
.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}
.site-header {
	background: rgba(255, 255, 255, .95);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid #ffe4e1;
	isolation: isolate;
	position: sticky;
	top: 0;
	z-index: 100;
}
.site-header.header-overlay { background: rgba(255,255,255,.95); border-bottom-color: #ffe4e1; }
.admin-bar .site-header { top: 32px; }
.live-ticker {
	background: #0f0f10;
	color: #fff;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .02em;
	overflow: hidden;
	white-space: nowrap;
}
.live-ticker-track {
	align-items: center;
	animation: liveTickerMove 24s linear infinite;
	display: inline-flex;
	gap: 2rem;
	min-width: max-content;
	padding-block: .38rem;
	padding-left: 100%;
}
.live-ticker-item {
	align-items: center;
	display: inline-flex;
	gap: .45rem;
}
.live-ticker-dot {
	animation: liveDotPulse 1.05s ease-in-out infinite;
	background: #ff3b55;
	border-radius: 999px;
	box-shadow: 0 0 0 .18rem rgba(255,59,85,.18);
	height: .38rem;
	width: .38rem;
}
.live-ticker:hover .live-ticker-track { animation-play-state: paused; }
@keyframes liveTickerMove {
	from { transform: translateX(0); }
	to { transform: translateX(-100%); }
}
.header-row {
	align-items: center;
	display: flex;
	height: var(--header-height);
	justify-content: space-between;
	position: relative;
}
.brand {
	align-items: center;
	display: flex;
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 600;
	gap: .5rem;
	white-space: nowrap;
}
.brand-flower {
	fill: #fb7185;
	height: 1.1rem;
	stroke: none;
	width: 1.1rem;
}
.primary-menu .menu {
	align-items: center;
	display: flex;
	gap: 1.75rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.primary-menu a {
	color: #5f5651;
	display: inline-flex;
	font-size: .875rem;
	font-weight: 600;
	padding: .4rem 0;
	position: relative;
}
.primary-menu a::after {
	background: var(--color-accent);
	bottom: -.45rem;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transition: transform 180ms ease;
	width: 100%;
}
.primary-menu a:hover,
.primary-menu .current-menu-item a { color: var(--color-ink); }
.primary-menu .current-menu-item a::after { transform: scaleX(1); }
.header-actions { align-items: center; display: flex; gap: .5rem; }
.icon-link {
	align-items: center;
	border-radius: 999px;
	color: #332723;
	display: flex;
	font-size: 1rem;
	height: 2.5rem;
	justify-content: center;
	position: relative;
	transition: background 180ms ease, color 180ms ease;
	width: 2.5rem;
}
.icon-link:hover { background: #fff1ed; color: var(--color-accent-deep); }
.icon-link svg {
	fill: none;
	height: 1.05rem;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	width: 1.05rem;
}
.count-badge {
	align-items: center;
	background: var(--color-accent);
	border-radius: 999px;
	color: #fff;
	display: flex;
	font-size: .6rem;
	font-weight: 700;
	height: 1rem;
	justify-content: center;
	min-width: 1rem;
	padding: 0 .2rem;
	position: absolute;
	right: -.2rem;
	top: -.15rem;
}
.nav-toggle {
	background: transparent;
	border: 0;
	display: none;
	padding: 0;
}
.nav-toggle svg { height: 1.15rem; width: 1.15rem; }
.menu-close-icon { display: none; }
.nav-toggle[aria-expanded="true"] .menu-open-icon { display: none; }
.nav-toggle[aria-expanded="true"] .menu-close-icon { display: block; }
.eyebrow {
	color: var(--color-accent-deep);
	font-size: .7rem;
	font-weight: 750;
	letter-spacing: .23em;
	text-transform: uppercase;
}
.section-heading {
	font-family: var(--font-display);
	font-size: clamp(1.9rem, 4vw, 2.5rem);
	font-weight: 600;
	line-height: 1.15;
	margin: .75rem 0 0;
}
.button,
.button-dark,
.button-light,
.button-outline {
	align-items: center;
	border-radius: 999px;
	display: inline-flex;
	font-size: .875rem;
	font-weight: 700;
	justify-content: center;
	min-height: 2.9rem;
	padding: .7rem 1.5rem;
}
.button-dark,
.button { background: var(--color-ink); color: #fff; }
.button-dark:hover,
.button:hover { background: #44352f; color: #fff; }
.button-light { background: #fff; color: var(--color-ink); }
.button-outline { background: #fff; border: 1px solid var(--color-line); color: var(--color-ink); }
.button-outline:hover { border-color: var(--color-accent); color: var(--color-accent-deep); }
.hero-campaign {
	background: #f8e7e2;
	overflow: hidden;
	position: relative;
}
.hero-viewport { overflow: hidden; transition: height 320ms ease; }
.hero-track {
	align-items: flex-start;
	display: flex;
	transform: translateX(0);
	transition: transform 1200ms cubic-bezier(.22,.61,.36,1);
	width: 100%;
}
.hero-slide {
	flex: 0 0 100%;
	line-height: 0;
	margin: 0;
	min-width: 100%;
	overflow: hidden;
	position: relative;
}
.hero-slide picture { display: block; width: 100%; }
.hero-slide-photo {
	display: block;
	height: auto;
	object-position: var(--desktop-focus, center center);
	width: 100%;
}
.benefit-section { background: #fff; border-block: 1px solid #ffe4e1; }
.benefit-strip { display: grid; grid-template-columns: repeat(3, 1fr); padding-block: .75rem; }
.benefit-item {
	align-items: center;
	display: flex;
	gap: 1rem;
	justify-content: center;
	min-width: 0;
	padding: .5rem 1.5rem;
	text-align: left;
}
.benefit-item + .benefit-item { border-left: 1px solid var(--color-line); }
.benefit-icon {
	align-items: center;
	background: #fff1ed;
	border-radius: 999px;
	color: var(--color-accent-deep);
	display: flex;
	flex-shrink: 0;
	height: 2.75rem;
	justify-content: center;
	width: 2.75rem;
}
.benefit-item strong { display: block; font-size: .875rem; }
.benefit-item p { color: #78716c; font-size: .75rem; margin-top: .25rem; }
.home-section { padding-block: 5rem; }
.category-section { padding-block: 3.5rem 5rem; }
.category-grid { display: grid; gap: .75rem; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 2rem; }
.category-card {
	background: #f6ded7;
	border: 1px solid #ffe4e1;
	border-radius: 1rem;
	height: 12.25rem;
	overflow: hidden;
	position: relative;
	text-align: left;
	transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.category-card::after {
	background: linear-gradient(180deg, rgba(42,31,27,0) 20%, rgba(42,31,27,.08) 47%, rgba(42,31,27,.68) 100%);
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}
.category-card:hover {
	border-color: rgba(189,105,111,.36);
	box-shadow: 0 16px 30px rgba(90,56,49,.13);
	transform: translateY(-3px);
}
.category-image {
	display: block;
	height: 100%;
	inset: 0;
	object-fit: cover;
	object-position: center;
	position: absolute;
	transition: transform .45s ease;
	width: 100%;
}
.category-card:hover .category-image { transform: scale(1.045); }
.category-image-bundle { object-position: 61% center; }
.category-copy { bottom: 0; color: #fff; left: 0; padding: 1rem; position: absolute; right: 0; z-index: 2; }
.category-copy h3 { color: #fff; font-size: .9375rem; margin: 0; }
.category-copy p { color: rgba(255,255,255,.82); font-size: .75rem; letter-spacing: .02em; margin-top: .28rem; }
.promo-home {
	background: linear-gradient(90deg, rgba(255,227,220,1), rgba(255,227,220,.75), rgba(255,227,220,0)), var(--promo-bg) center/cover;
	border-radius: 2rem;
	min-height: 360px;
	overflow: hidden;
	position: relative;
}
.promo-content { max-width: 20rem; padding: 3rem; position: relative; z-index: 1; }
.promo-content h2 {
	font-family: var(--font-display);
	font-size: clamp(2rem, 4vw, 2.5rem);
	font-weight: 600;
	line-height: 1.15;
	margin: .75rem 0 0;
}
.promo-content h2 span { color: var(--color-accent); display: block; }
.promo-content p:not(.eyebrow) { color: #57534e; font-size: .875rem; line-height: 1.7; margin-top: .75rem; }
.promo-content .button { margin-top: 1.5rem; }
.section-row { align-items: flex-end; display: flex; justify-content: space-between; margin-bottom: 1.75rem; }
.see-all { color: var(--color-accent-deep); font-size: .875rem; font-weight: 700; }
.product-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.product-card {
	background: #fff;
	border: 1px solid #ffe4e1;
	border-radius: 1rem;
	overflow: hidden;
	position: relative;
}
.card-media { aspect-ratio: 1; background: #fff5f2; overflow: hidden; position: relative; }
.card-image,
.card-image img { display: block; height: 100%; width: 100%; }
.card-image img { object-fit: cover; transition: transform 500ms ease; }
.card-image:hover img { transform: scale(1.05); }
.favorite {
	align-items: center;
	background: #fff;
	border: 0;
	border-radius: 999px;
	color: #57534e;
	cursor: pointer;
	display: flex;
	font-size: 1.15rem;
	height: 2rem;
	justify-content: center;
	position: absolute;
	right: .75rem;
	top: .75rem;
	width: 2rem;
	z-index: 2;
}
.favorite.is-active { color: var(--color-accent); }
.discount {
	background: #fff;
	border-radius: 999px;
	bottom: .75rem;
	color: var(--color-accent);
	font-size: .625rem;
	font-weight: 800;
	left: .75rem;
	padding: .25rem .62rem;
	position: absolute;
}
.card-copy { padding: 1rem; }
.card-copy h3 {
	font-family: var(--font-body);
	font-size: .875rem;
	font-weight: 700;
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.rating { align-items: center; color: #d97706; display: flex; font-size: .6875rem; gap: .38rem; margin-top: .5rem; white-space: nowrap; }
.rating b { color: #b45309; font-size: .7rem; font-weight: 700; }
.rating > span:not(.rating-stars) { color: #a8a29e; }
.rating-stars {
	color: #e7e5e4;
	display: inline-block;
	font-size: .7rem;
	letter-spacing: .08em;
	line-height: 1;
	position: relative;
	vertical-align: middle;
}
.rating-base { color: #e7e5e4; display: block; }
.rating-fill {
	color: #f59e0b;
	display: block;
	inset: 0 auto 0 0;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
}
.rating-detail { font-size: .88rem; gap: .55rem; margin: 1rem 0; }
.rating-detail .rating-stars { font-size: 1rem; letter-spacing: .12em; }
.rating-detail b { font-size: .9rem; }
.card-bottom { align-items: center; display: flex; gap: .5rem; justify-content: space-between; margin-top: .5rem; }
.card-bottom strong { display: block; font-size: 1.125rem; }
.card-bottom del { color: #a8a29e; display: block; font-size: .625rem; }
.add-bag {
	align-items: center;
	background: #fff;
	border: 1px solid #e7e5e4;
	border-radius: 999px;
	color: var(--color-ink);
	cursor: pointer;
	display: flex;
	flex-shrink: 0;
	font-size: 1rem;
	height: 2rem;
	justify-content: center;
	width: 2rem;
}
.add-bag:hover,
.add-bag.is-active { border-color: var(--color-accent); color: var(--color-accent-deep); }
.video-section {
	background: #fff;
	border-top: 1px solid #ffe4e1;
	padding-block: 5rem;
}
.video-card-grid {
	align-items: start;
	display: flex;
	gap: 1.25rem;
	max-width: 57rem;
}
.video-card {
	background: #fff;
	border: 1px solid #ffe4e1;
	border-radius: 1rem;
	cursor: pointer;
	flex: 1 1 0;
	min-width: 0;
	overflow: hidden;
	transform: translateY(0);
	transition: border-color 260ms ease, box-shadow 260ms ease, flex-basis 320ms ease, flex-grow 320ms ease, opacity 260ms ease, transform 320ms ease;
}
.video-card-grid.has-active .video-card {
	flex-grow: .92;
	opacity: .72;
	transform: scale(.97);
}
.video-card-grid.has-active .video-card.is-active {
	border-color: rgba(189,105,111,.38);
	box-shadow: 0 24px 38px -26px rgba(78,40,34,.48);
	flex-grow: 1.18;
	opacity: 1;
	transform: translateY(-.35rem) scale(1.025);
}
.video-card-media {
	aspect-ratio: 9 / 13;
	background: #f6ded7;
	overflow: hidden;
	position: relative;
}
.video-card-media img,
.video-card-media video {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}
.video-card-media img { filter: saturate(.94); }
.video-card.is-active .video-card-media img { filter: saturate(1); }
.video-placeholder {
	align-items: center;
	background: linear-gradient(180deg, transparent 42%, rgba(34,26,22,.52));
	color: #fff;
	display: flex;
	flex-direction: column;
	font-size: .7rem;
	font-weight: 700;
	gap: .6rem;
	inset: 0;
	justify-content: center;
	letter-spacing: .12em;
	position: absolute;
	text-transform: uppercase;
}
.video-play {
	align-items: center;
	background: rgba(255,255,255,.94);
	border-radius: 999px;
	display: flex;
	height: 3.25rem;
	justify-content: center;
	width: 3.25rem;
}
.video-play::after {
	border-bottom: .48rem solid transparent;
	border-left: .72rem solid var(--color-accent-deep);
	border-top: .48rem solid transparent;
	content: "";
	margin-left: .15rem;
}
.video-card-copy { padding: 1rem 1rem 1.15rem; }
.video-card-copy h3 {
	font-family: var(--font-display);
	font-size: 1.18rem;
	font-weight: 600;
	line-height: 1.3;
	margin: 0;
}
.video-card-copy p {
	color: #78716c;
	font-size: .8rem;
	line-height: 1.55;
	margin-top: .45rem;
}
.video-card-copy a {
	color: var(--color-accent-deep);
	display: inline-flex;
	font-size: .8rem;
	font-weight: 700;
	gap: .35rem;
	margin-top: .8rem;
}
.ritual-section { background: #fff; border-block: 1px solid #ffe4e1; padding-block: 5rem; }
.ritual-grid { align-items: center; display: grid; gap: 1.75rem; grid-template-columns: .8fr 1fr; }
.ritual-intro p:not(.eyebrow) { color: #78716c; line-height: 1.75; margin-top: 1rem; max-width: 24rem; }
.ritual-intro .button { margin-top: 1.75rem; }
.ritual-steps { display: grid; gap: .75rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ritual-steps article {
	background: rgba(255,255,255,.82);
	border: 1px solid var(--color-line);
	border-radius: 1rem;
	box-shadow: 0 18px 38px -34px rgba(56,33,27,.55);
	min-height: 9rem;
	padding: 1.25rem;
}
.ritual-steps b {
	background: transparent;
	color: var(--color-accent-deep);
	display: block;
	font-size: .7rem;
	letter-spacing: .14em;
}
.ritual-steps h3 { font-family: var(--font-display); font-size: 1.25rem; font-weight: 600; margin: 1.75rem 0 0; }
.ritual-steps p { color: #78716c; font-size: .875rem; line-height: 1.5rem; margin-top: .5rem; }
.ritual-mobile-button { display: none; }
.review-section {
	background: radial-gradient(circle at 0% 100%, rgba(244,214,208,.5), transparent 26rem), #fff8f6;
	padding-block: 5rem;
}
.review-heading { align-items: center; display: flex; gap: 1.5rem; justify-content: space-between; text-align: left; }
.review-summary {
	align-items: center;
	background: #fff;
	border: 1px solid var(--color-line);
	border-radius: 999px;
	box-shadow: 0 18px 34px -30px rgba(78,40,34,.52);
	display: flex;
	gap: 1rem;
	padding: .75rem 1.25rem;
}
.review-summary strong { font-family: var(--font-display); font-size: 2.25rem; font-weight: 600; }
.stars { color: #f59e0b; letter-spacing: .12em; }
.stars .rating-stars { font-size: .78rem; }
.review-summary small { color: #78716c; display: block; font-size: .75rem; margin-top: .25rem; }
.review-grid {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 2.25rem;
	scrollbar-width: none;
}
.review-grid::-webkit-scrollbar { display: none; }
.review-card {
	background: #fff;
	border: 1px solid #ffe4e1;
	border-radius: 1.5rem;
	box-shadow: 0 18px 36px -33px rgba(78,40,34,.45);
	padding: 1.75rem;
}
.review-meta { align-items: center; display: flex; gap: .75rem; justify-content: space-between; }
.review-meta b {
	background: #fff1ed;
	border-radius: 999px;
	color: var(--color-accent-deep);
	font-size: .56rem;
	letter-spacing: .08em;
	padding: .25rem .62rem;
	text-transform: uppercase;
}
.quote-mark { color: #edc7c1; display: block; font-family: var(--font-display); font-size: 2.5rem; line-height: 1; margin-top: 1.25rem; }
.review-card blockquote { color: #57534e; font-size: .875rem; line-height: 1.75rem; margin: -.5rem 0 0; }
.review-card footer { border-top: 1px solid #ffe4e1; margin-top: 1.5rem; padding-top: 1rem; }
.review-card footer strong { display: block; font-size: .875rem; }
.review-card footer small { color: #78716c; display: block; font-size: .75rem; margin-top: .25rem; }
.preview-note { color: #a8a29e; font-size: .6875rem; margin-top: 1.25rem; text-align: center; }
.journal-section { background: #fff8f6; padding-block: 5rem; }
.journal-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.article-card {
	background: #fff;
	border-radius: 1rem;
	overflow: hidden;
}
.article-image { aspect-ratio: 1.7; display: block; overflow: hidden; position: relative; }
.article-image img { height: 100%; object-fit: cover; transition: transform 500ms ease; width: 100%; }
.article-image:hover img { transform: scale(1.05); }
.article-copy { padding: 1.5rem; }
.article-copy .tag,
.tag { color: var(--color-accent-deep); font-size: .7rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.article-copy h3 { font-family: var(--font-display); font-size: 1.25rem; font-weight: 600; line-height: 1.35; margin: .75rem 0 0; }
.article-copy a { color: var(--color-accent-deep); display: inline-flex; font-size: .875rem; font-weight: 700; margin-top: 1.25rem; }
.site-footer {
	background: #fffaf9;
	border-top: 1px solid #ffe4e1;
	color: var(--color-ink);
	overflow: hidden;
	padding-top: 4rem;
	position: relative;
}
.site-footer::before {
	background-image:
		linear-gradient(rgba(189,105,111,.075) 1px, transparent 1px),
		linear-gradient(90deg, rgba(189,105,111,.075) 1px, transparent 1px);
	background-size: 42px 42px;
	content: "";
	inset: 14rem 0 0;
	mask-image: linear-gradient(to bottom, transparent, #000 12rem);
	opacity: .72;
	pointer-events: none;
	position: absolute;
}
.site-footer > .shell {
	position: relative;
	z-index: 1;
}
.footer-top { margin-bottom: 3.5rem; }
.ritual-cta {
	background: linear-gradient(90deg, rgba(255,246,242,.98), rgba(255,242,237,.9) 35%, rgba(255,242,237,.1) 67%), var(--cta-bg) center/cover;
	border: 1px solid rgba(236,197,190,.7);
	border-radius: 2rem;
	box-shadow: 0 22px 50px -36px rgba(93,45,39,.48);
	min-height: 360px;
	overflow: hidden;
	position: relative;
}
.ritual-content {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: 29rem;
	min-height: 360px;
	padding: 2.5rem 3rem;
}
.ritual-content h2 {
	font-family: var(--font-display);
	font-size: 2.65rem;
	font-weight: 600;
	line-height: 1.12;
	margin: .75rem 0 0;
}
.cta-description { color: #57534e; font-size: .875rem; line-height: 1.75; margin-top: .75rem; max-width: 20rem; }
.ritual-content .button { margin-top: 1.5rem; }
.footer-grid {
	border-top: 1px solid rgba(236,197,190,.72);
	display: grid;
	gap: 2rem;
	grid-template-columns: 1.4fr 1fr 1fr;
	padding-bottom: 2.5rem;
	padding-top: 2.75rem;
	text-align: left;
}
.footer-brand {
	color: var(--color-ink);
	display: block;
	font-family: var(--font-display);
	font-size: 1.75rem;
	font-weight: 600;
	line-height: 1;
	margin-top: 0;
}
.footer-grid p { color: #78716c; font-size: .875rem; line-height: 1.6; margin-top: .75rem; max-width: 20rem; }
.site-footer h3 { color: var(--color-ink); font-family: var(--font-body); font-size: .875rem; font-weight: 700; margin: 0 0 1rem; }
.site-footer a { color: #57534e; display: block; font-size: .875rem; margin-top: .75rem; }
.footer-grid a:not(.footer-brand):hover,
.footer-grid a:not(.footer-brand):focus-visible { color: var(--color-accent-deep); }
.site-footer .menu { list-style: none; margin: 0; padding: 0; }
.copyright {
	align-items: center;
	border-top: 1px solid rgba(236,197,190,.72);
	color: #78716c;
	display: flex;
	font-size: .75rem;
	justify-content: space-between;
	padding-block: 1.5rem;
}
.page-hero {
	background: radial-gradient(circle at 92% 3%, rgba(240,201,194,.34), transparent 26rem), #fffaf9;
	padding-block: 4rem;
}
.page-hero.centered { text-align: center; }
.page-hero h1 {
	font-family: var(--font-display);
	font-size: clamp(3rem, 6vw, 3.75rem);
	font-weight: 600;
	line-height: 1.08;
	margin: 1rem 0 0;
}
.page-hero p:not(.eyebrow) { color: #57534e; line-height: 1.75; margin: 1.25rem auto 0; max-width: 38rem; }
.section { padding-block: 5rem; }
.shop-hero {
	background: #fae7e1;
	border: 1px solid #ffe4e1;
	border-radius: 2rem;
	box-shadow: 0 20px 48px -38px rgba(80,39,33,.43);
	margin-top: 3rem;
	min-height: 400px;
	overflow: hidden;
	position: relative;
}
.shop-hero::before {
	background: var(--shop-bg) center/cover;
	content: "";
	inset: 0;
	object-position: center;
	position: absolute;
}
.shop-hero::after {
	background: linear-gradient(90deg, rgba(255,247,243,.97), rgba(255,244,240,.82) 39%, rgba(255,244,240,.18) 72%);
	content: "";
	inset: 0;
	position: absolute;
}
.shop-hero .shell {
	align-items: center;
	display: flex;
	min-height: 400px;
	position: relative;
	z-index: 1;
}
.shop-hero h1 {
	font-family: var(--font-display);
	font-size: clamp(3rem, 7vw, 3.75rem);
	font-weight: 600;
	margin: .75rem 0 0;
}
.shop-hero p:not(.eyebrow) { color: #57534e; line-height: 1.75; margin-top: 1rem; max-width: 32rem; }
.catalog.section { padding-top: 1.75rem; }
.catalog-tools { display: flex; gap: .75rem; margin-top: 2rem; }
.search {
	align-items: center;
	background: #fff;
	border: 1px solid #ffe4e1;
	border-radius: 999px;
	display: flex;
	flex: 1;
	padding: .75rem 1.25rem;
}
.search::before { color: #a8a29e; content: "⌕"; margin-right: .75rem; }
.search input,
.catalog-tools select {
	background: transparent;
	border: 0;
	color: var(--color-ink);
	font: inherit;
	font-size: .875rem;
	outline: 0;
	width: 100%;
}
.catalog-tools select {
	background: #fff;
	border: 1px solid #ffe4e1;
	border-radius: 999px;
	padding: .75rem 1.25rem;
	width: auto;
}
.filter-row {
	display: flex;
	gap: .5rem;
	margin-top: 1.75rem;
	overflow-x: auto;
	padding-bottom: .5rem;
	scrollbar-width: none;
}
.filter-row::-webkit-scrollbar { display: none; }
.filter-row button {
	background: #fff;
	border: 1px solid #ffe4e1;
	border-radius: 999px;
	color: #57534e;
	cursor: pointer;
	font: inherit;
	font-size: .875rem;
	font-weight: 700;
	padding: .62rem 1.25rem;
	white-space: nowrap;
}
.filter-row button.is-active { background: var(--color-ink); border-color: var(--color-ink); color: #fff; }
.catalog-count { color: #78716c; font-size: .875rem; margin: 1.25rem 0; }
.catalog .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.catalog-empty,
.empty-panel { background: #fff; border-radius: 1rem; color: #78716c; padding: 2rem; text-align: center; }
.shop-popup {
	animation: assuranceRise 380ms ease both;
	background: #fff;
	border: 1px solid #ffe4e1;
	border-radius: 1rem;
	bottom: 1.75rem;
	box-shadow: 0 22px 60px rgba(68,47,39,.16);
	max-width: 355px;
	padding: 1.25rem;
	position: fixed;
	right: 1.75rem;
	z-index: 50;
}
.shop-popup button {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 999px;
	color: #a8a29e;
	cursor: pointer;
	display: flex;
	height: 2rem;
	justify-content: center;
	position: absolute;
	right: .75rem;
	top: .75rem;
	width: 2rem;
}
.shop-popup strong { display: block; font-weight: 700; padding-right: 2rem; }
.shop-popup p { color: #78716c; font-size: .75rem; line-height: 1.65; margin-top: .4rem; padding-right: 1rem; }
.shop-popup-inner { display: flex; gap: .75rem; padding-right: 1.25rem; }
.popup-icon {
	align-items: center;
	background: #fff1ed;
	border-radius: 999px;
	color: var(--color-accent-deep);
	display: flex;
	flex-shrink: 0;
	height: 2.5rem;
	justify-content: center;
	width: 2.5rem;
}
@keyframes assuranceRise {
	from { opacity: 0; transform: translateY(16px); }
	to { opacity: 1; transform: translateY(0); }
}
.support-chat {
	bottom: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: .75rem;
	position: fixed;
	right: 1.5rem;
	z-index: 120;
}
.support-toggle {
	align-items: center;
	align-self: flex-end;
	background: #238c58;
	border: 0;
	border-radius: 999px;
	box-shadow: 0 16px 32px rgba(27,94,57,.24);
	color: #fff;
	cursor: pointer;
	display: flex;
	font: inherit;
	font-size: .875rem;
	font-weight: 700;
	gap: .55rem;
	height: 3.2rem;
	padding: 0 1.1rem;
}
.support-toggle:hover { background: #197348; }
.support-toggle svg,
.support-send svg {
	fill: none;
	height: 1.35rem;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
	width: 1.35rem;
}
.support-panel {
	animation: assuranceRise 230ms ease both;
	background: #fff;
	border: 1px solid #f0ddd9;
	border-radius: .75rem;
	box-shadow: 0 24px 58px rgba(68,47,39,.16);
	overflow: hidden;
	width: min(22rem, calc(100vw - 2rem));
}
.support-panel[hidden] { display: none; }
.support-panel-header {
	align-items: center;
	background: #238c58;
	color: #fff;
	display: flex;
	justify-content: space-between;
	padding: .9rem 1rem;
}
.support-panel-header strong { display: block; font-size: .9rem; }
.support-panel-header small { color: rgba(255,255,255,.78); display: block; font-size: .72rem; margin-top: .12rem; }
.support-close {
	align-items: center;
	background: transparent;
	border: 0;
	color: #fff;
	cursor: pointer;
	display: flex;
	height: 2rem;
	justify-content: center;
	padding: 0;
	width: 2rem;
}
.support-close svg {
	fill: none;
	height: 1rem;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 2;
	width: 1rem;
}
.support-form {
	display: grid;
	gap: .85rem;
	padding: 1rem;
}
.support-form label span {
	color: #57534e;
	display: block;
	font-size: .73rem;
	font-weight: 700;
	margin-bottom: .4rem;
}
.support-form input,
.support-form textarea {
	background: #fffaf9;
	border: 1px solid #ead8d4;
	border-radius: .5rem;
	color: var(--color-ink);
	font: inherit;
	font-size: .84rem;
	padding: .7rem .75rem;
	resize: vertical;
	width: 100%;
}
.support-form textarea { min-height: 5.75rem; }
.support-send {
	align-items: center;
	background: #238c58;
	border: 0;
	border-radius: .55rem;
	color: #fff;
	cursor: pointer;
	display: flex;
	font: inherit;
	font-size: .83rem;
	font-weight: 700;
	gap: .45rem;
	justify-content: center;
	min-height: 2.8rem;
}
.support-send:hover { background: #197348; }
.home-popup {
	align-items: center;
	display: flex;
	inset: 0;
	justify-content: center;
	padding: 1.25rem;
	position: fixed;
	z-index: 220;
}
.home-popup[hidden] { display: none; }
.home-popup-backdrop {
	background: rgba(34, 26, 22, .58);
	inset: 0;
	position: absolute;
}
.home-popup-dialog {
	animation: assuranceRise 240ms ease both;
	background: #fff;
	border-radius: .85rem;
	box-shadow: 0 30px 80px rgba(34, 26, 22, .28);
	max-height: min(88vh, 54rem);
	max-width: min(28rem, calc(100vw - 2rem));
	overflow: hidden;
	position: relative;
	width: 100%;
}
.home-popup-close {
	align-items: center;
	background: rgba(255,255,255,.72);
	border: 0;
	border-radius: 999px;
	color: #756a65;
	cursor: pointer;
	display: flex;
	height: 2.25rem;
	justify-content: center;
	padding: 0;
	position: absolute;
	right: .65rem;
	top: .65rem;
	width: 2.25rem;
	z-index: 1;
}
.home-popup-close:hover { background: rgba(255,255,255,.9); color: var(--color-ink); }
.home-popup-close svg {
	fill: none;
	height: 1rem;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 2;
	width: 1rem;
}
.home-popup-media {
	background: #fff8f6;
	display: block;
}
.home-popup-media img {
	max-height: min(88vh, 54rem);
	object-fit: contain;
	width: 100%;
}
.home-popup-copy {
	background: linear-gradient(135deg, #fff 0%, #fff7f5 100%);
	padding: 1.05rem 1.15rem .95rem;
	padding-right: 3.85rem;
}
.home-popup-copy .eyebrow {
	color: var(--color-accent-deep);
	font-size: .68rem;
	letter-spacing: .14em;
	margin-bottom: .35rem;
}
.home-popup-copy h2 {
	font-family: var(--font-display);
	font-size: clamp(1.28rem, 4.5vw, 1.55rem);
	font-weight: 600;
	line-height: 1.12;
	margin: .45rem 0 0;
}
.home-popup-copy p:not(.eyebrow) {
	color: #756a65;
	font-size: .84rem;
	line-height: 1.48;
	margin-top: .45rem;
}
.home-popup-live-badge {
	align-items: center;
	background: #d91f3d;
	border-radius: 999px;
	box-shadow: 0 12px 28px rgba(217,31,61,.24);
	color: #fff;
	display: inline-flex;
	font-size: .7rem;
	font-weight: 800;
	gap: .42rem;
	letter-spacing: .08em;
	line-height: 1;
	padding: .42rem .68rem;
	position: relative;
	text-transform: uppercase;
}
.live-dot {
	animation: liveDotPulse 1.05s ease-in-out infinite;
	background: #fff;
	border-radius: 999px;
	height: .48rem;
	width: .48rem;
}
.live-wave {
	animation: liveWave 1.5s ease-out infinite;
	border: 2px solid rgba(255,255,255,.75);
	border-radius: 999px;
	height: 1.45rem;
	left: .28rem;
	position: absolute;
	width: 1.45rem;
}
.home-popup-platform {
	color: var(--color-accent-deep) !important;
	font-size: .72rem !important;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.home-popup-cta {
	align-items: center;
	background: var(--color-ink);
	border-radius: 999px;
	bottom: 1rem;
	box-shadow: 0 16px 34px rgba(34,26,22,.2);
	color: #fff;
	display: inline-flex;
	font-size: .82rem;
	font-weight: 800;
	justify-content: center;
	left: 50%;
	min-height: 2.75rem;
	padding: 0 1.25rem;
	position: absolute;
	transform: translateX(-50%);
	white-space: nowrap;
	z-index: 1;
}
@keyframes liveDotPulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50% { opacity: .55; transform: scale(.72); }
}
@keyframes liveWave {
	0% { opacity: .75; transform: scale(.45); }
	80%, 100% { opacity: 0; transform: scale(1.5); }
}
.product-assistant {
	align-items: center;
	display: flex;
	left: 0;
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
	z-index: 119;
}
.product-assistant-toggle {
	align-items: center;
	background: var(--color-ink);
	border: 0;
	border-radius: 0 .6rem .6rem 0;
	box-shadow: 0 15px 32px rgba(34,26,22,.16);
	color: #fff;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	font: inherit;
	font-size: .7rem;
	font-weight: 700;
	gap: .55rem;
	justify-content: center;
	min-height: 8.75rem;
	order: 1;
	padding: .75rem .65rem;
}
.product-assistant-toggle span {
	letter-spacing: .08em;
	text-transform: uppercase;
	writing-mode: vertical-rl;
}
.product-assistant-toggle svg,
.product-question-form svg {
	fill: none;
	height: 1.25rem;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	width: 1.25rem;
}
.product-assistant-panel {
	animation: assuranceRise 230ms ease both;
	background: #fff;
	border: 1px solid var(--color-line);
	border-radius: 0 .75rem .75rem 0;
	box-shadow: 0 24px 54px rgba(68,47,39,.17);
	margin-right: .65rem;
	overflow: hidden;
	width: min(22.75rem, calc(100vw - 4.5rem));
}
.product-assistant-panel[hidden] { display: none; }
.product-assistant-header {
	align-items: center;
	background: #fff8f6;
	border-bottom: 1px solid var(--color-line);
	display: flex;
	justify-content: space-between;
	padding: .9rem 1rem;
}
.product-assistant-header strong { display: block; font-size: .9rem; }
.product-assistant-header small { color: #78716c; display: block; font-size: .7rem; margin-top: .15rem; }
.product-assistant-close {
	align-items: center;
	background: transparent;
	border: 0;
	color: #78716c;
	cursor: pointer;
	display: flex;
	height: 2rem;
	justify-content: center;
	padding: 0;
	width: 2rem;
}
.product-assistant-close svg {
	fill: none;
	height: 1rem;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 2;
	width: 1rem;
}
.product-conversation {
	display: flex;
	flex-direction: column;
	gap: .65rem;
	max-height: 15rem;
	min-height: 8.3rem;
	overflow-y: auto;
	padding: 1rem;
}
.product-message {
	border-radius: .7rem;
	font-size: .78rem;
	line-height: 1.55;
	max-width: 92%;
	padding: .65rem .75rem;
}
.product-message.is-bot { align-self: flex-start; background: #fff5f2; color: #57534e; }
.product-message.is-user { align-self: flex-end; background: var(--color-ink); color: #fff; }
.product-prompts {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	padding: 0 1rem .85rem;
}
.product-prompts button {
	background: #fff;
	border: 1px solid var(--color-line);
	border-radius: 999px;
	color: var(--color-accent-deep);
	cursor: pointer;
	font: inherit;
	font-size: .69rem;
	font-weight: 700;
	padding: .42rem .65rem;
}
.product-question-form {
	align-items: center;
	border-top: 1px solid var(--color-line);
	display: flex;
	gap: .45rem;
	padding: .75rem;
}
.product-question-form input {
	background: #fffaf9;
	border: 1px solid #ead8d4;
	border-radius: .5rem;
	flex: 1;
	font: inherit;
	font-size: .8rem;
	min-width: 0;
	padding: .68rem .7rem;
}
.product-question-form button {
	align-items: center;
	background: var(--color-accent-deep);
	border: 0;
	border-radius: .5rem;
	color: #fff;
	cursor: pointer;
	display: flex;
	height: 2.55rem;
	justify-content: center;
	width: 2.55rem;
}
.product-human-link {
	background: transparent;
	border: 0;
	border-top: 1px solid #f5e5e1;
	color: var(--color-accent-deep);
	cursor: pointer;
	display: block;
	font: inherit;
	font-size: .72rem;
	font-weight: 700;
	padding: .72rem;
	text-align: center;
	width: 100%;
}
[data-saved-products] .product-card { display: none; }
[data-saved-products] .product-card.is-saved { display: block; }
.story-grid,
.contact-grid,
.product-detail { display: grid; gap: 4rem; grid-template-columns: 1fr 1fr; }
.product-detail { align-items: start; padding-block: clamp(3rem, 7vw, 5rem); }
.story-grid img,
.detail-image img { border-radius: 2rem; height: 100%; object-fit: cover; width: 100%; }
.detail-copy h1 {
	font-family: var(--font-display);
	font-size: clamp(2.35rem, 4.4vw, 3.25rem);
	font-weight: 600;
	line-height: 1.14;
	margin: .9rem 0 0;
}
.detail-price { margin: 1.35rem 0 1.75rem; }
.detail-price del {
	color: #a8a29e;
	display: block;
	font-size: .9rem;
	margin-bottom: .25rem;
}
.detail-price div { align-items: center; display: flex; gap: .8rem; }
.detail-price strong { font-size: clamp(1.6rem, 3vw, 2rem); line-height: 1.1; }
.detail-price span {
	background: #fff1ed;
	border-radius: 999px;
	color: var(--color-accent-deep);
	font-size: .75rem;
	font-weight: 700;
	padding: .28rem .68rem;
}
.detail-information {
	border-top: 1px solid var(--color-line);
	color: #57534e;
	font-size: .9rem;
	line-height: 1.75;
	padding-top: 1.25rem;
}
.detail-information .entry-copy { margin-bottom: 1.1rem; }
.detail-information .entry-copy p { margin: 0 0 .8rem; }
.detail-information > p { margin: .72rem 0; }
.trust-mark {
	background: #fff8f6;
	border-radius: .75rem;
	margin-top: 1.2rem !important;
	padding: .7rem .9rem;
}
.detail-actions {
	border-top: 1px solid var(--color-line);
	display: flex;
	gap: .75rem;
	margin-top: 2.25rem;
	padding-top: 1.65rem;
}
.trust-section,
.about-standards { background: #fff8f6; }
.trust-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); }
.trust-grid article,
.contact-cards article,
.contact-form,
.faq-list details,
.ceo-card,
.doctor-card { background: #fff; border: 1px solid #ffe4e1; border-radius: 1.5rem; padding: 1.75rem; }
.ceo-card { align-items: center; display: grid; gap: 2.5rem; grid-template-columns: .9fr 1.1fr; }
.ceo-photo { background: #fae8e3; border-radius: 1.5rem; min-height: 340px; overflow: hidden; }
.contact-cards { display: grid; gap: .75rem; }
.contact-form label { display: block; font-size: .875rem; font-weight: 700; margin-top: 1.25rem; }
.contact-form input,
.contact-form textarea,
.contact-form select,
.form-field {
	background: #fffaf9;
	border: 1px solid #f1ddda;
	border-radius: .8rem;
	display: block;
	font: inherit;
	margin-top: .55rem;
	padding: .85rem 1rem;
	width: 100%;
}
.faq-list { display: grid; gap: .75rem; }
.faq-list summary { cursor: pointer; font-weight: 700; list-style: none; }
.entry-copy { line-height: 1.75; }
.article-single { padding-bottom: 5rem; }
.article-header {
	max-width: 53rem;
	padding-block: 3.75rem 2.5rem;
	text-align: center;
}
.article-back {
	color: var(--color-accent-deep);
	display: inline-flex;
	font-size: .8rem;
	font-weight: 700;
	margin-bottom: 2.25rem;
}
.article-header h1 {
	font-family: var(--font-display);
	font-size: clamp(2.5rem, 5vw, 3.65rem);
	font-weight: 600;
	line-height: 1.13;
	margin: 1rem 0 0;
}
.article-intro {
	color: #645952;
	font-size: 1.05rem;
	line-height: 1.75;
	margin: 1.4rem auto 0;
	max-width: 42rem;
}
.article-meta {
	align-items: center;
	color: #81746d;
	display: flex;
	font-size: .8rem;
	font-weight: 600;
	gap: 1rem;
	justify-content: center;
	margin-top: 1.65rem;
}
.article-meta > * + *::before {
	color: #cfaaa3;
	content: "/";
	margin-right: 1rem;
}
.article-cover {
	aspect-ratio: 2.18;
	border-radius: 1.7rem;
	overflow: hidden;
}
.article-cover img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}
.article-cover.is-fallback img { object-position: center; }
.article-after-cover { margin-top: 2rem; }
.article-toc {
	background: linear-gradient(120deg, #fff 0%, #fff7f4 100%);
	border: 1px solid var(--color-line);
	border-radius: 1.4rem;
	padding: 1.65rem 2rem;
}
.article-toc h2 {
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 600;
	margin: .45rem 0 1.2rem;
}
.article-toc ol {
	column-gap: 2.5rem;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: decimal-leading-zero;
	margin: 0;
	padding-left: 1.5rem;
	row-gap: .7rem;
}
.article-toc li { color: #c58b86; padding-left: .3rem; }
.article-toc a {
	color: #51453f;
	font-size: .875rem;
	font-weight: 600;
	line-height: 1.5;
}
.article-toc a:hover { color: var(--color-accent-deep); }
.article-toc .toc-level-3 { margin-left: 1rem; }
.article-layout {
	align-items: start;
	display: grid;
	gap: 2.5rem;
	grid-template-columns: minmax(0, 1fr) 19rem;
	margin-top: 2.5rem;
}
.article-content {
	background: #fff;
	border: 1px solid #f4e5e1;
	border-radius: 1.5rem;
	color: #514943;
	font-size: 1rem;
	padding: clamp(1.5rem, 4vw, 3rem);
}
.article-content > p:first-child {
	color: #382d28;
	font-size: 1.08rem;
	line-height: 1.9;
}
.article-content p { line-height: 1.9; margin: 0 0 1.35rem; }
.article-content h2,
.article-content h3 {
	color: var(--color-ink);
	font-family: var(--font-display);
	font-weight: 600;
	line-height: 1.3;
	scroll-margin-top: calc(var(--header-height) + 1.25rem);
}
.article-content h2 { font-size: clamp(1.55rem, 3vw, 1.85rem); margin: 2.8rem 0 1rem; }
.article-content h3 { font-size: 1.3rem; margin: 2.1rem 0 .85rem; }
.article-content > h2:first-child,
.article-content > h3:first-child { margin-top: 0; }
.article-content a { color: var(--color-accent-deep); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.article-sidebar {
	display: grid;
	gap: 1rem;
	position: sticky;
	top: calc(var(--header-height) + 1.25rem);
}
.sidebar-card {
	background: #fff;
	border: 1px solid var(--color-line);
	border-radius: 1.15rem;
	padding: 1.4rem;
}
.sidebar-card h2 {
	font-family: var(--font-display);
	font-size: 1.18rem;
	font-weight: 600;
	line-height: 1.38;
	margin: 0 0 1rem;
}
.article-guide { background: #fff6f3; }
.article-guide h2 { font-size: 1.28rem; margin: .65rem 0 .75rem; }
.article-guide > p:not(.eyebrow) {
	color: #71655f;
	font-size: .82rem;
	line-height: 1.7;
}
.sidebar-tags { display: flex; flex-wrap: wrap; gap: .45rem; }
.sidebar-tags a {
	background: #fff4f1;
	border-radius: 999px;
	color: var(--color-accent-deep);
	font-size: .72rem;
	font-weight: 700;
	padding: .42rem .7rem;
}
.sidebar-articles { display: grid; gap: 1rem; }
.sidebar-articles a + a { border-top: 1px solid #f5e6e2; padding-top: 1rem; }
.sidebar-articles span {
	color: #a18e86;
	display: block;
	font-size: .7rem;
	font-weight: 600;
	margin-bottom: .35rem;
	text-transform: uppercase;
}
.sidebar-articles strong {
	display: block;
	font-size: .86rem;
	line-height: 1.5;
}
.sidebar-articles a:hover strong { color: var(--color-accent-deep); }
.sidebar-cta {
	background: linear-gradient(145deg, #fae7e2, #fff5f1);
	border: 0;
}
.sidebar-cta h2 { margin: .65rem 0 1.2rem; }
.sidebar-cta .button { width: 100%; }
.not-found { padding-block: 8rem; text-align: center; }
.about-hero {
	align-items: center;
	display: grid;
	gap: 2.5rem;
	grid-template-columns: .9fr 1fr;
	padding-block: 3rem 4rem;
}
.about-copy h1 {
	font-family: var(--font-display);
	font-size: clamp(3rem, 5vw, 3.75rem);
	font-weight: 600;
	line-height: 1.12;
	margin: 1rem 0 0;
}
.about-copy > p:not(.eyebrow) { color: #78716c; line-height: 2; margin-top: 1.5rem; }
.about-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.about-image { aspect-ratio: .92; border-radius: 2rem; overflow: hidden; }
.about-image img { height: 100%; object-fit: cover; object-position: right center; width: 100%; }
.intention-section { background: #fff; border-block: 1px solid #ffe4e1; padding-block: 5rem; }
.intention-grid { display: grid; gap: 2.5rem; grid-template-columns: .7fr 1fr; }
.intention-text { color: #57534e; display: grid; gap: 1.25rem; grid-template-columns: repeat(2, 1fr); line-height: 1.75; }
.value-section { background: #fff8f6; padding-block: 5rem; }
.value-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); }
.value-grid article { background: #fff; border-radius: 1rem; padding: 1.75rem; }
.value-grid h2 { font-family: var(--font-display); font-size: 1.5rem; font-weight: 600; margin: 1.5rem 0 .75rem; }
.value-grid article > p:last-child { color: #78716c; font-size: .875rem; line-height: 1.65; }
.ceo-section { background: #fff; padding-block: 5rem; }
.ceo-grid { align-items: center; display: grid; gap: 2.5rem; grid-template-columns: .88fr 1fr; }
.ceo-portrait { background: #fae8e3; border-radius: 2rem; overflow: hidden; position: relative; }
.ceo-portrait img { aspect-ratio: .82; height: 100%; object-fit: cover; width: 100%; }
.ceo-portrait p {
	background: rgba(255,255,255,.9);
	border-radius: 999px;
	bottom: 1rem;
	color: #57534e;
	font-size: .6875rem;
	font-weight: 700;
	left: 1rem;
	padding: .5rem 1rem;
	position: absolute;
}
.ceo-copy blockquote {
	border-left: 2px solid #e7b5ae;
	color: #57534e;
	font-size: 1.125rem;
	line-height: 2;
	margin: 1.5rem 0;
	padding-left: 1.25rem;
}
.ceo-copy strong { display: block; }
.ceo-role { color: #78716c; font-size: .875rem; margin-top: .25rem; }
.ceo-story { color: #78716c; font-size: .875rem; line-height: 1.75; margin-top: 1.5rem; max-width: 34rem; }
.about-standards {
	background: radial-gradient(circle at 95% 10%, rgba(238,194,186,.32), transparent 25rem), #fff8f6;
	padding-block: 5rem;
}
.standards-heading { margin-inline: auto; max-width: 42rem; text-align: center; }
.standards-heading > p:last-child { color: #78716c; font-size: .875rem; line-height: 1.75; margin: 1rem auto 0; }
.standards-scroll { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); margin-top: 2.5rem; scrollbar-width: none; }
.standards-scroll::-webkit-scrollbar { display: none; }
.standards-scroll article { background: #fff; border: 1px solid #ffe4e1; border-radius: 1.5rem; padding: 1.75rem; }
.standard-icon {
	align-items: center;
	background: #fff1ed;
	border-radius: 999px;
	color: var(--color-accent-deep);
	display: flex;
	font-size: 1rem;
	height: 3rem;
	justify-content: center;
	width: 3rem;
}
.standards-scroll h3 { font-family: var(--font-display); font-size: 1.5rem; font-weight: 600; margin: 1.5rem 0 .75rem; }
.standards-scroll article > p { color: #78716c; font-size: .875rem; line-height: 1.75; }
.standards-scroll small {
	background: #fff8f6;
	border-radius: .75rem;
	color: var(--color-accent-deep);
	display: block;
	font-size: .6875rem;
	font-weight: 700;
	margin-top: 1.5rem;
	padding: .55rem .75rem;
}
.standard-warning {
	align-items: center;
	background: #fff;
	border: 1px dashed #e7c7c1;
	border-radius: 1rem;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	margin-top: 1.75rem;
	padding: 1.25rem 1.5rem;
}
.standard-warning p { color: #78716c; font-size: .75rem; line-height: 1.65; max-width: 37rem; }
.contact-page {
	display: grid;
	gap: 2.5rem;
	grid-template-columns: .9fr 1fr;
	min-height: 65vh;
	padding-block: 4rem;
}
.contact-intro h1,
.faq-intro h1,
.blog-heading h1 {
	font-family: var(--font-display);
	font-size: clamp(3rem, 6vw, 3.75rem);
	font-weight: 600;
	line-height: 1.12;
	margin: 1rem 0 0;
}
.contact-intro > p:not(.eyebrow),
.faq-intro > p:not(.eyebrow),
.blog-heading > p:not(.eyebrow) { color: #78716c; line-height: 1.75; margin-top: 1.25rem; max-width: 30rem; }
.contact-links { display: grid; gap: .75rem; margin-top: 2.25rem; }
.feature-tile {
	background: rgba(255,255,255,.82);
	border: 1px solid var(--color-line);
	border-radius: 1rem;
	box-shadow: 0 18px 38px -34px rgba(56,33,27,.55);
	display: block;
	padding: 1.25rem;
}
.feature-tile strong { display: block; font-size: .875rem; margin-top: .5rem; }
.feature-tile small { color: #78716c; display: block; font-size: .875rem; margin-top: .25rem; }
.contact-faq { color: var(--color-accent-deep); display: inline-flex; font-size: .875rem; font-weight: 700; margin-top: 2rem; }
.contact-form { border-radius: 2rem; box-shadow: 0 1px 3px rgba(0,0,0,.06); padding: 2.25rem; }
.contact-form h2 { font-family: var(--font-display); font-size: 1.875rem; font-weight: 600; margin: 0; }
.contact-form > p { color: #78716c; font-size: .875rem; margin: .5rem 0 1.75rem; }
.contact-form .button { margin-top: 1.75rem; width: 100%; }
.disabled-button { cursor: not-allowed; opacity: .55; }
.form-note { color: #a8a29e; display: block; font-size: .75rem; line-height: 1.5; margin-top: 1rem; text-align: center; }
.faq-page {
	display: grid;
	gap: 3rem;
	grid-template-columns: .65fr 1fr;
	min-height: 65vh;
	padding-block: 4rem;
}
.faq-callout { background: #f6e5e1; border-radius: 1rem; margin-top: 2rem; padding: 1.5rem; }
.faq-callout h2 { font-family: var(--font-body); font-size: 1rem; margin: 0; }
.faq-callout p { color: #57534e; font-size: .875rem; line-height: 1.6; margin-top: .5rem; }
.faq-callout .button { margin-top: 1.25rem; }
.faq-list details { border-radius: 1rem; padding: 1.25rem 1.5rem; }
.faq-list summary { align-items: center; display: flex; justify-content: space-between; padding-right: .2rem; }
.faq-list summary span { color: var(--color-accent); font-size: 1.25rem; font-weight: 400; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { border-top: 1px solid #ffe4e1; color: #78716c; font-size: .875rem; line-height: 1.75; margin-top: 1rem; padding-top: 1rem; }
.blog-page { min-height: 100vh; padding-block: 4rem; }
.blog-heading { margin-bottom: 2.5rem; max-width: 42rem; }
.featured-article {
	background: #fff;
	border: 1px solid #ffe4e1;
	border-radius: 1.5rem;
	overflow: hidden;
}
.featured-image { aspect-ratio: 2.65; display: block; overflow: hidden; }
.featured-image img { height: 100%; object-fit: cover; width: 100%; }
.featured-copy { display: flex; flex-direction: column; max-width: 52rem; padding: 2rem 2.5rem 2.5rem; }
.featured-copy h2 { font-family: var(--font-display); font-size: clamp(1.9rem, 3vw, 2.35rem); font-weight: 600; line-height: 1.25; margin: .85rem 0 0; }
.featured-copy > p:not(.eyebrow):not(.article-date) { color: #78716c; font-size: .875rem; line-height: 1.75; margin-top: 1rem; }
.article-date { color: #a8a29e; font-size: .75rem; margin-top: 1rem; }
.featured-copy .button { align-self: flex-start; margin-top: 1.75rem; }
.blog-content-layout { align-items: start; display: grid; gap: 1.5rem; grid-template-columns: minmax(0, 1fr) 17rem; margin-top: 3rem; }
.latest-articles { min-width: 0; }
.latest-articles .section-heading { font-size: 2rem; }
.latest-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.latest-card { background: #fff; border: 1px solid #ffe4e1; border-radius: .8rem; display: flex; flex-direction: column; overflow: hidden; }
.latest-image { aspect-ratio: 1.52; display: block; overflow: hidden; }
.latest-card img { height: 100%; object-fit: cover; width: 100%; }
.latest-card div { padding: 1rem; }
.latest-card h3 { font-family: var(--font-display); font-size: 1.08rem; font-weight: 600; line-height: 1.38; margin: .7rem 0 0; }
.latest-card h3 a { color: var(--color-ink); display: block; margin-top: 0; }
.latest-card div > p:not(.eyebrow) { color: #78716c; font-size: .875rem; line-height: 1.75; margin-top: .75rem; }
.latest-link { color: var(--color-accent-deep); display: inline-flex; font-size: .8rem; font-weight: 700; margin-top: 1rem; }
.blog-sidebar { display: grid; gap: 1rem; position: sticky; top: calc(var(--header-height) + 1.25rem); }
.blog-sidebar .sidebar-card { border-radius: .8rem; padding: 1.2rem; }
.journal-search { display: grid; gap: .65rem; }
.journal-search input {
	background: #fffaf9;
	border: 1px solid var(--color-line);
	border-radius: .55rem;
	font: inherit;
	font-size: .85rem;
	min-width: 0;
	padding: .7rem .75rem;
	width: 100%;
}
.journal-search button {
	background: var(--color-ink);
	border: 0;
	border-radius: .55rem;
	color: #fff;
	cursor: pointer;
	font: inherit;
	font-size: .82rem;
	font-weight: 700;
	padding: .7rem .8rem;
}
.blog-topics a {
	align-items: center;
	border-bottom: 1px solid #f5e5e1;
	color: #57534e;
	display: flex;
	font-size: .84rem;
	justify-content: space-between;
	margin-top: 0;
	padding-block: .65rem;
}
.blog-topics a:last-child { border-bottom: 0; padding-bottom: 0; }
.blog-topics small { color: #a8a29e; }
.blog-recent a {
	border-bottom: 1px solid #f5e5e1;
	display: block;
	margin-top: 0;
	padding-block: .75rem;
}
.blog-recent a:first-of-type { padding-top: 0; }
.blog-recent a:last-child { border-bottom: 0; padding-bottom: 0; }
.blog-recent small { color: #a8a29e; display: block; font-size: .68rem; margin-bottom: .3rem; }
.blog-recent strong { color: #44352f; display: block; font-family: var(--font-display); font-size: .92rem; font-weight: 600; line-height: 1.45; }
.blog-sidebar-cta .button { color: #fff; display: inline-flex; margin-top: 1rem; }
.latest-articles .navigation { margin-top: 2rem; }
.latest-articles .nav-links { display: flex; gap: .75rem; }
.latest-articles .page-numbers {
	background: #fff;
	border: 1px solid var(--color-line);
	border-radius: .5rem;
	color: #57534e;
	display: inline-flex;
	font-size: .8rem;
	margin-top: 0;
	padding: .55rem .75rem;
}
.latest-articles .page-numbers.current { background: var(--color-ink); border-color: var(--color-ink); color: #fff; }
@media (min-width: 1024px) {
	.shop-hero::before {
		background-color: #fae7e1;
		background-position: right center;
		background-repeat: no-repeat;
		background-size: auto 100%;
	}
}
@media (max-width: 1023px) {
	.desktop-action,
	.favorites-action { display: none; }
	.nav-toggle { display: flex; flex-direction: column; }
	.brand {
		left: 50%;
		position: absolute;
		transform: translateX(-50%);
	}
	.primary-menu {
		background: #fff;
		border: 1px solid #ffe4e1;
		border-radius: 1rem;
		box-shadow: 0 20px 40px rgba(68,47,39,.08);
		display: none;
		left: 1.25rem;
		padding: .75rem;
		position: absolute;
		right: 1.25rem;
		top: calc(var(--header-height) - .5rem);
		z-index: 101;
	}
	.primary-menu.is-open { display: block; }
	.primary-menu .menu { align-items: stretch; flex-direction: column; gap: .25rem; }
	.primary-menu a { border-radius: .75rem; display: block; padding: .75rem 1rem; }
	.primary-menu a::after { display: none; }
	.primary-menu .current-menu-item a { background: #fff1ed; color: var(--color-accent); }
	.category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.video-card-grid { display: flex; }
	.catalog .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ritual-grid { grid-template-columns: 1fr; }
	.review-grid { display: flex; overflow-x: auto; padding-bottom: .5rem; scroll-snap-type: x mandatory; }
	.review-card { flex: 0 0 82%; scroll-snap-align: center; }
	.journal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.footer-grid { grid-template-columns: 1.4fr 1fr 1fr; text-align: left; }
	.story-grid,
	.contact-grid,
	.product-detail,
	.ceo-card,
	.about-hero,
	.ceo-grid,
	.contact-page,
	.faq-page { grid-template-columns: 1fr; }
	.intention-grid { grid-template-columns: 1fr; }
	.featured-image { aspect-ratio: 2; }
	.blog-content-layout { display: block; }
	.latest-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.blog-sidebar { display: none; }
	.article-layout { grid-template-columns: 1fr; }
	.article-sidebar {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		position: static;
	}
	.sidebar-cta { grid-column: 1 / -1; }
}
@media (max-width: 782px) {
	.admin-bar .site-header { top: 46px; }
}
@media (max-width: 639px) {
	.live-ticker {
		font-size: .6rem;
		letter-spacing: 0;
	}
	.live-ticker-track {
		gap: 1.5rem;
		padding-block: .32rem;
	}
	.live-ticker-dot {
		height: .32rem;
		width: .32rem;
	}
	.shell { padding-inline: 1.25rem; }
	.brand { font-size: 1.5rem; line-height: 1; }
	.hero-slide-photo { object-position: var(--mobile-focus, center center); }
	.benefit-strip { padding: .75rem .2rem; }
	.benefit-item { flex-direction: column; gap: .5rem; padding: .5rem; text-align: center; }
	.benefit-icon { height: 2.25rem; width: 2.25rem; }
	.benefit-item strong { font-size: .6875rem; line-height: 1.2; }
	.benefit-item p { display: block; font-size: .68rem; line-height: 1.15; }
	.category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.category-card { height: 11rem; }
	.home-section { padding-block: 3.5rem; }
	.promo-home { min-height: 330px; }
	.promo-content { max-width: 19rem; padding: 2.25rem 1.75rem; }
	.section-row { align-items: flex-start; flex-direction: column; gap: .75rem; }
	.see-all { display: inline-flex; }
	.product-grid { gap: .75rem; }
	.card-copy { padding: .75rem; }
	.card-copy h3 { font-size: .75rem; }
	.card-bottom strong { font-size: .875rem; }
	.video-section { padding-block: 3.5rem; }
	.video-card-grid {
		display: flex;
		gap: .75rem;
		margin-inline: -1.25rem;
		overflow-x: auto;
		padding: 0 1.25rem .25rem;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}
	.video-card-grid::-webkit-scrollbar { display: none; }
	.video-card {
		flex: 0 0 min(68vw, 15.5rem);
		scroll-snap-align: start;
	}
	.video-card-grid.has-active .video-card {
		flex-grow: 0;
		opacity: .75;
		transform: scale(.97);
	}
	.video-card-grid.has-active .video-card.is-active {
		flex-basis: min(74vw, 17rem);
		opacity: 1;
		transform: translateY(-.2rem) scale(1);
	}
	.video-card-media { aspect-ratio: 9 / 14; }
	.ritual-section { padding-block: 3rem; }
	.ritual-intro { text-align: center; }
	.ritual-intro p:not(.eyebrow) { margin-inline: auto; }
	.ritual-desktop-button { display: none; }
	.ritual-mobile-button { display: inline-flex; width: 100%; }
	.ritual-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
	.ritual-steps article { align-items: center; display: flex; flex-direction: column; min-height: 9rem; padding: 1rem .5rem; text-align: center; }
	.ritual-steps b {
		align-items: center;
		background: #fff1ed;
		border-radius: 999px;
		display: flex;
		font-size: .62rem;
		height: 2rem;
		justify-content: center;
		width: 2rem;
	}
	.ritual-steps h3 { font-size: 1.05rem; margin-top: 1rem; }
	.ritual-steps p { font-size: .6875rem; line-height: 1.35rem; }
	.review-heading { align-items: center; flex-direction: column; text-align: center; }
	.review-card { flex-basis: 82%; padding: 1.25rem; }
	.journal-grid { gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.article-copy { padding: 1rem; }
	.article-copy .tag { font-size: .56rem; letter-spacing: .14em; }
	.article-copy h3 { font-size: 1rem; }
	.article-copy a { font-size: .75rem; }
	.site-footer { padding-top: 2.5rem; }
	.site-footer::before { background-size: 34px 34px; inset: 10rem 0 0; }
	.ritual-cta { background: linear-gradient(0deg, rgba(255,246,242,.98) 4%, rgba(255,242,237,.78) 46%, rgba(255,242,237,.18) 78%), var(--cta-bg) 68% center/cover; min-height: 320px; }
	.ritual-content { justify-content: flex-end; max-width: 19rem; min-height: 320px; padding: 1.75rem 1.5rem; }
	.ritual-content h2 { font-size: 2rem; }
	.cta-description { display: none; }
	.footer-top { margin-bottom: 2.5rem; }
	.footer-grid { gap: 2.25rem; grid-template-columns: 1fr; padding-top: 2.25rem; text-align: center; }
	.footer-grid div { align-items: center; display: flex; flex-direction: column; }
	.copyright { flex-direction: column; gap: .5rem; text-align: center; }
	.shop-hero { margin-top: 3rem; min-height: 385px; }
	.shop-hero .shell { align-items: flex-end; min-height: 385px; padding-bottom: 1.75rem; }
	.shop-hero::after { background: linear-gradient(0deg, rgba(255,248,245,.98), rgba(255,245,241,.8) 48%, rgba(255,245,241,.22)); }
	.catalog-tools { flex-direction: column; }
	.catalog-tools select { width: 100%; }
	.shop-popup { bottom: 1rem; left: 1rem; max-width: none; right: 1rem; }
	.support-chat { bottom: 1rem; right: 1rem; }
	.support-toggle {
		height: 3.1rem;
		padding-inline: .9rem;
	}
	.home-popup { padding: .85rem; }
	.home-popup-dialog {
		max-height: calc(100dvh - 1.7rem);
		max-width: calc(100vw - 1.7rem);
	}
	.home-popup-media img { max-height: calc(100dvh - 1.7rem); }
	.product-assistant {
		align-items: center;
		bottom: auto;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
	}
	.product-assistant.is-open {
		bottom: 0;
		display: block;
		left: 0;
		right: 0;
		top: 0;
		transform: none;
		z-index: 200;
	}
	.product-assistant-toggle {
		border-radius: 0 .6rem .6rem 0;
		flex-direction: column;
		min-height: 8.75rem;
		padding: .75rem .65rem;
	}
	.product-assistant.is-open .product-assistant-toggle { display: none; }
	.product-assistant-toggle span { writing-mode: vertical-rl; }
	.product-assistant-panel {
		border-radius: 0;
		bottom: 0;
		display: flex;
		flex-direction: column;
		height: 100vh;
		height: 100dvh;
		left: 0;
		margin: 0;
		max-height: none;
		position: fixed;
		right: 0;
		top: 0;
		width: 100vw;
		z-index: 130;
	}
	.product-assistant.is-open .product-assistant-panel {
		inset: 0;
		position: absolute;
		width: 100%;
	}
	.product-assistant-header {
		flex: 0 0 auto;
		padding: 1rem;
		position: relative;
		z-index: 1;
	}
	.product-conversation {
		flex: 1 1 auto;
		max-height: none;
		min-height: 0;
	}
	.product-question-form,
	.product-human-link,
	.product-prompts { flex: 0 0 auto; }
	.product-question-form input,
	.support-form input,
	.support-form textarea,
	.contact-form input,
	.contact-form textarea,
	.contact-form select {
		font-size: 16px;
	}
	.product-prompts { gap: .4rem; }
	.product-prompts button { font-size: .69rem; padding: .42rem .65rem; }
	.trust-grid { grid-template-columns: 1fr; }
	.detail-actions { flex-direction: column; }
	.detail-actions .button { width: 100%; }
	.about-hero { gap: 2rem; padding-block: 3rem; }
	.about-image { aspect-ratio: 1.05; }
	.intention-section,
	.value-section,
	.ceo-section,
	.about-standards { padding-block: 3rem; }
	.intention-text,
	.value-grid { grid-template-columns: 1fr; }
	.ceo-grid { gap: 1.75rem; }
	.ceo-portrait { border-radius: 1.5rem; }
	.ceo-portrait img { aspect-ratio: 1.42; }
	.ceo-copy { text-align: center; }
	.ceo-copy blockquote {
		background: #fff8f6;
		border: 0;
		border-radius: 1rem;
		font-size: .875rem;
		line-height: 1.75;
		margin-inline: auto;
		padding: 1.25rem;
	}
	.standards-scroll {
		display: flex;
		gap: .75rem;
		overflow-x: auto;
		padding-bottom: .5rem;
		scroll-snap-type: x mandatory;
	}
	.standards-scroll article { flex: 0 0 78%; padding: 1.25rem; scroll-snap-align: center; }
	.standard-warning { flex-direction: column; text-align: center; }
	.contact-page,
	.faq-page,
	.blog-page { padding-block: 2.5rem 3rem; }
	.blog-heading { margin-bottom: 2rem; }
	.blog-heading h1 { font-size: 2.35rem; }
	.featured-article { border-radius: 1rem; }
	.featured-image { aspect-ratio: 1.35; }
	.featured-copy { padding: 1.25rem 1.25rem 1.4rem; }
	.featured-copy h2 { font-size: 1.55rem; }
	.featured-copy .button { margin-top: 1.25rem; }
	.blog-content-layout { margin-top: 2.5rem; }
	.latest-articles .section-row { margin-bottom: 1.25rem; }
	.latest-articles .section-heading { font-size: 1.65rem; }
	.contact-form { padding: 1.75rem; }
	.latest-grid { gap: .75rem; grid-template-columns: 1fr; }
	.latest-card { display: grid; grid-template-columns: 7.25rem minmax(0, 1fr); min-height: 7.4rem; }
	.latest-image { aspect-ratio: auto; height: 100%; }
	.latest-card div { padding: .75rem; }
	.latest-card .eyebrow { font-size: .58rem; }
	.latest-card h3 { font-size: 1rem; line-height: 1.3; margin-top: .45rem; }
	.latest-excerpt,
	.latest-link { display: none; }
	.article-single { padding-bottom: 3.5rem; }
	.article-header { padding-block: 2.5rem 1.75rem; }
	.article-back { margin-bottom: 1.5rem; }
	.article-intro { font-size: .94rem; }
	.article-meta { flex-wrap: wrap; gap: .55rem .8rem; }
	.article-meta > * + *::before { margin-right: .8rem; }
	.article-cover { aspect-ratio: 1.35; border-radius: 1.1rem; }
	.article-after-cover { margin-top: 1.25rem; }
	.article-toc { padding: 1.25rem; }
	.article-toc ol { gap: .7rem; grid-template-columns: 1fr; }
	.article-layout { gap: 1.25rem; margin-top: 1.25rem; }
	.article-content { border-radius: 1.1rem; font-size: .95rem; padding: 1.35rem; }
	.article-content > p:first-child { font-size: 1rem; }
	.article-content h2 { margin-top: 2.1rem; }
	.article-sidebar { grid-template-columns: 1fr; }
	.sidebar-cta { grid-column: auto; }
}
