

:root {
	--ground:       #4B0082;
	--paper:        #4B0082;
	--paper-deep:   #3A0066;
	--ink:          #FFFFFF;
	--ink-soft:     rgba(255, 255, 255, .82);
	--rule:         rgba(222, 208, 242, .3);
	--plate-ground: #2A0050;
	--plate-ink:    #FFFFFF;
}

body { background: var(--paper); }

.mast {
	background: var(--paper);
	
	padding: clamp(1.3rem, 5vw, 5rem) clamp(20px, 6vw, 4rem) clamp(.9rem, 3.4vw, 2.6rem);
	text-align: center;
}

.mast__word { margin: 0; line-height: 0; }

.mast__word img {
	display: block;
	width: min(58%, 420px);
	height: auto;
	margin: 0 auto;
}

.mast__rule {
	width: min(88%, 1100px);
	height: 1px;
	background: var(--rule);
	margin: clamp(1.6rem, 5vh, 2.4rem) auto 0;
}

.mast__over {
	font-family: var(--font-head);
	font-size: clamp(0.78rem, 2.86vw, 0.884rem);
	letter-spacing: .4em;
	text-indent: .4em;
	text-transform: uppercase;
	color: var(--ink-soft);
	margin: clamp(1.4rem, 4vh, 2rem) 0 0;
}

.cover { background: var(--paper); }

.cover__pic { margin: 0; line-height: 0; }

.cover__pic img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: 50% 38%;
}

@media (min-width: 820px) { .cover__pic img { aspect-ratio: 16 / 9; object-position: 50% 34%; } }

.cover__say {
	padding: clamp(2.6rem, 8vh, 4.5rem) clamp(20px, 6vw, 4rem) clamp(3rem, 9vh, 5.5rem);
	text-align: center;
}

.cover__head {
	font-family: var(--font-head);
	font-weight: 200;
	text-transform: uppercase;
	letter-spacing: .04em;
	font-size: clamp(1.7rem, 8vw, 4rem);
	line-height: 1.14;
	color: var(--ink);
	max-width: 16ch;
	margin: 0 auto;
}

.cover__warm {
	font-family: var(--font-warm);
	font-style: italic;
	font-size: clamp(1.288rem, 5.15vw, 1.7rem);
	line-height: 1.5;
	color: var(--ink-soft);
	max-width: 30ch;
	margin: 1.1em auto 0;
}

.spread {
	display: grid;
	grid-template-columns: 1fr;
	gap: 6px;
	background: var(--paper);
	padding: 6px 0;
}

@media (min-width: 760px) { .spread { grid-template-columns: repeat(2, 1fr); gap: 8px; padding: 8px; } }

.spread img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: 50% 40%;
}

.claimed {
	background: var(--paper);
	text-align: center;
	padding: clamp(4rem, 13vh, 8rem) clamp(20px, 6vw, 4rem);
}

.claimed__over {
	font-family: var(--font-head);
	font-size: clamp(0.78rem, 2.86vw, 0.884rem);
	letter-spacing: .4em;
	text-indent: .4em;
	text-transform: uppercase;
	color: var(--ink-soft);
	margin: 0;
}

.claimed__head {
	font-family: var(--font-head);
	font-weight: 200;
	text-transform: uppercase;
	letter-spacing: .1em;
	font-size: clamp(1.8rem, 9vw, 3.4rem);
	line-height: 1.25;
	color: var(--ink);
	margin: .7em 0 0;
}

.claimed__body {
	font-family: var(--font-util);
	font-size: clamp(1.176rem, 4.44vw, 1.21rem);
	line-height: 1.95;
	color: var(--ink-soft);
	max-width: 44ch;
	margin: 1.6em auto 0;
}

.plates {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	padding: 0 8px 8px;
	background: var(--paper);
}

@media (min-width: 880px) { .plates { grid-template-columns: 1fr 1fr; } }

.plate2 {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: clamp(360px, 56svh, 520px);
	padding: clamp(2rem, 6vw, 3rem);
	overflow: hidden;
	color: var(--plate-ink);
	background: var(--plate-ground);
}

.plate2 img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 36%;
	transition: transform 6s cubic-bezier(.22,.61,.36,1);
}

.plate2:hover img { transform: scale(1.04); }

@media (prefers-reduced-motion: reduce) { .plate2 img, .plate2:hover img { transition: none; transform: none; } }

.plate2__say {
	position: relative;
	background: var(--plate-ground);
	margin: 0 -8px -8px;
	padding: clamp(1.6rem, 5vw, 2.2rem) clamp(1.4rem, 5vw, 2rem);
	text-align: center;
}

.plate2__over {
	display: block;
	font-family: var(--font-head);
	font-size: clamp(0.76rem, 2.88vw, 0.858rem);
	letter-spacing: .36em;
	text-indent: .36em;
	text-transform: uppercase;
	color: var(--lilac);
}

.plate2--pro .plate2__head {
	display: block;
	font-family: var(--font-head);
	font-weight: 200;
	text-transform: uppercase;
	letter-spacing: .1em;
	font-size: clamp(1.288rem, 5.38vw, 1.6rem);
	line-height: 1.4;
	margin-top: .8em;
}

.plate2--her .plate2__head {
	display: block;
	font-family: var(--font-warm);
	font-style: italic;
	font-size: clamp(1.6rem, 6.6vw, 2.2rem);
	line-height: 1.2;
	margin-top: .5em;
}

.plate2__go {
	display: inline-block;
	margin-top: 1.2em;
	font-family: var(--font-head);
	font-size: clamp(0.76rem, 2.88vw, 0.832rem);
	letter-spacing: .32em;
	text-indent: .32em;
	text-transform: uppercase;
	color: var(--lilac);
	border-bottom: 1px solid rgba(222, 208, 242, .5);
	padding-bottom: 6px;
	transition: color .16s ease, border-color .16s ease;
}

.plate2:hover .plate2__go { color: #FFFFFF; border-color: #FFFFFF; }

.sign {
	background: var(--plate-ground);
	color: var(--plate-ink);
	text-align: center;
	padding: clamp(3.5rem, 11vh, 6rem) clamp(20px, 6vw, 4rem);
}

.sign__line {
	font-family: var(--font-head);
	font-weight: 200;
	text-transform: uppercase;
	letter-spacing: .2em;
	text-indent: .2em;
	font-size: clamp(1.128rem, 4.8vw, 1.5rem);
	line-height: 1.9;
	margin: 0;
	color: var(--lilac);
}

.site-header { display: block; background: var(--paper); border-bottom: 1px solid var(--rule); }
.site-footer { background: var(--paper); border-top: 1px solid var(--rule); }
.footer__mark { color: var(--ink); }
.home .footer__tag, .home .footer__copy { color: var(--ink-soft); }
.footer__links a { color: var(--ink); }

.pick-ground {
	position: fixed;
	left: 50%;
	bottom: clamp(14px, 3vw, 26px);
	transform: translateX(-50%);
	z-index: 40;
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 7px;
	background: rgba(42, 0, 80, .92);
	box-shadow: 0 14px 34px -14px rgba(20, 0, 40, .6);
}

.pick-ground b {
	font-family: var(--font-head);
	font-size: 0.76rem;
	font-weight: 400;
	letter-spacing: .28em;
	text-indent: .28em;
	text-transform: uppercase;
	color: rgba(222, 208, 242, .8);
	padding: 0 10px 0 12px;
	white-space: nowrap;
}

.pick-ground button {
	font-family: var(--font-head);
	font-size: 0.806rem;
	letter-spacing: .24em;
	text-indent: .24em;
	text-transform: uppercase;
	color: #FFFFFF;
	background: transparent;
	border: 1px solid rgba(222, 208, 242, .4);
	padding: 11px 16px;
	cursor: pointer;
	transition: background .16s ease, color .16s ease, border-color .16s ease;
}

.pick-ground button:hover { border-color: #FFFFFF; }

.pick-ground button[aria-pressed="true"] {
	background: #FFFFFF;
	color: #2A0050;
	border-color: #FFFFFF;
}

@media (max-width: 420px) {
	.pick-ground b { display: none; }
	.pick-ground button { padding: 12px 14px; }
}

.site-header {
	display: block;
	background: var(--paper);
	border-bottom: 1px solid var(--rule);
}

.site-header__mark { color: var(--ink); }
.site-nav a { color: var(--ink); opacity: .78; }
.site-nav a:hover,
.site-nav .current_page_item a { opacity: 1; }

.site-footer { background: var(--paper); border-top: 1px solid var(--rule); }
.footer__mark { color: var(--ink); }
.footer__tag,
.footer__copy { color: var(--ink-soft); }
.footer__links a { color: var(--ink); }

:root,
:root[data-accent="orchid"] {
	--accent:      #D8B4DA;
	--accent-deep: #C28EBB;
	--accent-hot:  #B551B8;
}
:root[data-accent="pink"]   { --accent: #F4B0C8; --accent-deep: #E890B0; --accent-hot: #E06D96; }
:root[data-accent="blue"]   { --accent: #9FC3E8; --accent-deep: #7FA9D6; --accent-hot: #5E8DC4; }
:root[data-accent="blush"]  { --accent: #F1CFC2; --accent-deep: #E0B0A0; --accent-hot: #CE8E7B; }
:root[data-accent="apricot"]{ --accent: #F3BE8C; --accent-deep: #E5A264; --accent-hot: #D4863F; }

.mast__over,
.claimed__over { color: var(--accent); }

.mast__rule { background: var(--accent); opacity: .5; }

.cover__warm { color: var(--accent); }

.plate2__over,
.plate2__go { color: var(--accent); }
.plate2__go { border-bottom-color: var(--accent); }

.plate2--her .plate2__head { color: var(--accent); }

.sign__line { color: var(--accent); }

.pick-accent {
	position: fixed;
	left: 50%;
	bottom: clamp(14px, 3vw, 26px);
	transform: translateX(-50%);
	z-index: 40;
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 7px;
	background: rgba(42, 0, 80, .92);
	box-shadow: 0 14px 34px -14px rgba(20, 0, 40, .6);
}

.pick-accent b {
	font-family: var(--font-head);
	font-size: 0.76rem;
	font-weight: 400;
	letter-spacing: .28em;
	text-indent: .28em;
	text-transform: uppercase;
	color: rgba(222, 208, 242, .8);
	padding: 0 8px 0 12px;
	white-space: nowrap;
}

.pick-accent button {
	width: 34px;
	height: 34px;
	border: 1px solid rgba(255, 255, 255, .35);
	background: var(--swatch);
	cursor: pointer;
	font-size: 0;
	transition: transform .16s ease, border-color .16s ease;
}

.pick-accent button:hover { transform: translateY(-2px); }
.pick-accent button[aria-pressed="true"] { border-color: #FFFFFF; border-width: 2px; }

@media (max-width: 460px) {
	.pick-accent b { display: none; }
	.pick-accent button { width: 30px; height: 30px; }
}

.lead__over,
.hold__eyebrow,
.give__eyebrow,
.price__over,
.ask__over,
.step__n,
.seek__over,
.doorway__over,
.room__over,
.mine__over,
.says__over,
.days__over,
.her__over,
.none__over,
.find__label,
.made__over,
.moment__where,
.band__eyebrow,
.truth__eyebrow { color: var(--accent); }

.lead__under,
.hold__body em,
.seek--her .seek__head,
.doorway__ask,
.her__name,
.mine__head,
.room__head,
.none__head,
.said__gave,
.made__line--warm,
.days__list li { color: var(--accent); }

.step__n,
.card__ask,
.moment__ask { color: var(--accent); }

.seek__go,
.doorway__go,
.card__go,
.made__over,
.none__go,
.give__go,
.plate2__go { border-color: var(--accent); }

.mast__rule,
.made__card { border-color: var(--accent); }

.her__name,
.doorway__ask,
.none__head,
.mine__head,
.room__head { color: var(--accent); }

.seek--her .seek__head,
.plate2--her .plate2__head { color: var(--accent); }

.four,
.strip,
.plate { background: var(--paper); }

.bloom {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(36px, 6vw, 64px);
	grid-auto-rows: 1fr;
	width: min(100%, 46rem);
	margin-inline: auto;
	padding: clamp(1.2rem, 3vh, 2rem) clamp(18px, 5vw, 30px) clamp(2.4rem, 7vh, 4rem);
	background: var(--paper);
}

@media (min-width: 720px) { .bloom { grid-template-columns: 1fr 1fr; } }

.petal {
	position: relative;
	display: grid;
	place-content: center;
	overflow: hidden;
	color: #FFFFFF;

	
	min-height: clamp(64px, 17vw, 132px);

	
	background: var(--door-face);

	
	border-radius: 3px;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .34),
		inset 0 -1px 0 rgba(20, 0, 40, .55),
		inset 0 0 0 1px var(--door-edge),
		0 1px 1px rgba(20, 0, 40, .30),
		0 4px 8px -3px rgba(20, 0, 40, .42),
		0 10px 20px -12px rgba(20, 0, 40, .5);

	transform: translateZ(0);
	transition: box-shadow .38s ease, background .38s ease, transform .38s cubic-bezier(.22,.61,.36,1);
}

.petal::before {
	content: "";
	position: absolute;
	top: -40%;
	bottom: -40%;
	left: -60%;
	width: 42%;
	background: linear-gradient(
		100deg,
		transparent 0%,
		color-mix(in srgb, var(--door-edge) 22%, transparent) 34%,
		rgba(255, 255, 255, .30) 50%,
		color-mix(in srgb, var(--door-edge) 22%, transparent) 66%,
		transparent 100%
	);
	transform: skewX(-14deg);
	pointer-events: none;
	animation: esm-shimmer 16s cubic-bezier(.5, 0, .3, 1) -5s infinite;
}

@keyframes esm-shimmer {
	0%        { left: -60%; }
	62%, 100% { left: 118%; }
}

.petal::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--door-edge) 18%, transparent) 0%, transparent 60%);
	pointer-events: none;
}

.petal--pro {
	
	--door-edge: #C99BF0;
	
	--door-face: linear-gradient(150deg, #8A3BD6 0%, #6320B4 34%, #400C86 72%, #26054F 100%);
	--door-lit:  linear-gradient(150deg, #9B4EE8 0%, #7229CB 34%, #4C1099 72%, #310868 100%);
}

.petal--her {
	
	--door-edge: #F4B0C8;
	--door-face: linear-gradient(150deg, #F4B0C8 0%, #C86FA8 34%, #8A2E96 72%, #5A0F92 100%);
	--door-lit:  linear-gradient(150deg, #F9C4D6 0%, #D782B7 34%, #9C3AA8 72%, #6A15A6 100%);
}

.petal:hover,
.petal:focus-visible {
	background: var(--door-lit);
	transform: translateY(-2px);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .48),
		inset 0 -1px 0 rgba(20, 0, 40, .55),
		inset 0 0 0 1px var(--door-edge),
		0 2px 2px rgba(20, 0, 40, .3),
		0 8px 16px -4px rgba(20, 0, 40, .44),
		0 18px 34px -14px rgba(20, 0, 40, .55);
}

@media (prefers-reduced-motion: reduce) {
	.petal { transition: none; }
	.petal::before { animation: none; opacity: 0; }
}

.petal__in {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	
	min-height: clamp(46px, 6vw, 108px);
	padding: clamp(.75rem, 2.4vw, 1.4rem) clamp(.9rem, 2.6vw, 1.3rem);
}

.petal__over,
.petal__under { color: var(--door-edge); }

.petal__logo {
	display: block;
	width: min(44%, 172px);
	height: auto;
	margin: 0 auto;
}

.petal--pro .petal__say {
	display: block;
	margin-top: clamp(.8rem, 2.4vh, 1.1rem);
	font-family: var(--font-head);
	font-weight: 200;
	text-transform: uppercase;
	letter-spacing: .11em;
	font-size: clamp(1.08rem, 2.76vw, 1.176rem);
	line-height: 1.55;
}

.petal--her .petal__say {
	display: block;
	margin-top: clamp(.45rem, 1.4vh, .7rem);
	font-family: var(--font-warm);
	font-style: italic;
	font-size: clamp(1.128rem, 2.88vw, 1.21rem);
	line-height: 1.4;
	color: rgba(255, 255, 255, .86);
}

.petal__under {
	display: block;
	margin-top: clamp(.7rem, 2vh, 1rem);
	font-family: var(--font-head);
	font-size: clamp(0.76rem, 2.74vw, 0.76rem);
	letter-spacing: .38em;
	text-indent: .38em;
	text-transform: uppercase;
	color: var(--door-edge);
}

.petal__go {
	display: inline-block;
	margin-top: clamp(.9rem, 2.4vh, 1.2rem);
	font-family: var(--font-head);
	font-size: clamp(0.76rem, 2.74vw, 0.76rem);
	letter-spacing: .36em;
	text-indent: .36em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .82);
	padding-bottom: 7px;
	border-bottom: 1px solid var(--accent);
	transition: color .2s ease, letter-spacing .3s ease;
}

.petal:hover .petal__go { color: #FFFFFF; letter-spacing: .44em; text-indent: .44em; }

@media (prefers-reduced-motion: reduce) {
	.petal__go { transition: none; }
	.petal:hover .petal__go { letter-spacing: .36em; text-indent: .36em; }
}

.mast { padding-bottom: clamp(1.6rem, 4vh, 2.4rem); }

.cover { background: var(--paper); }

.cover img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: 50% 38%;
}

@media (min-width: 820px) { .cover img { aspect-ratio: 16 / 9; object-position: 50% 34%; } }

.pick-accent { bottom: 12px; }

.four,
.spread,
.strip {
	gap: clamp(12px, 2.2vw, 22px);
	padding: clamp(12px, 2.2vw, 22px);
}

.four img,
.spread img,
.strip img,
.cover img,
.plate img {
	border-radius: 3px;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .30),
		0 1px 1px rgba(20, 0, 40, .30),
		0 4px 8px -3px rgba(20, 0, 40, .42),
		0 10px 20px -12px rgba(20, 0, 40, .5);
	transition: transform .38s cubic-bezier(.22,.61,.36,1), box-shadow .38s ease;
}

.four img:hover,
.spread img:hover,
.strip img:hover {
	transform: translateY(-3px);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .4),
		0 2px 2px rgba(20, 0, 40, .3),
		0 8px 16px -4px rgba(20, 0, 40, .44),
		0 20px 38px -14px rgba(20, 0, 40, .58);
}

@media (prefers-reduced-motion: reduce) {
	.four img, .spread img, .strip img, .cover img, .plate img { transition: none; }
	.four img:hover, .spread img:hover, .strip img:hover { transform: none; }
}

.cover { padding: 0 clamp(12px, 2.2vw, 22px) clamp(12px, 2.2vw, 22px); }

.half {
	background: var(--paper);
	text-align: center;
	padding: clamp(3rem, 9vh, 5rem) clamp(18px, 5vw, 3rem);
	border-top: 1px solid color-mix(in srgb, var(--half-colour) 40%, transparent);
}

.half--pro { --half-colour: #B551B8; }
.half--her { --half-colour: #F4B0C8; }

.half__over {
	font-family: var(--font-head);
	font-size: clamp(0.76rem, 2.81vw, 0.806rem);
	letter-spacing: .4em;
	text-indent: .4em;
	text-transform: uppercase;
	color: var(--half-colour);
	margin: 0;
}

.half--pro .half__head {
	font-family: var(--font-head);
	font-weight: 200;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: clamp(1.4rem, 5.4vw, 2.4rem);
	line-height: 1.3;
	color: #FFFFFF;
	margin: .8em auto 0;
	max-width: 20ch;
}

.half--her .half__head {
	font-family: var(--font-warm);
	font-style: italic;
	font-size: clamp(1.6rem, 6.2vw, 2.6rem);
	line-height: 1.3;
	color: #FFFFFF;
	margin: .6em auto 0;
	max-width: 22ch;
}

.half__body {
	font-family: var(--font-util);
	font-size: clamp(1.128rem, 4.2vw, 1.142rem);
	line-height: 1.9;
	color: rgba(255, 255, 255, .82);
	max-width: 44ch;
	margin: 1.4em auto 0;
}

.half__pics {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(12px, 2.2vw, 22px);
	max-width: 46rem;
	margin: clamp(2rem, 6vh, 3rem) auto 0;
}

.half__pics img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: 50% 40%;
	border-radius: 3px;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .30),
		0 0 0 1px color-mix(in srgb, var(--half-colour) 34%, transparent),
		0 4px 8px -3px rgba(20, 0, 40, .42),
		0 12px 24px -12px rgba(20, 0, 40, .5);
	transition: transform .38s cubic-bezier(.22,.61,.36,1), box-shadow .38s ease;
}

.half__pics img:hover {
	transform: translateY(-3px);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .4),
		0 0 0 1px var(--half-colour),
		0 8px 16px -4px rgba(20, 0, 40, .44),
		0 22px 40px -14px rgba(20, 0, 40, .58);
}

@media (prefers-reduced-motion: reduce) {
	.half__pics img { transition: none; }
	.half__pics img:hover { transform: none; }
}

.half__go {
	display: inline-block;
	margin-top: clamp(2rem, 6vh, 2.8rem);
	font-family: var(--font-head);
	font-size: clamp(0.76rem, 2.81vw, 0.78rem);
	letter-spacing: .34em;
	text-indent: .34em;
	text-transform: uppercase;
	color: var(--half-colour);
	border-bottom: 1px solid var(--half-colour);
	padding-bottom: 8px;
	transition: color .2s ease, letter-spacing .3s ease;
}

.half__go:hover { color: #FFFFFF; letter-spacing: .42em; text-indent: .42em; }

.case {
	background: var(--paper);
	text-align: center;
	padding: clamp(3.5rem, 10vh, 6rem) clamp(18px, 5vw, 3rem);
}

.case__over {
	font-family: var(--font-head);
	font-size: clamp(0.76rem, 2.81vw, 0.806rem);
	letter-spacing: .4em;
	text-indent: .4em;
	text-transform: uppercase;
	color: var(--accent);
	margin: 0;
}

.case__head {
	font-family: var(--font-head);
	font-weight: 200;
	text-transform: uppercase;
	letter-spacing: .07em;
	font-size: clamp(1.5rem, 6vw, 2.8rem);
	line-height: 1.24;
	color: #FFFFFF;
	margin: .7em auto 0;
	max-width: 22ch;
}

.case__three {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1.8rem, 5vw, 3rem);
	max-width: 58rem;
	margin: clamp(2.4rem, 7vh, 3.6rem) auto 0;
}

@media (min-width: 820px) { .case__three { grid-template-columns: repeat(3, 1fr); } }

.case__n {
	font-family: var(--font-warm);
	font-style: italic;
	font-size: clamp(1.3rem, 4.4vw, 1.6rem);
	line-height: 1.3;
	color: var(--accent);
	margin: 0;
}

.case__say {
	font-family: var(--font-util);
	font-size: clamp(1.104rem, 4.08vw, 1.176rem);
	line-height: 1.9;
	color: rgba(255, 255, 255, .82);
	margin: 1em 0 0;
}

.half--pro {
	background: linear-gradient(168deg, #3A0A72 0%, #1E0440 100%);
	border-top: 2px solid #8A3BD6;
}

.half--her {
	background: linear-gradient(168deg, #7A2A9E 0%, #4E0B88 100%);
	border-top: 2px solid #F4B0C8;
}

.half--her .half__over,
.half--her .half__go { color: #F4B0C8; }
.half--pro .half__over,
.half--pro .half__go { color: #C99BF0; }

.site-nav .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (min-width: 641px) {

	.site-nav > li { position: relative; }

	.site-nav .sub-menu {
		position: absolute;
		top: 100%;
		right: 0;
		z-index: 40;
		min-width: 13.5rem;
		display: grid;
		gap: .1rem;
		padding: .7rem .2rem .8rem;
		margin-top: .55rem;
		background: var(--plate-ground);
		border: 1px solid var(--rule);
		border-radius: 3px;
		box-shadow: 0 14px 34px -18px rgba(20, 0, 40, .8);
		opacity: 0;
		visibility: hidden;
		transform: translateY(-4px);
		transition: opacity .26s ease, transform .26s ease, visibility .26s;
	}

	.site-nav > li:hover > .sub-menu,
	.site-nav > li:focus-within > .sub-menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	.site-nav .sub-menu a {
		display: block;
		padding: .42rem 1.1rem;
		opacity: .82;
	}

	.site-nav .sub-menu a:hover { opacity: 1; }

	.site-nav__roof > a::after {
		content: "\00b7";
		margin-left: .42em;
		color: var(--accent);
	}
}

@media (max-width: 640px) {

	.site-nav .sub-menu {
		display: flex;
		flex-wrap: wrap;
		gap: .5rem 1.1rem;
		width: 100%;
		padding: .35rem 0 0 1rem;
		border-left: 1px solid var(--rule);
		margin-left: .1rem;
	}

	.site-nav .sub-menu a { opacity: .68; }
}

@media (prefers-reduced-motion: reduce) {
	.site-nav .sub-menu { transition: none; }
}

body.side-her {
	--accent:      #F4B0C8;
	--accent-deep: #E38FB4;
	--accent-hot:  #F9C4D6;
	--side-band:   linear-gradient(168deg, #C25A96 0%, #8A2E96 52%, #5A0F92 100%);
	--side-edge:   #F4B0C8;
}

body.side-pro {
	--accent:      #C99BF0;
	--accent-deep: #A971E2;
	--accent-hot:  #8A3BD6;
	--side-band:   linear-gradient(168deg, #3A0A72 0%, #1E0440 100%);
	--side-edge:   #8A3BD6;
}

body.side-her .lead,
body.side-pro .lead {
	background: var(--side-band);
	border-top: 2px solid var(--side-edge);
}

body.side-her .price,
body.side-her .ask,
body.side-pro .price,
body.side-pro .ask {
	background: var(--side-band);
}

body.side-her .lead__over,
body.side-pro .lead__over,
body.side-her .price__over,
body.side-pro .price__over,
body.side-her .ask__over,
body.side-pro .ask__over { color: var(--accent); }

body.side-her .steps,
body.side-pro .steps { border-top: 1px solid var(--side-edge); }

body.side-her .step__n,
body.side-pro .step__n { color: var(--accent); }

body.side-her .lead__over { color: #F9C4D6; }

body.side-her .lead__head::after {
	content: "";
	display: block;
	width: 3.4rem;
	height: 2px;
	margin: .8em auto 0;
	background: var(--side-edge);
	border-radius: 2px;
}

body.side-her .seek__go,
body.side-her .doorway__go,
body.side-her a.more { color: #F9C4D6; border-bottom-color: #F4B0C8; }

@media (max-width: 640px) {
	.site-nav { gap: .34rem 1rem; }
	.site-nav a { font-size: .88rem; }
	.site-nav .sub-menu { padding-top: .28rem; gap: .34rem .9rem; }
}

body.side-her .two,
body.side-her .doorway,
body.side-her .free,
body.side-her .seek,
body.side-pro .two,
body.side-pro .doorway,
body.side-pro .free,
body.side-pro .seek { border-top: 1px solid var(--side-edge); }

body.side-her .two__over,
body.side-her .doorway__over,
body.side-her .free__head,
body.side-her .seek__over,
body.side-pro .two__over,
body.side-pro .doorway__over,
body.side-pro .free__head,
body.side-pro .seek__over { color: var(--accent); }

body.side-her .doorway__go,
body.side-her .two a,
body.side-pro .doorway__go,
body.side-pro .two a { color: var(--accent); }

body.side-her .doorway__card:hover,
body.side-her .doorway__card:focus-visible,
body.side-pro .doorway__card:hover,
body.side-pro .doorway__card:focus-visible { border-color: var(--side-edge); }

body.side-her .free,
body.side-pro .free { background: var(--side-band); }

html {
	background: var(--ground);
	
	min-height: 100%;
}

body {
	background: var(--ground);
	margin: 0;
	
	overflow-x: hidden;
}

body,
#main,
.site-header,
.site-footer {
	max-width: none;
	width: auto;
}

#main {
	display: block;
	background: var(--ground);
}

#main > section,
#main > figure,
#main > article,
#main > nav,
#main > form,
#main > div {
	width: auto;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

:root {
	--wp--style--global--content-size: 100%;
	--wp--style--global--wide-size: 100%;
	--sc-color-brand-primary: var(--accent, #F4B0C8);
	--sc-panel-background-color: var(--plate-ground, #2A0050);
	--sc-input-help-text-color: var(--ink-soft, rgba(255, 255, 255, .82));
}

.wp-site-blocks,
.is-layout-constrained,
.is-layout-flow {
	max-width: none;
}

body {
	padding: 0;
	background: var(--ground);
}

.site-header {
	background: linear-gradient(180deg, #5A0F9E 0%, #4B0082 100%);
	border-bottom: 1px solid rgba(222, 208, 242, .16);
}

@media (max-width: 860px) {

	.site-header {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 1rem;
	}

	.site-header__mark { display: block; order: 1; }
	.site-open { display: flex; order: 2; margin-left: auto; }
	.esm-folds .site-nav { order: 3; }
}

.bloom {
	background: linear-gradient(180deg, #500093 0%, #4B0082 54%, #3E006C 100%);
}

.cover {
	background: linear-gradient(180deg, #3E006C 0%, #4B0082 100%);
}

.case {
	background: linear-gradient(180deg, #4B0082 0%, #55008F 48%, #3E006C 100%);
}

.four {
	background: linear-gradient(180deg, #3E006C 0%, #45007A 100%);
}

.give {
	background: linear-gradient(180deg, #3E006C 0%, #4B0082 60%, #37005F 100%);
}

.sign {
	background: linear-gradient(180deg, #37005F 0%, #2C004C 100%);
}

body.home .site-header__mark { display: none; }

.mast__word img {
	width: min(78%, 430px);
}

.mast__over {
	font-size: clamp(1.06rem, 4.5vw, 1.55rem);
	line-height: 1.45;
	letter-spacing: .17em;
	text-indent: .17em;
	color: #FFFFFF;
	opacity: .94;
	max-width: 21ch;
	margin-inline: auto;
	margin-top: clamp(1rem, 3.2vh, 1.6rem);
}

.cover { padding: 0; }

@media (min-width: 720px) {
	.cover { padding: 0 clamp(12px, 2.2vw, 22px) clamp(12px, 2.2vw, 22px); }
}

@media (max-width: 719.98px) {
	.cover img { border-radius: 0; }
}

@media (min-width: 720px) {
	.mast__over { max-width: 34ch; }
}

@media (min-width: 1100px) {

	
	.cover img {
		aspect-ratio: auto;
		height: clamp(380px, 52vh, 620px);
		object-position: 50% 26%;
	}

	
	#main > .bloom {
		width: min(100% - 6rem, 62rem);
		margin-inline: auto;
		gap: 2.5rem;
	}

	
	.case__three { max-width: 66rem; gap: clamp(2rem, 4vw, 4rem); }

	
	.give__head,
	.sign__line,
	.case__over,
	.half__over,
	.footer__tag { max-width: 42ch; margin-inline: auto; }

	.half__pics { max-width: 58rem; }
}

@media (min-width: 1700px) {
	.cover img { height: clamp(460px, 48vh, 680px); }
	#main > .bloom { width: min(100% - 10rem, 68rem); }
	.case__three { max-width: 74rem; }
	.half__pics { max-width: 64rem; }
}

@media (min-width: 1100px) {

	.mast__over    { font-size: clamp(1.75rem, 1.5vw, 2.1rem); max-width: 26ch; }

	.petal__say    { font-size: 1.6rem; letter-spacing: .1em; }
	.petal__under  { font-size: 1.05rem; letter-spacing: .34em; }
	.petal__logo   { width: min(72%, 260px); }

	.case__over,
	.half__over,
	.give__eyebrow { font-size: 1rem; letter-spacing: .34em; }

	.case__n       { font-size: 1.5rem; }
	.case__say,
	.half__body,
	.give__body    { font-size: 1.3rem; line-height: 1.72; }

	.half__go,
	.give__go      { font-size: 1.2rem; }

	.sign__line    { font-size: 2rem; line-height: 1.5; }

	.site-nav a    { font-size: 1.08rem; }
	.footer__tag   { font-size: 1.15rem; }
	.footer__links { font-size: 1.05rem; }
	.footer__copy  { font-size: 1rem; }
}

@media (min-width: 1700px) {
	.mast__over    { font-size: 2.3rem; }
	.petal__say    { font-size: 1.8rem; }
	.case__say,
	.half__body,
	.give__body    { font-size: 1.4rem; }
}

.packs {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(16px, 3vw, 26px);
	padding: clamp(1rem, 3vh, 2rem) clamp(18px, 5vw, 30px) clamp(2.6rem, 7vh, 4rem);
	background: linear-gradient(180deg, #4B0082 0%, #55008F 52%, #3E006C 100%);
}

@media (min-width: 640px)  { .packs { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .packs { grid-template-columns: repeat(5, 1fr); max-width: 76rem; margin-inline: auto; } }

.pack {
	display: grid;
	align-content: center;
	gap: .5rem;
	margin: 0;
	padding: clamp(1.4rem, 4vw, 2rem) clamp(1rem, 3vw, 1.4rem);
	text-align: center;
	color: #FFFFFF;
	background: var(--door-face, linear-gradient(160deg, #5A18A6 0%, #4B0082 100%));
	border-radius: 3px;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .22),
		inset 0 -1px 0 rgba(0, 0, 0, .30),
		0 6px 14px rgba(0, 0, 0, .26);
}

.pack__say   { margin: 0; font-family: var(--font-head); font-size: clamp(.95rem, 3.2vw, 1.06rem); letter-spacing: .2em; text-indent: .2em; text-transform: uppercase; opacity: .92; }
.pack__total { margin: .2rem 0 0; font-family: var(--font-head); font-size: clamp(2rem, 7vw, 2.6rem); line-height: 1.05; font-weight: 300; }
.pack__each  { margin: 0; font-size: clamp(.95rem, 3.1vw, 1.05rem); opacity: .82; }

.pack__go {
	margin-top: .9rem;
	padding: .8rem 1rem;
	font-family: var(--font-head);
	font-size: clamp(1rem, 3.4vw, 1.1rem);
	letter-spacing: .14em;
	text-indent: .14em;
	text-transform: uppercase;
	color: #4B0082;
	background: var(--orchid, #F4B0C8);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), 0 4px 10px rgba(0, 0, 0, .22);
}

.pack__go:hover,
.pack__go:focus-visible { filter: brightness(1.06); }

@media (min-width: 1100px) {
	.pack__say  { font-size: 1.05rem; }
	.pack__each { font-size: 1.15rem; }
	.pack__go   { font-size: 1.15rem; }
}

@media (min-width: 1100px) {

	.told { padding-inline: max(3rem, calc((100% - 62rem) / 2)); }

	.told__over { font-size: 1rem; letter-spacing: .34em; }
	.told__head { font-size: clamp(2.6rem, 3vw, 3.4rem); }
	.told__say  { font-size: 1.35rem; line-height: 1.7; max-width: 52ch; }
	.told__part { font-size: 1.25rem; line-height: 1.75; max-width: 62ch; }

	#main > .packs { max-width: 82rem; margin-inline: auto; }
	.pack__go { font-size: 1rem; letter-spacing: .1em; padding: .8rem .7rem; }
}

@media (min-width: 1700px) {
	.told { padding-inline: max(4rem, calc((100% - 70rem) / 2)); }
	.told__say,
	.told__part { font-size: 1.4rem; }
}

.told__part { margin-top: clamp(1.6rem, 4vh, 2.4rem); }
.told__part + .told__part { margin-top: clamp(1.3rem, 3.2vh, 2rem); }

.pack {
	position: relative;
	overflow: hidden;
	isolation: isolate;

	
	--door-edge: #C99BF0;
	background: linear-gradient(150deg, #8A3BD6 0%, #6320B4 34%, #400C86 72%, #26054F 100%);
	transition: box-shadow .38s ease, transform .38s cubic-bezier(.22, .61, .36, 1);
}

.pack::before {
	content: "";
	position: absolute;
	top: -40%;
	bottom: -40%;
	left: -60%;
	width: 42%;
	background: linear-gradient(
		100deg,
		transparent 0%,
		color-mix(in srgb, var(--door-edge) 22%, transparent) 34%,
		rgba(255, 255, 255, .30) 50%,
		color-mix(in srgb, var(--door-edge) 22%, transparent) 66%,
		transparent 100%
	);
	transform: skewX(-14deg);
	pointer-events: none;
	z-index: -1;
	animation: esm-shimmer 16s cubic-bezier(.5, 0, .3, 1) var(--pack-when, -5s) infinite;
}

.pack::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--door-edge) 18%, transparent) 0%, transparent 60%);
	pointer-events: none;
	z-index: -1;
}

.pack:hover,
.pack:focus-within {
	transform: translateY(-2px);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .28),
		inset 0 -1px 0 rgba(0, 0, 0, .30),
		0 10px 22px rgba(0, 0, 0, .30);
}

@media (prefers-reduced-motion: reduce) {
	.pack::before { animation: none; opacity: .18; left: 30%; }
	.pack:hover,
	.pack:focus-within { transform: none; }
}

.price__go {
	display: inline-block;
	margin-top: clamp(1.6rem, 4vh, 2.2rem);
	padding: .85rem 1.6rem;
	font-family: var(--font-head);
	font-size: clamp(1rem, 3.4vw, 1.1rem);
	letter-spacing: .14em;
	text-indent: .14em;
	text-transform: uppercase;
	text-decoration: none;
	color: #4B0082;
	background: var(--orchid, #F4B0C8);
	border-radius: 999px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), 0 4px 10px rgba(0, 0, 0, .22);
	transition: filter .3s ease, transform .3s cubic-bezier(.22, .61, .36, 1);
}

.price__go:hover,
.price__go:focus-visible { filter: brightness(1.06); transform: translateY(-1px); }

@media (prefers-reduced-motion: reduce) { .price__go:hover { transform: none; } }

@media (min-width: 1100px) { .price__go { font-size: 1.15rem; padding: .95rem 2rem; } }

@media (min-width: 1100px) {
	.lead__under { max-width: 34ch; font-size: clamp(1.4rem, 1.6vw, 1.75rem); }
	.hold__body  { max-width: 46ch; font-size: 1.35rem; }
	.step__body  { font-size: 1.2rem; line-height: 1.7; }
	.step__head  { font-size: 1.35rem; }
	.price__small { font-size: 1.1rem; }
}

body.esm-hers {
	--paper:      linear-gradient(170deg, #FBE3EC 0%, #F4CADA 56%, #E9AFC7 100%);
	--ground:     #FBE3EC;
	--ink:        #3B0F66;
	--ink-soft:   rgba(59, 15, 102, .78);
	--accent:     #8A3BD6;
	--accent-deep:#6320B4;
	--rule:       rgba(59, 15, 102, .16);
	--door-ink:   #3B0F66;
}

body.esm-hers,
body.esm-hers .lead,
body.esm-hers .told,
body.esm-hers .doorway,
body.esm-hers .free,
body.esm-hers .band,
body.esm-hers .case,
body.esm-hers .give,
body.esm-hers .sign,
body.esm-hers .half,
body.esm-hers .two,
body.esm-hers #main {
	background: linear-gradient(170deg, #FBE3EC 0%, #F4CADA 56%, #E9AFC7 100%);
	color: #3B0F66;
}

body.esm-hers .told--warm { background: rgba(255, 255, 255, .42); }

body.esm-hers .lead__head,
body.esm-hers .told__head,
body.esm-hers .band__head,
body.esm-hers .case__head { font-family: var(--font-warm); font-style: italic; color: #3B0F66; }

body.esm-hers .lead__over,
body.esm-hers .told__over,
body.esm-hers .told__was,
body.esm-hers .band__eyebrow,
body.esm-hers .doorway__over { color: #8A3BD6; }

body.esm-hers .lead__under,
body.esm-hers .told__say,
body.esm-hers .told__part,
body.esm-hers .band__body,
body.esm-hers .doorway__note { color: rgba(59, 15, 102, .84); }

body.esm-hers .doorway__card,
body.esm-hers .seek {
	background: linear-gradient(150deg, #FFFFFF 0%, #FDEFF4 52%, #F4CADA 100%);
	color: #3B0F66;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 8px 20px rgba(59, 15, 102, .16);
}

body.esm-hers .doorway__go,
body.esm-hers .seek__go,
body.esm-hers .pack__go,
body.esm-hers .price__go { background: #3B0F66; color: #FBE3EC; }

body.esm-hers a { color: #6320B4; }
body.esm-hers .site-header,
body.esm-hers .site-footer { background: linear-gradient(180deg, #4B0082 0%, #3E006C 100%); color: #FFFFFF; }

body.esm-theirs {
	--paper:      linear-gradient(170deg, #241F52 0%, #1B1740 62%, #14112F 100%);
	--ground:     #1B1740;
	--ink:        #E7E3F6;
	--ink-soft:   rgba(231, 227, 246, .78);
	--accent:     #9E8FE0;
	--accent-deep:#8A3BD6;
	--rule:       rgba(231, 227, 246, .16);
}

body.esm-theirs,
body.esm-theirs .lead,
body.esm-theirs .told,
body.esm-theirs .hold,
body.esm-theirs .steps,
body.esm-theirs .price,
body.esm-theirs .give,
body.esm-theirs .ask,
body.esm-theirs .packs,
body.esm-theirs #main {
	background: linear-gradient(170deg, #241F52 0%, #1B1740 62%, #14112F 100%);
	color: #E7E3F6;
}

body.esm-theirs .told--warm { background: rgba(255, 255, 255, .045); }

body.esm-theirs .lead__head,
body.esm-theirs .told__head,
body.esm-theirs .hold__head,
body.esm-theirs .ask__head { font-family: var(--font-head); font-style: normal; letter-spacing: .01em; color: #FFFFFF; }

body.esm-theirs .lead__over,
body.esm-theirs .told__over,
body.esm-theirs .told__was,
body.esm-theirs .hold__eyebrow,
body.esm-theirs .price__over,
body.esm-theirs .give__eyebrow,
body.esm-theirs .ask__over { color: #9E8FE0; }

body.esm-theirs .lead__under,
body.esm-theirs .told__say,
body.esm-theirs .told__part,
body.esm-theirs .hold__body,
body.esm-theirs .step__body { color: rgba(231, 227, 246, .84); }

body.esm-theirs .pack,
body.esm-theirs .step { background: linear-gradient(150deg, #4A3E8E 0%, #33296B 46%, #1E1B45 100%); }
body.esm-theirs .pack { --door-edge: #9E8FE0; }

body.esm-theirs .pack__go,
body.esm-theirs .price__go,
body.esm-theirs .ask__go,
body.esm-theirs .give__go { background: #8A3BD6; color: #FFFFFF; }

body.esm-theirs a { color: #B9A9F0; }
body.esm-theirs .site-header,
body.esm-theirs .site-footer { background: linear-gradient(180deg, #241F52 0%, #14112F 100%); color: #FFFFFF; }

@media (min-width: 820px) {
	.cover {
		display: flex;
		justify-content: center;
	}

	.cover img {
		aspect-ratio: auto;
		width: 100%;
		max-width: min(100%, 1460px);
		height: auto;
		
		max-height: min(68vh, 760px);
		object-fit: contain;
		object-position: center;
	}
}

@media (min-width: 1100px) {
	.cover img { max-height: min(70vh, 800px); }
}

body.esm-hers #main > *  { background: linear-gradient(170deg, #FBE3EC 0%, #F4CADA 56%, #E9AFC7 100%); }
body.esm-theirs #main > * { background: linear-gradient(170deg, #241F52 0%, #1B1740 62%, #14112F 100%); }

body.esm-hers   #main > .told--warm { background: rgba(255, 255, 255, .42); }
body.esm-theirs #main > .told--warm { background: rgba(255, 255, 255, .045); }

body.esm-hers   #main > .four,
body.esm-hers   #main > .strip { background: #F4CADA; }
body.esm-theirs #main > .four,
body.esm-theirs #main > .strip { background: #1B1740; }

html.esm-hers   { background: #F4CADA; }
html.esm-theirs { background: #1B1740; }

.footer__mark { line-height: 0; }

.footer__mark img {
	display: block;
	width: min(58%, 250px);
	height: auto;
	margin: 0 auto;
}

@media (min-width: 1100px) { .footer__mark img { width: min(40%, 300px); } }

body.esm-hers #main .none__head,
body.esm-hers #main .none__body,
body.esm-hers #main .none__over,
body.esm-hers #main .plate__say,
body.esm-hers #main .band__body,
body.esm-hers #main .band__warm,
body.esm-hers #main .free__body,
body.esm-hers #main .seek__say,
body.esm-hers #main .doorway__note,
body.esm-hers #main .key__hint { color: rgba(59, 15, 102, .82); }

body.esm-hers #main .none__head,
body.esm-hers #main .band__head,
body.esm-hers #main .free__head,
body.esm-hers #main .seek__head,
body.esm-hers #main .doorway__ask,
body.esm-hers #main .key__field label { color: #3B0F66; }

body.esm-hers #main .find__where,
body.esm-hers #main input[type="text"],
body.esm-hers #main input[type="email"],
body.esm-hers #main input[type="password"],
body.esm-hers #main input[type="search"],
body.esm-hers #main textarea {
	color: #3B0F66;
	background: rgba(255, 255, 255, .78);
	border: 1px solid rgba(59, 15, 102, .28);
	border-radius: 3px;
}

body.esm-hers #main .find__where::placeholder,
body.esm-hers #main input::placeholder,
body.esm-hers #main textarea::placeholder { color: rgba(59, 15, 102, .55); }

body.esm-hers #main .find__where:focus,
body.esm-hers #main input:focus,
body.esm-hers #main textarea:focus {
	outline: 0;
	border-color: #8A3BD6;
	box-shadow: 0 0 0 3px rgba(138, 59, 214, .18);
}

body.esm-hers #main .find__go,
body.esm-hers #main .key__go button,
body.esm-hers #main button[type="submit"] {
	color: #FBE3EC;
	background: linear-gradient(150deg, #5F17A8 0%, #4B0082 60%, #3B0F66 100%);
	border: 0;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 6px 14px rgba(59, 15, 102, .22);
}

body.esm-hers #main .find__go:hover,
body.esm-hers #main button[type="submit"]:hover { filter: brightness(1.08); }
