/* Dark direction for every subpage.
   body.lm-page is the static theme (no JS, reduced motion). html.lm-motion is set by linden-pages.js. */

body.lm-page {
	background: radial-gradient(110vmax 60vmax at 80% -10%, #0e3628 0%, transparent 60%), var(--lm-bg);
	color: var(--lm-ink);
}

body.lm-page main h1,
body.lm-page main h2,
body.lm-page main h3 {
	color: var(--lm-ink);
}

body.lm-page main h1 em,
body.lm-page main h2 em {
	color: var(--lm-mint);
}

body.lm-page main .eyebrow,
body.lm-page main .v4-eyebrow,
body.lm-page main .eyebrow-text {
	color: var(--lm-mint);
}

body.lm-page main p,
body.lm-page main .lead,
body.lm-page main .fineprint,
body.lm-page main li {
	color: var(--lm-muted);
}

body.lm-page main .inline-link,
body.lm-page main .v4-inline-link {
	color: var(--lm-mint);
}

body.lm-page main .btn-primary {
	background: var(--lm-mint);
	color: #062016;
}

body.lm-page main .btn-primary:hover {
	background: #dff9d9;
}

body.lm-page main .btn-outline,
body.lm-page main .inner-hero .btn-outline {
	border-color: #ffffff3d;
	color: var(--lm-ink);
}

body.lm-page .footer {
	background: #04140f;
	border-top: 1px solid var(--lm-line);
}

/* Hero */

body.lm-page .inner-hero,
body.lm-page .inner-hero-dark,
body.lm-page .article-hero,
body.lm-page .legal-hero {
	background: transparent;
	border-bottom: 1px solid var(--lm-line);
	color: var(--lm-ink);
}

body.lm-page .inner-hero h1,
body.lm-page .v4-inner-title {
	font-size: clamp(42px, 5.4vw, 92px);
	line-height: 1;
	letter-spacing: -0.06em;
	max-width: 12ch;
}

body.lm-page .inner-hero-layout {
	min-height: min(640px, calc(100svh - 76px));
}

body.lm-page .editorial-glyph,
body.lm-page .inner-hero-dark .editorial-glyph {
	color: var(--lm-mint);
	text-shadow: 0 0 60px #b9ecbc66;
}

body.lm-page .inner-hero-visual {
	overflow: visible;
}

/* Cards and surfaces */

body.lm-page main :is(.product-row, .scenario-tile, .language-card, .pricing-card, .together-step, .value-card, .journal-card, .store-card) {
	background: var(--lm-surface);
	border: 1px solid var(--lm-line);
	color: var(--lm-ink);
	box-shadow: 0 30px 70px #0006;
}

body.lm-page main .pricing-card.is-featured {
	background: linear-gradient(160deg, #164a37, #0b2a20 70%);
	border-color: #b9ecbc66;
}

body.lm-page main .pricing-card .plan-price {
	color: var(--lm-ink);
}

body.lm-page main .pricing-card.is-featured .plan-price {
	color: var(--lm-mint);
}

body.lm-page main :is(.language-card small, .store-card small, .together-step > span, .value-card > span, .journal-content p, .scenario-tile p) {
	color: var(--lm-muted);
}

body.lm-page main .scenario-tile > a {
	color: var(--lm-mint);
}

body.lm-page main .product-art {
	background: radial-gradient(circle at 50% 40%, #2a7a56, #0d3226 70%);
}

body.lm-page main .scenario-image {
	background: radial-gradient(circle at 50% 40%, #1f5c45, #0d3226 75%);
	color: var(--lm-mint);
}

body.lm-page main .journal-cover {
	background: radial-gradient(circle at 30% 30%, #1f5c45, #0d3226 75%);
	color: var(--lm-mint);
}

body.lm-page main .journal-cover span {
	color: #b9ecbc80;
}

body.lm-page main .how-step {
	border-color: var(--lm-line);
}

body.lm-page main .how-visual {
	background: radial-gradient(circle at 50% 45%, #164433, #0b2a20 70%);
	border: 1px solid var(--lm-line);
}

body.lm-page main .filter-btn {
	border-color: var(--lm-line);
	color: #c9d8ce;
}

body.lm-page main .filter-btn:hover,
body.lm-page main .filter-btn.active {
	background: var(--lm-mint);
	border-color: var(--lm-mint);
	color: #062016;
}

body.lm-page main .roadmap-notice {
	background: var(--lm-surface-2);
	border-left-color: var(--lm-mint);
	color: #c9d8ce;
}

body.lm-page main .accordion,
body.lm-page main .accordion details {
	border-color: var(--lm-line);
}

body.lm-page main .accordion summary {
	color: var(--lm-ink);
}

body.lm-page main .accordion summary span {
	color: var(--lm-mint);
}

body.lm-page main .v4-help-filter label {
	color: var(--lm-muted);
}

body.lm-page main :is(.v4-help-filter input, .contact-form input, .contact-form textarea) {
	background: var(--lm-surface);
	border-color: #ffffff2a;
	color: var(--lm-ink);
}

body.lm-page main .contact-form label {
	color: #c9d8ce;
}

body.lm-page main .contact-note {
	background: linear-gradient(160deg, #164a37, #0b2a20 70%);
	border: 1px solid #b9ecbc33;
}

body.lm-page main .legal-block {
	border-color: var(--lm-line);
}

body.lm-page main :is(.v4-inner-showcase, .v4-inner-concept, .v4-price-disclaimer, .v5-business-hero, .v5-business-section, .section) {
	background: transparent;
}

body.lm-page main .v4-inner-statement {
	background: radial-gradient(80% 120% at 50% 0%, #164433, #0b2a20 70%);
	border-top: 1px solid var(--lm-line);
	border-bottom: 1px solid var(--lm-line);
}

body.lm-page main .v4-inner-statement blockquote {
	color: var(--lm-ink);
}

body.lm-page main .v4-inner-phones img {
	border-color: #0d1914;
	box-shadow: 0 30px 60px #0008;
}

body.lm-page main .v4-inner-phones figcaption {
	color: var(--lm-muted);
}

body.lm-page main .v4-concept-art > * {
	border-color: var(--lm-line);
	background: var(--lm-surface);
	color: var(--lm-ink);
}

body.lm-page main .v5-business-device {
	background: radial-gradient(circle, #1b4b39, #0b2a20 63%, transparent 65%);
}

body.lm-page main .v5-business-bubble {
	background: var(--lm-surface-2);
	border-color: var(--lm-line);
	color: var(--lm-mint);
}

body.lm-page main .v5-business-card {
	background: var(--lm-surface);
	border-color: var(--lm-line);
	color: var(--lm-ink);
}

body.lm-page main .bottom-cta {
	position: relative;
	overflow: hidden;
	background: radial-gradient(70% 140% at 50% 100%, #1a5440 0%, #0b2a20 55%, var(--lm-bg) 100%);
	border-top: 1px solid var(--lm-line);
}

body.lm-page main .bottom-cta h2 {
	font-size: clamp(36px, 4.6vw, 72px);
	letter-spacing: -0.055em;
	line-height: 1;
}

body.lm-page main .bottom-cta .btn {
	background: var(--lm-mint);
	color: #062016;
}

body.lm-page main .bottom-star {
	color: var(--lm-mint);
}

/* ---------- Motion layer ---------- */

html.lm-motion body.lm-page main > :not(canvas):not(.lm-orb-fallback) {
	position: relative;
	z-index: 1;
}

html.lm-motion body.lm-page .editorial-glyph,
html.lm-motion body.lm-page .bottom-star,
html.lm-motion body.lm-page .together-art > span {
	color: transparent;
	text-shadow: none;
}

html.lm-motion body.lm-page .bottom-star {
	visibility: hidden;
}

html.lm-motion [data-lm-reveal] {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 0.9s var(--lm-ease), transform 0.9s var(--lm-ease);
	transition-delay: var(--lm-delay, 0s);
}

html.lm-motion [data-lm-reveal].is-in {
	opacity: 1;
	transform: none;
}

/* Hero title rises word by word */
html.lm-motion .lm-rise .lm-word {
	display: inline-block;
	opacity: 0;
	transform: translateY(0.45em) rotate(2deg);
	transition: opacity 0.8s var(--lm-ease), transform 0.9s var(--lm-ease);
	transition-delay: calc(var(--i) * 70ms + 120ms);
}

html.lm-motion .lm-rise.is-in .lm-word {
	opacity: 1;
	transform: none;
}

/* Section titles light up while scrolling */
html.lm-motion .lm-lit-word {
	opacity: 0.18;
	transition: opacity 0.35s;
}

html.lm-motion .lm-lit-word.is-lit {
	opacity: 1;
}

/* Pointer tilt with a soft glare */
html.lm-motion .lm-tilt {
	position: relative;
	transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--ty, 0px));
	transition: transform 0.5s var(--lm-ease), box-shadow 0.5s var(--lm-ease), border-color 0.5s;
	will-change: transform;
}

html.lm-motion .lm-tilt.is-tilting {
	transition: transform 0.12s linear, box-shadow 0.5s var(--lm-ease), border-color 0.5s;
	border-color: #b9ecbc55;
	box-shadow: 0 40px 90px #000a;
}

html.lm-motion .lm-tilt::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;
	background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%), #b9ecbc1f, transparent 45%);
	opacity: 0;
	transition: opacity 0.4s;
}

html.lm-motion .lm-tilt.is-tilting::after {
	opacity: 1;
}

html.lm-motion body.lm-page .hero-product-phone {
	will-change: transform;
	transition: none;
}

/* Featured plan: a slow light travelling around the border */
@property --lm-spin {
	syntax: "<angle>";
	initial-value: 0deg;
	inherits: false;
}

html.lm-motion body.lm-page .pricing-card.is-featured {
	border-color: transparent;
	background:
		linear-gradient(160deg, #164a37, #0b2a20 70%) padding-box,
		conic-gradient(from var(--lm-spin), #b9ecbc22, #b9ecbc 12%, #b9ecbc22 30%, #b9ecbc22) border-box;
	animation: lm-spin 6s linear infinite;
}

@keyframes lm-spin {
	to {
		--lm-spin: 360deg;
	}
}

/* Story scene: pinned list on the left, 3D phone on the right (product, how it works) */
html.lm-motion .lm-story-on {
	padding: 0;
}

html.lm-motion .lm-story-on :is(.product-rows, .how-layout) {
	display: none;
}

.lm-story {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: 60px;
	width: min(1220px, calc(100% - 96px));
	height: 100%;
	margin-inline: auto;
	padding-top: 76px;
}

.lm-story-list {
	display: grid;
	gap: 0;
	border-top: 1px solid var(--lm-line);
}

.lm-story-list > * {
	padding: 26px 4px;
	border-bottom: 1px solid var(--lm-line);
	opacity: 0.32;
	cursor: pointer;
	transition: opacity 0.5s var(--lm-ease), transform 0.5s var(--lm-ease);
}

.lm-story-list > .is-active {
	opacity: 1;
	transform: translateX(8px);
}

.lm-story-list .product-copy h2 {
	font-size: clamp(26px, 2.6vw, 40px);
	letter-spacing: -0.045em;
}

.lm-story-list > * p {
	max-height: 0;
	overflow: hidden;
	margin: 0;
	transition: max-height 0.6s var(--lm-ease), margin 0.6s var(--lm-ease);
}

.lm-story-list > .is-active p {
	max-height: 140px;
	margin-top: 10px;
}

.lm-story-list .inline-link {
	display: none;
}

.lm-story-list > .is-active .inline-link {
	display: inline-block;
	margin-top: 12px;
}

.lm-story-stage {
	position: relative;
	display: grid;
	place-items: center;
	height: 100%;
	perspective: 1700px;
}

.lm-device {
	--w: min(290px, 22vw, 30vh);
	position: relative;
	width: var(--w);
	height: calc(var(--w) * 2.05);
	transform-style: preserve-3d;
	will-change: transform;
}

.lm-story-stage .lm-dev-shadow {
	bottom: 6vh;
}

/* Languages: Maya's greeting under the orb */
body.lm-page .lm-greet {
	position: absolute;
	left: 50%;
	bottom: 2%;
	margin: 0;
	transform: translateX(-50%);
	color: var(--lm-ink);
	font-size: clamp(26px, 2.6vw, 40px);
	font-weight: 700;
	letter-spacing: -0.04em;
	white-space: nowrap;
	opacity: 0;
}

.lm-greet.is-on {
	animation: lm-greet 2.4s var(--lm-ease) forwards;
}

@keyframes lm-greet {
	0% {
		opacity: 0;
		transform: translate(-50%, 14px);
		filter: blur(6px);
	}
	18%,
	80% {
		opacity: 1;
		transform: translate(-50%, 0);
		filter: none;
	}
	100% {
		opacity: 0.25;
	}
}

/* ---------- Content blocks ---------- */

body.lm-page main .lm-maya {
	display: grid;
	gap: 6px;
	margin: 14px 0 6px;
	padding: 12px 14px;
	border: 1px solid var(--lm-line);
	border-radius: 14px;
	background: #ffffff08;
	font-size: 14px;
	line-height: 1.5;
}

body.lm-page main .lm-maya span {
	color: var(--lm-mint);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

body.lm-page main .lm-maya q {
	color: var(--lm-ink);
	quotes: "“" "”";
}

.lm-fix-layout,
.lm-chat-layout {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: clamp(32px, 6vw, 96px);
	align-items: center;
}

body.lm-page main .lm-fix h2,
body.lm-page main .lm-chat h2,
body.lm-page main .lm-strip h2,
body.lm-page main .lm-faq h2 {
	font-size: clamp(32px, 3.4vw, 50px);
	margin: 16px 0;
}

.lm-fix-card {
	display: grid;
	gap: 14px;
	padding: clamp(24px, 3vw, 40px);
	border: 1px solid var(--lm-line);
	border-radius: 28px;
	background: radial-gradient(120% 140% at 100% 0%, #164433, var(--lm-surface) 60%);
}

body.lm-page main .lm-fix-row {
	display: grid;
	gap: 6px;
	margin: 0;
	font-size: clamp(22px, 2.4vw, 32px);
	line-height: 1.25;
	letter-spacing: -0.02em;
}

body.lm-page main .lm-fix-label {
	color: var(--lm-muted);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

body.lm-page main .lm-fix-before s {
	color: var(--lm-muted);
	text-decoration-color: #ff9d8a;
	text-decoration-thickness: 2px;
}

body.lm-page main .lm-fix-after strong {
	color: var(--lm-mint);
	font-weight: 600;
}

body.lm-page main .lm-fix-tip {
	margin: 6px 0 0;
	color: var(--lm-muted);
	font-family: ui-monospace, "SF Mono", Menlo, monospace;
	font-size: 13px;
}

html.lm-motion .lm-fix-card .lm-fix-before s {
	text-decoration-color: transparent;
	transition: text-decoration-color 0.5s 0.5s var(--lm-ease), color 0.5s 0.5s var(--lm-ease);
}

html.lm-motion .lm-fix-card .lm-fix-after {
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 0.7s 1.1s var(--lm-ease), transform 0.7s 1.1s var(--lm-ease);
}

html.lm-motion .lm-fix-card.is-in .lm-fix-before s {
	text-decoration-color: #ff9d8a;
}

html.lm-motion .lm-fix-card.is-in .lm-fix-after {
	opacity: 1;
	transform: none;
}

.lm-strip-row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(16px, 3vw, 40px);
	margin-top: 40px;
}

.lm-strip-item {
	margin: 0;
	text-align: center;
}

.lm-strip-item img {
	display: block;
	width: min(100%, 250px);
	height: auto;
	aspect-ratio: 510 / 1109;
	margin: 0 auto;
	border: 8px solid #0d1914;
	border-radius: 34px;
	box-shadow: 0 30px 60px #0008;
}

.lm-strip-item:nth-child(2) {
	transform: translateY(-28px);
}

body.lm-page main .lm-strip-item figcaption {
	margin-top: 16px;
	color: var(--lm-muted);
	font-size: 14px;
}

html.lm-motion .lm-strip-item[data-lm-reveal]:nth-child(2):not(.is-in) {
	transform: translateY(24px);
}

html.lm-motion .lm-strip-item[data-lm-reveal]:nth-child(2).is-in {
	transform: translateY(-28px);
}

.lm-chat-thread {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: clamp(20px, 3vw, 32px);
	list-style: none;
	border: 1px solid var(--lm-line);
	border-radius: 28px;
	background: var(--lm-surface);
}

body.lm-page main .lm-msg {
	display: grid;
	gap: 4px;
	max-width: 82%;
	padding: 12px 16px;
	border-radius: 18px;
	color: var(--lm-ink);
	font-size: 15px;
	line-height: 1.45;
}

.lm-msg-a {
	justify-self: start;
	background: var(--lm-surface-2);
	border-bottom-left-radius: 6px;
}

.lm-msg-b {
	justify-self: end;
	background: #1d5a43;
	border-bottom-right-radius: 6px;
}

.lm-msg-ai {
	justify-self: center;
	border: 1px dashed #b9ecbc66;
	background: transparent;
}

body.lm-page main .lm-msg-who {
	color: var(--lm-mint);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

html.lm-motion .lm-chat-thread .lm-msg {
	opacity: 0;
	transform: translateY(14px) scale(0.97);
	transition: opacity 0.5s var(--lm-ease), transform 0.5s var(--lm-ease);
	transition-delay: calc(var(--i) * 0.7s + 0.2s);
}

html.lm-motion .lm-chat-thread.is-in .lm-msg {
	opacity: 1;
	transform: none;
}

html.lm-motion .lm-chat-thread[data-lm-reveal] {
	opacity: 1;
	transform: none;
}

@media (max-width: 760px) {
	.lm-fix-layout,
	.lm-chat-layout {
		grid-template-columns: 1fr;
	}

	.lm-strip-row {
		grid-template-columns: repeat(3, 70%);
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-bottom: 12px;
	}

	.lm-strip-item {
		scroll-snap-align: center;
	}

	.lm-strip-item:nth-child(2),
	html.lm-motion .lm-strip-item[data-lm-reveal]:nth-child(2).is-in {
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lm-orb,
	.lm-orb-fallback {
		display: none !important;
	}
}
