/* =============================================================================
 * Case Management — Litigation Desk marketing page
 *
 * Long-scroll editorial layout that wraps the product story in the same
 * design language as About / Writing Samples / Confidentiality. Sticky
 * section nav, zoomable product screenshots, FAQ disclosure, pricing
 * tiers, final CTA.
 *
 * Tokens are pulled from base.css. Crimson rationed to § sigils + key
 * operative accents. Body in Fraunces, micro-copy in JetBrains Mono.
 * ===========================================================================
 */

.ld-ldesk {
	--lde-ink:        var(--ld-ink, #0E0E10);
	--lde-parch:      var(--ld-parchment, #F7F3EC);
	--lde-parch-2:    var(--ld-parchment-alt, #EFE9DC);
	--lde-crimson:    var(--ld-crimson, #AC1F2B);
	--lde-crimson-d:  var(--ld-crimson-deep, #7D1620);
	--lde-rule:       rgba(14, 14, 16, 0.10);
	--lde-rule-soft:  rgba(14, 14, 16, 0.06);
	--lde-mute:       #6b6f76;
	--lde-slate:      #1d2327;
	--lde-easing:     cubic-bezier(0.2, 0.7, 0.2, 1);

	background: var(--lde-parch);
	color: var(--lde-ink);
	overflow-x: clip;
}

/* ─── BUTTONS ─────────────────────────────────────────────────── */
.ld-ldesk-btn {
	display: inline-flex; align-items: center; justify-content: center;
	gap: 10px;
	padding: 14px 26px;
	font-family: var(--ld-mono, monospace);
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 500;
	line-height: 1;
	border: 1px solid transparent;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	/* Defense against mobile UA tap-highlight overlays. Some browsers
	   (iOS Safari, certain Android UAs) paint a colored flash over the
	   touched element on tap; we suppress it so the only feedback the
	   user gets is our deliberate :hover / :active state below. */
	-webkit-tap-highlight-color: transparent;
	tap-highlight-color: transparent;
	/* Reset any UA-injected focus outline; we provide our own focus
	   ring via :focus-visible so keyboard users still get clear feedback. */
	outline: none;
	transition:
		background-color 200ms var(--lde-easing),
		border-color    200ms var(--lde-easing),
		color           200ms var(--lde-easing),
		transform       200ms var(--lde-easing);
}
.ld-ldesk-btn:focus-visible {
	outline: 2px solid var(--lde-crimson);
	outline-offset: 3px;
}
.ld-ldesk-btn:active {
	/* Explicit active state — keep the press feedback contained to the
	   button itself, never expanding outside its box. */
	transform: translateY(1px);
}
.ld-ldesk-btn--lg { padding: 16px 32px; font-size: 13px; letter-spacing: 0.16em; }
.ld-ldesk-btn--primary {
	background: var(--lde-crimson);
	border-color: var(--lde-crimson);
	color: var(--lde-parch);
}
/* Hover/focus pins the same text + decoration explicitly: the theme's
   global `a:hover { color: var(--ld-crimson-deep); text-decoration:
   underline; }` would otherwise repaint our white label crimson-on-
   crimson and underline it. */
.ld-ldesk-btn--primary:hover,
.ld-ldesk-btn--primary:focus-visible {
	background: var(--lde-crimson-d);
	border-color: var(--lde-crimson-d);
	color: var(--lde-parch);
	text-decoration: none;
}
.ld-ldesk-btn--ghost {
	background: transparent;
	border-color: rgba(247, 243, 236, 0.35);
	color: var(--lde-parch);
}
.ld-ldesk-btn--ghost:hover,
.ld-ldesk-btn--ghost:focus-visible {
	background: var(--lde-parch);
	color: var(--lde-ink);
	border-color: var(--lde-parch);
	text-decoration: none;
}
/* On-light surfaces */
.ld-ldesk-cap .ld-ldesk-btn--ghost,
.ld-ldesk-pricing .ld-ldesk-btn--ghost {
	border-color: var(--lde-ink); color: var(--lde-ink);
}
.ld-ldesk-cap .ld-ldesk-btn--ghost:hover,
.ld-ldesk-cap .ld-ldesk-btn--ghost:focus-visible,
.ld-ldesk-pricing .ld-ldesk-btn--ghost:hover,
.ld-ldesk-pricing .ld-ldesk-btn--ghost:focus-visible {
	background: var(--lde-ink); color: var(--lde-parch); border-color: var(--lde-ink);
	text-decoration: none;
}
/* All button states keep the label readable + no underline, including
   when the same element matches `a:hover` from the theme's link styles. */
.ld-ldesk-btn,
.ld-ldesk-btn:link,
.ld-ldesk-btn:visited,
.ld-ldesk-btn:hover,
.ld-ldesk-btn:focus,
.ld-ldesk-btn:focus-visible,
.ld-ldesk-btn:active { text-decoration: none; }

/* ─── 1. HERO ─────────────────────────────────────────────────── */
.ld-ldesk-hero {
	position: relative;
	overflow: hidden;
	background: var(--lde-ink);
	color: var(--lde-parch);
	padding: clamp(72px, 9vw, 128px) 0 0;
}
.ld-ldesk-hero::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background:
		radial-gradient(60% 80% at 90% 10%, rgba(172, 31, 43, 0.22), transparent 65%),
		radial-gradient(50% 70% at 10% 95%, rgba(172, 31, 43, 0.10), transparent 70%);
}
.ld-ldesk-hero__inner {
	position: relative; z-index: 1;
	max-width: var(--ld-wide); margin: 0 auto; padding-inline: var(--ld-s-4);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	gap: clamp(40px, 5vw, 80px);
	align-items: center;
	padding-bottom: clamp(56px, 6vw, 96px);
}
@media (max-width: 980px) {
	.ld-ldesk-hero__inner { grid-template-columns: 1fr; gap: 48px; }
}
.ld-ldesk-hero__body { max-width: 560px; }
.ld-ldesk-hero__eyebrow {
	display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
	font-family: var(--ld-mono, monospace);
	font-size: 11px; letter-spacing: 0.20em; text-transform: uppercase;
	color: rgba(247, 243, 236, 0.70);
	margin: 0 0 28px;
}
.ld-ldesk-hero__rule { display: inline-block; width: 40px; height: 1px; background: var(--lde-crimson); }
.ld-ldesk-hero__sigil {
	color: var(--lde-crimson);
	font-family: var(--ld-serif, Fraunces, Georgia, serif);
	font-style: italic; font-size: 15px;
	letter-spacing: 0.01em; text-transform: none;
}
.ld-ldesk-hero__sigil em { font-style: italic; margin-right: 4px; }
.ld-ldesk-hero__label { letter-spacing: 0.20em; }
.ld-ldesk-hero__title {
	font-family: var(--ld-serif, Fraunces, Georgia, serif);
	font-size: clamp(40px, 5.5vw, 76px);
	font-weight: 300;
	line-height: 1.02;
	letter-spacing: -0.03em;
	margin: 0 0 24px;
	color: var(--lde-parch);
}
.ld-ldesk-hero__title em { font-style: italic; color: var(--lde-crimson); font-weight: 300; }
.ld-ldesk-hero__lede {
	font-family: var(--ld-serif, serif);
	font-size: clamp(17px, 1.4vw, 19px);
	line-height: 1.55;
	color: rgba(247, 243, 236, 0.82);
	margin: 0 0 32px; max-width: 52ch;
}
.ld-ldesk-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.ld-ldesk-hero__assure {
	display: inline-flex; align-items: center; gap: 8px;
	font-family: var(--ld-mono, monospace);
	font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
	color: rgba(247, 243, 236, 0.55);
	margin: 0;
}
.ld-ldesk-hero__assure svg { color: var(--lde-crimson); }

/* Hero shot — angled, slightly raised, with a hint of the lift-on-hover */
.ld-ldesk-hero__shot { perspective: 1400px; }
.ld-ldesk-hero__shot .ld-ldesk-shot--hero {
	transform: rotateY(-3deg) rotateX(2deg) translateZ(0);
}

/* Specs strip below the hero */
.ld-ldesk-hero__strip {
	position: relative; z-index: 1;
	border-top: 1px solid rgba(247, 243, 236, 0.10);
	padding: 24px 0;
}
.ld-ldesk-hero__strip-inner {
	max-width: var(--ld-wide); margin: 0 auto; padding-inline: var(--ld-s-4);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 24px;
}
.ld-ldesk-spec { display: flex; flex-direction: column; gap: 4px; }
.ld-ldesk-spec__key {
	font-family: var(--ld-mono, monospace);
	font-size: 10.5px; letter-spacing: 0.18em; text-transform: uppercase;
	color: rgba(247, 243, 236, 0.55);
	margin: 0;
}
.ld-ldesk-spec__val {
	font-family: var(--ld-serif, serif);
	font-size: 17px; letter-spacing: -0.005em;
	color: var(--lde-parch);
	margin: 0;
}

/* ─── SHARED — Screenshot tile (zoom trigger) ─────────────────── */
.ld-ldesk-shot {
	display: block;
	width: 100%;
	padding: 0;
	margin: 0;
	background: transparent;
	border: 1px solid var(--lde-rule);
	cursor: zoom-in;
	position: relative;
	overflow: hidden;
	-webkit-tap-highlight-color: transparent;
	tap-highlight-color: transparent;
	outline: none;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.5) inset,
		0 30px 60px -20px rgba(14, 14, 16, 0.30),
		0 60px 120px -40px rgba(172, 31, 43, 0.14);
	transition: transform 280ms var(--lde-easing), box-shadow 280ms var(--lde-easing);
}
.ld-ldesk-shot:hover {
	transform: translateY(-2px);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.5) inset,
		0 36px 72px -20px rgba(14, 14, 16, 0.36),
		0 80px 140px -40px rgba(172, 31, 43, 0.18);
}
.ld-ldesk-shot:focus-visible {
	outline: 2px solid var(--lde-crimson);
	outline-offset: 2px;
}
.ld-ldesk-shot img {
	display: block; width: 100%; height: auto;
	background: #FAF7F2;
}
.ld-ldesk-shot__zoom {
	position: absolute; top: 14px; right: 14px;
	width: 32px; height: 32px;
	display: flex; align-items: center; justify-content: center;
	background: rgba(14, 14, 16, 0.7);
	color: var(--lde-parch);
	border-radius: 50%;
	backdrop-filter: blur(8px);
	transition: background-color 200ms var(--lde-easing), transform 200ms var(--lde-easing);
}
.ld-ldesk-shot:hover .ld-ldesk-shot__zoom {
	background: var(--lde-crimson);
	transform: scale(1.08);
}

/* ─── 2. STICKY ANCHOR NAV ────────────────────────────────────── */
.ld-ldesk-anchors {
	background: var(--lde-parch);
	border-bottom: 1px solid var(--lde-rule);
	position: sticky;
	top: 0;
	z-index: 20;
	backdrop-filter: blur(8px);
}
.ld-ldesk-anchors__inner {
	max-width: var(--ld-wide); margin: 0 auto; padding-inline: var(--ld-s-4);
	display: flex; gap: clamp(16px, 2.5vw, 36px);
	overflow-x: auto;
	scrollbar-width: none;
}
.ld-ldesk-anchors__inner::-webkit-scrollbar { display: none; }
.ld-ldesk-anchors a {
	flex-shrink: 0;
	padding: 16px 0;
	font-family: var(--ld-mono, monospace);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--lde-mute);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: color 200ms var(--lde-easing), border-color 200ms var(--lde-easing);
	margin-bottom: -1px;
}
.ld-ldesk-anchors a:hover { color: var(--lde-ink); }
.ld-ldesk-anchors a.is-active {
	color: var(--lde-crimson);
	border-bottom-color: var(--lde-crimson);
}

/* ─── 3–6. CAPABILITY SECTIONS ────────────────────────────────── */
.ld-ldesk-cap {
	padding: clamp(72px, 8vw, 128px) 0;
	scroll-margin-top: 60px;
}
.ld-ldesk-cap--alt { background: var(--lde-parch-2); }
.ld-ldesk-cap__inner { max-width: var(--ld-wide); margin: 0 auto; padding-inline: var(--ld-s-4); }

.ld-ldesk-cap__head {
	max-width: 760px;
	margin-bottom: clamp(48px, 5vw, 72px);
}
.ld-ldesk-cap__kicker {
	font-family: var(--ld-mono, monospace);
	font-size: 11px; letter-spacing: 0.20em; text-transform: uppercase;
	color: var(--lde-crimson);
	margin: 0 0 18px;
}
.ld-ldesk-cap__kicker span {
	font-family: var(--ld-serif, serif);
	font-style: italic; margin-right: 4px;
	letter-spacing: 0;
	text-transform: none;
}
.ld-ldesk-cap__title {
	font-family: var(--ld-serif, serif);
	font-size: clamp(34px, 4.4vw, 60px);
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 1.05;
	margin: 0 0 24px;
	color: var(--lde-ink);
}
.ld-ldesk-cap__title em {
	font-style: italic;
	color: var(--lde-crimson);
	font-weight: 400;
}
.ld-ldesk-cap__lede {
	font-family: var(--ld-serif, serif);
	font-size: clamp(17px, 1.4vw, 19px);
	line-height: 1.6;
	color: var(--lde-slate);
	margin: 0; max-width: 64ch;
}

.ld-ldesk-pullquote {
	margin: 24px 0 0;
	padding: 18px 0 18px 22px;
	border-left: 3px solid var(--lde-crimson);
	max-width: 64ch;
}
.ld-ldesk-pullquote p {
	margin: 0;
	font-family: var(--ld-serif, serif);
	font-size: clamp(19px, 1.7vw, 23px);
	line-height: 1.5;
	color: var(--lde-ink);
	font-style: italic;
}
.ld-ldesk-pullquote em { font-style: italic; }

/* Numbered feature list */
.ld-ldesk-features {
	list-style: none;
	margin: 0 0 clamp(48px, 5vw, 72px);
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: clamp(24px, 3vw, 48px) clamp(32px, 4vw, 64px);
	counter-reset: ld-ldesk-features;
}
.ld-ldesk-features li {
	display: grid;
	grid-template-columns: 40px 1fr;
	gap: 16px;
	align-items: start;
	padding: 0;
	margin: 0;
}
.ld-ldesk-features li::before { content: none !important; }
.ld-ldesk-features__num {
	display: inline-flex;
	align-items: center; justify-content: center;
	width: 30px; height: 30px;
	background: var(--lde-crimson);
	color: var(--lde-parch);
	font-family: var(--ld-serif, serif);
	font-style: italic;
	font-size: 14px;
	font-weight: 500;
	border-radius: 0;
}
.ld-ldesk-features h3 {
	font-family: var(--ld-serif, serif);
	font-size: 19px; font-weight: 500;
	letter-spacing: -0.005em;
	line-height: 1.25;
	margin: 4px 0 8px;
	color: var(--lde-ink);
}
.ld-ldesk-features p {
	margin: 0;
	font-family: var(--ld-serif, serif);
	font-size: 15px; line-height: 1.55;
	color: var(--lde-slate);
}

/* Capability figure */
.ld-ldesk-cap__figure {
	margin: 0;
	padding-top: 0;
}
.ld-ldesk-cap__figure figcaption {
	margin-top: 18px;
	text-align: center;
	font-family: var(--ld-serif, serif);
	font-style: italic;
	font-size: 14px;
	color: var(--lde-mute);
	max-width: 64ch;
	margin-inline: auto;
	line-height: 1.55;
}

/* ─── 4 integration callouts (Word / Outlook) ────────────────── */
.ld-ldesk-integrations {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(20px, 3vw, 40px);
	margin-bottom: clamp(48px, 5vw, 72px);
}
@media (max-width: 800px) {
	.ld-ldesk-integrations { grid-template-columns: 1fr; }
}
.ld-ldesk-integration {
	background: var(--lde-parch);
	border: 1px solid var(--lde-rule);
	padding: 28px 30px;
	position: relative;
}
.ld-ldesk-cap--alt .ld-ldesk-integration { background: #FFFFFF; }
.ld-ldesk-integration::before {
	content: "";
	position: absolute;
	left: 0; top: 18px; bottom: 18px;
	width: 3px;
	background: var(--lde-crimson);
}
.ld-ldesk-integration__head {
	display: flex; align-items: center; gap: 14px;
	margin: 0 0 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--lde-rule);
}
.ld-ldesk-integration__badge {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px;
	font-family: var(--ld-serif, serif);
	font-weight: 600;
	font-size: 20px;
	color: #FFFFFF;
	border-radius: 0;
}
.ld-ldesk-integration__badge--w { background: #2B579A; } /* Word blue */
.ld-ldesk-integration__badge--o { background: #0072C6; } /* Outlook blue */
.ld-ldesk-integration__title {
	font-family: var(--ld-serif, serif);
	font-size: 22px;
	font-weight: 500;
	letter-spacing: -0.01em;
	margin: 0;
}
.ld-ldesk-integration__sub {
	font-family: var(--ld-serif, serif);
	font-style: italic;
	font-size: 14px;
	color: var(--lde-crimson);
	margin: 2px 0 0;
}
.ld-ldesk-integration__list {
	list-style: none;
	padding: 0; margin: 0;
}
.ld-ldesk-integration__list li {
	padding: 10px 0 10px 18px;
	border-bottom: 1px solid var(--lde-rule-soft);
	font-family: var(--ld-serif, serif);
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--lde-slate);
	position: relative;
}
.ld-ldesk-integration__list li::before {
	content: "→";
	color: var(--lde-crimson);
	position: absolute;
	left: 0; top: 11px;
	font-family: var(--ld-mono, monospace);
	font-size: 12px;
}
.ld-ldesk-integration__list li:last-child { border-bottom: none; }
.ld-ldesk-integration__list strong {
	font-weight: 600;
	color: var(--lde-ink);
}

/* ─── 7. ARCHITECTURE LEDGER ──────────────────────────────────── */
.ld-ldesk-arch {
	background: var(--lde-ink);
	color: var(--lde-parch);
	padding: clamp(72px, 8vw, 128px) 0;
	position: relative;
	scroll-margin-top: 60px;
}
.ld-ldesk-arch::before {
	content: "";
	position: absolute; inset: 0;
	pointer-events: none;
	background: radial-gradient(60% 80% at 80% 20%, rgba(172, 31, 43, 0.14), transparent 65%);
}
.ld-ldesk-arch__inner {
	position: relative; z-index: 1;
	max-width: var(--ld-wide); margin: 0 auto; padding-inline: var(--ld-s-4);
}
.ld-ldesk-arch__head { max-width: 760px; margin-bottom: 48px; }
.ld-ldesk-arch__kicker {
	font-family: var(--ld-mono, monospace);
	font-size: 11px; letter-spacing: 0.20em; text-transform: uppercase;
	color: var(--lde-crimson);
	margin: 0 0 18px;
}
.ld-ldesk-arch__kicker span { font-family: var(--ld-serif, serif); font-style: italic; margin-right: 4px; letter-spacing: 0; text-transform: none; }
.ld-ldesk-arch__title {
	font-family: var(--ld-serif, serif);
	font-size: clamp(34px, 4.4vw, 60px);
	font-weight: 300;
	letter-spacing: -0.025em;
	line-height: 1.05;
	margin: 0 0 18px;
	color: var(--lde-parch);
}
.ld-ldesk-arch__title em { font-style: italic; color: var(--lde-crimson); font-weight: 300; }
.ld-ldesk-arch__lede {
	font-family: var(--ld-serif, serif);
	font-size: 18px; line-height: 1.6;
	color: rgba(247, 243, 236, 0.82);
	margin: 0; max-width: 64ch;
}

.ld-ldesk-arch__ledger {
	margin: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	border-top: 1px solid rgba(247, 243, 236, 0.18);
}
@media (max-width: 800px) {
	.ld-ldesk-arch__ledger { grid-template-columns: 1fr; }
}
.ld-ldesk-arch__row {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 24px;
	padding: 20px 0;
	border-bottom: 1px solid rgba(247, 243, 236, 0.10);
	align-items: baseline;
}
.ld-ldesk-arch__row:nth-child(odd) { padding-right: clamp(20px, 3vw, 48px); border-right: 1px solid rgba(247, 243, 236, 0.10); }
.ld-ldesk-arch__row:nth-child(even) { padding-left: clamp(20px, 3vw, 48px); }
@media (max-width: 800px) {
	.ld-ldesk-arch__row,
	.ld-ldesk-arch__row:nth-child(odd),
	.ld-ldesk-arch__row:nth-child(even) {
		padding-left: 0; padding-right: 0; border-right: none;
		grid-template-columns: 1fr; gap: 4px;
	}
}
.ld-ldesk-arch__row dt {
	font-family: var(--ld-mono, monospace);
	font-size: 10.5px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(247, 243, 236, 0.55);
	margin: 0;
}
.ld-ldesk-arch__row dd {
	font-family: var(--ld-serif, serif);
	font-size: 16px;
	line-height: 1.5;
	color: var(--lde-parch);
	margin: 0;
}

/* ─── 8. COMPLIANCE TRUST STRIP ───────────────────────────────── */
.ld-ldesk-compliance {
	background: var(--lde-parch);
	padding: clamp(56px, 6vw, 96px) 0;
}
.ld-ldesk-compliance__inner { max-width: var(--ld-wide); margin: 0 auto; padding-inline: var(--ld-s-4); }
.ld-ldesk-compliance__title {
	font-family: var(--ld-serif, serif);
	font-size: clamp(24px, 2.6vw, 32px);
	font-weight: 500;
	letter-spacing: -0.01em;
	margin: 0 0 32px;
	color: var(--lde-ink);
}
.ld-ldesk-compliance__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: clamp(20px, 3vw, 40px);
}
.ld-ldesk-compliance__card {
	background: var(--lde-parch-2);
	border: 1px solid var(--lde-rule);
	border-left: 3px solid var(--lde-crimson);
	padding: 24px 28px;
}
.ld-ldesk-compliance__rule {
	font-family: var(--ld-mono, monospace);
	font-size: 11px;
	letter-spacing: 0.20em;
	text-transform: uppercase;
	color: var(--lde-crimson);
	margin: 0 0 12px;
}
.ld-ldesk-compliance__card h3 {
	font-family: var(--ld-serif, serif);
	font-size: 20px; font-weight: 500;
	letter-spacing: -0.005em;
	margin: 0 0 8px;
}
.ld-ldesk-compliance__card p {
	font-family: var(--ld-serif, serif);
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--lde-slate);
	margin: 0;
}

/* ─── 9. PRICING ──────────────────────────────────────────────── */
.ld-ldesk-pricing {
	background: var(--lde-parch);
	padding: clamp(72px, 8vw, 128px) 0;
	scroll-margin-top: 60px;
}
.ld-ldesk-pricing__inner { max-width: var(--ld-wide); margin: 0 auto; padding-inline: var(--ld-s-4); }
.ld-ldesk-pricing__head { max-width: 760px; margin: 0 auto 48px; text-align: center; }
.ld-ldesk-pricing__kicker {
	font-family: var(--ld-mono, monospace);
	font-size: 11px; letter-spacing: 0.20em; text-transform: uppercase;
	color: var(--lde-crimson);
	margin: 0 0 14px;
}
.ld-ldesk-pricing__kicker span { font-family: var(--ld-serif, serif); font-style: italic; margin-right: 4px; letter-spacing: 0; text-transform: none; }
.ld-ldesk-pricing__title {
	font-family: var(--ld-serif, serif);
	font-size: clamp(34px, 4.4vw, 56px);
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 1.05;
	margin: 0 0 18px;
	color: var(--lde-ink);
}
.ld-ldesk-pricing__title em { font-style: italic; color: var(--lde-crimson); font-weight: 400; }
.ld-ldesk-pricing__lede {
	font-family: var(--ld-serif, serif);
	font-size: 17px; line-height: 1.6;
	color: var(--lde-slate);
	margin: 0; max-width: 60ch; margin-inline: auto;
}

.ld-ldesk-pricing__tiers {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: clamp(20px, 3vw, 32px);
	max-width: 1100px; margin: 0 auto;
}
.ld-ldesk-pricing__tier {
	background: #FFFFFF;
	border: 1px solid var(--lde-rule);
	padding: 32px 30px 28px;
	display: flex;
	flex-direction: column;
	position: relative;
}
.ld-ldesk-pricing__tier--featured {
	border-top: 3px solid var(--lde-crimson);
	transform: translateY(-8px);
	box-shadow: 0 30px 60px -20px rgba(14, 14, 16, 0.20);
}
@media (max-width: 800px) { .ld-ldesk-pricing__tier--featured { transform: none; } }
.ld-ldesk-pricing__tag {
	font-family: var(--ld-mono, monospace);
	font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
	color: var(--lde-mute);
	margin: 0 0 18px;
}
.ld-ldesk-pricing__tier--featured .ld-ldesk-pricing__tag { color: var(--lde-crimson); }
.ld-ldesk-pricing__price {
	font-family: var(--ld-serif, serif);
	font-size: 48px;
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 1;
	margin: 0 0 4px;
	color: var(--lde-ink);
}
.ld-ldesk-pricing__price em { font-style: italic; color: var(--lde-crimson); font-weight: 400; }
.ld-ldesk-pricing__per {
	font-family: var(--ld-mono, monospace);
	font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--lde-mute);
	margin: 0 0 24px;
}
.ld-ldesk-pricing__tier ul {
	list-style: none;
	padding: 0; margin: 0 0 28px;
	border-top: 1px solid var(--lde-rule);
	flex: 1;
}
.ld-ldesk-pricing__tier ul li {
	padding: 10px 0 10px 22px;
	font-family: var(--ld-serif, serif);
	font-size: 14.5px;
	line-height: 1.5;
	color: var(--lde-slate);
	border-bottom: 1px solid var(--lde-rule-soft);
	position: relative;
}
.ld-ldesk-pricing__tier ul li:last-child { border-bottom: none; }
.ld-ldesk-pricing__tier ul li::before {
	content: "✓";
	color: var(--lde-crimson);
	font-weight: 600;
	position: absolute;
	left: 0; top: 10px;
}
.ld-ldesk-pricing__tier .ld-ldesk-btn { width: 100%; }

/* ─── 10. FAQ ─────────────────────────────────────────────────── */
.ld-ldesk-faq {
	background: var(--lde-parch-2);
	padding: clamp(72px, 8vw, 128px) 0;
}
.ld-ldesk-faq__inner { max-width: 880px; margin: 0 auto; padding-inline: var(--ld-s-4); }
.ld-ldesk-faq__head { margin-bottom: 40px; }
.ld-ldesk-faq__kicker {
	font-family: var(--ld-mono, monospace);
	font-size: 11px; letter-spacing: 0.20em; text-transform: uppercase;
	color: var(--lde-crimson);
	margin: 0 0 14px;
}
.ld-ldesk-faq__kicker span { font-family: var(--ld-serif, serif); font-style: italic; margin-right: 4px; letter-spacing: 0; text-transform: none; }
.ld-ldesk-faq__title {
	font-family: var(--ld-serif, serif);
	font-size: clamp(28px, 3.4vw, 44px);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0;
	color: var(--lde-ink);
}

.ld-ldesk-faq__list { margin: 0; padding: 0; }
.ld-ldesk-faq__item {
	border-top: 1px solid var(--lde-rule);
	padding: 0;
}
.ld-ldesk-faq__item:last-child { border-bottom: 1px solid var(--lde-rule); }
.ld-ldesk-faq__item > summary {
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 22px 4px;
	cursor: pointer;
	font-family: var(--ld-serif, serif);
	font-size: 19px;
	font-weight: 500;
	color: var(--lde-ink);
	letter-spacing: -0.005em;
	line-height: 1.3;
	transition: color 180ms var(--lde-easing);
}
.ld-ldesk-faq__item > summary::-webkit-details-marker { display: none; }
.ld-ldesk-faq__item > summary:hover { color: var(--lde-crimson); }
.ld-ldesk-faq__chevron {
	flex-shrink: 0;
	color: var(--lde-crimson);
	transition: transform 220ms var(--lde-easing);
}
.ld-ldesk-faq__item[open] > summary .ld-ldesk-faq__chevron {
	transform: rotate(180deg);
}
.ld-ldesk-faq__a {
	padding: 0 4px 24px;
}
.ld-ldesk-faq__a p {
	margin: 0;
	font-family: var(--ld-serif, serif);
	font-size: 16px;
	line-height: 1.65;
	color: var(--lde-slate);
	max-width: 68ch;
}

/* ─── 11. FOOT CTA ────────────────────────────────────────────── */
.ld-ldesk-foot {
	background: var(--lde-ink);
	color: var(--lde-parch);
	padding: clamp(72px, 8vw, 128px) 0;
	text-align: center;
	position: relative;
	overflow: hidden;
}
.ld-ldesk-foot::before {
	content: "";
	position: absolute; inset: 0;
	pointer-events: none;
	background:
		radial-gradient(60% 80% at 50% 0%, rgba(172, 31, 43, 0.18), transparent 65%);
}
.ld-ldesk-foot__inner { position: relative; z-index: 1; max-width: 880px; margin: 0 auto; padding-inline: var(--ld-s-4); }
.ld-ldesk-foot__kicker {
	font-family: var(--ld-mono, monospace);
	font-size: 11px; letter-spacing: 0.20em; text-transform: uppercase;
	color: var(--lde-crimson);
	margin: 0 0 18px;
}
.ld-ldesk-foot__title {
	font-family: var(--ld-serif, serif);
	font-size: clamp(34px, 4.4vw, 60px);
	font-weight: 300;
	letter-spacing: -0.025em;
	line-height: 1.05;
	margin: 0 0 24px;
	color: var(--lde-parch);
}
.ld-ldesk-foot__title em { font-style: italic; color: var(--lde-crimson); font-weight: 300; }
.ld-ldesk-foot__lede {
	font-family: var(--ld-serif, serif);
	font-size: 18px;
	line-height: 1.55;
	color: rgba(247, 243, 236, 0.82);
	margin: 0 0 36px;
}
.ld-ldesk-foot__actions {
	display: inline-flex;
	gap: 14px;
	flex-wrap: wrap;
	justify-content: center;
}

/* ─── LIGHTBOX ────────────────────────────────────────────────── */
.ld-ldesk-lightbox {
	position: fixed; inset: 0;
	z-index: 9999;
	background: rgba(14, 14, 16, 0.92);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(20px, 4vw, 48px);
	animation: ld-ldesk-fade 200ms var(--lde-easing) both;
	overflow: auto;
}
.ld-ldesk-lightbox[hidden] { display: none !important; }
.ld-ldesk-lightbox__figure {
	margin: 0;
	max-width: 1440px;
	width: 100%;
	max-height: 100%;
	display: flex;
	flex-direction: column;
	gap: 16px;
	animation: ld-ldesk-zoom 280ms var(--lde-easing) both;
}
.ld-ldesk-lightbox img {
	display: block;
	max-width: 100%;
	max-height: calc(100vh - 140px);
	width: auto;
	height: auto;
	margin-inline: auto;
	background: #FAF7F2;
	box-shadow: 0 40px 80px -20px rgba(0, 0, 0, 0.6);
	cursor: zoom-out;
}
.ld-ldesk-lightbox figcaption {
	color: rgba(247, 243, 236, 0.85);
	font-family: var(--ld-serif, serif);
	font-style: italic;
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
	max-width: 64ch;
	margin-inline: auto;
}
.ld-ldesk-lightbox__close {
	position: fixed;
	top: 24px; right: 24px;
	width: 44px; height: 44px;
	background: rgba(247, 243, 236, 0.10);
	border: 1px solid rgba(247, 243, 236, 0.30);
	color: var(--lde-parch);
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	cursor: pointer;
	transition: background-color 200ms, border-color 200ms;
	z-index: 1;
}
.ld-ldesk-lightbox__close:hover {
	background: var(--lde-crimson);
	border-color: var(--lde-crimson);
}

@keyframes ld-ldesk-fade {
	from { opacity: 0; }
	to   { opacity: 1; }
}
@keyframes ld-ldesk-zoom {
	from { opacity: 0; transform: scale(0.97); }
	to   { opacity: 1; transform: scale(1); }
}

/* Lock body scroll while lightbox is open */
body.ld-ldesk-lock { overflow: hidden; }

/* ─── REDUCED MOTION ──────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	.ld-ldesk-hero__shot .ld-ldesk-shot--hero { transform: none; }
	.ld-ldesk-shot,
	.ld-ldesk-shot__zoom,
	.ld-ldesk-faq__chevron,
	.ld-ldesk-anchors a {
		transition: none;
	}
	.ld-ldesk-lightbox,
	.ld-ldesk-lightbox__figure { animation: none; }
}

/* ─── HOME PAGE POPUP ─────────────────────────────────────────── */
.ld-popup-backdrop {
	position: fixed; inset: 0;
	z-index: 9990;
	background: rgba(14, 14, 16, 0.55);
	display: flex; align-items: center; justify-content: center;
	padding: 20px;
	animation: ld-popup-fade 260ms var(--lde-easing, cubic-bezier(0.2, 0.7, 0.2, 1)) both;
}
.ld-popup-backdrop[hidden] { display: none !important; }
.ld-popup {
	max-width: 920px;
	width: 100%;
	max-height: calc(100vh - 40px);
	background: var(--ld-parchment, #F7F3EC);
	color: var(--ld-ink, #0E0E10);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.6) inset,
		0 40px 80px -20px rgba(14, 14, 16, 0.45);
	overflow: hidden;
	animation: ld-popup-rise 300ms var(--lde-easing, cubic-bezier(0.2, 0.7, 0.2, 1)) both;
	position: relative;
}
.ld-popup::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: var(--ld-crimson, #AC1F2B);
}
@media (max-width: 800px) {
	.ld-popup { grid-template-columns: 1fr; max-height: 90vh; overflow-y: auto; }
}
.ld-popup__close {
	position: absolute;
	top: 14px; right: 14px;
	width: 32px; height: 32px;
	background: rgba(14, 14, 16, 0.08);
	border: 0;
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	cursor: pointer;
	color: var(--ld-ink, #0E0E10);
	transition: background-color 180ms;
	z-index: 2;
}
.ld-popup__close:hover { background: var(--ld-crimson, #AC1F2B); color: #fff; }
.ld-popup__media {
	background: #1d1b19;
	display: flex; align-items: center; justify-content: center;
	padding: 16px;
	overflow: hidden;
	min-height: 200px;
}
.ld-popup__media img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto; height: auto;
}
.ld-popup__body {
	padding: clamp(28px, 4vw, 48px) clamp(28px, 4vw, 44px);
	display: flex; flex-direction: column; justify-content: center;
}
.ld-popup__kicker {
	font-family: var(--ld-mono, monospace);
	font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
	color: var(--ld-crimson, #AC1F2B);
	margin: 0 0 14px;
}
.ld-popup__kicker span { font-family: var(--ld-serif, serif); font-style: italic; margin-right: 4px; letter-spacing: 0; text-transform: none; }
.ld-popup__title {
	font-family: var(--ld-serif, serif);
	font-size: clamp(24px, 2.4vw, 32px);
	font-weight: 400;
	letter-spacing: -0.015em;
	line-height: 1.15;
	margin: 0 0 14px;
	color: var(--ld-ink, #0E0E10);
}
.ld-popup__title em { font-style: italic; color: var(--ld-crimson, #AC1F2B); font-weight: 400; }
.ld-popup__lede {
	font-family: var(--ld-serif, serif);
	font-size: 15.5px;
	line-height: 1.6;
	color: #1d2327;
	margin: 0 0 22px;
}
.ld-popup__actions {
	display: flex; flex-wrap: wrap; gap: 10px;
}
.ld-popup__btn {
	display: inline-flex; align-items: center; justify-content: center;
	padding: 12px 22px;
	font-family: var(--ld-mono, monospace);
	font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
	font-weight: 500;
	text-decoration: none;
	border: 1px solid;
	transition: background-color 200ms, color 200ms, border-color 200ms;
}
.ld-popup__btn--primary {
	background: var(--ld-crimson, #AC1F2B);
	border-color: var(--ld-crimson, #AC1F2B);
	color: var(--ld-parchment, #F7F3EC);
}
.ld-popup__btn--primary:hover,
.ld-popup__btn--primary:focus-visible {
	background: var(--ld-crimson-deep, #7D1620);
	border-color: var(--ld-crimson-deep, #7D1620);
	color: var(--ld-parchment, #F7F3EC);
	text-decoration: none;
}
.ld-popup__btn--ghost {
	background: transparent;
	border-color: var(--ld-ink, #0E0E10);
	color: var(--ld-ink, #0E0E10);
}
.ld-popup__btn--ghost:hover,
.ld-popup__btn--ghost:focus-visible {
	background: var(--ld-ink, #0E0E10);
	color: var(--ld-parchment, #F7F3EC);
	border-color: var(--ld-ink, #0E0E10);
	text-decoration: none;
}
.ld-popup__btn,
.ld-popup__btn:link,
.ld-popup__btn:visited,
.ld-popup__btn:hover,
.ld-popup__btn:focus,
.ld-popup__btn:focus-visible,
.ld-popup__btn:active { text-decoration: none; }

@keyframes ld-popup-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes ld-popup-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
	.ld-popup-backdrop, .ld-popup { animation: none; }
}
