/*
Theme Name: Damandine
Author: Damandine
Description: Custom block theme for the Damandine wedding website.
Version: 0.7.0
Text Domain: damandine
Requires PHP: 8.3
*/

:root {
	--damandine-ivory: #fbf8f5;
	--damandine-ink: #282126;
	--damandine-lavender: #8f76a0;
	--damandine-lavender-soft: #b9a1c3;
	--damandine-gold: #c6a66c;
	--damandine-plum: #6b5375;
	--damandine-border: rgba(143, 118, 160, 0.26);
	--damandine-serif: "Bodoni 72", Didot, "Iowan Old Style", Baskerville, "Times New Roman", serif;
	--damandine-script: "Snell Roundhand", "Segoe Script", "Brush Script MT", cursive;
}

/* Programme editorial page: deliberately isolated from every other route. */
.damandine-programme-editorial {
	--programme-ink: #292431;
	--programme-lilac: #7651a2;
	--programme-lilac-soft: #9a7ab7;
	--programme-gold: #c99b4f;
	--programme-paper: #fcf9f7;
	--programme-line: rgba(113, 82, 135, 0.18);
	background: var(--programme-paper);
	color: var(--programme-ink);
}

.damandine-programme-editorial svg {
	display: block;
	width: 1.5em;
	height: 1.5em;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.35;
}

.damandine-programme-editorial__hero {
	display: grid;
	grid-template-columns: 52% 48%;
	min-height: clamp(27rem, 34vw, 39rem);
	background: radial-gradient(circle at 25% 55%, #fffdfb 0, #f7f1f6 72%, #eee5f0 100%);
}

.damandine-programme-editorial__hero-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: clamp(3rem, 6vw, 6.5rem) clamp(2rem, 7vw, 8.5rem);
}

.damandine-programme-editorial__hero h1 {
	margin: 0 0 1.25rem;
	color: var(--programme-lilac);
	font-family: var(--damandine-serif);
	font-size: clamp(4rem, 6.25vw, 7.4rem);
	font-weight: 400;
	letter-spacing: -0.045em;
	line-height: 0.92;
	-webkit-text-fill-color: var(--programme-lilac);
	text-shadow: none;
}

.damandine-programme-editorial__hero h1 em {
	color: var(--programme-lilac);
	font-style: normal;
	-webkit-text-fill-color: var(--programme-lilac);
	text-shadow: none;
}

.damandine-programme-editorial__hero-copy > p {
	margin: 0;
	font-size: clamp(0.95rem, 1.15vw, 1.25rem);
	line-height: 1.6;
}

.damandine-programme-editorial__gold-rule {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	width: 10rem;
	margin: 0 auto 1.4rem;
}

.damandine-programme-editorial__gold-rule::before,
.damandine-programme-editorial__gold-rule::after {
	content: "";
	flex: 1;
	height: 1px;
	background: rgba(201, 155, 79, 0.62);
}

.damandine-programme-editorial__gold-rule span {
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 50%;
	background: var(--programme-gold);
}

.damandine-programme-editorial__hero-copy > .damandine-programme-editorial__gold-rule:first-child {
	margin-left: auto;
	margin-right: auto;
}

.damandine-programme-editorial__gold-rule--small {
	width: 9rem;
	margin: 1.1rem auto 1.65rem;
}

.damandine-programme-editorial__hero-meta {
	display: flex;
	align-items: center;
	gap: 1.75rem;
	width: 100%;
}

.damandine-programme-editorial__hero-meta span {
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	font-size: clamp(0.86rem, 1vw, 1.05rem);
}

.damandine-programme-editorial__hero-meta span + span {
	padding-left: 1.75rem;
	border-left: 1px solid var(--programme-line);
}

.damandine-programme-editorial__hero-meta svg {
	color: var(--programme-lilac);
}

.damandine-programme-editorial__hero figure {
	position: relative;
	min-width: 0;
	margin: 0;
	overflow: hidden;
}

.damandine-programme-editorial__hero figure::before,
.damandine-programme-editorial__hero figure::after {
	display: none;
}

.damandine-programme-editorial__hero figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 55% center;
	-webkit-mask-image:
		linear-gradient(
			90deg,
			transparent 0%,
			rgba(0, 0, 0, 0.08) 12%,
			rgba(0, 0, 0, 0.42) 34%,
			rgba(0, 0, 0, 0.82) 52%,
			#000 68%
		),
		radial-gradient(
			ellipse 132% 94% at 100% 50%,
			#000 0%,
			#000 61%,
			rgba(0, 0, 0, 0.88) 70%,
			rgba(0, 0, 0, 0.35) 84%,
			transparent 96%
		);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	-webkit-mask-composite: source-in;
	mask-image:
		linear-gradient(
			90deg,
			transparent 0%,
			rgba(0, 0, 0, 0.08) 12%,
			rgba(0, 0, 0, 0.42) 34%,
			rgba(0, 0, 0, 0.82) 52%,
			#000 68%
		),
		radial-gradient(
			ellipse 132% 94% at 100% 50%,
			#000 0%,
			#000 61%,
			rgba(0, 0, 0, 0.88) 70%,
			rgba(0, 0, 0, 0.35) 84%,
			transparent 96%
		);
	mask-repeat: no-repeat;
	mask-size: 100% 100%;
	mask-composite: intersect;
}

.damandine-programme-editorial__events {
	padding: clamp(2.25rem, 4vw, 4.3rem) max(1.25rem, calc((100vw - 88rem) / 2));
	background: #fffdfa;
}

.damandine-programme-editorial__events-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 20rem));
	justify-content: center;
	gap: clamp(1rem, 2vw, 1.8rem);
	width: min(100%, 88rem);
	margin-inline: auto;
}

.damandine-programme-editorial__event {
	padding: clamp(1.6rem, 2.4vw, 2.5rem) clamp(1rem, 2vw, 2rem);
	border: 1px solid var(--programme-line);
	border-radius: 0.75rem;
	background: rgba(255, 255, 255, 0.56);
}

.damandine-programme-editorial__event-icon {
	display: grid;
	place-items: center;
	width: 5.2rem;
	height: 5.2rem;
	margin: 0 auto 1rem;
	border: 1px solid rgba(113, 82, 135, 0.14);
	border-radius: 50%;
	background: #faf6f7;
	color: var(--programme-lilac);
	font-size: 2.25rem;
}

.damandine-programme-editorial__event h2 {
	min-height: 2.15em;
	margin: 0;
	color: var(--programme-lilac);
	font-family: inherit;
	font-size: clamp(1.25rem, 1.65vw, 1.75rem);
	font-weight: 500;
	line-height: 1.08;
	text-align: center;
}

.damandine-programme-editorial__gold-rule--card {
	width: 6.5rem;
	margin: 1.1rem auto 1rem;
}

.damandine-programme-editorial__event ul {
	display: grid;
	gap: 0.8rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.damandine-programme-editorial__event li {
	display: grid;
	grid-template-columns: 1.2rem 1fr;
	gap: 0.65rem;
	font-size: 0.88rem;
	line-height: 1.45;
}

.damandine-programme-editorial__event li span {
	color: var(--programme-lilac);
	font-size: 0.9rem;
}

.damandine-programme-editorial__timeline {
	padding: clamp(2rem, 4vw, 4rem) 1.25rem;
	background: radial-gradient(circle at 70% 50%, #fff, #faf5f4 75%);
}

.damandine-programme-editorial__timeline-inner {
	display: grid;
	grid-template-columns: minmax(15rem, 0.72fr) minmax(0, 1.65fr);
	gap: clamp(3rem, 7vw, 8rem);
	width: min(100%, 82rem);
	margin-inline: auto;
}

.damandine-programme-editorial__timeline-heading {
	position: relative;
	align-self: stretch;
	padding-top: 2rem;
	background: none;
}

.damandine-programme-editorial__timeline-heading > p,
.damandine-programme-editorial__practical > header p {
	margin: 0 0 1.5rem;
	color: var(--programme-gold);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.25em;
	text-transform: uppercase;
}

.damandine-programme-editorial__timeline-heading h2,
.damandine-programme-editorial__practical > header h2 {
	margin: 0;
	color: var(--programme-ink);
	font-family: var(--damandine-serif);
	font-size: clamp(3rem, 4.7vw, 5.35rem);
	font-weight: 400;
	line-height: 1.04;
}

.damandine-programme-editorial__gold-rule--heading {
	width: 8rem;
	margin: 1.4rem 0 0;
}

.damandine-programme-editorial__timeline-heading > p:last-child {
	margin: 0;
}

.damandine-programme-editorial__timeline-heading img {
	position: absolute;
	left: -2rem;
	bottom: -0.5rem;
	width: min(100%, 22rem);
	max-width: none;
	height: auto;
	object-fit: contain;
	opacity: 0.56;
	pointer-events: none;
}

.damandine-programme-editorial__timeline-list article {
	position: relative;
	display: grid;
	grid-template-columns: 5.2rem 1rem 3rem minmax(0, 1fr);
	align-items: center;
	gap: 1.1rem;
	min-height: 5.2rem;
	border-bottom: 1px solid var(--programme-line);
}

.damandine-programme-editorial__timeline-group + .damandine-programme-editorial__timeline-group {
	margin-top: 2rem;
}

.damandine-programme-editorial__timeline-list .damandine-programme-editorial__timeline-group-title {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 0.35rem;
	padding: 0.75rem 1rem;
	border-left: 3px solid var(--programme-gold);
	background: rgba(143, 107, 165, 0.07);
	color: var(--programme-ink);
	font-family: var(--damandine-serif);
	font-size: 1.12rem;
	font-weight: 500;
}

.damandine-programme-editorial__timeline-group-title span {
	color: var(--programme-lilac);
}

.damandine-programme-editorial__timeline-list article:last-child {
	border-bottom: 0;
}

.damandine-programme-editorial__timeline-list time {
	color: var(--programme-lilac);
	font-family: var(--damandine-serif);
	font-size: clamp(1.65rem, 2.3vw, 2.15rem);
}

.damandine-programme-editorial__timeline-dot {
	position: relative;
	z-index: 1;
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 50%;
	background: var(--programme-gold);
}

.damandine-programme-editorial__timeline-dot::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 100%;
	height: 4.7rem;
	border-left: 1px solid rgba(113, 82, 135, 0.24);
}

.damandine-programme-editorial__timeline-list article:last-child .damandine-programme-editorial__timeline-dot::after {
	display: none;
}

.damandine-programme-editorial__timeline-icon {
	display: grid;
	place-items: center;
	color: var(--programme-lilac);
	font-size: 1.55rem;
}

.damandine-programme-editorial__timeline-list h3 {
	margin: 0 0 0.15rem;
	color: var(--programme-lilac);
	font-size: 1rem;
	font-weight: 500;
}

.damandine-programme-editorial__timeline-list p {
	margin: 0;
	font-size: 0.78rem;
	line-height: 1.45;
}

.damandine-programme-editorial__practical {
	padding: clamp(2.5rem, 5vw, 5rem) 1.25rem clamp(5rem, 8vw, 8rem);
	background: #fcf9f7;
}

.damandine-programme-editorial__practical > header {
	margin-bottom: 1.5rem;
	text-align: center;
}

.damandine-programme-editorial__practical > header p {
	margin-bottom: 0.35rem;
}

.damandine-programme-editorial__practical > header h2 {
	font-size: clamp(2.9rem, 4.5vw, 4.8rem);
}

.damandine-programme-editorial__map-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
	gap: clamp(1.5rem, 4vw, 4rem);
	align-items: start;
	width: min(100%, 72rem);
	margin-inline: auto;
}

.damandine-programme-editorial__venue {
	overflow: hidden;
	border: 1px solid var(--programme-line);
	border-radius: 0.55rem;
	background: #fff;
}

.damandine-programme-editorial__venue > img {
	display: block;
	width: 100%;
	aspect-ratio: 2.2 / 1;
	object-fit: cover;
}

.damandine-programme-editorial__venue > div {
	padding: 0.85rem 1.35rem 1rem;
}

.damandine-programme-editorial__route-card .damandine-programme-editorial__route-visual {
	display: grid;
	gap: 0;
	padding: 1.4rem;
	background: linear-gradient(135deg, #f2eaf3, #fbf8f5);
}

.damandine-programme-editorial__route-stop {
	display: grid;
	grid-template-columns: 2.6rem minmax(0, 1fr);
	align-items: center;
	gap: 0.85rem;
}

.damandine-programme-editorial__route-stop > span {
	display: grid;
	place-items: center;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 50%;
	background: var(--programme-lilac);
	color: #fff;
	font-family: var(--damandine-serif);
	font-size: 1.15rem;
}

.damandine-programme-editorial__route-stop small,
.damandine-programme-editorial__route-stop strong {
	display: block;
}

.damandine-programme-editorial__route-stop small {
	margin-bottom: 0.1rem;
	color: #746d75;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.damandine-programme-editorial__route-stop strong {
	color: var(--programme-ink);
	font-family: var(--damandine-serif);
	font-size: 1.08rem;
	font-weight: 500;
}

.damandine-programme-editorial__route-line {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	min-height: 4.2rem;
	margin-left: 1.25rem;
	padding-left: 1.75rem;
	border-left: 2px dotted rgba(113, 82, 135, 0.42);
	color: var(--programme-lilac);
	font-size: 0.82rem;
}

.damandine-programme-editorial__route-card > div:last-child p + p {
	margin-top: 0.45rem;
	color: #746d75;
	font-size: 0.7rem;
}

.damandine-programme-editorial__map-button,
.damandine-programme-editorial__map-links a {
	display: inline-flex;
	align-items: center;
	margin-top: 0.75rem;
	color: var(--programme-lilac);
	font-size: 0.78rem;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
}

.damandine-programme-editorial__map-button:focus-visible,
.damandine-programme-editorial__map-links a:focus-visible {
	outline: 3px solid rgba(201, 155, 79, 0.45);
	outline-offset: 3px;
}

.damandine-programme-editorial__venue h3,
.damandine-programme-editorial__practical-list h3 {
	margin: 0 0 0.2rem;
	font-family: var(--damandine-serif);
	font-size: 1.25rem;
	font-weight: 400;
}

.damandine-programme-editorial__venue h3 {
	color: var(--programme-lilac-soft);
	font-size: 1.55rem;
}

.damandine-programme-editorial__venue p,
.damandine-programme-editorial__practical-list p,
.damandine-programme-editorial__locations p {
	margin: 0;
	font-size: 0.78rem;
	line-height: 1.55;
}

.damandine-programme-editorial__locations article {
	display: grid;
	grid-template-columns: 3.2rem minmax(0, 1fr);
	gap: 1rem;
	align-items: start;
	padding: 1rem 0;
	border-bottom: 1px solid var(--programme-line);
}

.damandine-programme-editorial__locations article:last-child {
	border-bottom: 0;
}

.damandine-programme-editorial__locations article > span {
	display: grid;
	place-items: center;
	width: 3.2rem;
	height: 3.2rem;
	border: 1px solid rgba(113, 82, 135, 0.25);
	border-radius: 50%;
	color: var(--programme-lilac);
	font-size: 1.1rem;
}

.damandine-programme-editorial__locations h3 {
	margin: 0 0 0.2rem;
	color: var(--programme-lilac);
	font-family: var(--damandine-serif);
	font-size: 1.15rem;
	font-weight: 400;
}

.damandine-programme-editorial__locations .damandine-programme-editorial__landmark {
	margin-top: 0.3rem;
	color: #6f6870;
	font-style: italic;
}

.damandine-programme-editorial__map-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem 1rem;
}

.damandine-programme-editorial__map-links a {
	margin-top: 0.45rem;
}

.damandine-programme-editorial__practical-list--cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
	gap: 1rem;
	width: min(100%, 72rem);
	margin: clamp(2rem, 4vw, 3.5rem) auto 0;
}

.damandine-programme-editorial__practical-list article {
	display: grid;
	grid-template-columns: 3.8rem 1fr;
	gap: 1.15rem;
	align-items: center;
	padding: 0.9rem 0;
	border-bottom: 1px solid var(--programme-line);
}

.damandine-programme-editorial__practical-list article:last-child {
	border-bottom: 0;
}

.damandine-programme-editorial__practical-list--cards article,
.damandine-programme-editorial__practical-list--cards article:last-child {
	align-items: start;
	padding: 1.25rem;
	border: 1px solid var(--programme-line);
	border-radius: 0.55rem;
	background: #fff;
}

.damandine-programme-editorial__practical-list article > span {
	display: grid;
	place-items: center;
	width: 3.8rem;
	height: 3.8rem;
	border: 1px solid rgba(113, 82, 135, 0.25);
	border-radius: 50%;
	color: var(--programme-lilac);
	font-size: 1.25rem;
}

.damandine-programme-editorial__cta {
	position: relative;
	min-height: clamp(14rem, 20vw, 20rem);
	margin-top: -4.5rem;
	padding: clamp(6rem, 8vw, 8rem) 1.25rem 2.8rem;
	overflow: hidden;
	background: linear-gradient(118deg, #806297 0%, #aa8abb 52%, #82649a 100%);
	color: #fff;
	text-align: center;
}

.damandine-programme-editorial__cta::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	z-index: 1;
	height: clamp(5rem, 8vw, 8rem);
	background: url("assets/images/programme-wave.svg") center top / 100% 100% no-repeat;
	pointer-events: none;
}

.damandine-programme-editorial__cta::after {
	content: "";
	position: absolute;
	left: 2rem;
	bottom: -1rem;
	width: min(22rem, 45vw);
	height: 85%;
	background: url("assets/images/floral-corner.png") left bottom / contain no-repeat;
	filter: brightness(2.2) saturate(0.5);
	opacity: 0.18;
}

.damandine-programme-editorial__cta > div {
	position: relative;
	z-index: 2;
}

.damandine-programme-editorial__cta h2 {
	margin: 0 0 0.4rem;
	color: #fff;
	font-family: var(--damandine-serif);
	font-size: clamp(2.5rem, 4.5vw, 4.6rem);
	font-weight: 400;
}

.damandine-programme-editorial__cta p {
	max-width: 40rem;
	margin: 0 auto 1rem;
	font-size: clamp(0.86rem, 1vw, 1rem);
}

.damandine-programme-editorial .damandine-programme-editorial__cta a {
	display: inline-flex;
	align-items: center;
	gap: 1.2rem;
	padding: 0.8rem 1.6rem;
	border-radius: 0.15rem;
	background: #fff;
	color: var(--programme-lilac);
	font-size: 0.82rem;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.damandine-programme-editorial .damandine-programme-editorial__cta a:hover,
.damandine-programme-editorial .damandine-programme-editorial__cta a:focus-visible {
	color: #513766;
	box-shadow: 0 0.4rem 1rem rgba(53, 33, 68, 0.18);
	transform: translateY(-2px);
}

.damandine-programme-editorial .damandine-programme-editorial__cta a:focus-visible {
	outline: 3px solid #f1dcae;
	outline-offset: 3px;
}

@media (max-width: 980px) {
	.damandine-programme-editorial__hero {
		grid-template-columns: 1fr 1fr;
	}

	.damandine-programme-editorial__hero-copy {
		padding-inline: clamp(2rem, 5vw, 4rem);
	}

	.damandine-programme-editorial__hero-meta {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.75rem;
	}

	.damandine-programme-editorial__hero-meta span + span {
		padding-left: 0;
		border-left: 0;
	}

	.damandine-programme-editorial__events-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.damandine-programme-editorial__timeline-inner {
		grid-template-columns: minmax(12rem, 0.65fr) minmax(0, 1.35fr);
		gap: 2.5rem;
	}
}

@media (max-width: 700px) {
	.damandine-programme-editorial__hero {
		grid-template-columns: 1fr;
	}

	.damandine-programme-editorial__hero figure {
		grid-row: 1;
		height: 68vw;
		min-height: 18rem;
	}

	.damandine-programme-editorial__hero figure::before,
	.damandine-programme-editorial__hero figure::after {
		display: none;
	}

	.damandine-programme-editorial__hero figure img {
		-webkit-mask-image: none;
		mask-image: none;
	}

	.damandine-programme-editorial__hero-copy {
		grid-row: 2;
		align-items: center;
		padding: 3rem 1.4rem;
		text-align: center;
	}

	.damandine-programme-editorial__hero h1 {
		font-size: clamp(3.5rem, 17vw, 5.2rem);
	}

	.damandine-programme-editorial__hero-meta {
		align-items: center;
	}

	.damandine-programme-editorial__events {
		overflow: hidden;
		padding-inline: 0;
	}

	.damandine-programme-editorial__events-grid {
		display: flex;
		gap: 1rem;
		width: auto;
		padding: 0 1.25rem 1rem;
		overflow-x: auto;
		scroll-padding-inline: 1.25rem;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}

	.damandine-programme-editorial__event {
		flex: 0 0 min(82vw, 20rem);
		scroll-snap-align: start;
	}

	.damandine-programme-editorial__timeline-inner,
	.damandine-programme-editorial__map-layout {
		grid-template-columns: 1fr;
	}

	.damandine-programme-editorial__timeline-heading {
		min-height: 24rem;
		padding-inline: 1rem;
	}

	.damandine-programme-editorial__timeline-heading img {
		left: -1rem;
		bottom: 0;
		width: min(100%, 22rem);
	}

	.damandine-programme-editorial__timeline-list article {
		grid-template-columns: 4rem 0.75rem 2.2rem minmax(0, 1fr);
		gap: 0.65rem;
		min-height: 6rem;
	}

	.damandine-programme-editorial__timeline-list .damandine-programme-editorial__timeline-group-title {
		font-size: 1rem;
	}

	.damandine-programme-editorial__timeline-dot::after {
		height: 5.5rem;
	}

	.damandine-programme-editorial__timeline-list time {
		font-size: 1.4rem;
	}

	.damandine-programme-editorial__timeline-icon {
		font-size: 1.2rem;
	}

	.damandine-programme-editorial__practical {
		padding-bottom: 6rem;
	}

	.damandine-programme-editorial__cta {
		margin-top: -4rem;
		padding-top: 6rem;
	}
}

@media (max-width: 420px) {
	.damandine-programme-editorial__timeline-list article {
		grid-template-columns: 3.5rem 0.6rem 1.8rem minmax(0, 1fr);
		gap: 0.45rem;
	}

	.damandine-programme-editorial__timeline-list h3 {
		font-size: 0.9rem;
	}

	.damandine-programme-editorial__timeline-list p {
		font-size: 0.7rem;
	}
}

/* Dress code editorial page — isolated from every other template. */
.damandine-dress-editorial main {
	background: #fffdfb;
}

.damandine-dress-editorial {
	gap: 0 !important;
	--wp--style--block-gap: 0;
}

.damandine-dress-editorial > .damandine-home-header,
.damandine-dress-editorial > #damandine-main,
.damandine-dress-editorial > #damandine-main > .damandine-dress-editorial__hero {
	margin-block: 0 !important;
}

.damandine-dress-editorial > #damandine-main {
	padding-block-start: 0 !important;
}

.damandine-dress-editorial__hero {
	display: grid;
	grid-template-columns: 49.5% 50.5%;
	height: clamp(27rem, 34vw, 39rem);
	min-height: clamp(27rem, 34vw, 39rem);
	background: #fffdfb;
}

.damandine-dress-editorial__hero > figure {
	position: relative;
	min-width: 0;
	margin: 0;
	overflow: hidden;
}

.damandine-dress-editorial__hero > figure::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	z-index: 1;
	width: clamp(7rem, 10vw, 12rem);
	background: linear-gradient(
		90deg,
		#fffdfb 0%,
		rgba(255, 253, 251, 0.96) 14%,
		rgba(255, 253, 251, 0.72) 38%,
		rgba(255, 253, 251, 0.3) 68%,
		rgba(255, 253, 251, 0) 100%
	);
	pointer-events: none;
}

.damandine-dress-editorial__hero > figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.damandine-dress-editorial__intro {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: clamp(3rem, 5vw, 5.25rem) clamp(2rem, 5vw, 5.75rem);
	text-align: center;
}

.damandine-dress-editorial__eyebrow,
.damandine-dress-editorial__palette > h2 {
	margin-bottom: 1.8rem;
	color: #8f75a1;
	font-family: inherit;
	font-size: 0.69rem;
	font-weight: 600;
	letter-spacing: 0.34em;
	text-transform: uppercase;
}

.damandine-dress-editorial__intro h1 {
	max-width: 43rem;
	margin-bottom: 2rem;
	color: #4d4056;
	font-size: clamp(4.5rem, 6.55vw, 7.25rem);
	line-height: 0.89;
	letter-spacing: -0.045em;
}

.damandine-dress-editorial__intro h1 em {
	font-weight: 400;
}

.damandine-dress-editorial__intro > p:last-child {
	max-width: 39rem;
	margin: 0;
	color: #312d32;
	font-size: clamp(0.95rem, 1.18vw, 1.2rem);
	line-height: 1.65;
}

.damandine-dress-editorial__heart-rule {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	width: min(11.8rem, 55%);
	margin-bottom: 2rem;
	color: #c9a768;
}

.damandine-dress-editorial__heart-rule::before,
.damandine-dress-editorial__heart-rule::after {
	content: "";
	flex: 1;
	height: 1px;
	background: currentColor;
}

@media (min-width: 901px) {
	.damandine-dress-editorial__intro {
		padding-block: clamp(1rem, 2vw, 2rem);
	}

	.damandine-dress-editorial__intro > .damandine-dress-editorial__eyebrow {
		margin-bottom: 0.8rem;
	}

	.damandine-dress-editorial__intro h1,
	.damandine-dress-editorial__heart-rule {
		margin-bottom: 1rem;
	}
}

.damandine-dress-editorial__heart-rule span {
	font-size: 0.95rem;
}

.damandine-dress-editorial__guidance {
	padding: clamp(2.25rem, 3.5vw, 3.75rem) 1.5rem clamp(0.5rem, 1vw, 1rem);
	background: #fff;
	text-align: center;
}

.damandine-dress-editorial__guidance p {
	max-width: 62rem;
	margin: 0 auto;
	color: #423848;
	font-size: clamp(0.95rem, 1.15vw, 1.12rem);
	line-height: 1.7;
}

.damandine-dress-editorial__guidance p + p {
	margin-top: 0.45rem;
}

.damandine-dress-editorial__guidance strong {
	color: #765b88;
	font-family: var(--damandine-serif);
	font-size: clamp(1.35rem, 1.9vw, 1.85rem);
	font-weight: 500;
}

.damandine-dress-editorial__palette {
	padding: clamp(2rem, 4vw, 3.25rem) 1.5rem 0;
	background: #fff;
	text-align: center;
}

.damandine-dress-editorial__sprig {
	height: 1.45rem;
	margin-bottom: 0.2rem;
	color: #c8a163;
	font-family: var(--damandine-serif);
	font-size: 1.55rem;
	line-height: 1;
	transform: rotate(34deg);
}

.damandine-dress-editorial__palette > h2 {
	margin-bottom: 2rem;
	font-family: inherit;
	font-size: 0.82rem;
}

.damandine-dress-editorial__swatches {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 2rem);
	width: min(100%, 110rem);
	margin: 0 auto 2rem;
}

.damandine-dress-editorial__swatches figure {
	margin: 0;
	padding: 0.42rem 0.42rem 1rem;
	border: 1px solid rgba(126, 101, 133, 0.11);
	border-radius: 0.42rem;
	background: #fffefd;
	box-shadow: 0 0.25rem 0.9rem rgba(80, 60, 82, 0.08);
}

.damandine-dress-editorial__swatches img {
	display: block;
	width: 100%;
	aspect-ratio: 1.04;
	border-radius: 0.28rem;
	object-fit: cover;
}

.damandine-dress-editorial__swatches figcaption {
	padding-top: 1rem;
	color: #2e2930;
	font-family: var(--damandine-serif);
	font-size: clamp(1rem, 1.35vw, 1.35rem);
}

.damandine-dress-editorial__palette > p {
	margin: 0 auto 1.7rem;
	max-width: 62rem;
	font-size: clamp(0.92rem, 1.15vw, 1.12rem);
	line-height: 1.65;
}

.damandine-dress-editorial__section-label {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	width: min(100%, 9rem);
	margin: 0 auto;
	color: #9a7aa8;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.28em;
	text-transform: uppercase;
}

.damandine-dress-editorial__section-label::before,
.damandine-dress-editorial__section-label::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #ded1dc;
}

.damandine-dress-editorial__inspirations {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.5rem, 2.25vw, 2.3rem);
	width: min(100% - 12.5rem, 91.75rem);
	margin-inline: auto;
	padding: 0.75rem 0 clamp(2.75rem, 5vw, 4.5rem);
	background: #fffdfb;
}

.damandine-dress-editorial__inspirations article {
	display: flex;
	min-width: 0;
	flex-direction: column;
	padding: clamp(2rem, 3vw, 2.45rem) 0.25rem 1.25rem;
	border: 1px solid #ecdfE7;
	border-radius: 0.55rem;
	background: #fffefd;
	box-shadow: 0 0.35rem 1.2rem rgba(80, 60, 82, 0.055);
	overflow: hidden;
}

.damandine-dress-editorial__card-copy {
	padding-inline: clamp(2rem, 3.7vw, 3.75rem);
}

.damandine-dress-editorial__card-copy .damandine-dress-editorial__eyebrow {
	margin-bottom: 0.55rem;
}

.damandine-dress-editorial__card-copy h2 {
	margin-bottom: 0.8rem;
	color: #4d4056;
	font-size: clamp(2.35rem, 3.25vw, 3.45rem);
	line-height: 1.05;
}

.damandine-dress-editorial__card-copy > p:last-child {
	min-height: 3.5em;
	margin-bottom: 0.8rem;
	font-size: clamp(0.88rem, 1vw, 1rem);
	line-height: 1.6;
}

.damandine-dress-carousel {
	width: 100%;
	min-width: 0;
	margin-top: auto;
	overflow: hidden;
}

.damandine-dress-carousel__viewport {
	width: 100%;
	min-width: 0;
	overflow: hidden;
	background: #fffdfb;
}

.damandine-dress-carousel__viewport:focus-visible {
	outline: 3px solid #c8acd2;
	outline-offset: -3px;
}

.damandine-dress-carousel__viewport img {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	aspect-ratio: auto;
	object-fit: contain;
}

.damandine-dress-carousel__controls {
	display: none;
}

.damandine-dress-editorial__card-note {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0;
	padding: 0.85rem 0 0;
	color: #796981;
	font-family: var(--damandine-serif);
	font-size: clamp(0.88rem, 1.15vw, 1.08rem);
	font-style: italic;
	text-align: center;
}

.damandine-dress-editorial__card-note::before,
.damandine-dress-editorial__card-note::after {
	content: "";
	flex: 1;
	min-width: 1.5rem;
	height: 1px;
	background: #e5dbe4;
}

.damandine-dress-editorial__card-note span {
	margin-right: 0.25rem;
	color: #aa8db5;
	font-size: 1.3em;
}

.damandine-dress-editorial__cta {
	position: relative;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	min-height: clamp(19rem, 20vw, 25rem);
	padding: clamp(1.75rem, 2.5vw, 3rem) clamp(10rem, 22vw, 30rem);
	overflow: hidden;
	background: #f7f2f6;
	text-align: center;
}

.damandine-dress-editorial__cta > div {
	position: relative;
	z-index: 1;
}

.damandine-dress-editorial__cta-heart {
	display: block;
	margin-bottom: 0.55rem;
	color: #a98db5;
	font-size: clamp(0.9rem, 1vw, 1.15rem);
}

.damandine-dress-editorial__cta h2 {
	margin: 0;
	color: #4d4056;
	font-size: clamp(2.5rem, 2.8vw, 4rem);
	line-height: 1.04;
}

.damandine-dress-editorial__cta-rule {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	width: min(24rem, 76%);
	margin: clamp(0.65rem, 1vw, 1rem) auto clamp(0.75rem, 1vw, 1rem);
	color: #c7afd0;
	font-size: 1rem;
	line-height: 1;
}

.damandine-dress-editorial__cta-rule::before,
.damandine-dress-editorial__cta-rule::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #d8c7dd;
}

.damandine-dress-editorial__cta-rule span {
	letter-spacing: -0.5em;
	transform: translateX(-0.25em);
}

.damandine-dress-editorial__cta p {
	max-width: 55rem;
	margin: 0 auto clamp(0.9rem, 1.35vw, 1.35rem);
	color: #665a6e;
	font-size: clamp(0.9rem, 0.9vw, 1.05rem);
	line-height: 1.55;
}

.damandine-dress-editorial .damandine-dress-editorial__cta a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 1.7rem;
	min-width: min(15rem, 100%);
	padding: clamp(0.75rem, 0.9vw, 1rem) 1.6rem;
	border: 1px solid #70527f;
	background: #765889;
	color: #fff;
	box-shadow: 0 0.65rem 1.35rem rgba(76, 52, 87, 0.2);
	font-size: clamp(0.78rem, 0.75vw, 0.9rem);
	font-weight: 700;
	letter-spacing: 0.22em;
	line-height: 1;
	text-shadow: 0 1px 1px rgba(44, 25, 52, 0.28);
	text-transform: uppercase;
	transition: background 180ms ease, transform 180ms ease;
}

.damandine-dress-editorial .damandine-dress-editorial__cta a:hover,
.damandine-dress-editorial .damandine-dress-editorial__cta a:focus-visible {
	background: #5f416f;
	color: #fff;
	transform: translateY(-2px);
}

.damandine-dress-editorial .damandine-dress-editorial__cta a:focus-visible {
	outline: 3px solid #c8acd2;
	outline-offset: 3px;
}

.damandine-dress-editorial__flower {
	position: absolute;
	z-index: 0;
	width: auto;
	height: 100%;
	object-fit: contain;
	pointer-events: none;
}

.damandine-dress-editorial__flower--left {
	top: 0;
	left: 0;
	object-position: left top;
}

.damandine-dress-editorial__flower--right {
	bottom: 0;
	right: 0;
	object-position: right bottom;
}

@media (max-width: 1180px) {
	.damandine-dress-editorial__inspirations {
		grid-template-columns: 1fr;
		width: min(100% - 3rem, 50rem);
	}

	.damandine-dress-editorial__card-copy {
		padding-inline: clamp(1rem, 6vw, 3.75rem);
	}
}

@media (max-width: 700px) {
	.damandine-dress-editorial__inspirations {
		width: min(100% - 1.5rem, 35rem);
	}

	.damandine-dress-editorial__inspirations article {
		padding-inline: 0;
	}

	.damandine-dress-carousel {
		position: relative;
		isolation: isolate;
	}

	.damandine-dress-carousel::after {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		z-index: 2;
		width: 2.8rem;
		height: calc(100% - 3rem);
		background: linear-gradient(90deg, rgba(255, 253, 251, 0), rgba(255, 253, 251, 0.88));
		pointer-events: none;
		transition: opacity 180ms ease;
	}

	.damandine-dress-carousel.is-at-end::after {
		opacity: 0;
	}

	.damandine-dress-carousel__viewport {
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-inline: contain;
		scroll-behavior: smooth;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		touch-action: pan-x pan-y;
	}

	.damandine-dress-carousel__viewport::-webkit-scrollbar {
		display: none;
	}

	.damandine-dress-carousel__viewport img {
		width: clamp(50rem, 140vw, 58rem) !important;
		max-width: none !important;
		height: auto !important;
	}

	.damandine-dress-carousel__controls {
		display: grid;
		grid-template-columns: 2.35rem minmax(0, 1fr) 2.35rem;
		align-items: center;
		gap: 0.65rem;
		padding: 0.65rem 0.75rem 0;
		color: #8d7698;
		font-size: 0.65rem;
		letter-spacing: 0.05em;
		text-align: center;
	}

	.damandine-dress-carousel__controls button {
		display: grid;
		place-items: center;
		width: 2.35rem;
		height: 2.35rem;
		padding: 0;
		border: 1px solid #d9cbd8;
		border-radius: 50%;
		background: rgba(255, 255, 255, 0.92);
		color: #735d7e;
		font-size: 1rem;
		line-height: 1;
		box-shadow: 0 0.2rem 0.65rem rgba(80, 60, 82, 0.08);
		cursor: pointer;
	}

	.damandine-dress-carousel__controls button:hover,
	.damandine-dress-carousel__controls button:focus-visible {
		border-color: #9d82a9;
		background: #f3edf4;
		outline: none;
	}

	.damandine-dress-carousel__controls button:disabled {
		opacity: 0.32;
		cursor: default;
	}
}

@media (max-width: 900px) {
	.damandine-dress-editorial__hero {
		grid-template-columns: 1fr;
		height: auto;
		min-height: 0;
	}

	.damandine-dress-editorial__hero > figure {
		grid-row: 1;
		height: min(62vw, 32rem);
	}

	.damandine-dress-editorial__hero > figure::before {
		display: none;
	}

	.damandine-dress-editorial__intro {
		grid-row: 2;
	}

	.damandine-dress-editorial__swatches {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		max-width: 48rem;
	}

	.damandine-dress-editorial__inspirations {
		grid-template-columns: 1fr;
		max-width: 35rem;
	}

	.damandine-dress-editorial__card-copy {
		padding-inline: clamp(0.75rem, 5vw, 2rem);
	}

	.damandine-dress-editorial__card-copy > p:last-child {
		min-height: 0;
	}

	.damandine-dress-editorial__cta {
		min-height: 24rem;
		padding-inline: clamp(5rem, 14vw, 8rem);
	}
}

@media (max-width: 560px) {
	.damandine-dress-editorial__hero > figure {
		height: 76vw;
	}

	.damandine-dress-editorial__intro {
		padding: 3.25rem 1.4rem;
	}

	.damandine-dress-editorial__intro h1 {
		font-size: clamp(3.4rem, 17vw, 5rem);
	}

	.damandine-dress-editorial__palette {
		padding-inline: 1rem;
	}

	.damandine-dress-editorial__swatches {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-width: 24rem;
		gap: 1rem;
	}

	.damandine-dress-editorial__inspirations {
		width: min(100% - 2rem, 35rem);
	}

	.damandine-dress-editorial__card-copy {
		padding-inline: 0.55rem;
	}

	.damandine-dress-editorial__cta {
		min-height: 25rem;
		padding: 3rem 1.25rem;
	}

	.damandine-dress-editorial__flower {
		height: 48%;
		opacity: 0.78;
	}

	.damandine-dress-editorial__cta h2 {
		font-size: clamp(2.4rem, 11vw, 3.35rem);
	}

	.damandine-dress-editorial__cta-rule {
		width: min(18rem, 72%);
	}

	.damandine-dress-editorial .damandine-dress-editorial__cta a {
		min-width: min(18rem, 88vw);
	}
}

/* Homepage only: compact dress-code preview. */
.home .damandine-home-dress--compact {
	padding-block: clamp(1.9rem, 3vw, 2.65rem);
}

.home .damandine-home-dress--compact .damandine-home-dress__copy {
	max-width: 64rem;
}

.home .damandine-home-dress--compact h2 {
	max-width: none;
	margin-bottom: 0.45rem;
	font-size: clamp(2.65rem, 4.6vw, 4.35rem);
	line-height: 1;
	white-space: nowrap;
}

.home .damandine-home-dress--compact .damandine-home-dress__lead {
	margin-bottom: 0.45rem;
	font-size: clamp(1.25rem, 2vw, 1.75rem);
}

.home .damandine-home-dress--compact .damandine-home-dress__copy > p:not(.damandine-home-kicker):not(.damandine-home-dress__lead) {
	line-height: 1.55;
}

.home .damandine-home-dress--compact .damandine-home-swatches {
	margin-top: 0.65rem;
}

.home .damandine-home-dress--compact .damandine-home-button {
	margin-top: 1.25rem;
}

@media (max-width: 620px) {
	.home .damandine-home-dress--compact h2 {
		font-size: clamp(2.15rem, 10vw, 3rem);
		white-space: normal;
	}
}

/* Homepage only: sharper programme imagery and richer stay previews. */
.home .damandine-home-programme-card__photo,
.home .damandine-home-slide > img {
	image-rendering: auto;
	object-position: center;
}

.home .damandine-home-hero__button {
	min-height: 3.2rem;
	padding: 0.9rem 1.2rem;
	font-size: clamp(0.95rem, 1.1vw, 1.05rem);
	letter-spacing: 0.045em;
}

.home .damandine-home-slider {
	border-radius: 0.3rem;
	overflow: hidden;
}

.home .damandine-home-slider__header {
	align-items: flex-start;
	min-height: 10.5rem;
	padding: 1.35rem 1.4rem 1.15rem;
}

.home .damandine-home-slider__heading {
	max-width: calc(100% - 5.5rem);
}

.home .damandine-home-slider__heading .damandine-home-kicker {
	margin-bottom: 0.35rem;
	font-size: 0.68rem;
}

.home .damandine-home-slider__heading h3 {
	margin: 0 0 0.45rem;
	font-size: clamp(1.8rem, 2.6vw, 2.45rem);
	line-height: 1;
}

.home .damandine-home-slider__heading > p:last-child {
	margin: 0;
	font-size: 0.76rem;
	line-height: 1.55;
}

.home .damandine-home-slider--stays {
	border-top: 0.25rem solid var(--damandine-plum);
}

.home .damandine-home-slider--stays .damandine-home-slider__header {
	background: linear-gradient(135deg, rgba(107, 83, 117, 0.09), rgba(255, 255, 255, 0.96));
}

.home .damandine-home-slider--stays .damandine-home-slider__heading h3 {
	color: var(--damandine-plum);
}

.home .damandine-home-slider--activities {
	border-top: 0.25rem solid var(--damandine-gold);
}

.home .damandine-home-slider--activities .damandine-home-slider__header {
	background: linear-gradient(135deg, rgba(198, 166, 108, 0.12), rgba(255, 255, 255, 0.96));
}

.home .damandine-home-slider--activities .damandine-home-slider__heading h3 {
	color: var(--damandine-lavender);
}

.home .damandine-home-slide__copy {
	padding-top: 1.15rem;
}

.home .damandine-home-slide__copy .damandine-home-slide__meta {
	margin: 0 0 0.4rem;
	color: var(--damandine-lavender);
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.35;
	text-transform: uppercase;
}

.home .damandine-home-slide__copy h4 {
	margin: 0 0 0.5rem;
	font-size: 1.8rem;
	line-height: 1.05;
}

@media (max-width: 560px) {
	.home .damandine-home-slider__header {
		min-height: 12rem;
		padding-inline: 1rem;
	}

	.home .damandine-home-slider__heading {
		max-width: calc(100% - 5rem);
	}

	.home .damandine-home-hero__button {
		min-height: 3rem;
		padding-inline: 0.65rem;
		font-size: 0.84rem;
	}
}

/* Damandine inner pages and compact homepage rhythm. */
.home .damandine-home-story__inner {
	padding-block: clamp(2.4rem, 4vw, 4rem);
}

.home .damandine-home-programme,
.home .damandine-home-stay {
	padding-block: clamp(2.75rem, 4.5vw, 4.5rem);
}

.home .damandine-home-section-heading {
	margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.home .damandine-home-dress__copy {
	padding-block: clamp(2.75rem, 5vw, 4.5rem);
}

.page .wp-site-blocks > .wp-block-shortcode {
	margin: 0;
}

.damandine-inner-page {
	background: #fbf8f5;
}

.damandine-inner-page main {
	overflow: hidden;
}

.damandine-inner-page p:empty {
	display: none;
}

.damandine-page-hero {
	position: relative;
	display: grid;
	align-items: center;
	min-height: clamp(27rem, 48vw, 38rem);
	background-color: #413640;
	background-image: var(--damandine-page-hero);
	background-position: center;
	background-size: cover;
	isolation: isolate;
}

.damandine-page-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(90deg, rgba(33, 25, 33, 0.86), rgba(39, 29, 39, 0.56) 38%, rgba(39, 29, 39, 0.08) 72%);
}

.damandine-page-hero::after {
	content: "";
	position: absolute;
	left: -2rem;
	bottom: -2.5rem;
	width: clamp(11rem, 20vw, 18rem);
	aspect-ratio: 1;
	background: url("assets/images/floral-corner.png") left bottom / contain no-repeat;
	filter: brightness(0) invert(1);
	opacity: 0.42;
	pointer-events: none;
}

.damandine-page-hero__content {
	width: min(100% - 2.5rem, 82rem);
	margin-inline: auto;
	padding-block: 4rem;
	color: #fff;
}

.damandine-page-hero h1 {
	max-width: 39rem;
	margin-bottom: 1.25rem;
	color: #fff;
	font-size: clamp(4rem, 8vw, 7.6rem);
	letter-spacing: -0.045em;
	line-height: 0.86;
}

.damandine-page-hero h1 span {
	color: #cfadd8;
	font-style: italic;
}

.damandine-page-hero .damandine-home-ornament {
	width: min(100%, 22rem);
}

.damandine-page-hero p {
	margin-bottom: 0;
	font-family: var(--damandine-serif);
	font-size: clamp(1.25rem, 2.6vw, 2rem);
}

.damandine-page-heading {
	text-align: center;
}

.damandine-page-heading h2 {
	margin-bottom: 0;
	font-size: clamp(2.25rem, 4.5vw, 4rem);
}

.damandine-page-heading .damandine-home-ornament {
	margin-inline: auto;
}

.damandine-programme-events {
	position: relative;
	padding: clamp(2.5rem, 5vw, 4.5rem) max(1.25rem, calc((100vw - 80rem) / 2));
	background: #fffdfb;
}

.damandine-programme-events__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	width: min(100%, 80rem);
	margin-inline: auto;
}

.damandine-programme-event {
	border: 1px solid var(--damandine-border);
	background: #fff;
}

.damandine-programme-event > img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1.04;
	object-fit: cover;
}

.damandine-programme-event__copy {
	position: relative;
	padding: 2.5rem 1.3rem 1.5rem;
}

.damandine-programme-event__icon {
	position: absolute;
	left: 50%;
	top: 0;
	display: grid;
	place-items: center;
	width: 3.7rem;
	height: 3.7rem;
	border: 1px solid var(--damandine-border);
	border-radius: 50%;
	background: #fffaf7;
	color: var(--damandine-lavender);
	font-family: var(--damandine-serif);
	font-size: 1.45rem;
	transform: translate(-50%, -50%);
}

.damandine-programme-event__icon img {
	width: 2.2rem;
	height: 2.2rem;
	object-fit: contain;
}

.damandine-programme-event h2 {
	min-height: 2.2em;
	margin-bottom: 1.2rem;
	color: var(--damandine-plum);
	font-size: clamp(1.45rem, 2vw, 1.9rem);
	line-height: 1.08;
	text-align: center;
}

.damandine-programme-event dl,
.damandine-programme-event dl div {
	margin: 0;
}

.damandine-programme-event dl div {
	display: grid;
	grid-template-columns: 3.4rem 1fr;
	gap: 0.5rem;
	padding-block: 0.34rem;
	font-size: 0.76rem;
	line-height: 1.45;
}

.damandine-programme-event dt {
	color: var(--damandine-lavender);
	font-weight: 700;
}

.damandine-programme-event dd {
	margin: 0;
}

.damandine-programme-timeline {
	padding: clamp(2.75rem, 5vw, 4.75rem) 1.25rem;
	background: radial-gradient(circle at center, #fffdfb, #f8f2f2);
}

.damandine-programme-timeline__list {
	width: min(100%, 46rem);
	margin: 1.5rem auto 0;
}

.damandine-programme-timeline__list article {
	display: grid;
	grid-template-columns: 5.5rem 1rem 1fr 2rem;
	align-items: center;
	gap: 1.25rem;
	min-height: 5rem;
	border-bottom: 1px solid rgba(143, 118, 160, 0.22);
}

.damandine-programme-timeline__list time {
	color: var(--damandine-lavender);
	font-family: var(--damandine-serif);
	font-size: 1.8rem;
}

.damandine-programme-timeline__dot {
	position: relative;
	width: 0.65rem;
	height: 0.65rem;
	border: 1px solid var(--damandine-gold);
	border-radius: 50%;
}

.damandine-programme-timeline__dot::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 100%;
	height: 4.45rem;
	border-left: 1px solid var(--damandine-border);
}

.damandine-programme-timeline__list article:last-child .damandine-programme-timeline__dot::after {
	display: none;
}

.damandine-programme-timeline h3 {
	margin-bottom: 0.1rem;
	color: var(--damandine-plum);
	font-size: 1.2rem;
}

.damandine-programme-timeline article p {
	margin-bottom: 0;
	font-size: 0.78rem;
}

.damandine-programme-timeline__icon {
	color: var(--damandine-lavender);
	font-size: 1.35rem;
	text-align: center;
}

.damandine-programme-practical {
	display: grid;
	grid-template-columns: 0.72fr 1.4fr 0.9fr;
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: center;
	padding: clamp(2.75rem, 5vw, 4.5rem) max(1.25rem, calc((100vw - 80rem) / 2));
	border-top: 1px solid var(--damandine-border);
	background: #fffdfb;
}

.damandine-programme-practical h2 {
	margin-bottom: 1rem;
	color: var(--damandine-plum);
	font-size: clamp(2rem, 3vw, 3rem);
}

.damandine-programme-practical p {
	font-size: 0.83rem;
	line-height: 1.65;
}

.damandine-programme-venue {
	border: 1px solid var(--damandine-border);
	background: #fff;
}

.damandine-programme-venue img {
	display: block;
	width: 100%;
	aspect-ratio: 2 / 0.9;
	object-fit: cover;
}

.damandine-programme-venue div {
	padding: 1rem 1.25rem;
}

.damandine-programme-venue h3 {
	margin-bottom: 0.25rem;
	color: var(--damandine-plum);
	font-size: 1.25rem;
}

.damandine-programme-venue p {
	margin-bottom: 0.3rem;
}

.damandine-programme-venue a {
	color: var(--damandine-lavender);
	font-size: 0.78rem;
	font-style: italic;
}

.damandine-programme-practical__list {
	display: grid;
	gap: 1.25rem;
}

.damandine-programme-practical__list article {
	display: grid;
	grid-template-columns: 2.8rem 1fr;
	gap: 0.85rem;
}

.damandine-programme-practical__icon {
	display: grid;
	place-items: center;
	width: 2.8rem;
	height: 2.8rem;
	border: 1px solid var(--damandine-border);
	border-radius: 50%;
	color: var(--damandine-lavender);
}

.damandine-programme-practical__list h3 {
	margin-bottom: 0.15rem;
	font-size: 1.1rem;
}

.damandine-programme-practical__list p {
	margin-bottom: 0;
}

.damandine-page-cta {
	position: relative;
	padding: clamp(2.6rem, 5vw, 4.5rem) 1.25rem;
	background: linear-gradient(110deg, #806a8e, #ad95b8 54%, #826c90);
	color: #fff;
	text-align: center;
	overflow: hidden;
}

.damandine-page-cta h2 {
	margin-bottom: 0.4rem;
	color: #fff;
	font-size: clamp(2.2rem, 4vw, 3.8rem);
}

.damandine-page-cta p {
	margin: 0 auto;
	max-width: 42rem;
}

.damandine-page-cta .damandine-home-button {
	position: relative;
	z-index: 1;
	margin-top: 1.25rem;
}

.damandine-story-intro {
	padding: clamp(2.5rem, 5vw, 4.5rem) 1.25rem;
	text-align: center;
}

.damandine-story-intro p {
	max-width: 48rem;
	margin: 0 auto;
	font-family: var(--damandine-serif);
	font-size: clamp(1.35rem, 2.5vw, 2rem);
	line-height: 1.5;
}

.damandine-story-intro .damandine-home-ornament {
	margin: 1.25rem auto 0;
}

.damandine-story-facts {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	width: min(100% - 2.5rem, 68rem);
	margin: 0 auto clamp(3rem, 6vw, 5rem);
	border: 1px solid var(--damandine-border);
	background: #fffdfb;
}

.damandine-story-facts > div {
	display: grid;
	align-content: center;
	gap: 0.35rem;
	min-height: 7rem;
	padding: 1.2rem;
	text-align: center;
}

.damandine-story-facts > div + div {
	border-left: 1px solid var(--damandine-border);
}

.damandine-story-facts span {
	color: var(--damandine-lavender);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.damandine-story-facts strong {
	color: var(--damandine-plum);
	font-family: var(--damandine-serif);
	font-size: 1.08rem;
	font-weight: 500;
}

@media (max-width: 700px) {
	.damandine-story-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.damandine-story-facts > div + div {
		border-left: 0;
	}

	.damandine-story-facts > div:nth-child(even) {
		border-left: 1px solid var(--damandine-border);
	}

	.damandine-story-facts > div:nth-child(n + 3) {
		border-top: 1px solid var(--damandine-border);
	}
}

.damandine-story-timeline {
	position: relative;
	width: min(100% - 2.5rem, 68rem);
	margin-inline: auto;
	padding-bottom: clamp(3rem, 6vw, 6rem);
}

.damandine-story-timeline::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 3rem;
	border-left: 1px solid var(--damandine-border);
}

.damandine-story-timeline article {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 4rem 1fr;
	align-items: center;
	gap: clamp(1.25rem, 3vw, 2.75rem);
	margin-bottom: clamp(2.25rem, 5vw, 4rem);
}

.damandine-story-timeline article figure {
	grid-column: 1;
	margin: 0;
}

.damandine-story-timeline article > div:not(.damandine-story-timeline__marker) {
	grid-column: 3;
}

.damandine-story-timeline article.is-reverse figure {
	grid-column: 3;
}

.damandine-story-timeline article.is-reverse > div:not(.damandine-story-timeline__marker) {
	grid-column: 1;
	grid-row: 1;
	text-align: right;
}

.damandine-story-timeline img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 11rem 11rem 0 0;
	object-fit: cover;
}

.damandine-story-timeline__marker {
	position: absolute;
	left: 50%;
	top: 50%;
	display: grid;
	place-items: center;
	width: 3.5rem;
	height: 3.5rem;
	border: 1px solid var(--damandine-gold);
	border-radius: 50%;
	background: #fbf8f5;
	color: var(--damandine-lavender);
	font-family: var(--damandine-serif);
	transform: translate(-50%, -50%);
}

.damandine-story-timeline h2 {
	margin-bottom: 0.7rem;
	color: var(--damandine-plum);
	font-size: clamp(2rem, 4vw, 3.5rem);
}

.damandine-story-timeline article > div > p:last-child {
	line-height: 1.75;
}

.damandine-story-quote {
	padding: clamp(2.5rem, 5vw, 4.5rem) 1.25rem;
	background: #f0e7ef;
	text-align: center;
}

.damandine-story-quote blockquote {
	margin: 0 auto 0.5rem;
	max-width: 50rem;
	color: var(--damandine-plum);
	font-family: var(--damandine-serif);
	font-size: clamp(1.6rem, 3.2vw, 2.7rem);
}

.damandine-story-quote cite {
	color: var(--damandine-lavender);
	font-style: normal;
}

.damandine-dress-freedom {
	padding: clamp(3rem, 6vw, 5.5rem) 1.25rem;
	background: #fffdfb;
	text-align: center;
}

.damandine-dress-freedom h2 {
	margin-bottom: 0.5rem;
	color: var(--damandine-plum);
	font-size: clamp(3.2rem, 7vw, 6.5rem);
}

.damandine-dress-freedom__lead {
	margin-bottom: 0.8rem;
	color: var(--damandine-lavender);
	font-family: var(--damandine-serif);
	font-size: clamp(1.5rem, 3vw, 2.4rem);
	font-style: italic;
}

.damandine-dress-freedom > p:last-child {
	max-width: 49rem;
	margin-inline: auto;
	line-height: 1.75;
}

.damandine-dress-universe-v2 {
	display: grid;
	grid-template-columns: 0.72fr 1.55fr;
	align-items: center;
	gap: clamp(2rem, 5vw, 5rem);
	padding: clamp(2.75rem, 5vw, 4.5rem) max(1.25rem, calc((100vw - 75rem) / 2));
}

.damandine-dress-universe-v2 > div {
	text-align: center;
}

.damandine-dress-universe-v2 h2,
.damandine-dress-palette-v2 h2,
.damandine-dress-inspiration h2,
.damandine-dress-no-rules h2 {
	margin-bottom: 0.8rem;
	color: var(--damandine-plum);
	font-size: clamp(2.1rem, 4vw, 3.4rem);
}

.damandine-dress-universe-v2 figure {
	margin: 0;
}

.damandine-dress-universe-v2 img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.damandine-dress-palette-v2 {
	padding: clamp(2.75rem, 5vw, 4.5rem) max(1.25rem, calc((100vw - 75rem) / 2));
	border-block: 1px solid var(--damandine-border);
	background: #fffdfb;
	text-align: center;
}

.damandine-dress-palette-v2__grid {
	display: grid;
	grid-template-columns: repeat(9, 1fr);
	gap: 1rem;
	margin: 1.8rem auto;
}

.damandine-dress-palette-v2__grid span {
	display: block;
	width: min(100%, 5.2rem);
	aspect-ratio: 1;
	margin: 0 auto 0.65rem;
	border: 3px solid rgba(255, 255, 255, 0.9);
	border-radius: 50%;
	background: var(--swatch);
	box-shadow: 0 0 0 1px rgba(80, 60, 82, 0.1);
}

.damandine-dress-palette-v2__grid small {
	font-family: var(--damandine-serif);
}

.damandine-dress-palette-v2 > p {
	margin: 0;
	color: var(--damandine-plum);
}

.damandine-dress-inspiration {
	display: grid;
	grid-template-columns: 1fr 1fr;
	width: min(100% - 2.5rem, 76rem);
	margin-inline: auto;
	padding-block: clamp(3rem, 6vw, 5.5rem);
}

.damandine-dress-inspiration article {
	padding-inline: clamp(1.25rem, 4vw, 3.5rem);
	text-align: center;
}

.damandine-dress-inspiration article + article {
	border-left: 1px solid var(--damandine-border);
}

.damandine-dress-inspiration img {
	display: block;
	width: 100%;
	margin-top: 1.5rem;
	aspect-ratio: 2 / 1;
	object-fit: cover;
}

.damandine-dress-no-rules {
	padding: clamp(2.5rem, 5vw, 4.5rem) 1.25rem;
	background: #f0e7ef;
	text-align: center;
}

.damandine-dress-no-rules__icon {
	color: var(--damandine-lavender);
	font-size: 2rem;
}

.damandine-dress-no-rules p {
	margin-bottom: 0;
}

.damandine-stay-hero-v2 {
	min-height: clamp(29rem, 50vw, 40rem);
	background-position: center 58%;
}

.damandine-stay-hero-v2::before {
	background: linear-gradient(90deg, rgba(43, 34, 47, 0.74), rgba(63, 49, 66, 0.3) 48%, rgba(43, 34, 47, 0.04) 78%);
}

.damandine-stay-page-v2 [hidden] {
	display: none !important;
}

.damandine-stay-planner-v2 {
	padding: clamp(3rem, 6vw, 5.5rem) max(1.25rem, calc((100vw - 78rem) / 2));
	background: radial-gradient(circle at top, #fffdfb, #f5eef4);
}

.damandine-stay-planner-v2 > .damandine-page-heading,
.damandine-stay-budget-v2 > .damandine-page-heading {
	max-width: 58rem;
	margin: 0 auto clamp(2rem, 4vw, 3rem);
}

.damandine-stay-profile-tabs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.8rem;
	width: min(100%, 78rem);
	margin: 0 auto 1.25rem;
}

.damandine-stay-profile-tabs button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	min-height: 4.5rem;
	padding: 0.85rem 1rem;
	border: 1px solid var(--damandine-border);
	border-radius: 0.55rem;
	background: rgba(255, 255, 255, 0.8);
	color: var(--damandine-plum);
	cursor: pointer;
	font: 700 0.85rem/1.35 Arial, sans-serif;
	transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.damandine-stay-profile-tabs button:hover,
.damandine-stay-profile-tabs button:focus-visible {
	border-color: var(--damandine-lavender);
	transform: translateY(-1px);
}

.damandine-stay-profile-tabs button[aria-selected="true"] {
	border-color: var(--damandine-plum);
	background: var(--damandine-plum);
	color: #fff;
}

.damandine-stay-profile-tabs button span {
	font-size: 1.25rem;
}

.damandine-stay-profile-panels {
	width: min(100%, 78rem);
	margin-inline: auto;
}

.damandine-stay-profile-panel {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}

.damandine-stay-profile-panel article {
	padding: clamp(1.4rem, 3vw, 2rem);
	border: 1px solid var(--damandine-border);
	border-radius: 0.55rem;
	background: #fff;
	box-shadow: 0 1rem 2.5rem rgba(70, 52, 72, 0.05);
}

.damandine-stay-profile-panel article > span {
	display: grid;
	place-items: center;
	width: 2.7rem;
	height: 2.7rem;
	margin-bottom: 0.8rem;
	border-radius: 50%;
	background: #f2eaf1;
	color: var(--damandine-lavender);
	font-size: 1.2rem;
}

.damandine-stay-profile-panel h3,
.damandine-stay-budget-v2 h3 {
	margin-bottom: 0.55rem;
	color: var(--damandine-plum);
	font-size: clamp(1.35rem, 2vw, 1.7rem);
}

.damandine-stay-profile-panel p,
.damandine-stay-budget-v2__grid p {
	margin-bottom: 0.6rem;
	font-size: 0.86rem;
	line-height: 1.7;
}

.damandine-stay-profile-panel a {
	color: var(--damandine-lavender);
	font-size: 0.76rem;
	font-weight: 700;
}

.damandine-stay-document-list {
	display: grid;
	gap: 0.65rem;
	margin: 0.85rem 0 1rem;
	padding: 0;
	list-style: none;
}

.damandine-stay-document-list li,
.damandine-stay-document-callout {
	padding: 0.75rem;
	border-left: 2px solid var(--damandine-gold);
	background: #faf6f8;
	font-size: 0.8rem;
	line-height: 1.55;
}

.damandine-stay-document-list strong {
	display: block;
	margin-bottom: 0.2rem;
	color: var(--damandine-plum);
}

.damandine-stay-planner-v2__notice {
	max-width: 68rem;
	margin: 1.2rem auto 0;
	color: #6f626c;
	font-size: 0.76rem;
	font-style: italic;
	line-height: 1.6;
	text-align: center;
}

.damandine-stay-journeys-v2 {
	padding: clamp(2.8rem, 5vw, 4.5rem) max(1.25rem, calc((100vw - 78rem) / 2));
	background: #fffdfb;
}

.damandine-stay-journeys-v2[hidden] {
	display: none;
}

.damandine-stay-journeys-v2 > .damandine-page-heading {
	max-width: 58rem;
	margin: 0 auto clamp(2rem, 4vw, 3rem);
}

.damandine-stay-journeys-v2__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	width: min(100%, 78rem);
	margin-inline: auto;
}

.damandine-stay-journeys-v2__grid article {
	display: flex;
	flex-direction: column;
	padding: clamp(1.4rem, 3vw, 2rem);
	border: 1px solid var(--damandine-border);
	border-radius: 0.55rem;
	background: #fff;
	box-shadow: 0 1rem 2.5rem rgba(70, 52, 72, 0.05);
}

.damandine-stay-journeys-v2__card-heading {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	margin-bottom: 0.85rem;
}

.damandine-stay-journeys-v2__card-heading > div:first-child {
	display: grid;
	place-items: center;
	flex: 0 0 3rem;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background: #f2eaf1;
	color: var(--damandine-lavender);
	font-size: 1.35rem;
}

.damandine-stay-journeys-v2__card-heading .damandine-home-kicker {
	margin-bottom: 0.15rem;
}

.damandine-stay-journeys-v2__card-heading h3 {
	margin-bottom: 0;
}

.damandine-stay-journeys-v2__grid article[data-stay-profile-only="international"] {
	grid-column: 1 / -1;
	width: min(100%, 48rem);
	margin-inline: auto;
}

.damandine-stay-journeys-v2 h3 {
	margin-bottom: 0.6rem;
	color: var(--damandine-plum);
	font-size: clamp(1.45rem, 2vw, 1.9rem);
}

.damandine-stay-journeys-v2__grid article > p:not(.damandine-home-kicker) {
	font-size: 0.84rem;
	line-height: 1.65;
}

.damandine-stay-journeys-v2__fare {
	margin-top: 0.5rem;
	padding: 0.75rem;
	background: #f8f3f5;
}

.damandine-stay-journeys-v2__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 1rem;
	margin-top: auto;
	padding-top: 1rem;
}

.damandine-stay-journeys-v2__links a {
	color: var(--damandine-plum);
	font-size: 0.78rem;
	font-weight: 700;
}

.damandine-stay-budget-v2 {
	padding: clamp(2.4rem, 4vw, 3.6rem) max(1.25rem, calc((100vw - 78rem) / 2));
	background: #fffdfb;
}

.damandine-stay-budget-v2 > .damandine-page-heading {
	margin-bottom: clamp(1.5rem, 3vw, 2.2rem);
}

.damandine-stay-budget-v2__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	width: min(100%, 72rem);
	margin-inline: auto;
}

.damandine-stay-budget-v2__grid article {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-content: start;
	align-items: center;
	column-gap: 0.7rem;
	padding: 1.6rem;
	border-top: 2px solid var(--damandine-gold);
	background: #f8f3f5;
}

.damandine-stay-budget-v2__grid article[data-stay-profile-only="local"] {
	grid-column: 1 / -1;
	width: min(100%, 48rem);
	margin-inline: auto;
	justify-content: center;
	text-align: center;
}

.damandine-stay-budget-v2__grid article > span {
	color: var(--damandine-lavender);
	font-size: 1.6rem;
	line-height: 1;
}

.damandine-stay-budget-v2__grid article > h3 {
	margin-bottom: 0;
}

.damandine-stay-budget-v2__grid article > p,
.damandine-stay-budget-v2__grid article > a {
	grid-column: 1 / -1;
}

.damandine-stay-budget-v2__grid article > a {
	display: inline-block;
	margin-top: 0.35rem;
	color: var(--damandine-plum);
	font-size: 0.76rem;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.damandine-stay-practical-v2 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	width: min(100% - 2.5rem, 76rem);
	margin-inline: auto;
	padding-block: clamp(2.5rem, 5vw, 4.5rem);
}

.damandine-stay-practical-v2 article {
	padding-inline: clamp(1rem, 3vw, 2.75rem);
	text-align: center;
}

.damandine-stay-page-v2[data-stay-profile="local"] .damandine-stay-practical-v2 article[data-stay-profile-only="all"] {
	grid-column: 2;
	width: min(100%, 28rem);
	margin-inline: auto;
}

.damandine-stay-practical-v2 article + article {
	border-left: 1px solid var(--damandine-border);
}

.damandine-stay-practical-v2__icon {
	display: grid;
	place-items: center;
	width: 3.6rem;
	height: 3.6rem;
	margin: 0 auto 0.8rem;
	border: 1px solid var(--damandine-border);
	border-radius: 50%;
	background: #f2eaf1;
	color: var(--damandine-lavender);
	font-size: 1.6rem;
}

.damandine-stay-practical-v2 h2 {
	margin-bottom: 0.5rem;
	color: var(--damandine-plum);
	font-size: clamp(1.35rem, 2vw, 1.8rem);
}

.damandine-stay-practical-v2 p {
	margin-bottom: 0.6rem;
	font-size: 0.85rem;
	line-height: 1.65;
}

.damandine-stay-practical-v2 a,
.damandine-stay-hotel-v2__copy a,
.damandine-stay-activities-v2 a,
.damandine-stay-venues-v2 a {
	color: var(--damandine-lavender);
	font-size: 0.78rem;
	font-weight: 700;
}

.damandine-stay-venues-v2 {
	padding: clamp(3rem, 5vw, 5rem) max(1.25rem, calc((100vw - 78rem) / 2));
	border-block: 1px solid var(--damandine-border);
	background: linear-gradient(135deg, #f7f0f5, #fffdfb);
}

.damandine-stay-venues-v2 > .damandine-page-heading { max-width: 60rem; margin: 0 auto clamp(2rem, 4vw, 3rem); }
.damandine-stay-venues-v2__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; width:min(100%,72rem); margin-inline:auto; }
.damandine-stay-venues-v2__grid article { padding:clamp(1.5rem,3vw,2.25rem); border:1px solid var(--damandine-border); border-radius:.65rem; background:rgba(255,255,255,.9); box-shadow:0 1rem 2.5rem rgba(70,52,72,.06); }
.damandine-stay-venues-v2__grid article > div { display:grid; place-items:center; width:3rem; height:3rem; margin-bottom:.8rem; border-radius:50%; background:#f1e8f0; color:var(--damandine-lavender); font-size:1.25rem; }
.damandine-stay-venues-v2__grid h3 { margin-bottom:.6rem; color:var(--damandine-plum); font-size:clamp(1.45rem,2.2vw,2rem); }
.damandine-stay-venues-v2__grid p:not(.damandine-home-kicker) { font-size:.84rem; line-height:1.65; }

.damandine-stay-hotels-v2,
.damandine-stay-activities-v2 {
	padding: clamp(3rem, 5vw, 5rem) max(1.25rem, calc((100vw - 78rem) / 2));
	background: #fffdfb;
}

.damandine-stay-hotels-v2 .damandine-page-heading,
.damandine-stay-activities-v2 .damandine-page-heading {
	max-width: 52rem;
	margin: 0 auto clamp(2rem, 4vw, 3rem);
}

.damandine-stay-hotels-v2 .damandine-page-heading > p:last-child,
.damandine-stay-activities-v2 .damandine-page-heading > p:last-child {
	line-height: 1.7;
}

.damandine-stay-hotels-v2__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
	width: min(100%, 78rem);
	margin-inline: auto;
}

.damandine-stay-negotiated-v2 { display:grid; grid-template-columns:minmax(17rem,.85fr) 1.25fr; width:min(100%,78rem); margin:0 auto clamp(3rem,5vw,4.5rem); border:1px solid rgba(198,166,108,.65); border-radius:.85rem; background:linear-gradient(135deg,#fff,#f4eaf3); box-shadow:0 1.4rem 3rem rgba(70,52,72,.1); overflow:hidden; }
.damandine-stay-negotiated-v2 > img { display:block; width:100%; height:100%; min-height:27rem; object-fit:cover; }
.damandine-stay-negotiated-v2 > div { display:flex; flex-direction:column; justify-content:center; padding:clamp(2rem,5vw,4rem); }
.damandine-stay-negotiated-v2 h3 { margin-bottom:.7rem; color:var(--damandine-plum); font-size:clamp(2.2rem,4vw,3.7rem); }
.damandine-stay-negotiated-v2 p { margin-bottom:.65rem; font-size:.88rem; line-height:1.7; }
.damandine-stay-negotiated-v2 strong { display:block; margin:.4rem 0 .9rem; color:var(--damandine-plum); font-family:var(--damandine-serif); font-size:clamp(1.3rem,2.4vw,1.8rem); font-weight:500; }
.damandine-stay-negotiated-v2__notice { padding:.85rem 1rem; border-left:3px solid var(--damandine-gold); background:rgba(255,255,255,.65); }
.damandine-stay-negotiated-v2__links,.damandine-stay-hotel-v2__links { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem 1rem; }
.damandine-stay-negotiated-v2__links .damandine-home-button { margin:0; }

.damandine-stay-neighborhoods-v2 { display:grid; grid-template-columns:1.2fr repeat(3,1fr); gap:1px; width:min(100%,78rem); margin:0 auto 2rem; border:1px solid var(--damandine-border); background:var(--damandine-border); }
.damandine-stay-neighborhoods-v2 > * { padding:1.6rem; background:#fff; }
.damandine-stay-neighborhoods-v2__heading { display:flex; flex-direction:column; justify-content:center; background:var(--damandine-plum); color:#fff; }
.damandine-stay-neighborhoods-v2__heading h3 { margin-bottom:.6rem; color:#fff; font-size:clamp(1.75rem,3vw,2.45rem); }
.damandine-stay-neighborhoods-v2 p { margin-bottom:0; font-size:.8rem; line-height:1.65; }
.damandine-stay-neighborhoods-v2 article span { color:var(--damandine-gold); font-family:var(--damandine-serif); font-size:1.4rem; }
.damandine-stay-neighborhoods-v2 h4 { margin:.35rem 0 .6rem; color:var(--damandine-plum); font-family:var(--damandine-serif); font-size:1.3rem; }

.damandine-stay-airbnb-v2 { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:1.25rem; width:min(100%,78rem); margin:0 auto clamp(3rem,5vw,4rem); padding:1.35rem 1.6rem; border:1px solid var(--damandine-border); border-radius:.65rem; background:#f8f3f5; }
.damandine-stay-airbnb-v2 > div:first-child { display:grid; place-items:center; width:3.4rem; height:3.4rem; border-radius:50%; background:#fff; color:var(--damandine-lavender); font-size:1.4rem; }
.damandine-stay-airbnb-v2 h3,.damandine-stay-airbnb-v2 p { margin:0; }
.damandine-stay-airbnb-v2 h3 { color:var(--damandine-plum); font-size:1.55rem; }
.damandine-stay-airbnb-v2 p { margin-top:.25rem; font-size:.8rem; }
.damandine-stay-search-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.55rem; }
.damandine-stay-search-links a { display:inline-flex; align-items:center; min-height:2.55rem; padding:.65rem .85rem; border:1px solid var(--damandine-lavender); border-radius:.25rem; color:var(--damandine-plum); background:#fff; font-size:.72rem; font-weight:700; text-decoration:none; white-space:nowrap; transition:background-color .2s ease,color .2s ease; }
.damandine-stay-search-links a:hover,.damandine-stay-search-links a:focus-visible { color:#fff; background:var(--damandine-lavender); }
.damandine-stay-hotels-v2__subheading { max-width:48rem; margin:0 auto 1.5rem; text-align:center; }
.damandine-stay-hotels-v2__subheading h3 { margin-bottom:.5rem; color:var(--damandine-plum); font-size:clamp(1.8rem,3vw,2.6rem); }
.damandine-stay-hotels-v2__subheading p { font-size:.84rem; }

.damandine-stay-hotels-v2__grid > article {
	border: 1px solid var(--damandine-border);
	border-radius: 0.6rem;
	background: #fff;
	box-shadow: 0 1rem 2.5rem rgba(70, 52, 72, 0.07);
	overflow: hidden;
}

.damandine-stay-hotel-v2__image {
	position: relative;
}

.damandine-stay-hotel-v2__image img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.damandine-stay-hotel-v2__image span {
	position: absolute;
	left: 0.75rem;
	top: 0.75rem;
	padding: 0.45rem 0.7rem;
	background: rgba(113, 84, 128, 0.9);
	color: #fff;
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.damandine-stay-hotel-v2__copy {
	padding: 1.35rem 1.4rem 1.5rem;
}

.damandine-stay-hotel-v2__copy h3 {
	margin-bottom: 0.55rem;
	color: var(--damandine-plum);
	font-size: clamp(1.5rem, 2.4vw, 2rem);
}

.damandine-stay-hotel-v2__copy > p:not(.damandine-stay-hotel-v2__location) {
	min-height: 4.8em;
	margin-bottom: 0.9rem;
	font-size: 0.84rem;
	line-height: 1.65;
}

.damandine-stay-hotel-v2__location { min-height:0; margin-bottom:.5rem; color:var(--damandine-lavender); font-size:.76rem; font-weight:700; }

.damandine-stay-map-v2 {
	display: grid;
	grid-template-columns: 0.75fr 1.35fr;
	align-items: stretch;
	border-block: 1px solid var(--damandine-border);
	background: #f5eff3;
}

.damandine-stay-map-v2 > div:first-child {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(2.5rem, 6vw, 5rem) max(1.5rem, calc((100vw - 78rem) / 2));
	padding-right: clamp(2rem, 5vw, 4rem);
}

.damandine-stay-map-v2 h2 {
	margin-bottom: 0.8rem;
	color: var(--damandine-plum);
	font-size: clamp(2.2rem, 4vw, 3.5rem);
}

.damandine-stay-map-v2__interactive {
	min-height: 30rem;
	background: #e9e3e8;
	z-index: 1;
}

.damandine-stay-map-v2__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.8rem;
	margin: 0.8rem 0 1rem;
}

.damandine-stay-map-v2__legend span {
	padding: 0.35rem 0.6rem;
	border: 1px solid rgba(143, 118, 160, 0.24);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.7);
	font-size: 0.72rem;
}

.damandine-stay-map-marker-shell {
	background: transparent;
	border: 0;
}

.damandine-stay-map-marker {
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	border: 2px solid #fff;
	border-radius: 50% 50% 50% 0;
	background: var(--damandine-plum);
	box-shadow: 0 0.35rem 1rem rgba(45, 31, 48, 0.28);
	color: #fff;
	font-size: 1.05rem;
	transform: rotate(-45deg);
}

.damandine-stay-map-marker--airport { background:#4d7391; }
.damandine-stay-map-marker--townhall { background:#a17d42; }
.damandine-stay-map-marker--venue { background:#8d5d78; }
.damandine-stay-map-marker--hotel { background:#72558a; }

.damandine-stay-map-marker > span {
	display: block;
	transform: rotate(45deg);
}

.damandine-stay-map-popup {
	display: grid;
	gap: 0.3rem;
	min-width: 12rem;
}

.damandine-stay-map-popup strong { color:var(--damandine-plum); font-family:var(--damandine-serif); font-size:1rem; }
.damandine-stay-map-popup span { font-size:0.78rem; line-height:1.45; }
.damandine-stay-map-popup a { color:var(--damandine-plum); font-size:0.75rem; font-weight:700; }

.damandine-stay-map-v2 .leaflet-control-attribution {
	font-size: 0.62rem;
}

.damandine-stay-map-v2__note {
	margin-bottom: 0;
	color: var(--damandine-lavender);
	font-size: 0.78rem;
	font-style: italic;
}

.damandine-stay-activities-v2 {
	background: radial-gradient(circle at top, #fffdfb, #f8f3f2);
}

.damandine-stay-activities-v2__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
	width: min(100%, 78rem);
	margin-inline: auto;
}

.damandine-stay-activities-v2__grid article {
	display: grid;
	grid-template-rows: 14rem 1fr;
	border: 1px solid var(--damandine-border);
	background: #fff;
	overflow: hidden;
}

.damandine-stay-activities-v2__grid article:last-child:nth-child(3n + 1) {
	grid-column: 2;
}

.damandine-stay-activities-v2__grid article > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.damandine-stay-activities-v2__grid article > div {
	padding: 1.3rem 1.35rem 1.45rem;
}

.damandine-stay-activities-v2__grid h3 {
	margin-bottom: 0.55rem;
	color: var(--damandine-plum);
	font-size: clamp(1.45rem, 2vw, 1.9rem);
}

.damandine-stay-activities-v2__grid article > div > p:not(.damandine-home-kicker) {
	min-height: 5.1em;
	margin-bottom: 0.8rem;
	font-size: 0.84rem;
	line-height: 1.65;
}

.damandine-stay-flavours-v2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	background: #fffdfb;
}

.damandine-stay-flavours-v2 > img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 26rem;
	object-fit: cover;
}

.damandine-stay-flavours-v2 > div {
	padding: clamp(3rem, 7vw, 6rem);
}

.damandine-stay-flavours-v2 h2 {
	margin-bottom: 0.8rem;
	color: var(--damandine-plum);
	font-size: clamp(2.5rem, 5vw, 4.5rem);
}

.damandine-stay-flavours-v2 p:last-child {
	max-width: 36rem;
	line-height: 1.75;
}

/* Compact and consistent homepage rhythm. */
.damandine-homepage p:empty {
	display: none;
}

.home .damandine-home-story__inner {
	width: min(100% - 2.5rem, 62rem);
	gap: clamp(2rem, 5vw, 4rem);
	padding-block: clamp(2rem, 3.5vw, 3rem);
}

.home .damandine-home-story__inner figure {
	max-width: 19rem;
}

.home .damandine-home-countdown {
	padding-block: clamp(1.8rem, 3vw, 2.5rem);
}

.home .damandine-home-programme,
.home .damandine-home-stay {
	padding-block: clamp(2.5rem, 3.8vw, 3.5rem);
}

.home .damandine-home-section-heading {
	margin-bottom: clamp(1.25rem, 2vw, 2rem);
}

.home .damandine-home-programme-card {
	grid-template-rows: 13.5rem 1fr;
}

.home .damandine-home-slider__track {
	min-height: 24rem;
}

.home .damandine-home-slide {
	grid-template-rows: 14rem 1fr;
}

.home .damandine-home-dress--compact {
	display: block;
	min-height: 0;
	padding: clamp(2.75rem, 4.5vw, 4rem) 1.5rem;
	background: radial-gradient(circle at 50% 20%, #f8f0f7, #eee3ee);
	text-align: center;
}

.home .damandine-home-dress--compact .damandine-home-dress__copy {
	align-items: center;
	max-width: 52rem;
	margin-inline: auto;
	padding: 0;
}

.home .damandine-home-dress--compact h2 {
	font-size: clamp(2.8rem, 5vw, 4.8rem);
}

.home .damandine-home-dress--compact .damandine-home-button {
	margin-inline: auto;
}

.home .damandine-home-rsvp {
	padding-block: clamp(2.5rem, 4vw, 3.25rem);
}

.damandine-home-footer {
	grid-template-columns: 4rem minmax(0, 1fr) 4rem;
}

.damandine-home-footer__mark {
	display: flex;
	align-items: center;
}

.damandine-home-footer__mark img {
	width: 2.4rem;
	height: auto;
}

.damandine-home-footer__text {
	font-size: 0.68rem;
	letter-spacing: 0.16em;
	text-align: center;
}

.damandine-home-footer__back {
	display: flex;
	justify-content: flex-end;
}

.damandine-home-footer__back a {
	display: grid;
	place-items: center;
	width: 2.2rem;
	height: 2.2rem;
	border: 1px solid var(--damandine-border);
	border-radius: 50%;
}

/* RSVP page. */
.damandine-rsvp-page-v2 [hidden] {
	display: none !important;
}

.damandine-rsvp-hero-v2 {
	min-height: clamp(30rem, 51vw, 40rem);
	background-position: center 35%;
}

.damandine-rsvp-form-v2 {
	padding: clamp(3rem, 5vw, 5rem) max(1.25rem, calc((100vw - 72rem) / 2));
	background: radial-gradient(circle at top, #fffdfb, #f8f3f2);
}

.damandine-rsvp-form-v2 > .damandine-page-heading {
	margin-bottom: 2rem;
}

.damandine-rsvp-form-v2__form {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.6rem;
	width: min(100%, 72rem);
	margin-inline: auto;
}

.damandine-rsvp-form-v2__column {
	display: grid;
	align-content: start;
	gap: 1.2rem;
}

.damandine-rsvp-form-v2 label,
.damandine-rsvp-form-v2 fieldset {
	margin: 0;
}

.damandine-rsvp-form-v2 label > span,
.damandine-rsvp-form-v2 legend {
	display: block;
	margin-bottom: 0.45rem;
	font-family: var(--damandine-serif);
	font-size: 1.02rem;
}

.damandine-rsvp-form-v2 label > small {
	display: block;
	margin-top: 0.4rem;
	color: #6f6670;
	font-size: 0.78rem;
	line-height: 1.45;
}

.damandine-rsvp-form-v2 input[type="text"],
.damandine-rsvp-form-v2 input[type="tel"],
.damandine-rsvp-form-v2 input[type="email"],
.damandine-rsvp-form-v2 input[type="date"],
.damandine-rsvp-form-v2 textarea,
.damandine-rsvp-form-v2 select {
	box-sizing: border-box;
	width: 100%;
	padding: 0.9rem 1rem;
	border: 1px solid var(--damandine-border);
	border-radius: 0.35rem;
	background: rgba(255, 255, 255, 0.72);
	color: var(--damandine-ink);
	font: inherit;
}

.damandine-rsvp-form-v2 input:focus,
.damandine-rsvp-form-v2 textarea:focus,
.damandine-rsvp-form-v2 select:focus {
	border-color: var(--damandine-lavender);
	outline: 2px solid rgba(143, 118, 160, 0.16);
	outline-offset: 2px;
}

.damandine-rsvp-form-v2 fieldset {
	padding: 0;
	border: 0;
}

.damandine-rsvp-radio {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	min-height: 3.25rem;
	margin-bottom: 0.55rem !important;
	padding: 0 1rem;
	border: 1px solid var(--damandine-border);
	border-radius: 0.35rem;
	background: rgba(255, 255, 255, 0.72);
}

.damandine-rsvp-radio input {
	width: 1.2rem;
	height: 1.2rem;
	accent-color: var(--damandine-lavender);
}

.damandine-rsvp-radio span {
	margin: 0 !important;
	font-family: inherit !important;
}

.damandine-rsvp-attendance-v2 {
	width: min(100%, 56rem);
	margin-inline: auto !important;
	padding: 1.5rem !important;
	border: 1px solid rgba(143, 118, 160, 0.3) !important;
	border-radius: 0.75rem;
	background: rgba(255, 255, 255, 0.72);
}

.damandine-rsvp-attendance-v2 legend {
	width: 100%;
	margin-bottom: 0.8rem;
	color: var(--damandine-plum);
	font-size: clamp(1.25rem, 2vw, 1.55rem);
	text-align: center;
}

.damandine-rsvp-attendance-v2 > div {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.8rem;
}

.damandine-rsvp-attendance-v2 .damandine-rsvp-radio {
	margin: 0 !important;
}

.damandine-rsvp-details-v2,
.damandine-rsvp-attending-v2,
.damandine-rsvp-actions-v2 {
	display: grid;
	gap: 1.5rem;
}

.damandine-rsvp-section-title {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: 0.5rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--damandine-border);
}

.damandine-rsvp-section-title > span {
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	border: 1px solid var(--damandine-gold);
	border-radius: 50%;
	color: var(--damandine-lavender);
	font-family: var(--damandine-serif);
}

.damandine-rsvp-section-title h3,
.damandine-rsvp-section-title p {
	margin: 0;
}

.damandine-rsvp-section-title h3 {
	color: var(--damandine-plum);
	font-size: clamp(1.35rem, 2vw, 1.75rem);
}

.damandine-rsvp-section-title p {
	font-size: 0.82rem;
}

.damandine-rsvp-grid-v2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.2rem 2rem;
}

.damandine-rsvp-travel-fields-v2 {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: 1fr 1fr;
	gap: 1.2rem 2rem;
	padding: 1.2rem;
	border: 1px solid rgba(143, 118, 160, 0.22);
	border-radius: 0.55rem;
	background: rgba(185, 161, 195, 0.07);
}

.damandine-rsvp-household-note-v2 {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.35rem 0.7rem;
	align-items: center;
	padding: 0.9rem 1rem;
	border-left: 3px solid var(--damandine-gold);
	background: rgba(255, 255, 255, 0.62);
	font-size: 0.86rem;
}

.damandine-rsvp-household-note-v2 strong {
	color: var(--damandine-plum);
}

.damandine-rsvp-companions-v2 {
	display: grid;
	gap: 1rem;
}

.damandine-rsvp-companion-manager {
	display: grid;
	gap: 1rem;
	padding: 1.25rem;
	border: 1px solid rgba(143, 118, 160, 0.26);
	border-radius: 0.65rem;
	background: rgba(255, 255, 255, 0.55);
}

.damandine-rsvp-companion-manager h4,
.damandine-rsvp-companion-manager p { margin: 0; }
.damandine-rsvp-companion-manager h4 { color: var(--damandine-plum); font-family: var(--damandine-serif); font-size: 1.35rem; }

.damandine-rsvp-companion-actions { display: flex; flex-wrap: wrap; gap: 0.65rem; }
.damandine-rsvp-companion-actions button,
.damandine-rsvp-companion-remove,
.damandine-rsvp-editor__toolbar button { padding: 0.6rem 0.85rem; border: 1px solid var(--damandine-border); border-radius: 0.3rem; background: #fff; color: var(--damandine-plum); cursor: pointer; }
.damandine-rsvp-companion-actions button:disabled { cursor: not-allowed; opacity: 0.45; }

.damandine-rsvp-companion-v2 {
	padding: 1.2rem !important;
	border: 1px solid var(--damandine-border) !important;
	border-radius: 0.55rem;
	background: rgba(185, 161, 195, 0.09);
}

.damandine-rsvp-companion-v2 legend {
	padding-inline: 0.5rem;
	color: var(--damandine-plum);
	font-size: 1.15rem;
}

.damandine-rsvp-companion-v2__grid {
	display: grid;
	grid-template-columns: 0.9fr 1.25fr 1fr 0.75fr auto;
	gap: 1rem;
	align-items: end;
}

.damandine-rsvp-companion-remove { align-self: end; color: #8b2535; }

.damandine-rsvp-decline-fields-v2 {
	display: grid;
	gap: 0.55rem;
	width: min(100%, 48rem);
	margin-inline: auto;
}

.damandine-rsvp-decline-message-v2 {
	display: grid;
	gap: 0.35rem;
}

.damandine-rsvp-editor { overflow: hidden; border: 1px solid var(--damandine-border); border-radius: 0.4rem; background: #fff; }
.damandine-rsvp-editor__toolbar { display: flex; gap: 0.35rem; padding: 0.5rem; border-bottom: 1px solid var(--damandine-border); background: #f7f2f6; }
.damandine-rsvp-editor__toolbar button { min-width: 2.4rem; padding: 0.35rem 0.55rem; }
.damandine-rsvp-editor__content { min-height: 9rem; padding: 1rem; text-align: left; outline: none; }
.damandine-rsvp-editor__content:focus { box-shadow: inset 0 0 0 2px rgba(143, 118, 160, 0.2); }

.damandine-rsvp-whatsapp {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 1.25rem;
	padding: 1.5rem max(1.25rem, calc((100vw - 72rem) / 2));
	background: #edf7f0;
}
.damandine-rsvp-whatsapp > div:first-child { display: grid; place-items: center; width: 3.4rem; height: 3.4rem; border-radius: 50%; background: #25d366; color: #fff; font-size: 1.5rem; }
.damandine-rsvp-whatsapp h2,
.damandine-rsvp-whatsapp p { margin: 0; }
.damandine-rsvp-whatsapp h2 { font-size: clamp(1.5rem, 3vw, 2.25rem); }

.damandine-story-access {
	display: grid;
	place-items: center;
	min-height: calc(100vh - 10rem);
	padding: clamp(4rem, 10vw, 8rem) 1.25rem;
	background: linear-gradient(135deg, #f8f2f4, #f1e8f4);
}

.damandine-story-access__card {
	width: min(100%, 34rem);
	padding: clamp(2rem, 6vw, 4rem);
	border: 1px solid var(--damandine-border);
	border-radius: 0.75rem;
	background: rgba(255, 253, 251, 0.96);
	box-shadow: 0 1.5rem 4rem rgba(75, 57, 80, 0.12);
	text-align: center;
}

.damandine-story-access__card h1 { margin-bottom: 1rem; font-size: clamp(2.5rem, 7vw, 4.5rem); }
.damandine-story-access__card form { display: grid; gap: 1rem; margin-top: 2rem; }
.damandine-story-access__card label { font-weight: 700; }
.damandine-story-access__card input[type="password"] { width: 100%; padding: 0.9rem 1rem; border: 1px solid var(--damandine-border); border-radius: 0.25rem; background: #fff; }
.damandine-story-access__error { color: #8b2535; font-weight: 700; }

.damandine-rsvp-decline-v2 {
	width: min(100%, 48rem);
	margin-inline: auto;
	padding: 1.5rem 2rem;
	border: 1px solid var(--damandine-border);
	border-radius: 0.65rem;
	background: #f0e8ef;
	text-align: center;
}

.damandine-rsvp-decline-v2 > div {
	color: var(--damandine-gold);
	font-size: 2rem;
}

.damandine-rsvp-decline-v2 h3 {
	margin: 0.25rem 0 0.5rem;
	color: var(--damandine-plum);
	font-size: clamp(1.5rem, 2.5vw, 2rem);
}

.damandine-rsvp-decline-v2 p {
	margin: 0;
}

.damandine-rsvp-decline-message-v2 {
	width: min(100%, 48rem);
	margin-inline: auto !important;
}

.damandine-rsvp-actions-v2 {
	justify-items: center;
}

.damandine-rsvp-deadline {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 3.5rem 1fr 1fr;
	align-items: center;
	gap: 1.2rem;
	margin-top: 0.6rem;
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--damandine-border);
	border-radius: 0.5rem;
	background: #f0e8ef;
}

.damandine-rsvp-deadline > div {
	display: grid;
	place-items: center;
	width: 3.2rem;
	height: 3.2rem;
	border: 1px solid var(--damandine-gold);
	border-radius: 50%;
	color: var(--damandine-lavender);
	font-size: 1.4rem;
}

.damandine-rsvp-deadline p {
	margin: 0;
	font-family: var(--damandine-serif);
}

.damandine-rsvp-deadline p + p {
	padding-left: 1.2rem;
	border-left: 1px solid var(--damandine-border);
}

.damandine-rsvp-submit-v2 {
	grid-column: 1 / -1;
	justify-self: center;
	min-width: 18rem;
	padding: 1rem 1.5rem;
	border: 0;
	background: linear-gradient(100deg, #80698e, #a489af, #80698e);
	color: #fff;
	font-family: var(--damandine-serif);
	font-size: 1.1rem;
	cursor: pointer;
}

.damandine-rsvp-submit-v2:hover,
.damandine-rsvp-submit-v2:focus-visible {
	background: var(--damandine-plum);
}

.damandine-rsvp-privacy-v2 {
	grid-column: 1 / -1;
	margin: 0;
	font-size: 0.78rem;
	text-align: center;
}

.damandine-rsvp-honeypot {
	position: absolute;
	left: -9999px;
}

.damandine-rsvp-message {
	max-width: 48rem;
	margin: 0 auto 2rem;
	padding: 1rem 1.25rem;
	border: 1px solid #7ea98b;
	background: #eef7f0;
	text-align: center;
}

.damandine-rsvp-message.is-error {
	border-color: #bd7777;
	background: #fff0f0;
}

.damandine-rsvp-gifts-v2 {
	display: grid;
	grid-template-columns: 5rem minmax(0, 48rem);
	justify-content: center;
	gap: 1.75rem;
	padding: clamp(3rem, 6vw, 5.5rem) 1.25rem;
	border-top: 1px solid var(--damandine-border);
	background: #fffdfb;
}

.damandine-rsvp-gifts-v2__icon {
	display: grid;
	place-items: center;
	width: 4.5rem;
	height: 4.5rem;
	border: 1px solid var(--damandine-gold);
	border-radius: 50%;
	color: var(--damandine-lavender);
	font-size: 2rem;
}

.damandine-rsvp-gifts-v2 .damandine-home-kicker {
	margin: 0 0 0.3rem;
}

.damandine-rsvp-gifts-v2 h2 {
	margin: 0 0 1rem;
	color: var(--damandine-plum);
	font-size: clamp(2rem, 4vw, 3.25rem);
}

.damandine-rsvp-gifts-v2 p:not(.damandine-home-kicker) {
	margin: 0 0 0.75rem;
	line-height: 1.7;
}

.damandine-rsvp-faq-v2 {
	padding: clamp(3rem, 5vw, 4.5rem) 1.25rem;
	background: linear-gradient(110deg, #a48daf, #c2aec7 52%, #9c84a9);
}

.damandine-rsvp-faq-v2 .damandine-page-heading h2,
.damandine-rsvp-faq-v2 .damandine-home-kicker {
	color: #fff;
}

.damandine-rsvp-faq-v2__list {
	width: min(100%, 64rem);
	margin: 1.5rem auto 0;
}

.damandine-rsvp-faq-v2 details {
	margin-bottom: 0.35rem;
	border: 1px solid rgba(255, 255, 255, 0.42);
	border-radius: 0.35rem;
	background: rgba(255, 253, 251, 0.96);
}

.damandine-rsvp-faq-v2 summary {
	padding: 1rem 1.25rem;
	color: var(--damandine-plum);
	font-family: var(--damandine-serif);
	font-size: 1.15rem;
	cursor: pointer;
}

.damandine-rsvp-faq-v2 details p {
	margin: 0;
	padding: 0 1.25rem 1rem;
	font-size: 0.84rem;
}

.damandine-rsvp-thanks-v2 {
	padding: clamp(2.75rem, 5vw, 4.5rem) 1.25rem;
	background: linear-gradient(110deg, #7e668c, #aa90b5 55%, #7e668c);
	color: #fff;
	text-align: center;
}

.damandine-rsvp-thanks-v2 > div:first-child {
	font-size: 2rem;
}

.damandine-rsvp-thanks-v2 h2 {
	margin-bottom: 0.4rem;
	color: #fff;
	font-size: clamp(2.5rem, 5vw, 4.5rem);
}

.damandine-rsvp-thanks-v2 p {
	max-width: 44rem;
	margin-inline: auto;
}

.damandine-rsvp-thanks-v2 .damandine-home-ornament {
	margin-inline: auto;
}

.damandine-rsvp-travel-help-v2 {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: clamp(1rem, 3vw, 2rem);
	padding: clamp(1.5rem, 3vw, 2.25rem) max(1.25rem, calc((100vw - 72rem) / 2));
	border-bottom: 1px solid var(--damandine-border);
	background: #f4edf4;
}

.damandine-rsvp-travel-help-v2 > div:first-child {
	display: grid;
	place-items: center;
	width: 3.75rem;
	height: 3.75rem;
	border-radius: 50%;
	background: #fff;
	color: var(--damandine-lavender);
	font-size: 1.55rem;
}

.damandine-rsvp-travel-help-v2 h2,
.damandine-rsvp-travel-help-v2 p {
	margin: 0;
}

.damandine-rsvp-travel-help-v2 h2 {
	color: var(--damandine-plum);
	font-size: clamp(1.65rem, 3vw, 2.3rem);
}

.damandine-rsvp-travel-help-v2 p:not(.damandine-home-kicker) {
	margin-top: 0.3rem;
	font-size: 0.86rem;
}

@media (max-width: 960px) {
	.damandine-stay-activities-v2__grid article:last-child:nth-child(3n + 1) {
		grid-column: auto;
	}
	.damandine-programme-events__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.damandine-programme-practical {
		grid-template-columns: 1fr 1.4fr;
	}

	.damandine-programme-practical__list {
		grid-column: 1 / -1;
		grid-template-columns: repeat(3, 1fr);
	}

	.damandine-dress-palette-v2__grid {
		grid-template-columns: repeat(5, 1fr);
	}

	.damandine-stay-hotels-v2__grid,
	.damandine-stay-activities-v2__grid,
	.damandine-stay-profile-panel,
	.damandine-stay-budget-v2__grid,
	.damandine-stay-neighborhoods-v2 {
		grid-template-columns: repeat(2, 1fr);
	}

	.damandine-stay-neighborhoods-v2__heading { grid-column:1 / -1; }

	.damandine-stay-profile-panel article:last-child,
	.damandine-stay-budget-v2__grid article:last-child {
		grid-column: 1 / -1;
	}

	.damandine-rsvp-form-v2__form {
		grid-template-columns: 1fr;
	}

	.damandine-rsvp-deadline,
	.damandine-rsvp-submit-v2,
	.damandine-rsvp-privacy-v2 {
		grid-column: 1;
	}
}

@media (max-width: 700px) {
	.damandine-page-hero {
		align-items: end;
		min-height: 32rem;
		background-position: 62% center;
	}

	.damandine-page-hero::before {
		background: linear-gradient(180deg, rgba(33, 25, 33, 0.05) 12%, rgba(33, 25, 33, 0.24) 45%, rgba(33, 25, 33, 0.9) 88%);
	}

	.damandine-page-hero__content {
		padding-block: 10rem 3rem;
	}

	.damandine-page-hero h1 {
		font-size: clamp(3.8rem, 17vw, 6rem);
	}

	.damandine-programme-events__grid,
	.damandine-programme-practical,
	.damandine-programme-practical__list,
	.damandine-dress-universe-v2,
	.damandine-dress-inspiration {
		grid-template-columns: 1fr;
	}

	.damandine-stay-practical-v2,
	.damandine-stay-hotels-v2__grid,
	.damandine-stay-activities-v2__grid,
	.damandine-stay-venues-v2__grid,
	.damandine-stay-profile-tabs,
	.damandine-stay-profile-panel,
	.damandine-stay-budget-v2__grid,
	.damandine-stay-neighborhoods-v2,
	.damandine-stay-map-v2,
	.damandine-stay-flavours-v2,
	.damandine-stay-negotiated-v2,
	.damandine-stay-airbnb-v2 {
		grid-template-columns: 1fr;
	}

	.damandine-stay-neighborhoods-v2__heading { grid-column:auto; }
	.damandine-stay-negotiated-v2 > img { min-height:18rem; max-height:23rem; }
	.damandine-stay-airbnb-v2 { text-align:center; }
	.damandine-stay-airbnb-v2 > div:first-child { margin-inline:auto; }
	.damandine-stay-search-links { justify-content:center; }

	.damandine-stay-profile-panel article:last-child,
	.damandine-stay-budget-v2__grid article:last-child {
		grid-column: auto;
	}

	.damandine-stay-profile-tabs button {
		justify-content: flex-start;
		min-height: 3.7rem;
	}

	.damandine-stay-practical-v2 article {
		padding-block: 1.6rem;
	}

	.damandine-stay-page-v2[data-stay-profile="local"] .damandine-stay-practical-v2 article[data-stay-profile-only="all"] {
		grid-column: 1;
	}

	.damandine-stay-practical-v2 article + article {
		border-top: 1px solid var(--damandine-border);
		border-left: 0;
	}

	.damandine-stay-hotel-v2__copy p,
	.damandine-stay-activities-v2__grid article > div > p:not(.damandine-home-kicker) {
		min-height: 0;
	}

	.damandine-stay-map-v2 > div:first-child {
		padding: 3rem 1.5rem;
		text-align: center;
	}

	.damandine-stay-map-v2__legend {
		justify-content: center;
	}

	.damandine-stay-map-v2__interactive {
		min-height: 24rem;
	}

	.damandine-stay-flavours-v2 > img {
		min-height: 20rem;
	}

	.damandine-stay-flavours-v2 > div {
		padding: 3rem 1.5rem;
		text-align: center;
	}

	.damandine-rsvp-deadline {
		grid-template-columns: 3.5rem 1fr;
	}

	.damandine-rsvp-attendance-v2 > div,
	.damandine-rsvp-grid-v2,
	.damandine-rsvp-travel-fields-v2,
	.damandine-rsvp-household-note-v2,
	.damandine-rsvp-companion-v2__grid,
	.damandine-rsvp-gifts-v2 {
		grid-template-columns: 1fr;
	}

	.damandine-rsvp-attendance-v2 {
		padding: 1rem !important;
	}

	.damandine-rsvp-gifts-v2 {
		text-align: center;
	}

	.damandine-rsvp-travel-help-v2 {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.damandine-rsvp-travel-help-v2 > div:first-child,
	.damandine-rsvp-travel-help-v2 .damandine-home-button {
		margin-inline: auto;
	}

	.damandine-rsvp-gifts-v2__icon {
		margin-inline: auto;
	}

	.damandine-rsvp-deadline p + p {
		grid-column: 1 / -1;
		padding: 1rem 0 0;
		border-top: 1px solid var(--damandine-border);
		border-left: 0;
	}

	.damandine-programme-event {
		display: grid;
		grid-template-columns: 42% 58%;
	}

	.damandine-programme-event > img {
		height: 100%;
		aspect-ratio: auto;
	}

	.damandine-programme-event__icon {
		left: 0;
		top: 1.5rem;
	}

	.damandine-programme-event h2 {
		min-height: 0;
		text-align: left;
	}

	.damandine-programme-practical__list {
		grid-column: auto;
	}

	.damandine-story-timeline::before {
		left: 1.5rem;
	}

	.damandine-story-timeline article,
	.damandine-story-timeline article.is-reverse {
		display: grid;
		grid-template-columns: 3rem 1fr;
		gap: 1rem;
		padding-left: 0;
	}

	.damandine-story-timeline article figure,
	.damandine-story-timeline article.is-reverse figure {
		grid-column: 2;
		grid-row: 1;
	}

	.damandine-story-timeline article > div:not(.damandine-story-timeline__marker),
	.damandine-story-timeline article.is-reverse > div:not(.damandine-story-timeline__marker) {
		grid-column: 2;
		grid-row: 2;
		text-align: left;
	}

	.damandine-story-timeline__marker {
		left: 1.5rem;
		top: 1.75rem;
		width: 3rem;
		height: 3rem;
	}

	.damandine-dress-universe-v2 {
		text-align: center;
	}

	.damandine-dress-palette-v2__grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.damandine-dress-inspiration article + article {
		margin-top: 3rem;
		padding-top: 3rem;
		border-top: 1px solid var(--damandine-border);
		border-left: 0;
	}
}

@media (max-width: 500px) {
	.damandine-programme-event {
		grid-template-columns: 1fr;
	}

	.damandine-programme-event > img {
		height: auto;
		aspect-ratio: 16 / 10;
	}

	.damandine-programme-event__icon {
		left: 1.3rem;
		top: 0;
	}

	.damandine-programme-timeline__list article {
		grid-template-columns: 4.25rem 0.8rem 1fr;
		gap: 0.75rem;
		padding-block: 0.75rem;
	}

	.damandine-programme-timeline__list time {
		font-size: 1.4rem;
	}

	.damandine-programme-timeline__icon {
		display: none;
	}

	.damandine-dress-palette-v2__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

html {
	scroll-behavior: smooth;
}

body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	background-color: var(--damandine-ivory);
}

body,
.wp-site-blocks {
	min-height: 100vh;
}

.wp-site-blocks {
	display: flex;
	flex-direction: column;
	overflow: clip;
}

.wp-site-blocks > *,
.wp-site-blocks > main > * {
	margin-block-start: 0;
}

.wp-site-blocks > main {
	flex: 1;
}

.damandine-site-header {
	position: relative;
	z-index: 50;
	border-bottom: 1px solid rgba(143, 118, 160, 0.16);
	box-shadow: 0 2px 20px rgba(54, 39, 59, 0.035);
}

.damandine-header-inner {
	min-height: 4.15rem;
	padding-inline: clamp(1.25rem, 4vw, 3.75rem);
}

.damandine-brand {
	gap: 0.75rem;
	flex-shrink: 0;
}

.damandine-monogram img {
	display: block;
	width: 2.55rem;
	height: 2.85rem;
	object-fit: contain;
}

.damandine-wordmark {
	font-family: var(--damandine-serif);
	font-size: clamp(1.45rem, 2vw, 2.05rem);
	letter-spacing: 0.025em;
	line-height: 1;
	white-space: nowrap;
}

.damandine-wordmark a,
.damandine-site-header .wp-block-navigation-item__content {
	text-decoration: none;
}

.damandine-site-header .wp-block-navigation__container {
	gap: clamp(1.1rem, 2.3vw, 2.25rem);
}

.damandine-site-header .wp-block-navigation-item__content {
	padding-block: 0.55rem;
	transition: color 160ms ease;
}

.damandine-site-header .wp-block-navigation-item__content:hover,
.home .damandine-site-header .wp-block-navigation-item:first-child .wp-block-navigation-item__content,
.page-template-page-notre-histoire .damandine-site-header .wp-block-navigation-item:nth-child(2) .wp-block-navigation-item__content,
.page-template-page-le-mariage .damandine-site-header .wp-block-navigation-item:nth-child(3) .wp-block-navigation-item__content,
.page-template-page-sejour .damandine-site-header .wp-block-navigation-item:nth-child(5) .wp-block-navigation-item__content,
.page-template-page-dress-code .damandine-site-header .wp-block-navigation-item:nth-child(6) .wp-block-navigation-item__content,
.page-template-page-rsvp .damandine-site-header .wp-block-navigation-item:nth-child(7) .wp-block-navigation-item__content {
	color: var(--damandine-lavender);
}

.home .damandine-site-header .wp-block-navigation-item:first-child .wp-block-navigation-item__content,
.page-template-page-notre-histoire .damandine-site-header .wp-block-navigation-item:nth-child(2) .wp-block-navigation-item__content,
.page-template-page-le-mariage .damandine-site-header .wp-block-navigation-item:nth-child(3) .wp-block-navigation-item__content,
.page-template-page-sejour .damandine-site-header .wp-block-navigation-item:nth-child(5) .wp-block-navigation-item__content,
.page-template-page-dress-code .damandine-site-header .wp-block-navigation-item:nth-child(6) .wp-block-navigation-item__content,
.page-template-page-rsvp .damandine-site-header .wp-block-navigation-item:nth-child(7) .wp-block-navigation-item__content {
	border-bottom: 2px solid var(--damandine-lavender);
}

.damandine-hero {
	min-height: clamp(35rem, 63vw, 43rem);
	background: #4b3f4a;
}

.damandine-hero .wp-block-cover__image-background {
	left: auto;
	right: 0;
	width: 69%;
	object-position: center;
}

.damandine-hero .wp-block-cover__background {
	background: linear-gradient(90deg, rgba(47, 39, 47, 0.96) 0%, rgba(56, 46, 55, 0.88) 30%, rgba(69, 56, 67, 0.36) 57%, rgba(45, 39, 46, 0.08) 100%) !important;
	opacity: 1 !important;
}

.damandine-hero .wp-block-cover__inner-container {
	width: 100%;
}

.damandine-hero-content {
	width: min(100% - 2.5rem, 80rem);
	margin-inline: auto;
	padding-block: clamp(4.5rem, 8vw, 7rem);
}

.damandine-hero-copy {
	width: min(48%, 36rem);
}

.damandine-hero-title {
	margin: 0;
	color: #fff !important;
	font-family: var(--damandine-serif) !important;
	font-size: clamp(4.5rem, 8vw, 8.8rem) !important;
	letter-spacing: -0.035em;
	line-height: 0.84 !important;
	text-wrap: balance;
}

.damandine-ampersand {
	color: #c8a1d7;
	font-style: italic;
}

.damandine-ornament-line {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 0.8rem;
	width: min(100%, 21rem);
	margin-block: 1.8rem 1rem;
	color: var(--damandine-gold);
	font-family: var(--damandine-serif);
	font-size: 1.35rem;
}

.damandine-ornament-line::before,
.damandine-ornament-line::after {
	content: "";
	height: 1px;
	background: currentColor;
}

.damandine-hero-date {
	margin: 0;
	color: #fff;
	font-family: var(--damandine-serif);
	font-size: clamp(1.7rem, 3vw, 2.55rem);
	line-height: 1.15;
}

.damandine-hero-place {
	margin-top: 0.25rem;
	color: #d4b7dc;
	font-family: var(--damandine-serif);
	font-size: clamp(1.35rem, 2.3vw, 2rem);
	font-style: italic;
}

.damandine-story-section {
	position: relative;
	background:
		radial-gradient(circle at 15% 15%, rgba(185, 161, 195, 0.08), transparent 28rem),
		var(--damandine-ivory);
}

.damandine-story-section::before {
	content: "";
	position: absolute;
	left: -2rem;
	top: 2.5rem;
	width: clamp(10rem, 18vw, 17rem);
	aspect-ratio: 1;
	background: url("assets/images/floral-corner.png") left bottom / contain no-repeat;
	opacity: 0.13;
	pointer-events: none;
}

.damandine-quote-strip {
	position: relative;
	padding: clamp(1.65rem, 3vw, 2.45rem) 1.25rem 1.2rem;
	text-align: center;
}

.damandine-quote-strip::after {
	content: "❦";
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	width: min(86%, 58rem);
	margin: 0.85rem auto 0;
	color: var(--damandine-gold);
	font-size: 1.35rem;
	background: linear-gradient(var(--damandine-gold), var(--damandine-gold)) left center / calc(50% - 1.5rem) 1px no-repeat,
		linear-gradient(var(--damandine-gold), var(--damandine-gold)) right center / calc(50% - 1.5rem) 1px no-repeat;
}

.damandine-quote-strip blockquote {
	margin: 0;
}

.damandine-quote-strip blockquote p {
	font-family: var(--damandine-serif);
	font-size: clamp(1.25rem, 2.2vw, 1.85rem);
}

.damandine-verse {
	margin-top: 0.2rem;
	color: var(--damandine-lavender);
	font-family: var(--damandine-serif);
	font-size: 1.2rem;
}

.damandine-story-inner,
.damandine-program-inner,
.damandine-feature-inner,
.damandine-rsvp-inner {
	width: min(100% - 2.5rem, 76rem);
	margin-inline: auto;
}

.damandine-story-inner {
	padding-block: clamp(2rem, 4vw, 3.75rem);
}

.damandine-story-layout {
	align-items: center !important;
	gap: clamp(2.5rem, 7vw, 6.5rem);
}

.damandine-story-photo {
	position: relative;
	max-width: 18.5rem;
	margin-inline: auto;
}

.damandine-story-photo img {
	display: block;
	width: 100%;
	aspect-ratio: 0.88;
	object-fit: cover;
	border: 1px solid var(--damandine-gold);
	border-radius: 11rem 11rem 0 0;
	box-shadow: 0 1.2rem 3rem rgba(83, 63, 87, 0.08);
}

.damandine-story-heading,
.damandine-program-heading,
.damandine-feature-heading,
.damandine-rsvp-heading {
	margin-bottom: 0.75rem;
	font-family: var(--damandine-serif) !important;
	font-size: var(--wp--preset--font-size--heading-2) !important;
}

.damandine-heading-rule {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	width: min(100%, 20rem);
	margin-block: 0.4rem 1.35rem;
	color: var(--damandine-gold);
}

.damandine-heading-rule::before,
.damandine-heading-rule::after {
	content: "";
	flex: 1;
	height: 1px;
	background: currentColor;
}

.damandine-heading-rule span {
	font-family: var(--damandine-serif);
	font-size: 1.2rem;
}

.damandine-story-signature {
	margin-top: 1.3rem;
	color: var(--damandine-lavender);
	font-family: var(--damandine-script);
	font-size: clamp(1.45rem, 2.4vw, 2rem);
}

.damandine-countdown {
	position: relative;
	padding: clamp(2rem, 4vw, 3.25rem) 1.25rem;
	background: linear-gradient(105deg, #887095, #ad95ba 58%, #887095);
	color: #fff;
	overflow: hidden;
}

.damandine-countdown::before,
.damandine-countdown::after {
	content: "";
	position: absolute;
	bottom: -4.5rem;
	width: 15rem;
	aspect-ratio: 1;
	background: url("assets/images/floral-corner.png") left bottom / contain no-repeat;
	opacity: 0.24;
	pointer-events: none;
}

.damandine-countdown::before {
	left: -3rem;
}

.damandine-countdown::after {
	right: -3rem;
	transform: scaleX(-1);
}

.damandine-countdown-title {
	margin: 0 0 0.9rem;
	color: #fff !important;
	font-family: var(--damandine-serif) !important;
	font-size: clamp(1.4rem, 2.7vw, 2.25rem);
	text-align: center;
}

.damandine-countdown-grid {
	position: relative;
	z-index: 1;
	width: min(100%, 44rem);
	margin-inline: auto;
}

.damandine-countdown-grid > .wp-block-column {
	position: relative;
	text-align: center;
}

.damandine-countdown-grid > .wp-block-column:not(:last-child)::after {
	content: "";
	position: absolute;
	right: 0;
	top: 10%;
	width: 1px;
	height: 80%;
	background: rgba(233, 211, 167, 0.82);
}

.damandine-countdown-number {
	margin: 0;
	font-family: var(--damandine-serif);
	font-size: clamp(2.55rem, 5vw, 4.25rem);
	line-height: 1;
}

.damandine-countdown-label {
	margin: 0.25rem 0 0;
	font-size: 0.75rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.damandine-program {
	padding-block: clamp(2.5rem, 5vw, 4.75rem);
	background: #fffdfb;
}

.damandine-program-grid {
	gap: 1rem;
}

.damandine-program-card {
	display: grid;
	grid-template-columns: 46% 54%;
	min-height: 16rem;
	border: 1px solid var(--damandine-border);
	background: rgba(255, 255, 255, 0.62);
	box-shadow: 0 0.75rem 2rem rgba(75, 57, 80, 0.04);
	overflow: hidden;
}

.damandine-program-card .wp-block-image {
	margin: 0;
	height: 100%;
}

.damandine-program-card .wp-block-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.damandine-program-copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: 1.35rem;
}

.damandine-program-copy h3 {
	margin: 0 0 0.8rem;
	font-family: var(--damandine-serif) !important;
	font-size: clamp(1.45rem, 2vw, 1.95rem) !important;
}

.damandine-program-date {
	margin-bottom: 0.8rem;
	color: var(--damandine-lavender);
	font-size: 0.72rem;
	font-weight: 600;
}

.damandine-program-description {
	font-size: 0.82rem;
}

.damandine-text-link {
	margin-top: auto;
	color: var(--damandine-lavender);
	font-size: 0.8rem;
	font-weight: 600;
}

.damandine-features {
	border-top: 1px solid var(--damandine-border);
	background: #f8f4f2;
}

.damandine-feature-layout {
	gap: 0 !important;
	margin: 0;
}

.damandine-feature-panel {
	min-height: 18rem;
	border-right: 1px solid var(--damandine-border);
}

.damandine-feature-panel:last-child {
	border-right: 0;
}

.damandine-feature-card {
	display: grid;
	grid-template-columns: 42% 58%;
	height: 100%;
	margin: 0;
}

.damandine-feature-card > .wp-block-image,
.damandine-feature-images {
	margin: 0;
	height: 100%;
}

.damandine-feature-images {
	display: grid;
	grid-template-columns: 64% 36%;
	gap: 0;
}

.damandine-feature-images .wp-block-image {
	margin: 0;
	height: 100%;
}

.damandine-feature-card > .wp-block-image img,
.damandine-feature-images .wp-block-image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 18rem;
	object-fit: cover;
}

.damandine-feature-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	text-align: center;
}

.damandine-feature-heading {
	color: var(--damandine-lavender) !important;
	font-size: clamp(1.7rem, 2.8vw, 2.45rem) !important;
}

.damandine-feature-copy p {
	font-size: 0.88rem;
}

.damandine-feature-copy .wp-block-buttons {
	justify-content: center;
	margin-top: 1rem;
}

.damandine-swatches {
	display: flex;
	justify-content: center;
	gap: 0.65rem;
	margin-block: 0.8rem 0.3rem;
}

.damandine-swatch {
	width: 1.75rem;
	height: 1.75rem;
	margin: 0;
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px rgba(40, 33, 38, 0.05);
}

.damandine-rsvp {
	position: relative;
	padding: clamp(2.1rem, 3.5vw, 3rem) 0;
	background: linear-gradient(108deg, #80688f, #ae96ba 55%, #80688f);
	color: #fff;
	overflow: hidden;
}

.damandine-rsvp::before,
.damandine-rsvp::after {
	content: "";
	position: absolute;
	bottom: -3.5rem;
	width: clamp(12rem, 22vw, 20rem);
	aspect-ratio: 1;
	background: url("assets/images/floral-corner.png") left bottom / contain no-repeat;
	opacity: 0.28;
	pointer-events: none;
}

.damandine-rsvp::before {
	left: -2.5rem;
}

.damandine-rsvp::after {
	right: -2.5rem;
	transform: scaleX(-1);
}

.damandine-rsvp-inner {
	position: relative;
	z-index: 1;
}

.damandine-rsvp-layout {
	align-items: center !important;
}

.damandine-rsvp-heading {
	margin-bottom: 0.25rem;
	color: #fff !important;
	font-size: clamp(2rem, 3.8vw, 3.25rem) !important;
}

.damandine-rsvp-lead {
	text-align: center;
}

.damandine-rsvp-lead .wp-block-buttons {
	justify-content: center;
}

.damandine-rsvp .wp-block-button__link {
	background: #fff;
	color: var(--damandine-lavender);
}

.damandine-rsvp-item {
	min-height: 6.5rem;
	padding-left: 1.5rem;
	border-left: 1px solid rgba(232, 213, 175, 0.72);
	text-align: center;
}

.damandine-rsvp-icon {
	margin: 0;
	color: #ead9b7;
	font-family: var(--damandine-serif);
	font-size: 2.4rem;
	line-height: 1;
}

.damandine-rsvp-item h3 {
	margin: 0.65rem 0 0.4rem;
	color: #fff !important;
	font-family: var(--damandine-serif) !important;
	font-size: 1.15rem !important;
}

.damandine-rsvp-item p:last-child {
	font-size: 0.82rem;
}

.damandine-site-footer {
	border-top: 1px solid var(--damandine-border);
	background: var(--damandine-ivory);
}

.damandine-footer-inner {
	min-height: 3.25rem;
	padding-inline: clamp(1.25rem, 4vw, 3.75rem);
}

.damandine-footer-monogram img {
	width: 2.2rem;
	height: auto;
}

.damandine-footer-copy {
	font-size: 0.75rem;
	letter-spacing: 0.18em;
	text-align: center;
	text-transform: uppercase;
}

.damandine-footer-social {
	font-size: 0.82rem;
}

.damandine-content-shell {
	width: min(100% - 2.5rem, 62rem);
	margin-inline: auto;
}

.damandine-history-hero {
	min-height: clamp(24rem, 40.3vw, 38rem) !important;
	box-sizing: border-box;
	background: #40363f;
}

.damandine-history-hero .wp-block-cover__image-background {
	left: auto;
	right: 0;
	width: 67%;
	object-position: center;
}

.damandine-history-hero .wp-block-cover__background {
	background: linear-gradient(90deg, rgba(46, 38, 46, 0.97) 0%, rgba(50, 41, 50, 0.92) 31%, rgba(58, 48, 57, 0.42) 56%, rgba(44, 38, 44, 0.04) 100%) !important;
	opacity: 1 !important;
}

.damandine-history-hero .wp-block-cover__inner-container {
	width: 100%;
}

.damandine-history-hero-inner {
	width: min(100% - 2.5rem, 76rem);
	margin-inline: auto;
	padding-block: clamp(3rem, 6vw, 5rem);
}

.damandine-history-hero-copy {
	width: min(39%, 29rem);
}

.damandine-history-title {
	margin: 0;
	color: #fff !important;
	font-family: var(--damandine-serif) !important;
	font-size: clamp(4.75rem, 8vw, 7.5rem) !important;
	letter-spacing: -0.045em;
	line-height: 0.78 !important;
}

.damandine-history-title span {
	color: #c8a1d7;
}

.damandine-history-hero .damandine-ornament-line {
	margin-block: 1.7rem 1rem;
}

.damandine-history-kicker {
	margin: 0;
	color: #fff;
	font-family: var(--damandine-serif);
	font-size: clamp(1.4rem, 2.35vw, 2.05rem);
	font-style: italic;
	line-height: 1.25;
}

.damandine-history-story {
	position: relative;
	padding-bottom: clamp(2rem, 5vw, 4.5rem);
	background:
		radial-gradient(circle at 18% 9%, rgba(185, 161, 195, 0.08), transparent 24rem),
		var(--damandine-ivory);
	overflow: hidden;
}

.damandine-history-story::before,
.damandine-history-story::after {
	content: "";
	position: absolute;
	top: -2.5rem;
	width: clamp(10rem, 17vw, 16rem);
	aspect-ratio: 1;
	background: url("assets/images/floral-corner.png") left bottom / contain no-repeat;
	opacity: 0.12;
	pointer-events: none;
}

.damandine-history-story::before {
	left: -3rem;
}

.damandine-history-story::after {
	right: -3rem;
	transform: scaleX(-1);
}

.damandine-history-intro {
	position: relative;
	z-index: 1;
	padding: 1.25rem 1.25rem 0;
	text-align: center;
}

.damandine-history-intro > p:first-child {
	margin: 0;
	font-family: var(--damandine-serif);
	font-size: clamp(1.25rem, 2vw, 1.75rem);
	line-height: 1.35;
}

.damandine-history-intro .damandine-ornament-line {
	width: min(82%, 12rem);
	margin: 0.9rem auto 1rem;
}

.damandine-history-timeline {
	position: relative;
	z-index: 1;
	width: min(100% - 3rem, 46.5rem);
	margin-inline: auto;
	padding-top: 0.25rem;
}

.damandine-history-timeline::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0.75rem;
	width: 1px;
	background: rgba(198, 166, 108, 0.72);
	transform: translateX(-50%);
}

.damandine-history-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 3.5rem minmax(0, 1fr);
	align-items: center;
	gap: 0.75rem;
	min-height: 10.5rem;
	margin: 0 !important;
}

.damandine-history-photo {
	grid-column: 1;
	margin: 0;
}

.damandine-history-photo img {
	display: block;
	width: 100%;
	aspect-ratio: 2.05 / 1;
	object-fit: cover;
	border-radius: 0.75rem;
	box-shadow: 0 0.8rem 2rem rgba(67, 50, 72, 0.07);
}

.damandine-history-marker {
	position: relative;
	z-index: 2;
	display: grid;
	grid-column: 2;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	margin: 0 auto;
	border: 1px solid rgba(198, 166, 108, 0.78);
	border-radius: 50%;
	background: var(--damandine-ivory);
	color: var(--damandine-lavender);
	font-family: var(--damandine-serif);
	font-size: 1.08rem;
	line-height: 1;
}

.damandine-history-copy {
	grid-column: 3;
	margin: 0;
}

.damandine-history-copy h2 {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0 0 0.9rem;
	color: var(--damandine-lavender) !important;
	font-family: var(--damandine-serif) !important;
	font-size: clamp(1.7rem, 2.65vw, 2.2rem) !important;
	line-height: 1.05 !important;
}

.damandine-history-copy h2::after {
	content: "❦";
	color: var(--damandine-gold);
	font-size: 1.25rem;
}

.damandine-history-copy p {
	margin: 0;
	font-size: clamp(0.78rem, 1vw, 0.9rem);
	line-height: 1.65;
}

.damandine-history-item.is-reverse .damandine-history-photo {
	grid-column: 3;
}

.damandine-history-item.is-reverse .damandine-history-copy {
	grid-column: 1;
	grid-row: 1;
	padding-left: clamp(1rem, 4vw, 3.5rem);
}

.damandine-history-quote {
	position: relative;
	padding: 1.45rem 1.25rem;
	background: linear-gradient(105deg, #897497, #ad97b7 52%, #887294);
	color: #fff;
	text-align: center;
	overflow: hidden;
}

.damandine-history-quote::before,
.damandine-history-quote::after {
	content: "";
	position: absolute;
	bottom: -4.6rem;
	width: clamp(12rem, 22vw, 19rem);
	aspect-ratio: 1;
	background: url("assets/images/floral-corner.png") left bottom / contain no-repeat;
	opacity: 0.22;
	pointer-events: none;
}

.damandine-history-quote::before {
	left: -2rem;
}

.damandine-history-quote::after {
	right: -2rem;
	transform: scaleX(-1);
}

.damandine-history-quote blockquote {
	position: relative;
	z-index: 1;
	margin: 0;
	border: 0;
}

.damandine-history-quote blockquote p {
	margin: 0;
	color: #fff;
	font-family: var(--damandine-serif);
	font-size: clamp(1.55rem, 3vw, 2.45rem);
	font-style: italic;
	line-height: 1.18;
}

.damandine-history-quote > p {
	position: relative;
	z-index: 1;
	margin: 0.25rem 0 0;
	font-family: var(--damandine-serif);
	font-size: 0.95rem;
}

.damandine-history-next {
	position: relative;
	padding: 0.65rem 1.25rem 1.15rem;
	background: var(--damandine-ivory);
	text-align: center;
	overflow: hidden;
	--wp--style--block-gap: 0.35rem;
}

.damandine-history-next::before,
.damandine-history-next::after {
	content: "";
	position: absolute;
	bottom: -5rem;
	width: clamp(11rem, 18vw, 16rem);
	aspect-ratio: 1;
	background: url("assets/images/floral-corner.png") left bottom / contain no-repeat;
	opacity: 0.1;
	pointer-events: none;
}

.damandine-history-next::before {
	left: -2rem;
}

.damandine-history-next::after {
	right: -2rem;
	transform: scaleX(-1);
}

.damandine-history-next .damandine-ornament-line {
	width: 9rem;
	margin: 0 auto 0.4rem;
}

.damandine-history-next h2 {
	margin: 0;
	color: var(--damandine-lavender) !important;
	font-family: var(--damandine-serif) !important;
	font-size: clamp(1.8rem, 3vw, 2.65rem) !important;
}

.damandine-history-next > p:not(.damandine-ornament-line) {
	margin: 0.5rem 0 0.9rem;
	font-size: 0.92rem;
}

.damandine-history-next .wp-block-buttons {
	position: relative;
	z-index: 1;
}

@media (max-width: 781px) {
	.damandine-history-timeline {
		width: min(100% - 2rem, 40rem);
	}

	.damandine-history-timeline::before {
		left: 1.625rem;
	}

	.damandine-history-item,
	.damandine-history-item.is-reverse {
		grid-template-columns: 3.25rem minmax(0, 1fr);
		gap: 0.85rem 1rem;
		margin-bottom: 2.75rem;
	}

	.damandine-history-photo,
	.damandine-history-item.is-reverse .damandine-history-photo {
		grid-column: 2;
		grid-row: 1;
	}

	.damandine-history-marker,
	.damandine-history-item.is-reverse .damandine-history-marker {
		grid-column: 1;
		grid-row: 1 / span 2;
		align-self: start;
	}

	.damandine-history-copy,
	.damandine-history-item.is-reverse .damandine-history-copy {
		grid-column: 2;
		grid-row: 2;
		padding-left: 0;
	}

	.damandine-history-copy br {
		display: none;
	}
}

@media (max-width: 640px) {
	.damandine-history-hero {
		min-height: 38rem !important;
		align-items: flex-end;
	}

	.damandine-history-hero .wp-block-cover__image-background {
		width: 100%;
		height: 100%;
		object-position: 56% center;
	}

	.damandine-history-hero .wp-block-cover__background {
		background: linear-gradient(180deg, rgba(43, 35, 43, 0.05) 0%, rgba(43, 35, 43, 0.2) 42%, rgba(43, 35, 43, 0.92) 76%, rgba(43, 35, 43, 0.98) 100%) !important;
	}

	.damandine-history-hero-inner {
		width: calc(100% - 2.5rem);
		padding-block: 14rem 2.75rem;
	}

	.damandine-history-hero-copy {
		width: 100%;
	}

	.damandine-history-title {
		font-size: clamp(4.5rem, 23vw, 6.4rem) !important;
	}

	.damandine-history-kicker {
		font-size: 1.35rem;
	}

	.damandine-history-story::before,
	.damandine-history-story::after {
		display: none;
	}

	.damandine-history-intro > p:first-child br {
		display: none;
	}

	.damandine-history-photo img {
		aspect-ratio: 1.75 / 1;
	}

	.damandine-history-copy h2 {
		font-size: clamp(1.75rem, 8vw, 2.2rem) !important;
	}

	.damandine-history-quote::before,
	.damandine-history-quote::after,
	.damandine-history-next::before,
	.damandine-history-next::after {
		opacity: 0.12;
	}
}

@media (max-width: 1080px) {
	.damandine-header-inner {
		padding-inline: 1.25rem;
	}

	.damandine-site-header .wp-block-navigation__container {
		gap: 1rem;
	}

	.damandine-program-grid {
		flex-wrap: wrap !important;
	}

	.damandine-program-grid > .wp-block-column {
		flex-basis: calc(50% - 0.5rem) !important;
	}

	.damandine-program-grid > .wp-block-column:last-child {
		flex-basis: 100% !important;
	}
}

@media (max-width: 900px) {
	.damandine-header-inner {
		min-height: 4.15rem;
	}

	.damandine-site-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}

	.damandine-site-header .wp-block-navigation__responsive-container-open {
		display: flex !important;
	}

	.damandine-wordmark {
		font-size: 1.4rem;
	}

	.damandine-hero {
		min-height: 38rem;
	}

	.damandine-hero .wp-block-cover__image-background {
		width: 78%;
	}

	.damandine-hero-copy {
		width: 60%;
	}

	.damandine-feature-layout {
		flex-wrap: wrap !important;
	}

	.damandine-feature-layout > .wp-block-column {
		flex-basis: 100% !important;
	}

	.damandine-feature-panel {
		border-right: 0;
		border-bottom: 1px solid var(--damandine-border);
	}

	.damandine-rsvp-layout {
		flex-wrap: wrap !important;
	}

	.damandine-rsvp-layout > .wp-block-column {
		flex-basis: calc(33.333% - 1rem) !important;
	}

	.damandine-rsvp-layout > .wp-block-column:first-child {
		flex-basis: 100% !important;
		margin-bottom: 1.5rem;
	}
}

@media (max-width: 781px) {
	.damandine-monogram img {
		width: 2.5rem;
		height: 2.8rem;
	}

	.damandine-site-header .wp-block-navigation__responsive-container.is-menu-open {
		padding: 1.5rem;
		background: var(--damandine-ivory) !important;
	}

	.damandine-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		align-items: flex-start;
		padding-top: 4.5rem;
	}

	.damandine-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		align-items: flex-start;
		gap: 1.2rem;
	}

	.damandine-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		font-family: var(--damandine-serif);
		font-size: 1.55rem;
	}

	.damandine-story-layout {
		gap: 2rem;
	}

	.damandine-story-photo {
		max-width: 20rem;
	}

	.damandine-program-grid > .wp-block-column {
		flex-basis: 100% !important;
	}

	.damandine-program-card {
		min-height: 15rem;
	}
}

@media (max-width: 640px) {
	.damandine-wordmark {
		font-size: 1.25rem;
	}

	.damandine-hero {
		min-height: 41rem;
		align-items: flex-end;
	}

	.damandine-hero .wp-block-cover__image-background {
		width: 100%;
		height: 100%;
		object-position: 52% center;
	}

	.damandine-hero .wp-block-cover__background {
		background: linear-gradient(180deg, rgba(43, 35, 43, 0.08) 0%, rgba(43, 35, 43, 0.25) 42%, rgba(43, 35, 43, 0.94) 80%, rgba(43, 35, 43, 0.98) 100%) !important;
	}

	.damandine-hero-content {
		width: calc(100% - 2.5rem);
		padding-block: 15rem 2.75rem;
	}

	.damandine-hero-copy {
		width: 100%;
	}

	.damandine-hero-title {
		font-size: clamp(4.2rem, 21vw, 6.2rem) !important;
	}

	.damandine-ornament-line {
		margin-block: 1.1rem 0.7rem;
	}

	.damandine-story-section::before {
		display: none;
	}

	.damandine-countdown-grid {
		row-gap: 1.5rem;
	}

	.damandine-countdown-grid > .wp-block-column {
		flex-basis: calc(50% - 0.5rem) !important;
	}

	.damandine-countdown-grid > .wp-block-column:nth-child(2)::after {
		display: none;
	}

	.damandine-program-card {
		grid-template-columns: 42% 58%;
	}

	.damandine-program-copy {
		padding: 1.1rem;
	}

	.damandine-feature-card {
		grid-template-columns: 1fr;
	}

	.damandine-feature-card > .wp-block-image img,
	.damandine-feature-images .wp-block-image img {
		min-height: 15rem;
		max-height: 18rem;
	}

	.damandine-feature-images {
		grid-template-columns: 65% 35%;
		min-height: 15rem;
		max-height: 18rem;
	}

	.damandine-rsvp-layout > .wp-block-column,
	.damandine-rsvp-layout > .wp-block-column:first-child {
		flex-basis: 100% !important;
	}

	.damandine-rsvp-item {
		min-height: auto;
		padding: 1.25rem 0 0;
		border-left: 0;
		border-top: 1px solid rgba(232, 213, 175, 0.72);
	}

	.damandine-footer-inner {
		flex-direction: column;
		justify-content: center;
		padding-block: 1.25rem;
		text-align: center;
	}
}

@media (max-width: 420px) {
	.damandine-wordmark {
		font-size: 1.05rem;
	}

	.damandine-program-card {
		grid-template-columns: 1fr;
	}

	.damandine-program-card .wp-block-image {
		height: 13rem;
	}
}

.damandine-marriage-hero {
	min-height: clamp(21rem, 36.5vw, 34rem) !important;
	box-sizing: border-box;
	background: #40363f;
}

.damandine-marriage-hero .wp-block-cover__image-background {
	left: auto;
	right: 0;
	width: 52%;
	object-position: center;
}

.damandine-marriage-hero .wp-block-cover__background {
	background: linear-gradient(90deg, rgba(42, 35, 42, 0.96) 0%, rgba(49, 40, 48, 0.9) 39%, rgba(56, 46, 54, 0.35) 59%, rgba(45, 38, 44, 0.03) 100%) !important;
	opacity: 1 !important;
}

.damandine-marriage-hero-inner {
	width: min(100% - 2.5rem, 52rem);
	margin-inline: auto;
	padding-block: clamp(3rem, 6vw, 5rem);
}

.damandine-marriage-hero-copy {
	width: 46%;
}

.damandine-marriage-title {
	margin: 0;
	color: #fff !important;
	font-family: var(--damandine-serif) !important;
	font-size: clamp(4.2rem, 7.2vw, 6.8rem) !important;
	line-height: 0.9 !important;
}

.damandine-marriage-title span {
	color: #c6a0d5;
}

.damandine-marriage-hero .damandine-ornament-line {
	margin-block: 1.35rem 0.75rem;
}

.damandine-marriage-date {
	margin: 0;
	color: #fff;
	font-family: var(--damandine-serif);
	font-size: clamp(1.45rem, 2.5vw, 2.15rem);
}

.damandine-marriage-date em {
	color: #d0b3d9;
}

.damandine-marriage-main {
	position: relative;
	padding: 1.5rem 1.5rem 2rem;
	background: var(--damandine-ivory);
	overflow: hidden;
}

.damandine-marriage-main::before,
.damandine-marriage-main::after {
	content: "";
	position: absolute;
	top: -2rem;
	width: 11rem;
	aspect-ratio: 1;
	background: url("assets/images/floral-corner.png") left bottom / contain no-repeat;
	opacity: 0.1;
	pointer-events: none;
}

.damandine-marriage-main::before { left: -3rem; }
.damandine-marriage-main::after { right: -3rem; transform: scaleX(-1); }

.damandine-marriage-cards {
	position: relative;
	z-index: 1;
	width: min(100%, 52rem);
	margin: 0 auto;
	gap: 1rem;
}

.damandine-marriage-card {
	height: 100%;
	margin: 0;
	border: 1px solid var(--damandine-border);
	background: rgba(255, 255, 255, 0.42);
	--wp--style--block-gap: 0.6rem;
}

.damandine-marriage-card > .wp-block-image {
	margin: 0;
}

.damandine-marriage-card > .wp-block-image img {
	display: block;
	width: 100%;
	aspect-ratio: 0.92;
	object-fit: cover;
}

.damandine-marriage-card h2 {
	min-height: 2.6em;
	margin: 0.3rem 0 0;
	padding-inline: 0.85rem;
	color: var(--damandine-lavender) !important;
	font-size: clamp(1.22rem, 2vw, 1.55rem) !important;
	text-align: center;
}

.damandine-marriage-meta {
	padding: 0 0.85rem 1rem;
	--wp--style--block-gap: 0.35rem;
}

.damandine-marriage-meta p {
	margin: 0;
	font-size: 0.72rem;
	line-height: 1.45;
}

.damandine-marriage-meta span {
	display: inline-block;
	width: 1.25rem;
	color: var(--damandine-lavender);
	font-size: 1rem;
}

.damandine-day-program {
	width: min(100%, 31.5rem);
	margin: 1.7rem auto 0;
}

.damandine-day-program > h2 {
	margin: 0;
	color: var(--damandine-lavender) !important;
	font-size: clamp(2rem, 3vw, 2.65rem) !important;
	text-align: center;
}

.damandine-day-program > .damandine-ornament-line {
	width: 5rem;
	margin: 0.35rem auto 0.4rem;
}

.damandine-day-row {
	position: relative;
	display: grid;
	grid-template-columns: 5.4rem 1rem 1fr 2.4rem;
	align-items: center;
	gap: 0.7rem;
	min-height: 3.5rem;
	margin: 0 !important;
	border-bottom: 1px solid rgba(143, 118, 160, 0.22);
}

.damandine-day-row:last-child { border-bottom: 0; }

.damandine-day-time {
	margin: 0;
	color: var(--damandine-lavender);
	font-family: var(--damandine-serif);
	font-size: 1.65rem;
}

.damandine-day-dot {
	position: relative;
	z-index: 1;
	width: 0.55rem;
	height: 0.55rem;
	margin: 0;
	border: 1px solid var(--damandine-gold);
	border-radius: 50%;
	background: var(--damandine-ivory);
}

.damandine-day-row:not(:last-child) .damandine-day-dot::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 0.55rem;
	width: 1px;
	height: 3rem;
	background: rgba(198, 166, 108, 0.48);
}

.damandine-day-copy { margin: 0; --wp--style--block-gap: 0; }
.damandine-day-copy h3 { margin: 0; color: #765d82 !important; font-size: 1.1rem !important; }
.damandine-day-copy p { margin: 0; font-size: 0.72rem; line-height: 1.35; }
.damandine-day-icon { margin: 0; color: var(--damandine-lavender); font-size: 1.65rem; text-align: center; }

.damandine-practical {
	position: relative;
	padding: 1.25rem 1.5rem;
	border-top: 1px solid var(--damandine-border);
	background: #faf7f4;
	overflow: hidden;
}

.damandine-practical-inner {
	width: min(100%, 52rem);
	margin: 0 auto;
	align-items: center !important;
	gap: 1.6rem;
}

.damandine-practical-copy h2,
.damandine-venue-card h3 {
	margin: 0;
	color: var(--damandine-lavender) !important;
}

.damandine-practical-copy h2 { font-size: 1.65rem !important; }
.damandine-practical-copy p { font-size: 0.72rem; }
.damandine-small-rule { color: var(--damandine-gold); }

.damandine-venue-card {
	border: 1px solid var(--damandine-border);
	background: rgba(255,255,255,0.5);
	--wp--style--block-gap: 0.25rem;
}

.damandine-venue-card .wp-block-image { margin: 0 0 0.45rem; }
.damandine-venue-card img { display: block; width: 100%; }
.damandine-venue-card h3,
.damandine-venue-card p { margin-inline: 1rem; }
.damandine-venue-card h3 { font-size: 1.15rem !important; }
.damandine-venue-card p { margin-block: 0 0.5rem; font-size: 0.7rem; }
.damandine-venue-card a { color: var(--damandine-lavender); font-style: italic; }

.damandine-practical-list { --wp--style--block-gap: 0.8rem; }
.damandine-practical-item { display: grid; grid-template-columns: 2.8rem 1fr; gap: 0.65rem; margin: 0; }
.damandine-practical-icon { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; margin: 0; border: 1px solid var(--damandine-border); border-radius: 50%; color: var(--damandine-lavender); font-size: 1.25rem; }
.damandine-practical-item h3 { margin: 0; color: #765d82 !important; font-size: 0.95rem !important; }
.damandine-practical-item p { margin: 0; font-size: 0.68rem; line-height: 1.4; }

.damandine-marriage-travel {
	position: relative;
	padding: 1.4rem 1.25rem;
	background: linear-gradient(105deg, #8b7499, #ad96b8 52%, #887191);
	color: #fff;
	text-align: center;
	overflow: hidden;
}

.damandine-marriage-travel::before,
.damandine-marriage-travel::after {
	content: "";
	position: absolute;
	bottom: -4.5rem;
	width: 14rem;
	aspect-ratio: 1;
	background: url("assets/images/floral-corner.png") left bottom / contain no-repeat;
	opacity: 0.22;
}
.damandine-marriage-travel::before { left: -2rem; }
.damandine-marriage-travel::after { right: -2rem; transform: scaleX(-1); }
.damandine-marriage-travel h2 { margin: 0; color: #fff !important; font-size: 2rem !important; }
.damandine-marriage-travel p { margin: 0.3rem 0 0.8rem; font-size: 0.8rem; }
.damandine-marriage-travel .wp-block-button__link { background: #fff; color: var(--damandine-lavender); }

@media (max-width: 900px) {
	.damandine-marriage-cards { flex-wrap: wrap !important; }
	.damandine-marriage-cards > .wp-block-column { flex-basis: calc(50% - 0.5rem) !important; }
	.damandine-practical-inner { flex-wrap: wrap !important; }
	.damandine-practical-inner > .wp-block-column { flex-basis: calc(50% - 0.8rem) !important; }
	.damandine-practical-inner > .wp-block-column:last-child { flex-basis: 100% !important; }
	.damandine-practical-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
}

@media (max-width: 640px) {
	.damandine-marriage-hero { min-height: 38rem !important; align-items: flex-end; }
	.damandine-marriage-hero .wp-block-cover__image-background { width: 100%; height: 100%; object-position: 58% center; }
	.damandine-marriage-hero .wp-block-cover__background { background: linear-gradient(180deg,rgba(43,35,43,0.05),rgba(43,35,43,0.18) 40%,rgba(43,35,43,0.95) 80%) !important; }
	.damandine-marriage-hero-inner { width: calc(100% - 2.5rem); padding-block: 15rem 2.75rem; }
	.damandine-marriage-hero-copy { width: 100%; }
	.damandine-marriage-title { font-size: clamp(4rem, 19vw, 5.6rem) !important; }
	.damandine-marriage-cards > .wp-block-column { flex-basis: 100% !important; }
	.damandine-marriage-card > .wp-block-image img { aspect-ratio: 1.35; }
	.damandine-day-row { grid-template-columns: 4.25rem 0.8rem 1fr 1.8rem; gap: 0.45rem; }
	.damandine-day-time { font-size: 1.3rem; }
	.damandine-practical-inner > .wp-block-column { flex-basis: 100% !important; }
	.damandine-practical-list { grid-template-columns: 1fr; }
	.damandine-marriage-travel::before,
	.damandine-marriage-travel::after { opacity: 0.12; }
}

.damandine-stay-hero {
	min-height: clamp(23rem, 39vw, 36rem) !important;
	box-sizing: border-box;
}
.damandine-stay-hero .wp-block-cover__image-background { object-position: center; }
.damandine-stay-hero .wp-block-cover__background { background: linear-gradient(90deg,rgba(55,43,61,.72),rgba(68,52,73,.25) 52%,rgba(45,36,47,.05)) !important; opacity:1 !important; }
.damandine-stay-hero-inner { width:min(100% - 2.5rem,52rem); margin:auto; }
.damandine-stay-hero-inner h1 { margin:0; color:#fff !important; font-family:var(--damandine-serif) !important; font-size:clamp(4.5rem,8vw,7.2rem) !important; line-height:.88 !important; }
.damandine-stay-hero-inner > p:last-child { color:#fff; font-family:var(--damandine-serif); font-size:clamp(1.25rem,2vw,1.7rem); }

.damandine-stay-main { position:relative; padding:1.5rem 1.5rem 2rem; background:var(--damandine-ivory); }
.damandine-stay-transport { width:min(100%,52rem); margin:auto; gap:0; }
.damandine-stay-transport > .wp-block-column { padding:0 2rem; border-right:1px solid var(--damandine-border); text-align:center; }
.damandine-stay-transport > .wp-block-column:last-child { border-right:0; }
.damandine-stay-icon { display:grid; place-items:center; width:3rem; height:3rem; margin:0 auto .6rem; border-radius:50%; background:rgba(185,161,195,.2); color:var(--damandine-lavender); font-size:1.6rem; }
.damandine-stay-transport h2 { margin:0; color:var(--damandine-lavender) !important; font-size:1.25rem !important; }
.damandine-stay-transport p:last-child { font-size:.77rem; }

.damandine-hotels { width:min(100%,52rem); margin:1.6rem auto 0; padding-top:1rem; border-top:1px solid rgba(143,118,160,.18); }
.damandine-hotels > h2,.damandine-discover > h2 { margin:0; color:var(--damandine-lavender) !important; font-size:2.4rem !important; text-align:center; }
.damandine-hotels > .damandine-ornament-line,.damandine-discover > .damandine-ornament-line { width:5rem; margin:.25rem auto .75rem; }
.damandine-hotel-grid { gap:.75rem; }
.damandine-hotel-card { position:relative; height:100%; padding-bottom:.9rem; border:1px solid var(--damandine-border); border-radius:.55rem; background:rgba(255,255,255,.65); box-shadow:0 .5rem 1.4rem rgba(71,53,76,.07); overflow:hidden; --wp--style--block-gap:.4rem; }
.damandine-hotel-card .wp-block-image { margin:0; }
.damandine-hotel-card img { display:block; width:100%; aspect-ratio:1.7; object-fit:cover; }
.damandine-hotel-label { position:absolute; top:.5rem; left:.5rem; margin:0; padding:.35rem .65rem; border-radius:.2rem; background:var(--damandine-lavender); color:#fff; font-size:.65rem; font-weight:600; text-transform:uppercase; }
.damandine-hotel-card h3,.damandine-hotel-card p { margin-inline:1rem; }
.damandine-hotel-card h3 { margin-block:.65rem 0; font-size:1.25rem !important; }
.damandine-hotel-card p { margin-block:.1rem; font-size:.72rem; }
.damandine-hotel-distance,.damandine-hotel-price,.damandine-hotel-card a { color:var(--damandine-lavender); }
.damandine-hotel-card a { font-weight:600; }

.damandine-stay-map-section { margin:0; background:#faf7f4; border-top:1px solid var(--damandine-border); border-bottom:1px solid var(--damandine-border); }
.damandine-stay-map-copy { display:flex; flex-direction:column; justify-content:center; padding:2rem clamp(2rem,6vw,6rem); }
.damandine-stay-map-copy h2 { margin:0 0 1rem; color:var(--damandine-lavender) !important; font-size:2rem !important; }
.damandine-stay-map-copy p { font-size:.78rem; }
.damandine-stay-map { height:100%; margin:0; }
.damandine-stay-map img { display:block; width:100%; height:100%; min-height:17rem; object-fit:cover; }

.damandine-discover { padding:1rem 1.5rem 1.5rem; background:var(--damandine-ivory); }
.damandine-discover-grid { width:min(100%,52rem); margin:auto; gap:2.5rem; }
.damandine-discover-card { display:grid; grid-template-columns:9rem 1fr; align-items:center; gap:.8rem; }
.damandine-discover-card .wp-block-image { margin:0; }
.damandine-discover-card img { display:block; width:100%; aspect-ratio:1.4; object-fit:cover; border-radius:.25rem; }
.damandine-discover-card h3 { margin:0; color:#765d82 !important; font-size:1.2rem !important; }
.damandine-discover-card p { margin:.2rem 0; font-size:.72rem; }
.damandine-discover-card a { color:var(--damandine-lavender); font-weight:600; }

.damandine-stay-rsvp { position:relative; padding:1.3rem 1.25rem; background:linear-gradient(105deg,#887195,#ad96b8 52%,#887195); color:#fff; text-align:center; overflow:hidden; }
.damandine-stay-rsvp::before,.damandine-stay-rsvp::after { content:""; position:absolute; bottom:-4rem; width:14rem; aspect-ratio:1; background:url("assets/images/floral-corner.png") left bottom/contain no-repeat; opacity:.22; }
.damandine-stay-rsvp::before{left:-2rem}.damandine-stay-rsvp::after{right:-2rem;transform:scaleX(-1)}
.damandine-stay-rsvp h2 { margin:0; color:#fff !important; font-size:2rem !important; }
.damandine-stay-rsvp p { margin:.25rem 0 .6rem; }
.damandine-stay-rsvp .wp-block-button__link { background:#fff; color:var(--damandine-lavender); }
.damandine-stay-rsvp .damandine-story-signature { color:#fff; font-size:1.3rem; }

@media (max-width: 781px) {
	.damandine-stay-transport { flex-wrap:wrap !important; gap:1.4rem; }
	.damandine-stay-transport > .wp-block-column { flex-basis:100% !important; padding:0; border-right:0; }
	.damandine-hotel-grid { flex-wrap:wrap !important; }
	.damandine-hotel-grid > .wp-block-column { flex-basis:100% !important; }
	.damandine-stay-map-section { flex-wrap:wrap !important; }
	.damandine-stay-map-section > .wp-block-column { flex-basis:100% !important; }
	.damandine-discover-grid { flex-wrap:wrap !important; gap:1rem; }
	.damandine-discover-grid > .wp-block-column { flex-basis:100% !important; }
}
@media (max-width:640px) {
	.damandine-stay-hero { min-height:35rem !important; align-items:flex-end; }
	.damandine-stay-hero .wp-block-cover__background { background:linear-gradient(180deg,rgba(43,35,43,.05),rgba(43,35,43,.78) 72%,rgba(43,35,43,.95)) !important; }
	.damandine-stay-hero-inner { padding-bottom:2.5rem; }
	.damandine-stay-hero-inner h1 { font-size:clamp(4.3rem,20vw,6rem) !important; }
	.damandine-discover-card { grid-template-columns:7rem 1fr; }
}

.damandine-dress-hero { min-height:clamp(24rem,40.3vw,38rem) !important; box-sizing:border-box; background:#40363f; }
.damandine-dress-hero .wp-block-cover__image-background { left:auto; right:0; width:67%; object-position:center; }
.damandine-dress-hero .wp-block-cover__background { background:linear-gradient(90deg,rgba(43,35,43,.97),rgba(51,41,50,.88) 34%,rgba(52,43,51,.3) 58%,transparent) !important; opacity:1 !important; }
.damandine-dress-hero-inner { width:min(100% - 2.5rem,52rem); margin:auto; }
.damandine-dress-hero-inner h1 { margin:0; color:#fff !important; font-family:var(--damandine-serif) !important; font-size:clamp(4.4rem,7.4vw,6.8rem) !important; line-height:.87 !important; }
.damandine-dress-hero-inner h1 span { color:#c6a0d5; font-style:italic; }
.damandine-dress-hero-inner .damandine-ornament-line { margin-block:1.2rem .65rem; }

.damandine-dress-main { position:relative; padding:1.2rem 1.5rem; background:var(--damandine-ivory); }
.damandine-dress-universe { width:min(100%,52rem); margin:auto; align-items:center !important; gap:2rem; }
.damandine-dress-universe > .wp-block-column:first-child { text-align:center; }
.damandine-dress-universe h2,.damandine-palette h2,.damandine-dress-guides h2,.damandine-dress-avoid h2 { margin:0; color:var(--damandine-lavender) !important; font-size:clamp(1.8rem,3vw,2.4rem) !important; text-align:center; }
.damandine-dress-universe p { font-family:var(--damandine-serif); font-size:.85rem; }
.damandine-dress-moodboard { margin:0; }
.damandine-dress-moodboard img { display:block; width:100%; }

.damandine-palette { width:min(100%,56rem); margin:1.2rem auto 0; padding:1rem 0; border-top:1px solid var(--damandine-border); border-bottom:1px solid var(--damandine-border); text-align:center; }
.damandine-palette .damandine-small-rule,.damandine-dress-avoid .damandine-small-rule { margin:.2rem 0 .6rem; color:var(--damandine-gold); }
.damandine-palette-grid { display:grid; grid-template-columns:repeat(9,1fr); gap:.6rem; }
.damandine-palette-grid div { display:grid; justify-items:center; gap:.35rem; font-family:var(--damandine-serif); font-size:.72rem; }
.damandine-palette-grid i { display:block; width:clamp(2.8rem,6vw,4rem); aspect-ratio:1; border-radius:50%; background:var(--swatch); box-shadow:inset 0 0 0 1px rgba(40,33,38,.05); }
.damandine-palette > p:last-child { margin:.8rem 0 0; font-family:var(--damandine-serif); font-size:.82rem; }
.damandine-palette strong { color:var(--damandine-lavender); }

.damandine-dress-guides { width:min(100%,56rem); margin:1rem auto; gap:2.2rem; }
.damandine-dress-guides > .wp-block-column { text-align:center; }
.damandine-dress-guides > .wp-block-column:first-child { border-right:1px solid rgba(198,166,108,.25); padding-right:2.2rem; }
.damandine-dress-guides p { font-family:var(--damandine-serif); font-size:.74rem; }
.damandine-dress-guides .wp-block-image { margin:.75rem 0 .35rem; }
.damandine-dress-guides img { display:block; width:100%; }
.damandine-dress-guides p:last-child { color:#67566c; }

.damandine-dress-avoid { width:min(100%,56rem); margin:auto; padding-top:.6rem; border-top:1px solid var(--damandine-border); text-align:center; }
.damandine-dress-avoid .wp-block-image { width:min(100%,42rem); margin:auto; }
.damandine-dress-avoid img { display:block; width:100%; }

.damandine-dress-rsvp { position:relative; padding:1.3rem 1.25rem; background:linear-gradient(105deg,#887195,#ad96b8 52%,#887195); text-align:center; overflow:hidden; }
.damandine-dress-rsvp::before,.damandine-dress-rsvp::after { content:""; position:absolute; bottom:-4rem; width:14rem; aspect-ratio:1; background:url("assets/images/floral-corner.png") left bottom/contain no-repeat; opacity:.22; }
.damandine-dress-rsvp::before{left:-2rem}.damandine-dress-rsvp::after{right:-2rem;transform:scaleX(-1)}
.damandine-dress-rsvp h2 { margin:0 0 .8rem; color:#fff !important; font-size:1.8rem !important; line-height:1.2 !important; }
.damandine-dress-rsvp .wp-block-button__link { background:#fff; color:#9b765f; }

@media (max-width:781px) {
	.damandine-dress-universe,.damandine-dress-guides { flex-wrap:wrap !important; }
	.damandine-dress-universe > .wp-block-column,.damandine-dress-guides > .wp-block-column { flex-basis:100% !important; }
	.damandine-dress-guides > .wp-block-column:first-child { border-right:0; border-bottom:1px solid rgba(198,166,108,.25); padding:0 0 1.25rem; }
	.damandine-palette-grid { grid-template-columns:repeat(3,1fr); row-gap:1rem; }
}
@media (max-width:640px) {
	.damandine-dress-hero { min-height:39rem !important; align-items:flex-end; }
	.damandine-dress-hero .wp-block-cover__image-background { width:100%; height:100%; object-position:58% center; }
	.damandine-dress-hero .wp-block-cover__background { background:linear-gradient(180deg,rgba(43,35,43,.05),rgba(43,35,43,.22) 42%,rgba(43,35,43,.96) 80%) !important; }
	.damandine-dress-hero-inner { width:calc(100% - 2.5rem); padding-bottom:2.5rem; }
	.damandine-dress-hero-inner h1 { font-size:clamp(4.1rem,19vw,5.6rem) !important; }
}

.damandine-rsvp-hero { min-height:clamp(25rem,43vw,39rem) !important; box-sizing:border-box; background:#40363f; }
.damandine-rsvp-hero .wp-block-cover__image-background { left:auto; right:0; width:66%; object-position:center; }
.damandine-rsvp-hero .wp-block-cover__background { background:linear-gradient(90deg,rgba(43,35,43,.96),rgba(51,41,50,.87) 34%,rgba(52,43,51,.28) 58%,transparent) !important; opacity:1 !important; }
.damandine-rsvp-hero-inner { width:min(100% - 2.5rem,52rem); margin:auto; }
.damandine-rsvp-hero-inner h1 { margin:0; color:#fff !important; font-family:var(--damandine-serif) !important; font-size:clamp(4rem,6.7vw,6rem) !important; line-height:.9 !important; }
.damandine-rsvp-hero-inner h1 span { color:#c6a0d5; }
.damandine-rsvp-hero-inner .damandine-ornament-line { margin-block:1.2rem .65rem; }

.damandine-rsvp-form-section { position:relative; padding:1.7rem 1.5rem 1.2rem; background:var(--damandine-ivory); }
.damandine-rsvp-form-section::before,.damandine-rsvp-form-section::after { content:""; position:absolute; top:-2rem; width:11rem; aspect-ratio:1; background:url("assets/images/floral-corner.png") left bottom/contain no-repeat; opacity:.1; pointer-events:none; }
.damandine-rsvp-form-section::before{left:-3rem}.damandine-rsvp-form-section::after{right:-3rem;transform:scaleX(-1)}
.damandine-rsvp-form-section > h2 { margin:0; color:var(--damandine-ink) !important; font-family:var(--damandine-serif) !important; font-size:1.8rem !important; text-align:center; }
.damandine-rsvp-form-section > .damandine-ornament-line { width:12rem; margin:.5rem auto 1.2rem; }
.damandine-rsvp-form { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:1.1rem 3.5rem; width:min(100%,50rem); margin:auto; font-family:var(--damandine-serif); }
.damandine-form-column { display:grid; gap:.85rem; align-content:start; }
.damandine-rsvp-form label,.damandine-rsvp-form legend { color:#3d343b; font-size:.9rem; }
.damandine-rsvp-form label { display:grid; gap:.35rem; }
.damandine-rsvp-form small { display:block; }
.damandine-rsvp-form input:not([type="radio"]),.damandine-rsvp-form select,.damandine-rsvp-form textarea { box-sizing:border-box; width:100%; padding:.75rem .85rem; border:1px solid rgba(143,118,160,.38); border-radius:.3rem; background:rgba(255,255,255,.28); color:var(--damandine-ink); font:inherit; }
.damandine-rsvp-form input:focus,.damandine-rsvp-form select:focus,.damandine-rsvp-form textarea:focus { outline:2px solid var(--damandine-lavender); outline-offset:2px; }
.damandine-rsvp-form fieldset { display:grid; gap:.45rem; margin:0; padding:0; border:0; }
.damandine-radio { display:flex !important; align-items:center; min-height:2.5rem; padding:0 .75rem; border:1px solid rgba(143,118,160,.38); border-radius:.3rem; background:rgba(255,255,255,.25); }
.damandine-radio input { width:1.15rem; height:1.15rem; margin-right:.6rem; accent-color:var(--damandine-lavender); }
.damandine-rsvp-notice { grid-column:1/-1; display:grid; grid-template-columns:3rem 1fr 1px 1fr; align-items:center; gap:1.25rem; margin-top:.4rem; padding:.8rem 1.5rem; border-radius:.5rem; background:rgba(185,161,195,.17); }
.damandine-rsvp-notice::before { content:""; grid-column:3; grid-row:1; width:1px; height:3rem; background:rgba(198,166,108,.55); }
.damandine-rsvp-notice > span { display:grid; place-items:center; width:2.5rem; height:2.5rem; border-radius:50%; background:#fffaf5; color:var(--damandine-lavender); font-size:1.5rem; }
.damandine-rsvp-notice p { margin:0; font-size:.8rem; }
.damandine-rsvp-notice p:last-child { grid-column:4; }
.damandine-rsvp-submit { grid-column:1/-1; justify-self:center; min-width:17rem; padding:.85rem 1.4rem; border:0; border-radius:.2rem; background:linear-gradient(105deg,#765787,#a081b1,#765787); color:#fff; font:1rem var(--damandine-serif); cursor:pointer; }
.damandine-rsvp-submit:focus { outline:2px solid var(--damandine-gold); outline-offset:3px; }
.damandine-rsvp-privacy { grid-column:1/-1; margin:0; font-size:.72rem; text-align:center; }

.damandine-faq { position:relative; padding:1rem 1.5rem 1.4rem; background:linear-gradient(105deg,#9b84aa,#c0abc8 52%,#9982a7); }
.damandine-faq > h2 { margin:0; color:#fff !important; font-size:2.5rem !important; text-align:center; }
.damandine-faq > .damandine-ornament-line { width:7rem; margin:.3rem auto .6rem; }
.damandine-faq-list { width:min(100%,42rem); margin:auto; }
.damandine-faq-list details { margin:.2rem 0; border-radius:.3rem; background:rgba(255,253,251,.92); box-shadow:0 .2rem .5rem rgba(59,43,63,.08); }
.damandine-faq-list summary { padding:.7rem 1.1rem; color:#59455f; font-family:var(--damandine-serif); cursor:pointer; }
.damandine-faq-list details p { margin:0; padding:0 1.1rem .8rem; font-size:.74rem; }
.damandine-rsvp-thanks { position:relative; padding:1rem 1.25rem; background:linear-gradient(105deg,#806591,#a88bb8 52%,#806591); color:#fff; text-align:center; }
.damandine-rsvp-thanks > p:first-child { margin:0; color:var(--damandine-gold); font-size:2rem; }
.damandine-rsvp-thanks h2 { margin:0; color:#fff !important; font-size:2.5rem !important; }
.damandine-rsvp-thanks p { margin:.2rem 0; font-family:var(--damandine-serif); }
.damandine-rsvp-thanks .damandine-ornament-line { width:12rem; margin:.45rem auto 0; }

@media (max-width:781px) {
	.damandine-rsvp-form { grid-template-columns:1fr; gap:1rem; }
	.damandine-rsvp-notice,.damandine-rsvp-submit,.damandine-rsvp-privacy { grid-column:1; }
	.damandine-rsvp-notice { grid-template-columns:3rem 1fr; }
	.damandine-rsvp-notice::before { display:none; }
	.damandine-rsvp-notice p:last-child { grid-column:2; }
}
@media (max-width:640px) {
	.damandine-rsvp-hero { min-height:39rem !important; align-items:flex-end; }
	.damandine-rsvp-hero .wp-block-cover__image-background { width:100%; height:100%; object-position:57% center; }
	.damandine-rsvp-hero .wp-block-cover__background { background:linear-gradient(180deg,rgba(43,35,43,.05),rgba(43,35,43,.2) 42%,rgba(43,35,43,.96) 80%) !important; }
	.damandine-rsvp-hero-inner { width:calc(100% - 2.5rem); padding-bottom:2.5rem; }
	.damandine-rsvp-hero-inner h1 { font-size:clamp(3.9rem,17vw,5.3rem) !important; }
	.damandine-rsvp-notice { padding:.8rem; gap:.65rem; }
	.damandine-rsvp-submit { min-width:0; width:100%; }
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

/* Homepage 0.4 — bilingual, backend-editable wedding landing page. */
.home .wp-site-blocks > .wp-block-shortcode,
.home .wp-site-blocks > main > .wp-block-shortcode {
	margin: 0;
}

.damandine-homepage {
	min-width: 0;
	background: var(--damandine-ivory);
	color: var(--damandine-ink);
	overflow: clip;
}

.damandine-homepage *,
.damandine-homepage *::before,
.damandine-homepage *::after {
	box-sizing: border-box;
}

.damandine-homepage h1,
.damandine-homepage h2,
.damandine-homepage h3,
.damandine-homepage p,
.damandine-homepage figure,
.damandine-homepage blockquote {
	margin-top: 0;
}

.damandine-homepage h1,
.damandine-homepage h2,
.damandine-homepage h3 {
	font-family: var(--damandine-serif);
	font-weight: 400;
}

.damandine-homepage a {
	color: inherit;
	text-decoration: none;
}

.damandine-skip-link {
	position: fixed;
	left: 1rem;
	top: -8rem;
	z-index: 9999;
	padding: 0.75rem 1rem;
	background: #fff;
	color: var(--damandine-ink);
	box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.2);
}

.damandine-skip-link:focus {
	top: 1rem;
}

.damandine-home-header {
	position: sticky;
	top: 0;
	z-index: 100;
	border-bottom: 1px solid rgba(143, 118, 160, 0.18);
	background: rgba(251, 248, 245, 0.96);
	box-shadow: 0 0.2rem 1.5rem rgba(57, 43, 60, 0.05);
	backdrop-filter: blur(16px);
}

.admin-bar .damandine-home-header {
	top: 32px;
}

.damandine-home-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	width: min(100% - 2.5rem, 82rem);
	min-height: 5.1rem;
	margin-inline: auto;
}

/* WordPress may inject line breaks around shortcode markup. They must not
 * become flex items, otherwise the navigation shifts between page templates. */
.damandine-home-header br {
	display: none !important;
}

.damandine-home-brand {
	display: inline-flex;
	align-items: center;
	gap: 0.9rem;
	flex: 0 0 auto;
	font-family: var(--damandine-serif);
	font-size: clamp(1.45rem, 2vw, 2.15rem);
	letter-spacing: 0.025em;
	line-height: 1;
}

.damandine-home-brand img {
	width: 3.1rem;
	height: 3.35rem;
	object-fit: contain;
}

.damandine-home-nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex: 0 0 auto;
	margin-left: auto;
	gap: clamp(1rem, 2vw, 2rem);
	font-size: 0.86rem;
	font-weight: 500;
}

@media (min-width: 1101px) {
	.damandine-home-nav {
		gap: clamp(2rem, 4vw, 3.2rem);
		padding-right: 2rem;
	}
}

.damandine-home-nav > a {
	position: relative;
	padding-block: 0.65rem;
	white-space: nowrap;
}

.damandine-home-nav > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: 0.2rem;
	height: 2px;
	background: var(--damandine-lavender);
	transition: right 180ms ease;
}

.damandine-home-nav > a:hover,
.damandine-home-nav > a:focus-visible,
.damandine-home-nav > a.is-active {
	color: var(--damandine-lavender);
}

.damandine-home-nav > a:hover::after,
.damandine-home-nav > a:focus-visible::after,
.damandine-home-nav > a.is-active::after {
	right: 0;
}

.damandine-home-languages {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding-left: 0.8rem;
	border-left: 1px solid var(--damandine-border);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
}

.damandine-home-languages a {
	opacity: 0.46;
}

.damandine-home-languages a:hover,
.damandine-home-languages a:focus-visible,
.damandine-home-languages a.is-current {
	color: var(--damandine-plum);
	opacity: 1;
}

.damandine-home-menu-toggle {
	display: none;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0.65rem;
	border: 1px solid var(--damandine-border);
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}

.damandine-home-menu-toggle > span:not(.screen-reader-text) {
	display: block;
	width: 100%;
	height: 1px;
	margin: 0.25rem 0;
	background: currentColor;
}

.damandine-home-hero {
	position: relative;
	display: grid;
	align-items: center;
	min-height: clamp(38rem, 65vw, 47rem);
	background-color: #3f353e;
	background-image: var(--damandine-hero-image);
	background-position: center;
	background-size: cover;
	isolation: isolate;
}

.damandine-home-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(90deg, rgba(35, 27, 34, 0.86) 0%, rgba(43, 32, 42, 0.66) 33%, rgba(43, 32, 42, 0.16) 67%, rgba(43, 32, 42, 0.08) 100%);
}

.damandine-home-hero::after {
	content: "";
	position: absolute;
	left: -2rem;
	bottom: -1.5rem;
	width: clamp(12rem, 24vw, 22rem);
	aspect-ratio: 1;
	background: url("assets/images/floral-corner.png") left bottom / contain no-repeat;
	filter: brightness(0) invert(1);
	opacity: 0.48;
	pointer-events: none;
}

.damandine-home-hero__content {
	width: min(100% - 2.5rem, 82rem);
	margin-inline: auto;
	padding-block: clamp(4rem, 9vw, 8rem);
	color: #fff;
}

.damandine-home-hero__content > * {
	width: min(46%, 35rem);
}

.damandine-home-eyebrow,
.damandine-home-kicker {
	margin-bottom: 0.6rem;
	color: var(--damandine-lavender);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.damandine-home-eyebrow {
	color: #ead9ef;
}

.damandine-home-hero h1 {
	margin-bottom: 1.6rem;
	color: #fff;
	font-size: clamp(4.8rem, 8.5vw, 9rem);
	letter-spacing: -0.045em;
	line-height: 0.82;
}

.damandine-home-hero h1 span {
	color: #d0acd9;
	font-style: italic;
}

.damandine-home-ornament {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	width: min(100%, 20rem);
	margin-block: 0.8rem 1.1rem;
	color: var(--damandine-gold);
}

.damandine-home-ornament::before,
.damandine-home-ornament::after {
	content: "";
	flex: 1;
	height: 1px;
	background: currentColor;
}

.damandine-home-hero__date {
	margin-bottom: 0.15rem;
	font-family: var(--damandine-serif);
	font-size: clamp(1.65rem, 3vw, 2.55rem);
}

.damandine-home-hero__place {
	color: #d9bce1;
	font-family: var(--damandine-serif);
	font-size: clamp(1.25rem, 2.3vw, 1.85rem);
	font-style: italic;
}

.damandine-home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin-top: 1.5rem;
}

.damandine-home-hero__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.9rem;
	padding: 0.8rem 1rem;
	border: 1px solid rgba(255, 255, 255, 0.7);
	background: rgba(35, 27, 34, 0.28);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.2;
	text-decoration: none;
	backdrop-filter: blur(8px);
}

.damandine-home-hero .damandine-home-hero__button--primary {
	border-color: #f4e9f7;
	background: #f4e9f7;
	color: var(--damandine-plum);
}

.damandine-home-hero__button:hover,
.damandine-home-hero__button:focus-visible {
	border-color: var(--damandine-gold);
	transform: translateY(-1px);
}

.damandine-home-story {
	position: relative;
	background: radial-gradient(circle at 10% 20%, rgba(185, 161, 195, 0.12), transparent 25rem), var(--damandine-ivory);
}

.damandine-home-story::after {
	content: "";
	position: absolute;
	right: -3rem;
	top: -1rem;
	width: clamp(10rem, 18vw, 16rem);
	aspect-ratio: 1;
	background: url("assets/images/floral-corner.png") left bottom / contain no-repeat;
	transform: scaleX(-1);
	opacity: 0.12;
	pointer-events: none;
}

.damandine-home-quote {
	position: relative;
	z-index: 1;
	padding: clamp(1.75rem, 3vw, 2.5rem) 1.5rem clamp(2.4rem, 4vw, 3.5rem);
	text-align: center;
}

.damandine-home-quote::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: clamp(0.7rem, 1.4vw, 1.2rem);
	width: min(calc(100% - 6rem), 50rem);
	height: 0.8rem;
	background:
		radial-gradient(circle, #c6a66c 0 0.2rem, transparent 0.23rem) center / 0.6rem 0.6rem no-repeat,
		linear-gradient(90deg, transparent, rgba(198, 166, 108, 0.58)) left center / calc(50% - 0.9rem) 1px no-repeat,
		linear-gradient(90deg, rgba(198, 166, 108, 0.58), transparent) right center / calc(50% - 0.9rem) 1px no-repeat;
	transform: translateX(-50%);
}

.damandine-home-quote blockquote {
	margin-bottom: 0.25rem;
	font-family: var(--damandine-serif);
	font-size: clamp(1.2rem, 2.2vw, 1.8rem);
}

.damandine-home-quote cite {
	color: var(--damandine-lavender);
	font-family: var(--damandine-serif);
	font-size: 1.15rem;
	font-style: normal;
}

.damandine-home-story__inner {
	display: grid;
	grid-template-columns: minmax(16rem, 0.82fr) 1.18fr;
	align-items: center;
	gap: clamp(2.5rem, 7vw, 7rem);
	width: min(100% - 2.5rem, 68rem);
	margin-inline: auto;
	padding-block: clamp(3rem, 6vw, 5.5rem);
}

.damandine-home-story__inner figure {
	position: relative;
	max-width: 23rem;
	margin: 0 auto;
}

.damandine-home-story__inner figure::before {
	content: "";
	position: absolute;
	inset: 0.75rem -0.75rem -0.75rem 0.75rem;
	z-index: 0;
	border: 1px solid var(--damandine-gold);
	border-radius: 12rem 12rem 0 0;
}

.damandine-home-story__inner img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	aspect-ratio: 0.84;
	border-radius: 12rem 12rem 0 0;
	object-fit: cover;
}

.damandine-home-story__inner h2,
.damandine-home-section-heading h2,
.damandine-home-dress h2,
.damandine-home-rsvp h2 {
	margin-bottom: 0.75rem;
	font-size: clamp(2.5rem, 5vw, 4.6rem);
	line-height: 0.98;
}

.damandine-home-story__inner > div > p:not(.damandine-home-kicker):not(.damandine-home-script) {
	max-width: 37rem;
	font-size: clamp(0.98rem, 1.4vw, 1.12rem);
	line-height: 1.75;
}

.damandine-home-script {
	margin-top: 1.5rem;
	color: var(--damandine-lavender);
	font-family: var(--damandine-script);
	font-size: clamp(1.4rem, 2.5vw, 2rem);
}

.damandine-home-countdown {
	position: relative;
	padding: clamp(2.1rem, 4vw, 3.5rem) 1.5rem;
	background: linear-gradient(110deg, #826c90, #ad95b8 54%, #826c90);
	color: #fff;
	overflow: hidden;
}

.damandine-home-countdown::before,
.damandine-home-countdown::after,
.damandine-home-rsvp::before,
.damandine-home-rsvp::after {
	content: "";
	position: absolute;
	bottom: -5rem;
	width: clamp(13rem, 23vw, 22rem);
	aspect-ratio: 1;
	background: url("assets/images/floral-corner.png") left bottom / contain no-repeat;
	filter: brightness(0) invert(1);
	opacity: 0.27;
	pointer-events: none;
}

.damandine-home-countdown::before,
.damandine-home-rsvp::before {
	left: -3rem;
}

.damandine-home-countdown::after,
.damandine-home-rsvp::after {
	right: -3rem;
	transform: scaleX(-1);
}

.damandine-home-countdown h2 {
	position: relative;
	z-index: 1;
	margin-bottom: 1.2rem;
	color: #fff;
	font-size: clamp(1.45rem, 3vw, 2.35rem);
	text-align: center;
}

.damandine-home-countdown__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	width: min(100%, 46rem);
	margin-inline: auto;
}

.damandine-home-countdown__grid > div {
	position: relative;
	display: grid;
	justify-items: center;
}

.damandine-home-countdown__grid > div:not(:last-child)::after {
	content: "";
	position: absolute;
	right: 0;
	top: 12%;
	height: 76%;
	border-right: 1px solid rgba(234, 217, 183, 0.76);
}

.damandine-home-countdown__grid strong {
	font-family: var(--damandine-serif);
	font-size: clamp(2.7rem, 6vw, 4.8rem);
	font-weight: 400;
	line-height: 1;
}

.damandine-home-countdown__grid span {
	margin-top: 0.35rem;
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.damandine-home-programme,
.damandine-home-stay {
	padding: clamp(3.5rem, 6vw, 6rem) max(1.25rem, calc((100vw - 80rem) / 2));
}

.damandine-home-programme {
	background: #fffdfb;
}

.damandine-home-section-heading {
	max-width: 46rem;
	margin: 0 auto clamp(2rem, 4vw, 3.5rem);
	text-align: center;
}

.damandine-home-section-heading > p:last-child {
	font-size: 1rem;
	line-height: 1.7;
}

.damandine-home-programme__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
	width: min(100%, 80rem);
	margin-inline: auto;
}

.damandine-home-programme-card {
	display: grid;
	grid-template-rows: 16.5rem 1fr;
	border: 1px solid var(--damandine-border);
	background: #fff;
	box-shadow: 0 1.1rem 3rem rgba(75, 57, 80, 0.06);
	overflow: hidden;
}

.damandine-home-programme-card__photo {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.damandine-home-programme-card__copy {
	position: relative;
	padding: 2.3rem 1.5rem 1.6rem;
}

.damandine-home-programme-card__icon {
	position: absolute;
	left: 1.5rem;
	top: -1.55rem;
	display: grid;
	place-items: center;
	width: 3.2rem;
	height: 3.2rem;
	border: 1px solid var(--damandine-border);
	border-radius: 50%;
	background: #fffaf7;
	color: var(--damandine-lavender);
	font-family: var(--damandine-serif);
	font-size: 1.5rem;
}

.damandine-home-programme-card__icon img {
	width: 2rem;
	height: 2rem;
	object-fit: contain;
}

.damandine-home-programme-card h3 {
	margin-bottom: 0.7rem;
	font-size: clamp(1.7rem, 2.4vw, 2.2rem);
	line-height: 1.05;
}

.damandine-home-programme-card__date {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-bottom: 0.75rem;
	color: var(--damandine-lavender);
	font-size: 0.72rem;
	font-weight: 700;
}

.damandine-home-programme-card__date strong {
	padding: 0.2rem 0.5rem;
	border-radius: 999px;
	background: rgba(143, 118, 160, 0.12);
	font-size: 0.68rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.damandine-home-programme-card__location { margin:-.25rem 0 .7rem; color:#665863; font-size:.72rem; line-height:1.5; }

.damandine-home-programme-card__copy > p:last-child {
	margin-bottom: 0;
	font-size: 0.88rem;
	line-height: 1.65;
}

.damandine-home-programme__action {
	margin-top: clamp(2rem, 3.5vw, 3.25rem);
	text-align: center;
}

.damandine-home-programme__action a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	min-height: 3.25rem;
	padding: 0.85rem 1.8rem;
	border: 1px solid var(--damandine-lavender);
	border-radius: 0.15rem;
	background: var(--damandine-lavender);
	color: #fff;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.damandine-home-programme__action a:hover,
.damandine-home-programme__action a:focus-visible {
	border-color: var(--damandine-gold);
	background: var(--damandine-plum);
	color: #fff;
	transform: translateY(-2px);
}

.damandine-home-programme__action a:focus-visible {
	outline: 3px solid rgba(198, 166, 108, 0.35);
	outline-offset: 3px;
}

.damandine-home-stay {
	background: linear-gradient(180deg, #f8f3f1, #fffdfb);
}

.damandine-home-stay__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 2.5rem);
	width: min(100%, 80rem);
	margin-inline: auto;
}

.damandine-home-slider {
	min-width: 0;
	border: 1px solid var(--damandine-border);
	background: #fff;
	box-shadow: 0 1rem 3rem rgba(75, 57, 80, 0.06);
}

.damandine-home-slider__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.2rem 1.3rem 0.8rem;
}

.damandine-home-slider__header p {
	margin: 0;
}

.damandine-home-slider__buttons {
	display: flex;
	gap: 0.4rem;
}

.damandine-home-slider__buttons button {
	display: grid;
	place-items: center;
	width: 2.25rem;
	height: 2.25rem;
	border: 1px solid var(--damandine-border);
	border-radius: 50%;
	background: transparent;
	color: var(--damandine-plum);
	cursor: pointer;
}

.damandine-home-slider__buttons button:hover,
.damandine-home-slider__buttons button:focus-visible {
	background: var(--damandine-lavender);
	color: #fff;
}

.damandine-home-slider__track {
	position: relative;
	min-height: 29rem;
}

.damandine-home-slide {
	position: absolute;
	inset: 0;
	display: grid;
	grid-template-rows: 19rem 1fr;
	visibility: hidden;
	opacity: 0;
	transition: opacity 400ms ease, visibility 400ms ease;
}

.damandine-home-slide.is-active {
	position: relative;
	visibility: visible;
	opacity: 1;
}

.damandine-home-slide > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.damandine-home-slide__copy {
	padding: 1.4rem 1.5rem;
}

.damandine-home-slide__copy h3 {
	margin-bottom: 0.5rem;
	font-size: 1.8rem;
}

.damandine-home-slide__copy p {
	margin-bottom: 0;
	font-size: 0.88rem;
	line-height: 1.65;
}

.damandine-home-slider__dots {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	padding: 0 1rem 1.2rem;
}

.damandine-home-slider__dots button {
	width: 0.6rem;
	height: 0.6rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--damandine-border);
	cursor: pointer;
}

.damandine-home-slider__dots button.is-active {
	background: var(--damandine-lavender);
	transform: scale(1.3);
}

.damandine-home-button {
	display: table;
	margin: 2rem auto 0;
	padding: 0.85rem 1.4rem;
	background: var(--damandine-lavender);
	color: #fff !important;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.03em;
}

.damandine-home-button:hover,
.damandine-home-button:focus-visible {
	background: var(--damandine-plum);
}

.damandine-home-dress {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	min-height: 34rem;
	border-top: 1px solid var(--damandine-border);
	background: #f5eff3;
}

.damandine-home-dress figure {
	min-height: 32rem;
	margin: 0;
}

.damandine-home-dress figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.damandine-home-dress__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: clamp(2.5rem, 7vw, 6.5rem);
}

.damandine-home-dress h2 {
	max-width: 38rem;
	color: var(--damandine-plum);
	font-size: clamp(3.3rem, 6vw, 6rem);
}

.damandine-home-dress__lead {
	margin-bottom: 0.8rem;
	color: var(--damandine-lavender);
	font-family: var(--damandine-serif);
	font-size: clamp(1.4rem, 2.4vw, 2rem);
	font-style: italic;
}

.damandine-home-dress__copy > p:not(.damandine-home-kicker):not(.damandine-home-dress__lead) {
	max-width: 35rem;
	line-height: 1.75;
}

.damandine-home-dress .damandine-home-button {
	margin-inline: 0;
}

.damandine-home-swatches {
	display: flex;
	gap: 0.65rem;
	margin-top: 1rem;
}

.damandine-home-swatches span {
	width: 2rem;
	height: 2rem;
	border: 2px solid rgba(255, 255, 255, 0.8);
	border-radius: 50%;
	background: var(--swatch);
	box-shadow: 0 0 0 1px rgba(40, 33, 38, 0.08);
}

.damandine-home-rsvp {
	position: relative;
	display: grid;
	grid-template-columns: 1.4fr repeat(3, 0.75fr);
	align-items: center;
	gap: 0;
	padding: clamp(2.5rem, 5vw, 4rem) max(1.25rem, calc((100vw - 80rem) / 2));
	background: linear-gradient(110deg, #7b6389, #ad94b7 55%, #7d668c);
	color: #fff;
	overflow: hidden;
}

.damandine-home-rsvp > * {
	position: relative;
	z-index: 1;
}

.damandine-home-rsvp__lead {
	padding-right: clamp(1.5rem, 4vw, 4rem);
	text-align: center;
}

.damandine-home-rsvp h2 {
	margin-bottom: 0.5rem;
	color: #fff;
	font-size: clamp(2.1rem, 4vw, 3.7rem);
}

.damandine-home-rsvp__lead p {
	font-size: 0.9rem;
}

.damandine-home-button--light {
	background: #fff;
	color: var(--damandine-plum) !important;
}

.damandine-home-rsvp__item {
	min-height: 10rem;
	padding-inline: 1.25rem;
	border-left: 1px solid rgba(235, 216, 179, 0.72);
	text-align: center;
}

.damandine-home-rsvp__item > span {
	color: #ead9b7;
	font-family: var(--damandine-serif);
	font-size: 2.5rem;
}

.damandine-home-rsvp__item h3 {
	margin: 0.65rem 0 0.4rem;
	color: #fff;
	font-size: 1.18rem;
}

.damandine-home-rsvp__item p {
	margin-bottom: 0;
	font-size: 0.78rem;
	line-height: 1.55;
}

.damandine-home-footer {
	display: grid;
	grid-template-columns: 4rem 1fr 4rem;
	align-items: center;
	min-height: 4rem;
	padding-inline: max(1.25rem, calc((100vw - 80rem) / 2));
	background: var(--damandine-ivory);
}

.damandine-home-footer img {
	width: 2.4rem;
	height: auto;
}

.damandine-home-footer p {
	margin: 0;
	font-size: 0.68rem;
	letter-spacing: 0.16em;
	text-align: center;
}

.damandine-home-footer > a {
	justify-self: end;
	display: grid;
	place-items: center;
	width: 2.2rem;
	height: 2.2rem;
	border: 1px solid var(--damandine-border);
	border-radius: 50%;
}

@media (max-width: 1100px) {
	.damandine-home-header__inner {
		min-height: 4.6rem;
	}

	.damandine-home-menu-toggle {
		display: block;
	}

	.damandine-home-nav {
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		display: none;
		align-items: stretch;
		padding: 1.25rem max(1.25rem, calc((100vw - 82rem) / 2));
		border-top: 1px solid var(--damandine-border);
		background: rgba(251, 248, 245, 0.99);
		box-shadow: 0 1rem 2rem rgba(52, 40, 55, 0.08);
	}

	.damandine-home-nav.is-open {
		display: grid;
	}

	.damandine-home-languages {
		padding: 0.8rem 0 0;
		border-left: 0;
		border-top: 1px solid var(--damandine-border);
	}

	.damandine-home-programme-card {
		grid-template-rows: 13rem 1fr;
	}

	.damandine-home-rsvp {
		grid-template-columns: 1fr repeat(3, 0.7fr);
	}
}

@media (max-width: 782px) {
	.damandine-rsvp-whatsapp { grid-template-columns: 1fr; text-align: center; }
	.damandine-rsvp-whatsapp > div:first-child { margin-inline: auto; }
	.admin-bar .damandine-home-header {
		top: 46px;
	}

	.damandine-home-hero {
		align-items: end;
		min-height: 44rem;
		background-position: 60% center;
	}

	.damandine-home-hero::before {
		background: linear-gradient(180deg, rgba(35, 27, 34, 0.06) 15%, rgba(35, 27, 34, 0.2) 48%, rgba(35, 27, 34, 0.92) 84%);
	}

	.damandine-home-hero__content {
		padding-block: 12rem 3.5rem;
	}

	.damandine-home-hero__content > * {
		width: min(100%, 31rem);
	}

	.damandine-home-hero h1 {
		font-size: clamp(4.5rem, 17vw, 7rem);
	}

	.damandine-home-hero__actions {
		width: min(100%, 32rem);
	}

	.damandine-home-story__inner,
	.damandine-home-dress,
	.damandine-home-stay__grid {
		grid-template-columns: 1fr;
	}

	.damandine-home-story__inner {
		gap: 3.5rem;
	}

	.damandine-home-story__inner > div {
		text-align: center;
	}

	.damandine-home-story__inner .damandine-home-ornament,
	.damandine-home-story__inner > div > p {
		margin-inline: auto;
	}

	.damandine-home-programme__grid {
		grid-template-columns: 1fr;
		width: min(100%, 32rem);
	}

	.damandine-home-programme-card {
		grid-template-columns: 42% 58%;
		grid-template-rows: minmax(17rem, auto);
	}

	.damandine-home-programme-card__icon {
		left: -1.55rem;
		top: 1.35rem;
	}

	.damandine-home-dress figure {
		min-height: 30rem;
	}

	.damandine-home-dress__copy {
		align-items: center;
		text-align: center;
	}

	.damandine-home-dress .damandine-home-button {
		margin-inline: auto;
	}

	.damandine-home-rsvp {
		grid-template-columns: repeat(3, 1fr);
	}

	.damandine-home-rsvp__lead {
		grid-column: 1 / -1;
		padding: 0 0 2rem;
	}

	.damandine-stay-journeys-v2__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 560px) {
	.damandine-home-header__inner {
		width: min(100% - 1.5rem, 82rem);
	}

	.damandine-home-brand {
		font-size: 1.35rem;
	}

	.damandine-home-brand img {
		width: 2.6rem;
		height: 2.8rem;
	}

	.damandine-home-hero {
		min-height: 30rem;
	}

	.damandine-home-hero__content {
		width: calc(100% - 2rem);
		padding-block: 6.5rem 1.75rem;
	}

	.damandine-home-hero h1 {
		margin-bottom: 0.9rem;
		font-size: clamp(3.6rem, 16vw, 5.25rem);
	}

	.damandine-home-hero .damandine-home-ornament {
		margin-block: 0.45rem 0.7rem;
	}

	.damandine-home-hero::after {
		width: 13rem;
	}

	.damandine-home-hero__actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.5rem;
		margin-top: 1rem;
	}

	.damandine-home-hero__button {
		min-height: 2.7rem;
		padding: 0.7rem 0.8rem;
	}

	.damandine-home-hero__button:not(.damandine-home-hero__button--primary) {
		min-height: 2.7rem;
		padding: 0.55rem 0.45rem;
	}

	.damandine-home-countdown__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem 0;
	}

	.damandine-home-countdown__grid > div:nth-child(2)::after {
		display: none;
	}

	.damandine-home-programme,
	.damandine-home-stay {
		padding-inline: 1rem;
	}

	.damandine-home-programme-card {
		grid-template-columns: 1fr;
		grid-template-rows: 15rem 1fr;
	}

	.damandine-home-programme-card__icon {
		left: 1.5rem;
		top: -1.55rem;
	}

	.damandine-home-slider__track {
		min-height: 26rem;
	}

	.damandine-home-slide {
		grid-template-rows: 16rem 1fr;
	}

	.damandine-home-dress figure {
		min-height: 25rem;
	}

	.damandine-home-dress__copy {
		padding: 3rem 1.5rem;
	}

	.damandine-home-rsvp {
		grid-template-columns: 1fr;
		padding-inline: 1.5rem;
	}

	.damandine-home-rsvp__lead {
		grid-column: auto;
	}

	.damandine-home-rsvp__item {
		min-height: auto;
		padding: 1.4rem 0;
		border-left: 0;
		border-top: 1px solid rgba(235, 216, 179, 0.72);
	}

	.damandine-home-footer {
		grid-template-columns: 2.7rem 1fr 2.7rem;
		padding-inline: 0.75rem;
	}

	.damandine-home-footer p {
		font-size: 0.56rem;
		letter-spacing: 0.09em;
	}
}

/* Homepage only: balance the story illustration with its accompanying copy. */
.home .damandine-home-story__inner {
	grid-template-columns: minmax(20rem, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(3rem, 6vw, 6rem);
	width: min(100% - 3rem, 72rem);
	padding-block: clamp(3rem, 5vw, 5rem);
}

.home .damandine-home-story__inner figure {
	width: min(100%, 24rem);
	max-width: none;
	margin-inline: auto;
	filter: drop-shadow(0 1.1rem 1.5rem rgba(82, 61, 91, 0.1));
}

.home .damandine-home-story__inner figure::before {
	display: none;
}

.home .damandine-home-story__inner img {
	width: 100%;
	height: auto;
	aspect-ratio: auto;
	border-radius: 0;
	object-fit: contain;
}

@media (max-width: 900px) {
	.home .damandine-home-story__inner {
		grid-template-columns: 1fr;
		gap: 2.5rem;
		width: min(100% - 2rem, 42rem);
	}

	.home .damandine-home-story__inner figure {
		width: min(86vw, 23rem);
	}
}

/* Homepage only: compact, balanced actions in the RSVP banner. */
.home .damandine-home-rsvp {
	padding-block: clamp(1.75rem, 3vw, 2.5rem);
}

.home .damandine-home-rsvp__lead {
	padding-right: clamp(1.25rem, 3vw, 2.75rem);
}

.home .damandine-home-rsvp__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.65rem;
	margin-top: 1.15rem;
}

.home .damandine-home-rsvp__actions .damandine-home-button {
	display: inline-flex;
	flex: 0 1 11.75rem;
	align-items: center;
	justify-content: center;
	width: min(11.75rem, 100%);
	min-height: 3rem;
	margin: 0;
	padding: 0.7rem 1rem;
}

.home .damandine-home-rsvp__actions .damandine-home-button:hover,
.home .damandine-home-rsvp__actions .damandine-home-button:focus-visible {
	background: var(--damandine-plum);
	color: #fff !important;
}

.home .damandine-home-rsvp__item {
	min-height: 8rem;
	padding-inline: 1rem;
}

.home .damandine-home-rsvp__item > span {
	font-size: 2rem;
}

.home .damandine-home-rsvp__item h3 {
	margin: 0.4rem 0 0.3rem;
	font-size: 1.08rem;
}

@media (max-width: 782px) {
	.home .damandine-home-rsvp__lead {
		padding: 0 0 1.25rem;
	}
}

@media (max-width: 560px) {
	.home .damandine-home-rsvp {
		padding-block: 1.75rem;
	}

	.home .damandine-home-rsvp__item {
		padding-block: 1rem;
	}
}
