/* Cute layer: soft blush cards, glossy buttons, floating hearts ------------
 * Scoped to body.dtc-cute (every page except the ZenLove landing page),
 * except the click-heart burst, selection and scrollbar which are global.
 */

:root {
	--cute-brand: var(--brand, #e8405a);
	--cute-soft: color-mix(in srgb, var(--cute-brand) 8%, #fff);
	--cute-softer: color-mix(in srgb, var(--cute-brand) 4%, #fff);
	--cute-line: color-mix(in srgb, var(--cute-brand) 14%, #f1e4e7);
	--cute-blush: #ffc2d1;
	--cute-gold: #ffd98a;
	--cute-shadow: 0 14px 34px -14px color-mix(in srgb, var(--cute-brand) 30%, transparent), 0 2px 6px rgba(16, 24, 40, .03);
	--cute-shadow-hover: 0 24px 48px -16px color-mix(in srgb, var(--cute-brand) 42%, transparent), 0 4px 10px rgba(16, 24, 40, .04);
	--cute-ease: cubic-bezier(.3, 1.5, .5, 1);
	--cute-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54z'/%3E%3C/svg%3E");
	--cute-wave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 12'%3E%3Cpath d='M2 6c7-6 14-6 21 0s14 6 21 0 14-6 21 0 14 6 21 0' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
	--cute-deco-a: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 180'%3E%3Cg%3E%3Cpath transform='translate(18 26) scale(1.3)' d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54z'/%3E%3Cpath transform='translate(150 18) scale(.7)' d='M12 0l2.6 9.4L24 12l-9.4 2.6L12 24l-2.6-9.4L0 12l9.4-2.6z'/%3E%3Cpath opacity='.55' transform='translate(96 104) scale(.6)' d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54z'/%3E%3Cpath opacity='.7' transform='translate(28 136) scale(.45)' d='M12 0l2.6 9.4L24 12l-9.4 2.6L12 24l-2.6-9.4L0 12l9.4-2.6z'/%3E%3Ccircle cx='190' cy='92' r='4' opacity='.5'/%3E%3Ccircle cx='70' cy='70' r='3' opacity='.4'/%3E%3C/g%3E%3C/svg%3E");
	--cute-deco-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 180'%3E%3Cg%3E%3Cpath transform='translate(150 100) scale(1.5)' d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54z'/%3E%3Cpath transform='translate(40 40) scale(.8)' d='M12 0l2.6 9.4L24 12l-9.4 2.6L12 24l-2.6-9.4L0 12l9.4-2.6z'/%3E%3Cpath opacity='.55' transform='translate(100 20) scale(.55)' d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54z'/%3E%3Cpath opacity='.7' transform='translate(96 132) scale(.5)' d='M12 0l2.6 9.4L24 12l-9.4 2.6L12 24l-2.6-9.4L0 12l9.4-2.6z'/%3E%3Ccircle cx='24' cy='120' r='4' opacity='.5'/%3E%3Ccircle cx='200' cy='40' r='3' opacity='.45'/%3E%3C/g%3E%3C/svg%3E");
}

::selection { background: color-mix(in srgb, var(--cute-brand) 22%, #fff); color: inherit; }
html { scrollbar-color: color-mix(in srgb, var(--cute-brand) 45%, #fff) transparent; }

/* Page backdrop ------------------------------------------------------------ */

body.dtc-cute {
	background:
		radial-gradient(900px 500px at 100% 0%, color-mix(in srgb, var(--cute-blush) 18%, transparent), transparent 70%),
		radial-gradient(700px 500px at 0% 60%, color-mix(in srgb, var(--cute-brand) 5%, transparent), transparent 70%),
		#fffbfc;
	background-attachment: fixed;
}

/* Heroes: floating hearts & sparkles -------------------------------------- */

.dtc-cute :is(.page-hero, .hero, .blog-hero, .post-hero, .create-page) {
	position: relative; overflow: clip;
}
.dtc-cute :is(.page-hero, .hero, .blog-hero, .post-hero) {
	background:
		radial-gradient(60% 90% at 10% 0%, color-mix(in srgb, var(--cute-blush) 38%, transparent), transparent 70%),
		radial-gradient(50% 80% at 95% 15%, color-mix(in srgb, var(--cute-gold) 22%, transparent), transparent 70%),
		linear-gradient(180deg, var(--cute-soft), var(--cute-softer));
	background-origin: border-box;
}
.dtc-cute :is(.page-hero, .hero, .blog-hero, .post-hero, .create-page)::before,
.dtc-cute :is(.page-hero, .hero, .blog-hero, .post-hero, .create-page)::after {
	content: ""; position: absolute; z-index: 0; pointer-events: none;
	width: 220px; height: 180px;
	background: color-mix(in srgb, var(--cute-brand) 38%, var(--cute-blush));
	-webkit-mask: var(--cute-deco-a) center / contain no-repeat;
	mask: var(--cute-deco-a) center / contain no-repeat;
	opacity: .55;
	animation: cute-drift 9s ease-in-out infinite;
}
.dtc-cute :is(.page-hero, .hero, .blog-hero, .post-hero, .create-page)::before { top: 12px; left: max(12px, calc(50% - 680px)); }
.dtc-cute :is(.page-hero, .hero, .blog-hero, .post-hero, .create-page)::after {
	right: max(12px, calc(50% - 680px)); bottom: 8px;
	-webkit-mask-image: var(--cute-deco-b); mask-image: var(--cute-deco-b);
	animation-delay: -4.5s;
}
.dtc-cute :is(.page-hero, .hero, .blog-hero, .post-hero, .create-page) > * { position: relative; z-index: 1; }
@media (max-width: 767px) {
	.dtc-cute :is(.page-hero, .hero, .blog-hero, .post-hero, .create-page)::before,
	.dtc-cute :is(.page-hero, .hero, .blog-hero, .post-hero, .create-page)::after { width: 130px; height: 106px; opacity: .4; }
}

.dtc-cute .hero-title,
.dtc-cute .blog-hero__title { text-wrap: balance; }

/* Labels, eyebrows & headings -------------------------------------------- */

.dtc-cute :is(.section-label, .hero-eyebrow) {
	display: inline-flex; align-items: center; gap: 7px;
	padding: 6px 14px 6px 12px;
	border: 1px solid var(--cute-line);
	border-radius: 999px;
	background: linear-gradient(135deg, #fff, var(--cute-soft));
	box-shadow: 0 4px 12px -6px color-mix(in srgb, var(--cute-brand) 35%, transparent);
	color: var(--cute-brand);
	font-size: 12px; font-weight: 700; letter-spacing: .1em;
}
.dtc-cute :is(.section-label, .hero-eyebrow)::before {
	content: ""; width: 11px; height: 11px; flex: none;
	background: currentColor;
	-webkit-mask: var(--cute-heart) center / contain no-repeat; mask: var(--cute-heart) center / contain no-repeat;
	animation: cute-beat 1.8s ease-in-out infinite;
}
.dtc-cute .section-header .section-heading::after {
	content: ""; display: block;
	width: 78px; height: 11px; margin: 14px auto 0;
	background: linear-gradient(90deg, var(--cute-blush), var(--cute-brand), var(--cute-gold));
	-webkit-mask: var(--cute-wave) center / contain no-repeat; mask: var(--cute-wave) center / contain no-repeat;
}
.dtc-cute .section-sub { color: color-mix(in srgb, var(--text, #475569) 90%, var(--cute-brand)); }

/* Buttons ----------------------------------------------------------------- */

.dtc-cute .btn {
	border-radius: 999px;
	transition: transform .3s var(--cute-ease), box-shadow .3s ease, background-position .7s ease, background-color .25s ease, color .25s ease, border-color .25s ease;
}
.dtc-cute .btn:hover { transform: translateY(-2px); }
.dtc-cute .btn:active { transform: translateY(0) scale(.97); }
.dtc-cute .btn-primary,
.dtc-cute .ws-themes-card__btn--demo {
	border: 0;
	color: #fff;
	background:
		linear-gradient(110deg, transparent 38%, rgba(255, 255, 255, .5) 50%, transparent 62%),
		linear-gradient(135deg,
			color-mix(in srgb, var(--cute-brand) 62%, #ffb3c6) 0%,
			var(--cute-brand) 55%,
			color-mix(in srgb, var(--cute-brand) 82%, #8a0f33) 100%);
	background-size: 250% 100%, 100% 100%;
	background-position: 160% 0, 0 0;
	background-repeat: no-repeat;
	box-shadow:
		0 10px 22px -8px color-mix(in srgb, var(--cute-brand) 60%, transparent),
		inset 0 1px 0 rgba(255, 255, 255, .4),
		inset 0 -2px 0 rgba(0, 0, 0, .08);
	text-shadow: 0 1px 1px rgba(0, 0, 0, .1);
}
.dtc-cute .btn-primary:hover,
.dtc-cute .ws-themes-card__btn--demo:hover {
	filter: none;
	background-position: -60% 0, 0 0;
	box-shadow:
		0 16px 30px -10px color-mix(in srgb, var(--cute-brand) 70%, transparent),
		inset 0 1px 0 rgba(255, 255, 255, .45),
		inset 0 -2px 0 rgba(0, 0, 0, .08);
}
.dtc-cute .btn-secondary,
.dtc-cute .ws-themes-card__btn--create {
	background: #fff;
	border: 1.5px solid var(--cute-line);
	color: var(--cute-brand);
}
.dtc-cute .btn-secondary:hover,
.dtc-cute .ws-themes-card__btn--create:hover {
	background: var(--cute-soft);
	border-color: color-mix(in srgb, var(--cute-brand) 40%, #fff);
	box-shadow: 0 10px 22px -12px color-mix(in srgb, var(--cute-brand) 50%, transparent);
}
.dtc-cute .ws-button,
.dtc-cute .ws-themes-card__actions > .ws-button { border-radius: 999px; font-weight: 700; }

/* Cards ------------------------------------------------------------------- */

.dtc-cute :is(.price-card, .dtc-features--card .dtc-feature, .step-card, .testimonial-card, .blog-card, .post-card, .faq-item, .dtc-contact-form, .feature-card, .create-page__form-wrap) {
	border: 1px solid var(--cute-line);
	border-radius: 24px;
	background: #fff;
	box-shadow: var(--cute-shadow);
}
.dtc-cute :is(.price-card, .dtc-features--card .dtc-feature, .step-card, .testimonial-card, .blog-card, .post-card, .feature-card) {
	transition: transform .45s var(--cute-ease), box-shadow .35s ease, border-color .35s ease;
}
.dtc-cute :is(.price-card, .dtc-features--card .dtc-feature, .step-card, .testimonial-card, .blog-card, .post-card, .feature-card):hover {
	transform: translateY(-6px);
	border-color: color-mix(in srgb, var(--cute-brand) 30%, #fff);
	box-shadow: var(--cute-shadow-hover);
}

/* Hover heart that pops into the top-right corner of a card */
.dtc-cute :is(.price-card, .dtc-features--card .dtc-feature, .step-card, .testimonial-card) { position: relative; }
.dtc-cute :is(.dtc-features--card .dtc-feature, .step-card, .testimonial-card)::after {
	content: ""; position: absolute; top: 16px; right: 16px;
	width: 16px; height: 16px;
	background: color-mix(in srgb, var(--cute-brand) 70%, var(--cute-blush));
	-webkit-mask: var(--cute-heart) center / contain no-repeat; mask: var(--cute-heart) center / contain no-repeat;
	opacity: 0; transform: scale(.3) rotate(-20deg);
	transition: opacity .3s ease, transform .45s var(--cute-ease);
}
.dtc-cute :is(.dtc-features--card .dtc-feature, .step-card, .testimonial-card):hover::after { opacity: 1; transform: scale(1) rotate(12deg); }

/* Featured price card: shimmering gradient border */
.dtc-cute .price-card.is-featured {
	border: 2px solid transparent;
	background:
		linear-gradient(#fff, #fff) padding-box,
		linear-gradient(120deg, var(--cute-brand), var(--cute-blush), var(--cute-gold), var(--cute-brand)) border-box;
	background-size: 100% 100%, 300% 300%;
	animation: cute-border 6s ease-in-out infinite alternate;
	box-shadow: var(--cute-shadow-hover);
}
.dtc-cute .price-card > .price-card__badge {
	padding: 5px 14px;
	background: linear-gradient(135deg, color-mix(in srgb, var(--cute-brand) 60%, #ffb3c6), var(--cute-brand));
	color: #fff;
	box-shadow: 0 8px 18px -8px color-mix(in srgb, var(--cute-brand) 70%, transparent);
}
.dtc-cute .price-card > .price-card__badge::before { content: "\2728\00a0"; }

/* Icons: squishy pastel blobs */
.dtc-cute :is(.dtc-feature__icon, .step-icon, .dtc-contact__icon, .feature-icon) {
	border-radius: 46% 54% 50% 50% / 55% 48% 52% 45%;
	background: linear-gradient(135deg, color-mix(in srgb, var(--cute-blush) 55%, #fff), color-mix(in srgb, var(--cute-brand) 14%, #fff));
	color: var(--cute-brand);
	box-shadow: inset 0 -3px 0 color-mix(in srgb, var(--cute-brand) 10%, transparent), 0 6px 14px -8px color-mix(in srgb, var(--cute-brand) 50%, transparent);
	transition: transform .5s var(--cute-ease), border-radius .6s ease;
}
.dtc-cute :is(.dtc-feature, .step-card, .dtc-contact__list li, .feature-card):hover :is(.dtc-feature__icon, .step-icon, .dtc-contact__icon, .feature-icon) {
	transform: rotate(-8deg) scale(1.1);
	border-radius: 55% 45% 48% 52% / 45% 55% 45% 55%;
	animation: cute-jelly .7s ease;
}

/* Template cards */
.dtc-cute .ws-themes-card {
	border: 1px solid var(--cute-line);
	border-radius: 20px;
	box-shadow: var(--cute-shadow);
	transition: transform .45s var(--cute-ease), box-shadow .35s ease, border-color .35s ease;
}
.dtc-cute .ws-themes-card:hover {
	transform: translateY(-6px) rotate(-.4deg);
	border-color: color-mix(in srgb, var(--cute-brand) 35%, #fff);
	box-shadow: var(--cute-shadow-hover);
}
.dtc-cute .ws-themes-card__badge { border-radius: 999px; }

/* Blog cards */
.dtc-cute :is(.blog-card, .post-card) img { transition: transform .8s cubic-bezier(.2, .8, .2, 1); }
.dtc-cute :is(.blog-card, .post-card):hover img { transform: scale(1.06); }
.dtc-cute .blog-card__cat { border-radius: 999px; }

/* FAQ */
.dtc-cute .faq-item { border-radius: 18px; transition: background-color .3s ease, box-shadow .3s ease, border-color .3s ease; }
.dtc-cute .faq-item:hover { border-color: color-mix(in srgb, var(--cute-brand) 28%, #fff); }
.dtc-cute .faq-item.is-open {
	background: linear-gradient(180deg, var(--cute-softer), #fff);
	border-color: color-mix(in srgb, var(--cute-brand) 30%, #fff);
	box-shadow: var(--cute-shadow-hover);
}
.dtc-cute .faq-item.is-open .faq-question { color: var(--cute-brand); }
.dtc-cute .faq-icon { color: var(--cute-brand); transition: transform .4s var(--cute-ease); }
.dtc-cute .faq-item.is-open .faq-icon { transform: rotate(180deg); }

/* CTA banners */
.dtc-cute :is(.dtc-cta, .blog-cta) {
	position: relative; overflow: hidden;
	padding: clamp(28px, 4vw, 48px);
	border: 1px solid var(--cute-line);
	border-radius: 32px;
	background:
		radial-gradient(60% 120% at 0% 0%, color-mix(in srgb, var(--cute-blush) 45%, transparent), transparent 70%),
		radial-gradient(50% 100% at 100% 100%, color-mix(in srgb, var(--cute-gold) 30%, transparent), transparent 70%),
		linear-gradient(135deg, #fff, var(--cute-soft));
	box-shadow: var(--cute-shadow);
}
.dtc-cute :is(.dtc-cta, .blog-cta)::after {
	content: ""; position: absolute; right: 18px; top: 14px; pointer-events: none;
	width: 150px; height: 122px;
	background: color-mix(in srgb, var(--cute-brand) 35%, var(--cute-blush));
	-webkit-mask: var(--cute-deco-b) center / contain no-repeat; mask: var(--cute-deco-b) center / contain no-repeat;
	opacity: .45;
	animation: cute-drift 8s ease-in-out infinite;
}
.dtc-cute .dtc-cta :is(.dtc-cta__copy, .dtc-cta__actions) { position: relative; z-index: 1; }
.dtc-cute .dtc-cta .dtc-cta__title { color: var(--heading, #1f1d2b); }
.dtc-cute .dtc-cta .dtc-cta__text { color: var(--muted, #5b5566); opacity: 1; }
.dtc-cute .dtc-cta .section-label { color: var(--cute-brand); opacity: 1; }

/* Chips & filters */
.dtc-cute .filter-chip,
.dtc-cute .invitation-filters .invitation-pill,
.dtc-cute .invitation-filters .invitation-filter-select,
.dtc-cute .blog-cats a {
	border-radius: 999px;
	transition: transform .3s var(--cute-ease), background-color .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease;
}
.dtc-cute .filter-chip:hover,
.dtc-cute .invitation-filters .invitation-pill:hover,
.dtc-cute .blog-cats a:hover { transform: translateY(-2px); }
.dtc-cute .filter-chip.is-active,
.dtc-cute .invitation-filters .invitation-pill[aria-pressed='true'] {
	border-color: transparent;
	background: linear-gradient(135deg, color-mix(in srgb, var(--cute-brand) 62%, #ffb3c6), var(--cute-brand));
	color: #fff;
	box-shadow: 0 8px 18px -8px color-mix(in srgb, var(--cute-brand) 65%, transparent);
}
.dtc-cute .invitation-filters .invitation-pill[aria-pressed='true'] .dtc-icon { color: #fff; }

/* Forms */
.dtc-cute :is(.form-field input, .form-field select, .form-field textarea, .blog-search input, .comment-form input:not([type=checkbox]):not([type=submit]), .comment-form textarea, .invitation-search input) {
	border: 1.5px solid var(--cute-line);
	border-radius: 14px;
	background: #fffdfd;
	transition: border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
}
.dtc-cute :is(.form-field input, .form-field select, .form-field textarea, .blog-search input, .comment-form input, .comment-form textarea, .invitation-search input):hover {
	border-color: color-mix(in srgb, var(--cute-brand) 30%, #fff);
}
.dtc-cute :is(.form-field input, .form-field select, .form-field textarea, .blog-search input, .comment-form input, .comment-form textarea, .invitation-search input):focus {
	outline: none;
	background: #fff;
	border-color: color-mix(in srgb, var(--cute-brand) 65%, #fff);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--cute-brand) 13%, transparent);
}
.dtc-cute .blog-search { border-radius: 999px; }

/* Phone mockups get a gentle bob */
.dtc-cute .phone-frame { animation: cute-bob 6s ease-in-out infinite; }

/* Pagination */
.dtc-cute :is(.page-numbers, .blog-pagination a, .blog-pagination span) { border-radius: 999px; transition: transform .3s var(--cute-ease), background-color .25s ease, color .25s ease; }
.dtc-cute .page-numbers:hover { transform: translateY(-2px); }
.dtc-cute .page-numbers.current {
	background: linear-gradient(135deg, color-mix(in srgb, var(--cute-brand) 62%, #ffb3c6), var(--cute-brand));
	color: #fff; border-color: transparent;
}

/* Footer: blush wash with a wavy top edge */
.dtc-cute .site-footer {
	background:
		radial-gradient(50% 80% at 100% 0%, color-mix(in srgb, var(--cute-blush) 30%, transparent), transparent 70%),
		radial-gradient(40% 70% at 0% 100%, color-mix(in srgb, var(--cute-gold) 18%, transparent), transparent 70%),
		linear-gradient(180deg, var(--cute-softer), var(--cute-soft));
	border-top: 0;
}
.dtc-cute .site-footer::before {
	top: 0; left: 0; width: 100%; height: 10px; transform: none; opacity: .6;
	background: linear-gradient(90deg, var(--cute-blush), var(--cute-brand), var(--cute-gold), var(--cute-blush));
	-webkit-mask: var(--cute-wave) 0 0 / 90px 10px repeat-x; mask: var(--cute-wave) 0 0 / 90px 10px repeat-x;
}
.dtc-cute .site-footer__links a { transition: color .25s ease, padding-left .3s var(--cute-ease); }
@media (hover: hover) {
	.dtc-cute .site-footer__links a:hover { color: var(--cute-brand); padding-left: 4px; }
}
@media (max-width: 767px) {
	.dtc-cute .site-footer__links a { border-color: var(--cute-line); box-shadow: 0 4px 10px -8px color-mix(in srgb, var(--cute-brand) 45%, transparent); }
	.dtc-cute .site-footer__links a:active { color: var(--cute-brand); background: var(--cute-soft); }
}

/* Scroll reveal (classes added by cute.js) --------------------------------- */

.cute-js .cute-reveal {
	opacity: 0;
	translate: 0 26px;
	scale: .97;
	transition: opacity .7s ease, translate .8s var(--cute-ease), scale .8s var(--cute-ease);
	transition-delay: var(--cute-d, 0ms);
}
.cute-js .cute-reveal.is-in { opacity: 1; translate: none; scale: none; }

/* Click-heart burst (global) ---------------------------------------------- */

.cute-burst {
	position: fixed; z-index: 9999; pointer-events: none;
	width: 12px; height: 12px; margin: -6px 0 0 -6px;
	background: var(--c, var(--cute-brand));
	-webkit-mask: var(--cute-heart) center / contain no-repeat; mask: var(--cute-heart) center / contain no-repeat;
	animation: cute-burst .9s cubic-bezier(.15, .7, .3, 1) forwards;
}

/* Keyframes --------------------------------------------------------------- */

@keyframes cute-drift {
	0%, 100% { transform: translateY(0) rotate(0deg); }
	50%      { transform: translateY(-10px) rotate(3deg); }
}
@keyframes cute-beat {
	0%, 40%, 100% { transform: scale(1); }
	15% { transform: scale(1.3); }
	28% { transform: scale(.92); }
}
@keyframes cute-border {
	from { background-position: 0 0, 0% 50%; }
	to   { background-position: 0 0, 100% 50%; }
}
@keyframes cute-jelly {
	0%   { scale: 1 1; }
	30%  { scale: 1.18 .86; }
	50%  { scale: .9 1.12; }
	70%  { scale: 1.06 .95; }
	100% { scale: 1 1; }
}
@keyframes cute-bob {
	0%, 100% { translate: 0 0; }
	50%      { translate: 0 -8px; }
}
@keyframes cute-burst {
	0%   { opacity: 1; transform: translate(0, 0) scale(.4) rotate(0deg); }
	100% { opacity: 0; transform: translate(var(--dx), var(--dy)) scale(var(--s, 1)) rotate(var(--r, 20deg)); }
}

@media (prefers-reduced-motion: reduce) {
	.dtc-cute *, .dtc-cute *::before, .dtc-cute *::after { animation: none !important; }
	.cute-js .cute-reveal { opacity: 1; translate: none; scale: none; transition: none; }
	.cute-burst { display: none; }
}
