/*
 * Page-specific styles (Prompts 6-10). BEM, tokens only, scoped per page.
 */

/* ==========================================================================
   Homepage (.lv-home) — Prompt 6
   ========================================================================== */

.lv-home__hero {
	position: relative;
	min-height: 100vh;
	display: flex;
	align-items: flex-end;
	padding: 140px var(--lv-space-lg) clamp(48px, 7vh, 84px);
	overflow: hidden;
}

.lv-home__hero-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 72% 22%;
}

.lv-home__hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, rgba(13, 13, 13, .94) 0%, rgba(13, 13, 13, .82) 38%, rgba(13, 13, 13, .34) 68%, rgba(13, 13, 13, .55) 100%);
}

.lv-home__hero-overlay--top {
	background: linear-gradient(to top, rgba(13, 13, 13, .92) 0%, rgba(13, 13, 13, 0) 42%);
}

.lv-home__hero-inner {
	position: relative;
	width: 100%;
	max-width: var(--lv-container-header);
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: var(--lv-space-xl);
	align-items: end;
}

.lv-home__hero-content {
	max-width: 660px;
}

.lv-home__hero-heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(2.4rem, 5.1vw, 4.3rem);
	line-height: 1.06;
	letter-spacing: -.015em;
	margin: 0 0 26px;
	color: var(--lv-white);
}

.lv-home__hero-keyword {
	font-style: normal;
	background-image: var(--lv-gold-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.lv-home__hero-rule {
	width: 72px;
	height: 1px;
	background-image: var(--lv-gold-gradient);
	margin-bottom: 26px;
}

.lv-home__hero-lede {
	margin: 0 0 40px;
	font-size: clamp(15px, 1.2vw, 17px);
	line-height: 1.85;
	font-weight: 300;
	color: rgba(255, 255, 255, .78);
	max-width: 520px;
}

.lv-home__hero-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px 28px;
}

.lv-home__hero-link {
	display: inline-flex;
	align-items: center;
	height: 56px;
	font-size: 12.5px;
	font-weight: 500;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .85);
	text-decoration: none;
	border-bottom: 1px solid rgba(212, 166, 42, .5);
	padding-bottom: 2px;
	transition: color .25s, border-color .25s;
}

.lv-home__hero-link:hover {
	color: var(--lv-gold-light);
	border-color: var(--lv-gold-light);
}

.lv-home__hero-aside {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	justify-self: end;
	max-width: 300px;
}

.lv-home__hero-kicker {
	font-size: 10.5px;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: rgba(212, 166, 42, .85);
}

.lv-home__hero-quote {
	margin: 0;
	font-family: var(--lv-font-heading);
	font-size: 17px;
	line-height: 1.6;
	font-style: italic;
	color: rgba(255, 255, 255, .66);
}

.lv-home__hero-attribution {
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .42);
}

.lv-home__hero-cue {
	margin-top: 16px;
	width: 1px;
	height: 42px;
	background: linear-gradient(to bottom, rgba(212, 166, 42, .7), transparent);
	animation: lvCue 2.6s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
	.lv-home__hero-cue {
		animation: none;
	}
}

/* Intro split ------------------------------------------------------------ */

.lv-home__intro {
	position: relative;
	background: var(--lv-cream);
	color: var(--lv-ink);
	padding: var(--lv-space-3xl) var(--lv-space-lg);
	overflow: hidden;
}

.lv-home__intro-motif {
	position: absolute;
	top: 40px;
	right: -40px;
	width: min(420px, 45vw);
	opacity: .045;
	pointer-events: none;
}

.lv-home__intro-grid {
	position: relative;
	max-width: var(--lv-container);
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: clamp(40px, 6vw, 96px);
	align-items: center;
}

.lv-home__intro-media {
	position: relative;
}

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

.lv-home__intro-frame {
	position: absolute;
	bottom: -22px;
	right: -22px;
	width: 46%;
	aspect-ratio: 1;
	border: 1px solid rgba(212, 166, 42, .55);
	pointer-events: none;
}

.lv-home__intro-bar {
	position: absolute;
	top: 24px;
	left: -1px;
	width: 3px;
	height: 78px;
	background-image: var(--lv-gold-gradient);
}

.lv-home__intro-content {
	max-width: 520px;
}

.lv-home__intro-heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.9rem, 3.3vw, 2.9rem);
	line-height: 1.16;
	letter-spacing: -.01em;
	margin: 0 0 22px;
	color: var(--lv-ink);
}

.lv-home__intro-subheading {
	font-family: var(--lv-font-body);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--lv-gold-deep-on-cream);
	margin: 0 0 22px;
}

.lv-home__intro-content p {
	margin: 0 0 18px;
	font-size: 16px;
	line-height: 1.85;
	font-weight: 400;
	color: rgba(26, 26, 26, .76);
}

.lv-home__intro-link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--lv-ink);
	text-decoration: none;
	border-bottom: 1px solid rgba(166, 124, 27, .45);
	padding-bottom: 8px;
	transition: gap .25s ease, color .25s;
}

.lv-home__intro-link:hover {
	gap: 20px;
	color: var(--lv-gold-deep);
}

/* Dual paths --------------------------------------------------------------- */

.lv-home__dual {
	background: var(--lv-black);
	padding: var(--lv-space-3xl) var(--lv-space-lg);
}

.lv-home__dual-inner {
	max-width: var(--lv-container);
	margin: 0 auto;
}

.lv-home__dual-head {
	max-width: 640px;
	margin-bottom: var(--lv-space-2xl);
}

.lv-home__dual-heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.9rem, 3.3vw, 2.8rem);
	line-height: 1.18;
	margin: 0;
	color: var(--lv-white);
}

.lv-home__dual-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: clamp(20px, 2.6vw, 34px);
	align-items: start;
}

.lv-home__dual-card {
	padding: clamp(30px, 3.4vw, 46px);
	transition: border-color .35s ease, transform .35s ease;
}

.lv-home__dual-card:hover {
	transform: translateY(-4px);
}

.lv-home__dual-card--primary {
	background: var(--lv-charcoal);
	border: 1px solid rgba(212, 166, 42, .22);
}

.lv-home__dual-card--primary:hover {
	border-color: rgba(212, 166, 42, .6);
}

.lv-home__dual-card--ghost {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, .14);
}

.lv-home__dual-card--ghost:hover {
	border-color: rgba(212, 166, 42, .5);
}

.lv-home__dual-label {
	font-size: 10.5px;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--lv-gold-light);
}

.lv-home__dual-card--ghost .lv-home__dual-label {
	color: rgba(255, 255, 255, .55);
}

.lv-home__dual-title {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.5rem, 2.2vw, 1.95rem);
	margin: 16px 0;
	color: var(--lv-white);
}

.lv-home__dual-body {
	margin: 0 0 26px;
	font-size: 15px;
	line-height: 1.85;
	font-weight: 300;
	color: rgba(255, 255, 255, .7);
}

.lv-home__dual-list {
	list-style: none;
	margin: 0 0 32px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.lv-home__dual-list li {
	display: flex;
	gap: 12px;
	font-size: 14px;
	line-height: 1.6;
	color: rgba(255, 255, 255, .7);
}

.lv-home__dual-list li::before {
	content: "\2014";
	color: var(--lv-gold);
}

/* Services grid ------------------------------------------------------------ */

.lv-home__services {
	position: relative;
	background: var(--lv-cream);
	color: var(--lv-ink);
	padding: var(--lv-space-3xl) var(--lv-space-lg);
	overflow: hidden;
}

.lv-home__services-inner {
	position: relative;
	max-width: var(--lv-container);
	margin: 0 auto;
}

.lv-home__services-head {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 28px;
	align-items: end;
	margin-bottom: var(--lv-space-2xl);
}

.lv-home__services-heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.9rem, 3.3vw, 2.8rem);
	line-height: 1.16;
	margin: 0;
	color: var(--lv-ink);
	max-width: 560px;
}

.lv-home__services-lede {
	margin: 0;
	justify-self: end;
	max-width: 340px;
	font-size: 15px;
	line-height: 1.85;
	color: rgba(26, 26, 26, .7);
}

.lv-home__services-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 0;
	border-top: 1px solid rgba(26, 26, 26, .14);
}

.lv-home__service {
	border-bottom: 1px solid rgba(26, 26, 26, .14);
	padding: clamp(30px, 3.4vw, 46px);
	transition: background .3s ease;
}

.lv-home__service:hover {
	background: rgba(212, 166, 42, .05);
}

.lv-home__service:nth-child(odd) {
	padding-left: 0;
}

.lv-home__service:nth-child(even) {
	border-left: 1px solid rgba(26, 26, 26, .14);
}

.lv-home__service-index {
	font-family: var(--lv-font-heading);
	font-size: 13px;
	letter-spacing: .1em;
	color: var(--lv-gold-deep-on-cream);
}

.lv-home__service-title {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.4rem, 2vw, 1.8rem);
	margin: 14px 0;
}

.lv-home__service-body {
	margin: 0 0 22px;
	font-size: 15px;
	line-height: 1.8;
	color: rgba(26, 26, 26, .72);
	max-width: 400px;
}

.lv-home__service-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--lv-ink);
	text-decoration: none;
	transition: color .25s ease, gap .25s ease;
}

.lv-home__service-link:hover {
	color: var(--lv-gold-deep);
	gap: 18px;
}

/* Testimonials section wrapper (component itself styled in components.css) - */

.lv-home__testimonials {
	background: var(--lv-black);
	padding: var(--lv-space-3xl) var(--lv-space-lg);
}

.lv-home__testimonials-inner {
	max-width: 1080px;
	margin: 0 auto;
}

.lv-home__testimonials-head {
	text-align: center;
	margin-bottom: var(--lv-space-2xl);
}

.lv-home__testimonials-heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.9rem, 3.3vw, 2.6rem);
	margin: 0;
	color: var(--lv-white);
}

/* Dating Club promo banner -------------------------------------------------- */

.lv-home__club-promo {
	position: relative;
	padding: clamp(80px, 11vw, 150px) var(--lv-space-lg);
	overflow: hidden;
}

.lv-home__club-promo-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 25%;
}

.lv-home__club-promo-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(13, 13, 13, .92) 0%, rgba(13, 13, 13, .72) 46%, rgba(13, 13, 13, .3) 100%);
}

.lv-home__club-promo-inner {
	position: relative;
	max-width: var(--lv-container);
	margin: 0 auto;
}

.lv-home__club-promo-content {
	max-width: 560px;
}

.lv-home__club-promo-label {
	font-size: 10.5px;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--lv-gold-light);
}

.lv-home__club-promo-heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.9rem, 3.4vw, 2.9rem);
	line-height: 1.16;
	margin: 18px 0 20px;
	color: var(--lv-white);
}

.lv-home__club-promo-body {
	margin: 0 0 34px;
	font-size: 15.5px;
	line-height: 1.85;
	font-weight: 300;
	color: rgba(255, 255, 255, .76);
}

/* Journal / blog preview -------------------------------------------------- */

.lv-home__journal {
	background: var(--lv-cream);
	color: var(--lv-ink);
	padding: var(--lv-space-3xl) var(--lv-space-lg);
}

.lv-home__journal-inner {
	max-width: var(--lv-container);
	margin: 0 auto;
}

.lv-home__journal-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: var(--lv-space-2xl);
}

.lv-home__journal-heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.9rem, 3.3vw, 2.7rem);
	margin: 0;
}

.lv-home__journal-link {
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--lv-ink);
	text-decoration: none;
	border-bottom: 1px solid rgba(166, 124, 27, .45);
	padding-bottom: 7px;
}

.lv-home__journal-link:hover {
	color: var(--lv-gold-deep);
}

.lv-home__journal-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: clamp(24px, 3vw, 40px);
}

.lv-home__journal-card {
	display: flex;
	flex-direction: column;
}

.lv-home__journal-thumb {
	display: block;
	overflow: hidden;
}

.lv-home__journal-thumb img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	display: block;
	transition: transform .6s ease;
}

.lv-home__journal-card:hover .lv-home__journal-thumb img {
	transform: scale(1.04);
}

.lv-home__journal-category {
	margin: 20px 0 12px;
	display: block;
	font-size: 10.5px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--lv-gold-deep-on-cream);
}

.lv-home__journal-title {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: 1.3rem;
	line-height: 1.35;
	margin: 0 0 12px;
}

.lv-home__journal-title a {
	color: var(--lv-ink);
	text-decoration: none;
}

.lv-home__journal-title a:hover {
	color: var(--lv-gold-deep);
}

.lv-home__journal-excerpt {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.8;
	color: rgba(26, 26, 26, .7);
}

/* Get Started — hero, tabs, "what happens next", stats bar ------------- */

.lv-get-started__hero {
	position: relative;
	padding: clamp(120px, 16vh, 180px) clamp(20px, 4vw, 48px) clamp(56px, 7vw, 88px);
	overflow: hidden;
	background: var(--lv-black);
}

.lv-get-started__hero-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 60% 18%;
}

.lv-get-started__hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(95deg, rgba(13, 13, 13, .95) 0%, rgba(13, 13, 13, .82) 44%, rgba(13, 13, 13, .45) 100%);
}

.lv-get-started__hero-inner {
	position: relative;
	max-width: var(--lv-container);
	margin: 0 auto;
	color: var(--lv-white);
}

.lv-get-started__breadcrumb {
	margin-bottom: 22px;
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .45);
}

.lv-get-started__breadcrumb a {
	color: rgba(255, 255, 255, .45);
}

.lv-get-started__hero-heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(2.1rem, 4.4vw, 3.6rem);
	line-height: 1.1;
	margin: 0 0 22px;
	max-width: 760px;
	text-wrap: balance;
	color: var(--lv-white);
}

.lv-get-started__hero-lede {
	margin: 0;
	max-width: 540px;
	font-size: 16px;
	line-height: 1.85;
	font-weight: 300;
	color: rgba(255, 255, 255, .75);
}

.lv-get-started__registration {
	background: var(--lv-cream);
	color: var(--lv-ink);
	padding: clamp(56px, 8vw, 100px) clamp(20px, 4vw, 48px);
}

.lv-get-started__registration-inner {
	max-width: 1000px;
	margin: 0 auto;
}

.lv-get-started__tablist {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	border: 1px solid rgba(26, 26, 26, .16);
	background: var(--lv-white);
	margin-bottom: clamp(36px, 5vw, 56px);
}

.lv-get-started__tab-trigger {
	text-align: left;
	padding: 22px 26px;
	border: 0;
	border-bottom: 3px solid transparent;
	background: rgba(26, 26, 26, .035);
	/* .5 failed axe's color-contrast check (Prompt 13 QA) — this and the
	 * kicker below both needed the same fix, the kicker doubly so since it
	 * stacked its own opacity on top. */
	color: rgba(26, 26, 26, .68);
	cursor: pointer;
	transition: background .3s ease, color .3s ease, border-color .3s ease;
}

.lv-get-started__tab-trigger.is-active {
	background: var(--lv-white);
	color: var(--lv-ink);
	border-bottom-color: var(--lv-gold-deep);
}

.lv-get-started__tab-title {
	display: block;
	font-family: var(--lv-font-heading);
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 5px;
}

.lv-get-started__tab-kicker {
	display: block;
	font-size: 11.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.lv-get-started__panel {
	display: none;
}

.lv-get-started__panel.is-active {
	display: block;
	animation: lvFade .5s ease both;
}

.lv-get-started__panel-heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	margin: 0 0 8px;
}

.lv-get-started__free-badge {
	display: inline-flex;
	align-items: center;
	height: 32px;
	padding: 0 14px;
	margin-bottom: 16px;
	border: 1px solid rgba(166, 124, 27, .5);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--lv-gold-deep);
}

.lv-get-started__next {
	background: var(--lv-black);
	padding: clamp(72px, 10vw, 130px) clamp(20px, 4vw, 48px);
}

.lv-get-started__next-inner {
	max-width: var(--lv-container);
	margin: 0 auto;
}

.lv-get-started__next-head {
	max-width: 560px;
	margin-bottom: clamp(40px, 5vw, 64px);
}

.lv-get-started__next-eyebrow {
	font-family: var(--lv-font-script);
	font-size: 26px;
	background-image: var(--lv-gold-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	display: block;
	margin-bottom: 6px;
}

.lv-get-started__next-heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.9rem, 3.3vw, 2.7rem);
	line-height: 1.16;
	margin: 0;
	color: var(--lv-white);
}

.lv-get-started__next-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: clamp(24px, 3vw, 44px);
}

.lv-get-started__next-step {
	border-top: 1px solid rgba(212, 166, 42, .4);
	padding-top: 24px;
}

.lv-get-started__next-number {
	font-family: var(--lv-font-heading);
	font-size: 34px;
	font-weight: 700;
	background-image: var(--lv-gold-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.lv-get-started__next-title {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: 1.35rem;
	margin: 12px 0 12px;
	color: var(--lv-white);
}

.lv-get-started__next-body {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.85;
	font-weight: 300;
	color: rgba(255, 255, 255, .66);
}

/* Conversations — hero, "what it is", quotes, booking placeholder, FAQ ---- */

.lv-conversations__hero {
	position: relative;
	padding: clamp(120px, 16vh, 185px) clamp(20px, 4vw, 48px) clamp(56px, 7vw, 88px);
	overflow: hidden;
	background: var(--lv-black);
}

.lv-conversations__hero-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 65% 20%;
}

.lv-conversations__hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(95deg, rgba(13, 13, 13, .95) 0%, rgba(13, 13, 13, .8) 46%, rgba(13, 13, 13, .4) 100%);
}

.lv-conversations__hero-inner {
	position: relative;
	max-width: var(--lv-container);
	margin: 0 auto;
	color: var(--lv-white);
}

.lv-conversations__breadcrumb {
	margin-bottom: 22px;
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .45);
}

.lv-conversations__breadcrumb a {
	color: rgba(255, 255, 255, .45);
}

.lv-conversations__hero-heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(2.1rem, 4.4vw, 3.6rem);
	line-height: 1.1;
	margin: 0 0 22px;
	max-width: 780px;
	text-wrap: balance;
	color: var(--lv-white);
}

.lv-conversations__hero-lede {
	margin: 0 0 34px;
	max-width: 540px;
	font-size: 16px;
	line-height: 1.85;
	font-weight: 300;
	color: rgba(255, 255, 255, .75);
}

.lv-conversations__hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 28px;
	align-items: center;
}

.lv-conversations__hero-price {
	font-size: 13px;
	letter-spacing: .1em;
	color: rgba(255, 255, 255, .6);
}

.lv-conversations__what {
	position: relative;
	background: var(--lv-cream);
	color: var(--lv-ink);
	padding: clamp(72px, 10vw, 140px) clamp(20px, 4vw, 48px);
	overflow: hidden;
}

.lv-conversations__what-inner {
	position: relative;
	max-width: var(--lv-container);
	margin: 0 auto;
}

.lv-conversations__what-head {
	max-width: 620px;
	margin-bottom: clamp(44px, 6vw, 76px);
}

.lv-conversations__what-heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.9rem, 3.3vw, 2.8rem);
	line-height: 1.16;
	margin: 0 0 20px;
}

.lv-conversations__what-subheading {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--lv-gold-deep-on-cream);
	margin: 0;
}

.lv-conversations__what-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: clamp(36px, 5vw, 72px);
	align-items: center;
}

.lv-conversations__what-media {
	position: relative;
}

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

.lv-conversations__what-frame {
	position: absolute;
	top: -20px;
	left: -20px;
	width: 40%;
	aspect-ratio: 1;
	border: 1px solid rgba(212, 166, 42, .55);
	pointer-events: none;
}

.lv-conversations__what-body {
	margin: 0 0 20px;
	font-size: 16px;
	line-height: 1.85;
	color: rgba(26, 26, 26, .76);
}

.lv-conversations__pull-quote {
	margin: 0 0 30px;
	padding-left: 26px;
	border-left: 2px solid var(--lv-gold-deep);
}

.lv-conversations__pull-quote p {
	margin: 0 0 10px;
	font-family: var(--lv-font-heading);
	font-size: clamp(1.15rem, 1.8vw, 1.4rem);
	line-height: 1.6;
	font-style: italic;
	color: var(--lv-ink);
}

.lv-conversations__pull-quote cite {
	font-size: 11.5px;
	letter-spacing: .16em;
	text-transform: uppercase;
	font-style: normal;
	color: rgba(26, 26, 26, .62);
}

.lv-conversations__facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 20px;
	border-top: 1px solid rgba(26, 26, 26, .14);
	padding-top: 26px;
}

.lv-conversations__fact-value {
	font-family: var(--lv-font-heading);
	font-size: 1.5rem;
	font-weight: 600;
}

.lv-conversations__fact-label {
	margin-top: 5px;
	font-size: 11.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba(26, 26, 26, .62);
}

.lv-conversations__audience {
	margin-top: clamp(44px, 6vw, 80px);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	border-top: 1px solid rgba(26, 26, 26, .14);
}

.lv-conversations__audience-item {
	padding: 32px 28px;
	border-bottom: 1px solid rgba(26, 26, 26, .14);
}

.lv-conversations__audience-item:not(:first-child) {
	border-left: 1px solid rgba(26, 26, 26, .14);
}

.lv-conversations__audience-item h4 {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: 1.2rem;
	margin: 0 0 10px;
}

.lv-conversations__audience-item p {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.8;
	color: rgba(26, 26, 26, .7);
}

.lv-conversations__quotes {
	background: var(--lv-black);
	padding: clamp(66px, 9vw, 120px) clamp(20px, 4vw, 48px);
}

.lv-conversations__quotes-inner {
	max-width: 1080px;
	margin: 0 auto;
}

.lv-conversations__booking {
	background: var(--lv-cream);
	color: var(--lv-ink);
	padding: clamp(72px, 10vw, 130px) clamp(20px, 4vw, 48px);
}

.lv-conversations__booking-inner {
	max-width: var(--lv-container);
	margin: 0 auto;
}

.lv-conversations__booking-head {
	max-width: 600px;
	margin-bottom: clamp(36px, 5vw, 56px);
}

.lv-conversations__booking-heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.9rem, 3.3vw, 2.7rem);
	line-height: 1.16;
	margin: 0;
}

/* Booking placeholder (#lv-booking) — static markup, see template comment. */

.lv-booking-placeholder {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: clamp(20px, 2.5vw, 34px);
	align-items: start;
}

.lv-booking-placeholder__calendar,
.lv-booking-placeholder__slots {
	background: var(--lv-white);
	border: 1px solid rgba(26, 26, 26, .12);
	padding: clamp(24px, 3vw, 36px);
}

.lv-booking-placeholder__cal-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 24px;
}

.lv-booking-placeholder__cal-month {
	font-family: var(--lv-font-heading);
	font-size: 1.3rem;
	font-weight: 600;
}

.lv-booking-placeholder__cal-nav {
	width: 44px;
	height: 44px;
	background: none;
	border: 1px solid rgba(26, 26, 26, .18);
	color: var(--lv-ink);
	cursor: not-allowed;
}

.lv-booking-placeholder__cal-dow {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 6px;
	margin-bottom: 10px;
}

.lv-booking-placeholder__cal-dow div {
	text-align: center;
	font-size: 10.5px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(26, 26, 26, .62);
}

.lv-booking-placeholder__cal-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 6px;
}

.lv-booking-placeholder__cal-day {
	aspect-ratio: 1;
	min-height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-family: var(--lv-font-body);
	border: 1px solid rgba(26, 26, 26, .16);
	background: var(--lv-white);
	color: var(--lv-ink);
	cursor: not-allowed;
}

.lv-booking-placeholder__cal-day--blank {
	border-color: transparent;
	background: transparent;
	pointer-events: none;
}

.lv-booking-placeholder__cal-day--off {
	border-color: rgba(26, 26, 26, .07);
	background: rgba(26, 26, 26, .05);
	color: rgba(26, 26, 26, .28);
}

.lv-booking-placeholder__cal-day--selected {
	border-color: var(--lv-ink);
	background: var(--lv-ink);
	color: var(--lv-gold-light);
}

.lv-booking-placeholder__legend {
	margin-top: 22px;
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	font-size: 12px;
	color: rgba(26, 26, 26, .62);
}

.lv-booking-placeholder__legend span {
	display: flex;
	align-items: center;
	gap: 8px;
}

.lv-booking-placeholder__swatch {
	width: 12px;
	height: 12px;
	display: inline-block;
	border: 1px solid rgba(26, 26, 26, .3);
}

.lv-booking-placeholder__swatch--selected {
	background: var(--lv-ink);
	border-color: var(--lv-ink);
}

.lv-booking-placeholder__swatch--off {
	background: rgba(26, 26, 26, .07);
}

.lv-booking-placeholder__slots h3 {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: 1.25rem;
	margin: 0 0 6px;
}

.lv-booking-placeholder__slot-hint {
	margin: 0 0 22px;
	font-size: 13.5px;
	color: rgba(26, 26, 26, .6);
}

.lv-booking-placeholder__slot-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
	gap: 10px;
}

.lv-booking-placeholder__slot {
	height: 48px;
	font-size: 13.5px;
	font-family: var(--lv-font-body);
	letter-spacing: .04em;
	border: 1px solid rgba(26, 26, 26, .16);
	background: var(--lv-white);
	color: var(--lv-ink);
	cursor: not-allowed;
}

.lv-booking-placeholder__slot--selected {
	border-color: var(--lv-ink);
	background: var(--lv-ink);
	color: var(--lv-gold-light);
}

.lv-booking-placeholder__format {
	margin-top: 26px;
	padding-top: 22px;
	border-top: 1px solid rgba(26, 26, 26, .12);
}

.lv-booking-placeholder__format-label {
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(26, 26, 26, .62);
	margin-bottom: 14px;
}

.lv-booking-placeholder__format-buttons {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.lv-booking-placeholder__format-btn {
	height: 46px;
	padding: 0 20px;
	font-size: 13px;
	font-family: var(--lv-font-body);
	border: 1px solid rgba(26, 26, 26, .16);
	background: var(--lv-white);
	color: var(--lv-ink);
	cursor: not-allowed;
}

.lv-booking-placeholder__format-btn--selected {
	border-color: var(--lv-ink);
	background: var(--lv-ink);
	color: var(--lv-gold-light);
}

.lv-booking-placeholder__summary {
	background: var(--lv-black);
	color: var(--lv-white);
	padding: clamp(26px, 3vw, 38px);
}

.lv-booking-placeholder__summary-kicker {
	font-size: 10.5px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--lv-gold-light);
	margin-bottom: 20px;
}

.lv-booking-placeholder__summary h3 {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: 1.4rem;
	margin: 0 0 24px;
}

.lv-booking-placeholder__summary-list {
	margin: 0 0 26px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.lv-booking-placeholder__summary-list > div {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 14px;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.lv-booking-placeholder__summary-list dt {
	font-size: 13px;
	color: rgba(255, 255, 255, .5);
}

.lv-booking-placeholder__summary-list dd {
	margin: 0;
	font-size: 13.5px;
	text-align: right;
	color: var(--lv-white);
}

.lv-booking-placeholder__summary-total {
	border-bottom: 0 !important;
	align-items: baseline;
}

.lv-booking-placeholder__summary-total dd {
	font-family: var(--lv-font-heading);
	font-size: 1.5rem;
	font-weight: 700;
	background-image: var(--lv-gold-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.lv-booking-placeholder__cta {
	width: 100%;
	cursor: not-allowed;
}

.lv-booking-placeholder__note {
	margin: 16px 0 0;
	font-size: 12px;
	line-height: 1.75;
	color: rgba(255, 255, 255, .45);
}

.lv-booking-placeholder__policy {
	margin-top: 22px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, .1);
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 12.5px;
	line-height: 1.7;
	color: rgba(255, 255, 255, .55);
}

.lv-conversations__faq {
	background: var(--lv-black);
	padding: clamp(72px, 10vw, 130px) clamp(20px, 4vw, 48px);
}

.lv-conversations__faq-inner {
	max-width: 900px;
	margin: 0 auto;
}

.lv-conversations__faq-head {
	margin-bottom: clamp(36px, 5vw, 52px);
}

.lv-conversations__faq-heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.9rem, 3.3vw, 2.6rem);
	margin: 0;
	color: var(--lv-white);
}

.lv-conversations__faq-link {
	margin-top: 32px;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--lv-gold-light);
	text-decoration: none;
	transition: gap .25s ease;
}

.lv-conversations__faq-link:hover {
	gap: 20px;
}

/* lv_render_accordion()'s default skin assumes a light/cream background
 * (SPEC's FAQs page); this section sits on black per the design, so scope a
 * dark-theme override here rather than changing the shared component. */
.lv-conversations__faq .lv-accordion__section {
	margin-bottom: 0;
	border-top: 1px solid rgba(212, 166, 42, .3);
}

/* Single "counseling" group here — the page's own H2 stands in for the
 * per-group heading lv_render_accordion() normally prints. */
.lv-conversations__faq .lv-accordion__heading,
.lv-conversations__faq .lv-accordion__rule {
	display: none;
}

.lv-conversations__faq .lv-accordion__item {
	border-bottom: 1px solid rgba(212, 166, 42, .3);
}

.lv-conversations__faq .lv-accordion__question {
	color: var(--lv-white) !important;
	font-size: clamp(1.05rem, 1.6vw, 1.25rem) !important;
}

.lv-conversations__faq .lv-accordion__item[open] > summary.lv-accordion__question,
.lv-conversations__faq .lv-accordion__question:hover {
	color: var(--lv-gold-light) !important;
}

.lv-conversations__faq .lv-accordion__answer {
	max-width: 680px;
	color: rgba(255, 255, 255, .68);
}

/* Dating Club ------------------------------------------------------------ */

.lv-dating-club__hero {
	position: relative;
	padding: clamp(120px, 16vh, 185px) clamp(20px, 4vw, 48px) clamp(56px, 7vw, 88px);
	overflow: hidden;
	background: var(--lv-black);
}

.lv-dating-club__hero-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 55% 18%;
}

.lv-dating-club__hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(95deg, rgba(13, 13, 13, .95) 0%, rgba(13, 13, 13, .82) 46%, rgba(13, 13, 13, .42) 100%);
}

.lv-dating-club__hero-inner {
	position: relative;
	max-width: var(--lv-container);
	margin: 0 auto;
	color: var(--lv-white);
}

.lv-dating-club__breadcrumb {
	margin-bottom: 22px;
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .45);
}

.lv-dating-club__breadcrumb a {
	color: rgba(255, 255, 255, .45);
}

.lv-dating-club__hero-heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(2.1rem, 4.4vw, 3.6rem);
	line-height: 1.1;
	margin: 0 0 22px;
	max-width: 760px;
	text-wrap: balance;
	color: var(--lv-white);
}

.lv-dating-club__hero-lede {
	margin: 0 0 34px;
	max-width: 540px;
	font-size: 16px;
	line-height: 1.85;
	font-weight: 300;
	color: rgba(255, 255, 255, .75);
}

.lv-dating-club__includes {
	background: var(--lv-cream);
	color: var(--lv-ink);
	padding: clamp(72px, 10vw, 140px) clamp(20px, 4vw, 48px);
}

.lv-dating-club__includes-inner {
	max-width: var(--lv-container);
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: clamp(40px, 6vw, 90px);
	align-items: start;
}

.lv-dating-club__includes-text {
	max-width: 480px;
}

.lv-dating-club__includes-heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.9rem, 3.3vw, 2.8rem);
	line-height: 1.16;
	margin: 0 0 20px;
}

.lv-dating-club__includes-subheading {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--lv-gold-deep-on-cream);
	margin: 0 0 22px;
}

.lv-dating-club__includes-body {
	margin: 0 0 18px;
	font-size: 16px;
	line-height: 1.85;
	color: rgba(26, 26, 26, .76);
}

.lv-dating-club__includes-list {
	display: flex;
	flex-direction: column;
}

.lv-dating-club__includes-item {
	display: flex;
	gap: 22px;
	padding: 24px 0;
	border-bottom: 1px solid rgba(26, 26, 26, .14);
}

.lv-dating-club__includes-item:last-child {
	border-bottom: 0;
}

.lv-dating-club__includes-index {
	font-family: var(--lv-font-heading);
	font-size: 13px;
	color: var(--lv-gold-deep-on-cream);
	padding-top: 4px;
}

.lv-dating-club__includes-item h4 {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: 1.15rem;
	margin: 0 0 8px;
}

.lv-dating-club__includes-item p {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.8;
	color: rgba(26, 26, 26, .7);
}

.lv-dating-club__how {
	background: var(--lv-black);
	padding: clamp(72px, 10vw, 130px) clamp(20px, 4vw, 48px);
}

.lv-dating-club__how-inner {
	max-width: var(--lv-container);
	margin: 0 auto;
}

.lv-dating-club__how-head {
	max-width: 560px;
	margin-bottom: clamp(40px, 5vw, 64px);
}

.lv-dating-club__how-heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.9rem, 3.3vw, 2.7rem);
	line-height: 1.16;
	margin: 0;
	color: var(--lv-white);
}

.lv-dating-club__how-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: clamp(20px, 2.5vw, 34px);
}

.lv-dating-club__how-step {
	border-top: 1px solid rgba(212, 166, 42, .45);
	padding-top: 22px;
}

.lv-dating-club__how-number {
	font-family: var(--lv-font-heading);
	font-size: 30px;
	font-weight: 700;
	background-image: var(--lv-gold-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.lv-dating-club__how-step h3 {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: 1.3rem;
	margin: 12px 0 10px;
	color: var(--lv-white);
}

.lv-dating-club__how-step p {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.85;
	font-weight: 300;
	color: rgba(255, 255, 255, .66);
}

.lv-dating-club__faq {
	background: var(--lv-black);
	padding: clamp(72px, 10vw, 120px) clamp(20px, 4vw, 48px);
}

.lv-dating-club__faq-inner {
	max-width: 900px;
	margin: 0 auto;
}

.lv-dating-club__faq-heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	margin: 0 0 clamp(30px, 4vw, 44px);
	color: var(--lv-white);
}

.lv-dating-club__faq .lv-accordion__section {
	margin-bottom: 0;
	border-top: 1px solid rgba(212, 166, 42, .3);
}

.lv-dating-club__faq .lv-accordion__heading,
.lv-dating-club__faq .lv-accordion__rule {
	display: none;
}

.lv-dating-club__faq .lv-accordion__item {
	border-bottom: 1px solid rgba(212, 166, 42, .3);
}

.lv-dating-club__faq .lv-accordion__question {
	color: var(--lv-white) !important;
	font-size: clamp(1.05rem, 1.6vw, 1.2rem) !important;
}

.lv-dating-club__faq .lv-accordion__item[open] > summary.lv-accordion__question,
.lv-dating-club__faq .lv-accordion__question:hover {
	color: var(--lv-gold-light) !important;
}

.lv-dating-club__faq .lv-accordion__answer {
	max-width: 680px;
	color: rgba(255, 255, 255, .68);
}

.lv-dating-club__apply {
	background: var(--lv-cream);
	color: var(--lv-ink);
	padding: clamp(72px, 10vw, 130px) clamp(20px, 4vw, 48px);
}

.lv-dating-club__apply-inner {
	max-width: 900px;
	margin: 0 auto;
}

.lv-dating-club__apply-head {
	max-width: 560px;
	margin-bottom: clamp(32px, 4vw, 46px);
}

.lv-dating-club__apply-heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.9rem, 3.3vw, 2.7rem);
	line-height: 1.16;
	margin: 0 0 16px;
}

.lv-dating-club__apply-lede {
	margin: 0;
	font-size: 15.5px;
	line-height: 1.85;
	color: rgba(26, 26, 26, .7);
}

.lv-dating-club__apply-card {
	background: var(--lv-white);
	border: 1px solid rgba(26, 26, 26, .12);
	padding: clamp(28px, 4vw, 52px);
	margin-top: clamp(32px, 4vw, 46px);
}

.lv-dating-club__apply-card .fluentform {
	max-width: none;
}

.lv-dating-club__apply-card .ff-el-form-control {
	background: var(--lv-cream);
}

.lv-dating-club__cta {
	background: var(--lv-black);
	padding: clamp(72px, 9vw, 120px) clamp(20px, 4vw, 48px);
	border-top: 1px solid rgba(212, 166, 42, .25);
	text-align: center;
}

.lv-dating-club__cta-inner {
	max-width: 700px;
	margin: 0 auto;
}

.lv-dating-club__cta-inner h2 {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.8rem, 3.2vw, 2.5rem);
	line-height: 1.16;
	margin: 0 0 18px;
	color: var(--lv-white);
}

.lv-dating-club__cta-inner p {
	margin: 0 auto 32px;
	max-width: 460px;
	font-size: 15.5px;
	line-height: 1.85;
	font-weight: 300;
	color: rgba(255, 255, 255, .7);
}

/* Media -------------------------------------------------------------------- */

.lv-media__hero {
	position: relative;
	padding: clamp(120px, 16vh, 180px) clamp(20px, 4vw, 48px) clamp(48px, 6vw, 80px);
	overflow: hidden;
	background: var(--lv-black);
}

.lv-media__hero-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 70% 20%;
	opacity: .5;
}

.lv-media__hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(95deg, rgba(13, 13, 13, .97) 0%, rgba(13, 13, 13, .86) 48%, rgba(13, 13, 13, .6) 100%);
}

.lv-media__hero-inner {
	position: relative;
	max-width: var(--lv-container);
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: clamp(30px, 5vw, 70px);
	align-items: center;
}

.lv-media__breadcrumb {
	margin-bottom: 22px;
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .45);
}

.lv-media__breadcrumb a {
	color: rgba(255, 255, 255, .45);
}

.lv-media__hero-heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(2.1rem, 4.2vw, 3.4rem);
	line-height: 1.1;
	margin: 0 0 20px;
	color: var(--lv-white);
}

.lv-media__hero-lede {
	margin: 0;
	max-width: 480px;
	font-size: 15.5px;
	line-height: 1.85;
	font-weight: 300;
	color: rgba(255, 255, 255, .75);
}

.lv-media__hero-logo {
	width: 100%;
	max-width: 340px;
	justify-self: end;
	display: block;
	border: 1px solid rgba(212, 166, 42, .3);
	height: auto;
}

.lv-media__library {
	background: var(--lv-black);
	padding: clamp(56px, 7vw, 96px) clamp(20px, 4vw, 48px);
	border-top: 1px solid rgba(212, 166, 42, .22);
}

.lv-media__library-inner {
	max-width: var(--lv-container);
	margin: 0 auto;
}

.lv-media__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: clamp(32px, 4vw, 48px);
}

.lv-media__tab {
	height: 46px;
	padding: 0 26px;
	font-family: var(--lv-font-body);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	cursor: pointer;
	border: 1px solid rgba(255, 255, 255, .2);
	background: transparent;
	color: rgba(255, 255, 255, .75);
	transition: all .25s ease;
}

.lv-media__tab.is-active {
	border-color: var(--lv-gold);
	background: var(--lv-gold);
	color: var(--lv-black);
}

.lv-media__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: clamp(20px, 2.4vw, 30px);
}

.lv-media__card {
	background: var(--lv-charcoal);
	border: 1px solid rgba(255, 255, 255, .08);
	transition: border-color .3s ease, transform .3s ease;
}

.lv-media__card:hover {
	border-color: rgba(212, 166, 42, .5);
	transform: translateY(-3px);
}

.lv-media__card-embed-wrap {
	position: relative;
}

.lv-media__card-duration {
	position: absolute;
	bottom: 12px;
	right: 12px;
	font-size: 10.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .75);
	background: rgba(13, 13, 13, .7);
	padding: 5px 10px;
	pointer-events: none;
}

.lv-media__card-body {
	padding: 22px 24px 26px;
}

.lv-media__card-tag {
	font-size: 10.5px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--lv-gold-light);
}

.lv-media__card-title {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: 1.2rem;
	margin: 12px 0 10px;
	color: var(--lv-white);
}

.lv-media__card-blurb {
	margin: 0;
	font-size: 14px;
	line-height: 1.8;
	font-weight: 300;
	color: rgba(255, 255, 255, .6);
}

.lv-media__library-note {
	margin: 26px 0 0;
	font-size: 12.5px;
	color: rgba(255, 255, 255, .55);
}

.lv-media__booking {
	background: var(--lv-cream);
	color: var(--lv-ink);
	padding: clamp(72px, 10vw, 130px) clamp(20px, 4vw, 48px);
}

.lv-media__booking-inner {
	max-width: 1080px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: clamp(36px, 5vw, 70px);
	align-items: start;
}

.lv-media__booking-text {
	max-width: 420px;
}

.lv-media__booking-heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.9rem, 3.2vw, 2.6rem);
	line-height: 1.16;
	margin: 0 0 18px;
}

.lv-media__booking-body {
	margin: 0 0 26px;
	font-size: 15.5px;
	line-height: 1.85;
	color: rgba(26, 26, 26, .74);
}

.lv-media__booking-facts {
	border-top: 1px solid rgba(26, 26, 26, .14);
	padding-top: 20px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	font-size: 14px;
	color: rgba(26, 26, 26, .72);
}

.lv-media__booking-card {
	background: var(--lv-white);
	border: 1px solid rgba(26, 26, 26, .12);
	padding: clamp(26px, 3.5vw, 44px);
}

.lv-media__booking-card .fluentform {
	max-width: none;
}

.lv-media__booking-card .ff-el-form-control {
	background: var(--lv-cream);
}

.lv-media__gallery {
	background: var(--lv-black);
	padding: clamp(66px, 9vw, 120px) clamp(20px, 4vw, 48px);
}

.lv-media__gallery-inner {
	max-width: var(--lv-container);
	margin: 0 auto;
}

.lv-media__gallery-heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	margin: 0 0 clamp(30px, 4vw, 44px);
	color: var(--lv-white);
}

.lv-media__gallery-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
}

.lv-media__gallery-item {
	margin: 0;
	position: relative;
	overflow: hidden;
}

.lv-media__gallery-item img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	display: block;
	transition: transform .6s ease;
}

.lv-media__gallery-item:hover img {
	transform: scale(1.05);
}

.lv-media__gallery-item figcaption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 14px 16px;
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--lv-white);
	background: linear-gradient(to top, rgba(13, 13, 13, .9), rgba(13, 13, 13, 0));
}

/* FAQs page (Prompt 10, Gutenberg + patterns) ------------------------------ */

.lv-faqs__section {
	background: var(--lv-cream);
	color: var(--lv-ink);
	padding: clamp(56px, 8vw, 110px) clamp(20px, 4vw, 48px) !important;
}

.lv-faqs__grid {
	max-width: 1080px;
	margin: 0 auto;
	gap: clamp(32px, 5vw, 70px) !important;
	align-items: flex-start !important;
}

.lv-faqs-nav {
	display: flex;
	flex-direction: column;
	gap: 2px;
	position: sticky;
	top: 110px;
}

.lv-faqs-nav a {
	padding: 14px 0;
	border-bottom: 1px solid rgba(26, 26, 26, .12);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--lv-ink);
	transition: color .25s ease;
}

.lv-faqs-nav a:hover {
	color: var(--lv-gold-deep);
}

.lv-faqs__accordion-col .lv-accordion__section {
	margin-bottom: clamp(40px, 5vw, 64px);
	scroll-margin-top: 120px;
}

/* Contact page (Prompt 10) -------------------------------------------------- */

.lv-contact-form {
	background: var(--lv-cream);
	color: var(--lv-ink);
	padding: clamp(66px, 9vw, 120px) clamp(20px, 4vw, 48px);
}

.lv-contact-form__inner {
	max-width: 1080px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: clamp(36px, 5vw, 76px);
	align-items: start;
}

.lv-contact-form__text {
	max-width: 400px;
}

.lv-contact-form__text h2 {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	line-height: 1.16;
	margin: 0 0 18px;
}

.lv-contact-form__text p {
	margin: 0 0 26px;
	font-size: 15.5px;
	line-height: 1.85;
	color: rgba(26, 26, 26, .74);
}

.lv-contact-form__media {
	position: relative;
}

.lv-contact-form__media img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: 50% 22%;
	display: block;
}

.lv-contact-form__frame {
	position: absolute;
	bottom: -16px;
	right: -16px;
	width: 34%;
	aspect-ratio: 1;
	border: 1px solid rgba(212, 166, 42, .55);
	pointer-events: none;
}

.lv-contact-form__card {
	background: var(--lv-white);
	border: 1px solid rgba(26, 26, 26, .12);
	padding: clamp(26px, 3.5vw, 46px);
}

.lv-contact-form__card .fluentform {
	max-width: none;
}

.lv-contact-form__card .ff-el-form-control {
	background: var(--lv-cream);
}

/* Happy Couples archive + single (Prompt 10) -------------------------------- */

.lv-happy-couples__gallery {
	background: var(--lv-cream);
	color: var(--lv-ink);
	padding: clamp(66px, 9vw, 120px) clamp(20px, 4vw, 48px);
}

.lv-happy-couples__gallery-inner {
	max-width: var(--lv-container);
	margin: 0 auto;
}

.lv-happy-couples__notice {
	margin-bottom: 34px;
	padding: 14px 18px;
	border-left: 2px solid var(--lv-gold-deep);
	background: rgba(166, 124, 27, .06);
	font-size: 13px;
	letter-spacing: .04em;
	color: rgba(26, 26, 26, .7);
}

.lv-happy-couples__masonry {
	columns: 3 300px;
	column-gap: clamp(16px, 2vw, 26px);
}

.lv-happy-couples__card {
	break-inside: avoid;
	margin: 0 0 clamp(16px, 2vw, 26px);
	background: var(--lv-white);
	border: 1px solid rgba(26, 26, 26, .1);
}

.lv-happy-couples__card img {
	width: 100%;
	display: block;
}

.lv-happy-couples__card figcaption {
	padding: 24px;
}

.lv-happy-couples__quote {
	margin: 0 0 14px;
	font-family: var(--lv-font-heading);
	font-size: 1.1rem;
	line-height: 1.6;
	font-style: italic;
	color: var(--lv-ink);
}

.lv-happy-couples__story {
	margin: 0 0 14px;
	font-size: 14px;
	line-height: 1.8;
	color: rgba(26, 26, 26, .7);
}

.lv-happy-couples__byline {
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--lv-gold-deep-on-cream);
}

.lv-happy-couples__faq {
	background: var(--lv-black);
	padding: clamp(66px, 9vw, 120px) clamp(20px, 4vw, 48px);
}

.lv-happy-couples__faq-inner {
	max-width: 900px;
	margin: 0 auto;
}

.lv-happy-couples__faq-inner > h2 {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	margin: 0 0 clamp(30px, 4vw, 44px);
	color: var(--lv-white);
}

.lv-happy-couples__faq .lv-accordion__section {
	margin-bottom: 0;
	border-top: 1px solid rgba(212, 166, 42, .3);
}

.lv-happy-couples__faq .lv-accordion__heading,
.lv-happy-couples__faq .lv-accordion__rule {
	display: none;
}

.lv-happy-couples__faq .lv-accordion__item {
	border-bottom: 1px solid rgba(212, 166, 42, .3);
}

.lv-happy-couples__faq .lv-accordion__question {
	color: var(--lv-white) !important;
	font-size: clamp(1.05rem, 1.6vw, 1.2rem) !important;
}

.lv-happy-couples__faq .lv-accordion__item[open] > summary.lv-accordion__question,
.lv-happy-couples__faq .lv-accordion__question:hover {
	color: var(--lv-gold-light) !important;
}

.lv-happy-couples__faq .lv-accordion__answer {
	max-width: 680px;
	color: rgba(255, 255, 255, .68);
}

.lv-couple-single__hero {
	position: relative;
	padding: clamp(120px, 16vh, 180px) clamp(20px, 4vw, 48px) clamp(56px, 7vw, 88px);
	overflow: hidden;
	background: var(--lv-black);
}

.lv-couple-single__hero-bg {
	position: absolute !important;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lv-couple-single__hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(95deg, rgba(13, 13, 13, .95) 0%, rgba(13, 13, 13, .8) 46%, rgba(13, 13, 13, .4) 100%);
}

.lv-couple-single__hero-inner {
	position: relative;
	max-width: var(--lv-container);
	margin: 0 auto;
	color: var(--lv-white);
}

.lv-couple-single__breadcrumb a {
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .45);
}

.lv-couple-single__heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(2rem, 4vw, 3.2rem);
	margin: 18px 0 12px;
	color: var(--lv-white);
}

.lv-couple-single__meta {
	margin: 0;
	font-size: 13px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .55);
}

.lv-couple-single__body {
	background: var(--lv-cream);
	color: var(--lv-ink);
	padding: clamp(56px, 8vw, 100px) clamp(20px, 4vw, 48px);
}

.lv-couple-single__body-inner {
	max-width: 700px;
	margin: 0 auto;
}

.lv-couple-single__quote {
	margin: 0 0 32px;
	padding-left: 26px;
	border-left: 2px solid var(--lv-gold-deep);
}

.lv-couple-single__quote p {
	margin: 0;
	font-family: var(--lv-font-heading);
	font-size: clamp(1.2rem, 2.2vw, 1.5rem);
	line-height: 1.6;
	font-style: italic;
	color: var(--lv-ink);
}

.lv-couple-single__content p {
	font-size: 17px;
	line-height: 1.9;
	color: rgba(26, 26, 26, .82);
}

/* Events archive + single (Prompt 10) --------------------------------------- */

.lv-events__why {
	background: var(--lv-cream);
	color: var(--lv-ink);
	padding: clamp(66px, 9vw, 120px) clamp(20px, 4vw, 48px);
}

.lv-events__why-inner {
	max-width: var(--lv-container);
	margin: 0 auto;
}

.lv-events__why-head {
	max-width: 560px;
	margin-bottom: clamp(36px, 5vw, 56px);
}

.lv-events__why-head h2 {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.9rem, 3.2vw, 2.6rem);
	line-height: 1.16;
	margin: 0;
}

.lv-events__why-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	border-top: 1px solid rgba(26, 26, 26, .14);
}

.lv-events__why-item {
	padding: 30px 26px;
	border-bottom: 1px solid rgba(26, 26, 26, .14);
}

.lv-events__why-item:not(:first-child) {
	border-left: 1px solid rgba(26, 26, 26, .14);
}

.lv-events__why-item h3 {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: 1.15rem;
	margin: 0 0 10px;
}

.lv-events__why-item p {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.8;
	color: rgba(26, 26, 26, .7);
}

.lv-events__upcoming {
	background: var(--lv-black);
	padding: clamp(66px, 9vw, 120px) clamp(20px, 4vw, 48px);
}

.lv-events__upcoming-inner {
	max-width: var(--lv-container);
	margin: 0 auto;
}

.lv-events__upcoming-inner > h2 {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	margin: 0 0 clamp(30px, 4vw, 44px);
	color: var(--lv-white);
}

.lv-events__list {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.lv-events__card {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: clamp(20px, 3vw, 40px);
	align-items: center;
	background: var(--lv-charcoal);
	border: 1px solid rgba(255, 255, 255, .08);
	padding: clamp(24px, 3vw, 38px);
	transition: border-color .3s ease;
}

.lv-events__card:hover {
	border-color: rgba(212, 166, 42, .5);
}

.lv-events__card-when {
	display: flex;
	gap: 24px;
	align-items: center;
}

.lv-events__card-date-badge {
	flex-shrink: 0;
	width: 84px;
	text-align: center;
	border: 1px solid rgba(212, 166, 42, .4);
	padding: 12px 0;
}

.lv-events__card-day {
	font-family: var(--lv-font-heading);
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
	background-image: var(--lv-gold-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.lv-events__card-month {
	margin-top: 6px;
	font-size: 10.5px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .6);
}

.lv-events__card h3 {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: 1.35rem;
	margin: 0 0 8px;
	color: var(--lv-white);
}

.lv-events__card-meta {
	margin: 0;
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .5);
}

.lv-events__card-desc {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.8;
	font-weight: 300;
	color: rgba(255, 255, 255, .68);
}

.lv-events__card-cta {
	justify-self: end;
	height: 50px;
	padding: 0 30px;
}

.lv-events__past {
	background: var(--lv-cream);
	color: var(--lv-ink);
	padding: clamp(56px, 8vw, 100px) clamp(20px, 4vw, 48px);
}

.lv-events__past-inner {
	max-width: var(--lv-container);
	margin: 0 auto;
}

.lv-events__past-toggle summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	border-top: 1px solid rgba(26, 26, 26, .16);
	border-bottom: 1px solid rgba(26, 26, 26, .16);
	padding: 26px 0;
	cursor: pointer;
	list-style: none;
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.4rem, 2.2vw, 1.8rem);
	color: var(--lv-ink);
}

.lv-events__past-toggle summary::-webkit-details-marker {
	display: none;
}

.lv-events__past-toggle summary::after {
	content: "+";
	font-size: 22px;
	font-weight: 300;
	color: var(--lv-gold-deep);
}

.lv-events__past-toggle[open] summary::after {
	content: "\2212";
}

.lv-events__past-list {
	padding-top: 8px;
}

.lv-events__past-item {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: space-between;
	padding: 20px 0;
	border-bottom: 1px solid rgba(26, 26, 26, .1);
}

.lv-events__past-item h4 {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: 1.05rem;
	margin: 0 0 5px;
}

.lv-events__past-item p {
	margin: 0;
	font-size: 13.5px;
	color: rgba(26, 26, 26, .6);
}

.lv-events__past-item span {
	font-size: 11.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(26, 26, 26, .45);
	align-self: center;
}

.lv-events__cta {
	background: var(--lv-black);
	padding: clamp(66px, 9vw, 115px) clamp(20px, 4vw, 48px);
	border-top: 1px solid rgba(212, 166, 42, .25);
	text-align: center;
}

.lv-events__cta-inner {
	max-width: 640px;
	margin: 0 auto;
}

.lv-events__cta-inner h2 {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.8rem, 3.2vw, 2.5rem);
	line-height: 1.16;
	margin: 0 0 18px;
	color: var(--lv-white);
}

.lv-events__cta-inner p {
	margin: 0 auto 30px;
	max-width: 440px;
	font-size: 15.5px;
	line-height: 1.85;
	font-weight: 300;
	color: rgba(255, 255, 255, .7);
}

.lv-event-single__hero {
	position: relative;
	padding: clamp(120px, 16vh, 180px) clamp(20px, 4vw, 48px) clamp(56px, 7vw, 88px);
	overflow: hidden;
	background: var(--lv-black);
}

.lv-event-single__hero-bg {
	position: absolute !important;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lv-event-single__hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(95deg, rgba(13, 13, 13, .95) 0%, rgba(13, 13, 13, .8) 46%, rgba(13, 13, 13, .4) 100%);
}

.lv-event-single__hero-inner {
	position: relative;
	max-width: var(--lv-container);
	margin: 0 auto;
	color: var(--lv-white);
}

.lv-event-single__breadcrumb a {
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .45);
}

.lv-event-single__heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(2rem, 4vw, 3.2rem);
	margin: 18px 0 12px;
	color: var(--lv-white);
}

.lv-event-single__meta {
	margin: 0;
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .55);
}

.lv-event-single__body {
	background: var(--lv-cream);
	color: var(--lv-ink);
	padding: clamp(56px, 8vw, 100px) clamp(20px, 4vw, 48px);
}

.lv-event-single__body-inner {
	max-width: 700px;
	margin: 0 auto;
}

.lv-event-single__content p {
	font-size: 17px;
	line-height: 1.9;
	color: rgba(26, 26, 26, .82);
	margin: 0 0 24px;
}

/* Blog archive + single (Prompt 10) ------------------------------------------ */

.lv-blog__archive {
	background: var(--lv-cream);
	color: var(--lv-ink);
	padding: clamp(48px, 6vw, 84px) clamp(20px, 4vw, 48px) clamp(66px, 9vw, 120px);
}

.lv-blog__archive-inner {
	max-width: var(--lv-container);
	margin: 0 auto;
}

.lv-blog__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: clamp(34px, 4vw, 52px);
}

.lv-blog__filter {
	height: 44px;
	display: inline-flex;
	align-items: center;
	padding: 0 22px;
	font-family: var(--lv-font-body);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	border: 1px solid rgba(26, 26, 26, .22);
	background: transparent;
	color: rgba(26, 26, 26, .7);
	transition: all .2s ease;
}

.lv-blog__filter.is-active,
.lv-blog__filter:hover {
	border-color: var(--lv-ink);
	background: var(--lv-ink);
	color: var(--lv-gold-light);
}

.lv-blog__featured {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: clamp(28px, 4vw, 56px);
	align-items: center;
	margin-bottom: clamp(44px, 6vw, 72px);
	padding-bottom: clamp(44px, 6vw, 72px);
	border-bottom: 1px solid rgba(26, 26, 26, .15);
}

.lv-blog__featured-media {
	display: block;
	overflow: hidden;
}

.lv-blog__featured-media img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: 50% 25%;
	display: block;
	transition: transform .6s ease;
}

.lv-blog__featured-media:hover img {
	transform: scale(1.04);
}

.lv-blog__featured-tag {
	font-size: 10.5px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--lv-gold-deep-on-cream);
}

.lv-blog__featured-title {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.6rem, 2.8vw, 2.2rem);
	line-height: 1.22;
	margin: 16px 0;
}

.lv-blog__featured-title a {
	color: var(--lv-ink);
	text-decoration: none;
}

.lv-blog__featured-title a:hover {
	color: var(--lv-gold-deep);
}

.lv-blog__featured-excerpt {
	margin: 0 0 22px;
	max-width: 480px;
	font-size: 15.5px;
	line-height: 1.85;
	color: rgba(26, 26, 26, .72);
}

.lv-blog__featured-meta,
.lv-blog__card-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	font-size: 12.5px;
	color: rgba(26, 26, 26, .62);
}

.lv-blog__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: clamp(26px, 3.5vw, 44px);
}

.lv-blog__card {
	display: flex;
	flex-direction: column;
}

.lv-blog__card-media {
	display: block;
	overflow: hidden;
}

.lv-blog__card-media img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	object-position: 50% 25%;
	display: block;
	transition: transform .6s ease;
}

.lv-blog__card-media:hover img {
	transform: scale(1.04);
}

.lv-blog__card-tag {
	margin: 20px 0 12px;
	font-size: 10.5px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--lv-gold-deep-on-cream);
}

.lv-blog__card-title {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: 1.28rem;
	line-height: 1.35;
	margin: 0 0 12px;
}

.lv-blog__card-title a {
	color: var(--lv-ink);
	text-decoration: none;
}

.lv-blog__card-title a:hover {
	color: var(--lv-gold-deep);
}

.lv-blog__card-excerpt {
	margin: 0 0 16px;
	font-size: 14.5px;
	line-height: 1.8;
	color: rgba(26, 26, 26, .7);
}

.lv-blog__card-meta {
	margin-top: auto;
}

/* Single post ---------------------------------------------------------------- */

.lv-post__hero {
	position: relative;
	padding: clamp(120px, 16vh, 185px) clamp(20px, 4vw, 48px) clamp(56px, 7vw, 92px);
	overflow: hidden;
	background: var(--lv-black);
}

.lv-post__hero-bg {
	position: absolute !important;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lv-post__hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(13, 13, 13, .96) 0%, rgba(13, 13, 13, .72) 55%, rgba(13, 13, 13, .5) 100%);
}

.lv-post__hero-inner {
	position: relative;
	max-width: 780px;
	margin: 0 auto;
	color: var(--lv-white);
}

.lv-post__breadcrumb {
	margin-bottom: 22px;
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .45);
}

.lv-post__breadcrumb a {
	color: rgba(255, 255, 255, .45);
}

.lv-post__heading {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(2rem, 4vw, 3.2rem);
	line-height: 1.12;
	margin: 0 0 22px;
	color: var(--lv-white);
}

.lv-post__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: center;
	font-size: 12.5px;
	letter-spacing: .06em;
	color: rgba(255, 255, 255, .6);
}

.lv-post__body {
	background: var(--lv-cream);
	color: var(--lv-ink);
	padding: clamp(56px, 8vw, 100px) clamp(20px, 4vw, 48px);
}

.lv-post__body-inner {
	max-width: 700px;
	margin: 0 auto;
}

.lv-post__content p {
	font-size: 17px;
	line-height: 1.9;
	color: rgba(26, 26, 26, .82);
	margin: 0 0 24px;
}

.lv-post__content p:first-child {
	font-family: var(--lv-font-heading);
	font-size: clamp(1.15rem, 2vw, 1.4rem);
	line-height: 1.65;
	color: var(--lv-ink);
}

.lv-post__content h2 {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	line-height: 1.25;
	margin: 44px 0 18px;
}

.lv-post__content blockquote {
	margin: 36px 0;
	padding: 0 0 0 28px;
	border-left: 2px solid var(--lv-gold-deep);
}

.lv-post__content blockquote p {
	font-family: var(--lv-font-heading);
	font-size: clamp(1.2rem, 2.2vw, 1.5rem);
	line-height: 1.6;
	font-style: italic;
	color: var(--lv-ink);
	margin: 0;
}

.lv-post__author {
	margin-top: clamp(44px, 6vw, 70px);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 26px;
	align-items: center;
	padding: clamp(24px, 3vw, 36px);
	background: var(--lv-white);
	border: 1px solid rgba(26, 26, 26, .12);
}

.lv-post__author img {
	width: 100%;
	max-width: 160px;
	aspect-ratio: 1;
	object-fit: cover;
	display: block;
	border-radius: 0;
}

.lv-post__author-kicker {
	font-size: 10.5px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--lv-gold-deep-on-cream);
}

.lv-post__author h3 {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: 1.3rem;
	margin: 10px 0;
}

.lv-post__author p {
	margin: 0 0 14px;
	font-size: 14.5px;
	line-height: 1.8;
	color: rgba(26, 26, 26, .72);
}

.lv-post__author a {
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--lv-gold-deep-on-cream);
	text-decoration: none;
}

.lv-post__related {
	background: var(--lv-cream);
	color: var(--lv-ink);
	padding: 0 clamp(20px, 4vw, 48px) clamp(66px, 9vw, 110px);
}

.lv-post__related-inner {
	max-width: 1080px;
	margin: 0 auto;
	border-top: 1px solid rgba(26, 26, 26, .15);
	padding-top: clamp(40px, 5vw, 60px);
}

.lv-post__related-inner > h2 {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	margin: 0 0 32px;
}

.lv-post__related-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: clamp(24px, 3vw, 40px);
}

.lv-post__related-media {
	display: block;
	overflow: hidden;
}

.lv-post__related-media img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	object-position: 50% 25%;
	display: block;
	transition: transform .6s ease;
}

.lv-post__related-media:hover img {
	transform: scale(1.04);
}

.lv-post__related-tag {
	display: block;
	margin: 18px 0 10px;
	font-size: 10.5px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--lv-gold-deep);
}

.lv-post__related-grid h3 {
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: 1.2rem;
	line-height: 1.35;
	margin: 0;
}

.lv-post__related-grid h3 a {
	color: var(--lv-ink);
	text-decoration: none;
}

.lv-post__related-grid h3 a:hover {
	color: var(--lv-gold-deep);
}

/* Legal pages (Prompt 12) — Privacy Policy, Terms & Conditions, Refund
 * Policy. Plain prose body inside Blocksy's normal .entry-content width, so
 * this just sets readable rhythm for core heading/paragraph/list blocks. */
.lv-legal-draft-notice {
	max-width: var(--lv-container);
	margin: 0 auto 40px;
	padding: 16px 20px;
	border-left: 2px solid var(--lv-gold-deep);
	background: rgba(166, 124, 27, .08);
}

.lv-legal-draft-notice p {
	margin: 0;
	font-family: var(--lv-font-body);
	font-size: 13.5px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	/* gold-deep failed axe's color-contrast check here at 4.17:1 (needs
	 * 4.5:1) — this background is dark, unlike the other gold-deep
	 * failures on this page, so it needs a *lighter* gold, not the
	 * gold-deep-on-cream token. Prompt 13 QA. */
	color: var(--lv-gold);
}

/* Real bug found in Prompt 13 QA: the site body background is dark
 * (--lv-ink), and unlike every other content section on these
 * Gutenberg-composed pages, this had no background of its own — so the
 * dark ink-colored prose text was completely invisible against it,
 * end-to-end. Every other section (FAQs, Contact, etc.) explicitly paints
 * a cream full-bleed section for exactly this reason; this one was simply
 * missed. Same outer-section/inner-column split as
 * .lv-contact-details-section/.lv-contact-details (Prompt 10). */
.lv-legal-section {
	background: var(--lv-cream);
	padding: 60px 0 80px;
}

.lv-legal {
	max-width: 760px;
	margin: 0 auto;
	padding: 0 24px;
	color: rgba(26, 26, 26, .82);
	line-height: 1.8;
}

.lv-legal h2 {
	margin: 48px 0 16px;
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: 1.5rem;
	color: var(--lv-ink);
}

.lv-legal h2:first-child {
	margin-top: 0;
}

.lv-legal h3 {
	margin: 28px 0 12px;
	font-family: var(--lv-font-heading);
	font-weight: 600;
	font-size: 1.15rem;
	color: var(--lv-ink);
}

.lv-legal p,
.lv-legal li {
	font-size: 15.5px;
}

.lv-legal ul,
.lv-legal ol {
	margin: 0 0 20px;
	padding-left: 24px;
}

.lv-legal li {
	margin-bottom: 8px;
}

.lv-legal a {
	color: var(--lv-gold-deep-on-cream);
	text-decoration: underline;
}

.lv-legal strong {
	color: var(--lv-ink);
}
