/**
 * Leno Design — homepage sections (compact storefront scale).
 */

.ld-home {
	overflow-x: clip;
	max-width: 100%;
}

.ld-home-section {
	padding-block: 2rem;
}

@media (min-width: 768px) {
	.ld-home-section {
		padding-block: 2.75rem;
	}
}

@media (min-width: 1024px) {
	.ld-home-section {
		padding-block: 3.5rem;
	}
}

.ld-home-section__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--ld-space-3);
	margin-block-end: var(--ld-space-5);
}

.ld-home-section__title {
	margin: 0;
	max-width: 100%;
	font-size: var(--ld-font-size-h2);
	overflow-wrap: anywhere;
}

.ld-home-section__tools {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--ld-space-2) var(--ld-space-3);
}

.ld-home-section__link {
	font-size: var(--ld-font-size-body-sm);
	font-weight: var(--ld-font-weight-medium);
	text-decoration: none;
	color: var(--ld-color-primary);
	white-space: nowrap;
}

.ld-home-section__link:hover {
	color: var(--ld-color-primary-hover);
}

.ld-media-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 8rem;
	background:
		linear-gradient(135deg, var(--ld-color-surface-muted), var(--ld-color-surface)),
		repeating-linear-gradient(
			-45deg,
			transparent,
			transparent 10px,
			rgb(14 41 71 / 0.03) 10px,
			rgb(14 41 71 / 0.03) 12px
		);
	border-radius: inherit;
}

/* Hero ----------------------------------------------------------------- */

.ld-home-hero {
	padding-block: var(--ld-space-5) var(--ld-space-6);
	background:
		radial-gradient(circle at 12% 18%, rgb(186 101 66 / 0.07), transparent 40%),
		linear-gradient(180deg, var(--ld-color-surface) 0%, var(--ld-color-background) 100%);
}

.ld-home-hero__grid {
	display: grid;
	gap: var(--ld-space-5);
	align-items: stretch;
}

@media (min-width: 1024px) {
	.ld-home-hero__grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
		gap: var(--ld-space-5);
		min-height: 26rem;
		max-height: 28.75rem;
	}
}

.ld-home-hero__eyebrow {
	margin-block-end: var(--ld-space-2);
	color: var(--ld-color-primary);
	font-size: var(--ld-font-size-label);
}

.ld-home-hero__title {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	margin: 0 0 var(--ld-space-3);
	font-size: var(--ld-font-size-h1);
	line-height: var(--ld-line-height-tight);
	overflow-wrap: anywhere;
	text-wrap: balance;
}

.ld-home-hero__title-accent {
	color: var(--ld-color-primary);
}

.ld-home-hero__desc {
	max-width: 34rem;
	margin: 0 0 var(--ld-space-4);
	color: var(--ld-color-text-muted);
	font-size: var(--ld-font-size-body-sm);
	line-height: var(--ld-line-height-body);
}

.ld-home-hero__actions {
	margin-block-end: var(--ld-space-4);
	gap: var(--ld-space-2);
}

.ld-home-hero__actions .ld-button {
	min-width: 8rem;
	min-height: 2.5rem;
	font-size: 0.875rem;
}

.ld-home-hero__trust {
	display: grid;
	gap: var(--ld-space-2);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 768px) {
	.ld-home-hero__trust {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.ld-home-hero__trust-item {
	display: flex;
	align-items: center;
	gap: var(--ld-space-2);
	margin: 0;
	padding: 0.55rem 0.65rem;
	border: var(--ld-border);
	border-radius: var(--ld-radius-md);
	background-color: var(--ld-color-surface);
	font-size: var(--ld-font-size-label);
	font-weight: var(--ld-font-weight-medium);
	line-height: var(--ld-line-height-snug);
}

.ld-home-hero__trust-icon {
	display: inline-flex;
	color: var(--ld-color-primary);
	flex: 0 0 auto;
}

.ld-home-hero__trust-icon svg {
	width: 1rem;
	height: 1rem;
}

.ld-home-hero__media-wrap {
	position: relative;
	min-width: 0;
	max-width: 100%;
}

.ld-home-hero__figure {
	margin: 0;
	overflow: hidden;
	border-radius: var(--ld-radius-xl);
	box-shadow: var(--ld-shadow-elevated);
	background-color: var(--ld-color-surface-muted);
	aspect-ratio: 4 / 3;
	max-height: 28rem;
}

@media (min-width: 1024px) {
	.ld-home-hero__figure {
		height: 100%;
		max-height: none;
		aspect-ratio: auto;
	}
}

.ld-home-hero__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ld-home-hero__shortcuts {
	margin-block-start: var(--ld-space-3);
	max-width: 100%;
}

@media (min-width: 1024px) {
	.ld-home-hero__shortcuts {
		position: absolute;
		inset-inline-start: var(--ld-space-3);
		inset-block-end: var(--ld-space-3);
		margin: 0;
		width: min(100% - 1.5rem, 15.5rem);
	}
}

.ld-home-hero__shortcut-list {
	display: grid;
	gap: 0.2rem;
	margin: 0;
	padding: var(--ld-space-2);
	list-style: none;
	border-radius: var(--ld-radius-lg);
	background-color: rgb(255 255 255 / 0.96);
	border: var(--ld-border);
	box-shadow: var(--ld-shadow-soft);
	overflow: visible;
	max-height: none;
}

.ld-home-hero__shortcut {
	display: flex;
	align-items: center;
	gap: var(--ld-space-2);
	min-height: 1.95rem;
	padding: 0.22rem 0.45rem;
	border-radius: var(--ld-radius-sm);
	text-decoration: none;
	color: var(--ld-color-text);
	font-size: var(--ld-font-size-label);
	font-weight: var(--ld-font-weight-medium);
}

.ld-home-hero__shortcut:hover {
	background-color: var(--ld-color-surface-muted);
	color: var(--ld-color-text);
}

.ld-home-hero__shortcut-icon {
	display: inline-flex;
	color: var(--ld-color-primary);
}

.ld-home-hero__shortcut-icon svg {
	width: 1rem;
	height: 1rem;
}

.ld-home-hero__shortcut-label {
	overflow-wrap: anywhere;
}

.ld-home-hero__all-cats {
	display: block;
	margin-block-start: 0.35rem;
	padding: 0.45rem 0.5rem;
	border-radius: var(--ld-radius-sm);
	background-color: var(--ld-color-brand);
	color: var(--ld-color-on-brand);
	font-size: var(--ld-font-size-label);
	font-weight: var(--ld-font-weight-medium);
	text-align: center;
	text-decoration: none;
}

.ld-home-hero__all-cats:hover {
	background-color: var(--ld-color-brand-hover);
	color: var(--ld-color-on-brand);
}

/* Shared rails --------------------------------------------------------- */

.ld-home-rail {
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	padding-block-end: 0;
	outline: none;
	scrollbar-width: none;
	-ms-overflow-style: none;
	max-width: 100%;
}

.ld-home-rail::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

.ld-home-rail:focus-visible {
	box-shadow: var(--ld-focus-ring);
	border-radius: var(--ld-radius-md);
}

.ld-home-rail__track {
	display: flex;
	gap: var(--ld-space-3);
	margin: 0;
	padding: 0;
	list-style: none;
}

.ld-home-rail__item {
	flex: 0 0 auto;
	scroll-snap-align: start;
	margin: 0;
	min-width: 0;
	width: min(78vw, 14.5rem);
}

@media (min-width: 768px) {
	.ld-home-rail__item {
		width: min(40vw, 15rem);
	}
}

@media (min-width: 1024px) {
	.ld-home-categories__track {
		display: grid;
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: var(--ld-space-3);
		width: 100%;
	}

	.ld-home-categories .ld-home-rail {
		overflow: visible;
		scroll-snap-type: none;
	}

	.ld-home-categories__track .ld-home-rail__item {
		width: auto;
		min-width: 0;
	}

	.ld-home-products__track .ld-home-rail__item {
		width: calc((100% - (3 * var(--ld-space-3))) / 4);
		min-width: 12.5rem;
	}

	.ld-home-articles__track .ld-home-rail__item,
	.ld-home-projects__track .ld-home-rail__item {
		width: calc((100% - (3 * var(--ld-space-3))) / 4);
		min-width: 12.5rem;
	}
}

@media (min-width: 1280px) {
	.ld-home-products__track .ld-home-rail__item {
		width: calc((100% - (4 * var(--ld-space-3))) / 5);
		min-width: 12rem;
	}
}

@media (max-width: 767px) {
	.ld-home-products__track .ld-home-rail__item {
		width: min(78vw, 16.25rem);
	}
}

.ld-home-rail__controls {
	display: none;
	gap: var(--ld-space-1);
}

@media (min-width: 768px) {
	.ld-home-rail__controls {
		display: inline-flex;
	}
}

.ld-home-rail__btn {
	width: 2.25rem;
	height: 2.25rem;
	min-width: 2.25rem;
	min-height: 2.25rem;
	padding: 0;
}

.ld-home-rail__btn[aria-disabled="true"] {
	opacity: 0.45;
	cursor: not-allowed;
}

/* Category cards ------------------------------------------------------- */

.ld-home-categories {
	background-color: var(--ld-color-surface);
}

.ld-home-cat-card {
	display: flex;
	flex-direction: column;
	gap: var(--ld-space-2);
	height: 100%;
	text-decoration: none;
	color: var(--ld-color-text);
	min-width: 0;
}

.ld-home-cat-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 1;
	border-radius: var(--ld-radius-xl);
	background-color: var(--ld-color-surface-muted);
	box-shadow: var(--ld-shadow-soft);
}

.ld-home-cat-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ld-home-cat-card__icon {
	position: absolute;
	inset-inline-end: var(--ld-space-2);
	inset-block-end: var(--ld-space-2);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.85rem;
	height: 1.85rem;
	border-radius: var(--ld-radius-md);
	background-color: rgb(255 255 255 / 0.94);
	color: var(--ld-color-primary);
}

.ld-home-cat-card__icon svg {
	width: 0.95rem;
	height: 0.95rem;
}

.ld-home-cat-card__title {
	font-size: var(--ld-font-size-label);
	font-weight: var(--ld-font-weight-medium);
	line-height: var(--ld-line-height-snug);
	overflow-wrap: anywhere;
	text-align: center;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

@media (max-width: 767px) {
	.ld-home-categories__track {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: var(--ld-space-3);
	}

	.ld-home-categories .ld-home-rail {
		overflow: visible;
		scroll-snap-type: none;
	}

	.ld-home-categories__track .ld-home-rail__item {
		width: auto;
	}
}

/* Product cards -------------------------------------------------------- */

.ld-home-product-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background-color: var(--ld-color-surface);
	border: var(--ld-border);
	border-radius: var(--ld-radius-xl);
	overflow: hidden;
	box-shadow: var(--ld-shadow-soft);
	min-width: 0;
}

.ld-home-product-card__media {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	background-color: var(--ld-color-surface);
	padding: var(--ld-space-3);
	overflow: hidden;
}

.ld-home-product-card__image {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.ld-home-product-card__badge {
	position: absolute;
	inset-inline-start: var(--ld-space-2);
	inset-block-start: var(--ld-space-2);
	padding: 0.15rem 0.5rem;
	border-radius: var(--ld-radius-pill);
	background-color: var(--ld-color-primary);
	color: var(--ld-color-on-primary);
	font-size: 0.6875rem;
	font-weight: var(--ld-font-weight-medium);
}

.ld-home-product-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 0.75rem 0.85rem 0.9rem;
	flex: 1 1 auto;
	min-height: 8.5rem;
}

.ld-home-product-card__category,
.ld-home-product-card__sku {
	margin: 0;
	color: var(--ld-color-text-muted);
	font-size: 0.75rem;
	line-height: 1.35;
}

.ld-home-product-card__title {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.4;
	overflow-wrap: anywhere;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.6em;
}

@media (max-width: 767px) {
	.ld-home-product-card__title {
		font-size: 0.875rem;
	}
}

.ld-home-product-card__title a {
	color: inherit;
	text-decoration: none;
}

.ld-home-product-card__title a:hover {
	color: var(--ld-color-primary);
}

.ld-home-product-card__meta {
	min-height: 0;
}

.ld-home-product-card__price {
	font-size: var(--ld-font-size-body-sm);
	font-weight: var(--ld-font-weight-medium);
	color: var(--ld-color-text);
}

.ld-home-product-card__actions {
	margin-block-start: auto;
	padding-block-start: 0.45rem;
}

.ld-home-product-card__cta,
.ld-home-product-card .button,
.ld-home-product-card .add_to_cart_button {
	width: 100%;
	min-height: 2.5rem;
	justify-content: center;
	text-decoration: none;
	font-size: 0.8125rem;
	font-weight: var(--ld-font-weight-semibold);
	padding: 0.45rem 0.75rem;
}

.ld-home-product-card .button,
.ld-home-product-card .add_to_cart_button {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: var(--ld-border-width) solid var(--ld-color-primary);
	border-radius: var(--ld-radius-md);
	background-color: var(--ld-color-primary);
	color: var(--ld-color-on-primary);
	font-family: var(--ld-font-family);
	cursor: pointer;
}

.ld-home-product-card .button:hover,
.ld-home-product-card .add_to_cart_button:hover {
	background-color: var(--ld-color-primary-hover);
	border-color: var(--ld-color-primary-hover);
	color: var(--ld-color-on-primary);
}

/* Benefits ------------------------------------------------------------- */

.ld-home-benefits {
	padding-block: var(--ld-space-5);
	background-color: var(--ld-color-surface);
	border-block: var(--ld-border);
}

.ld-home-benefits__list {
	display: grid;
	gap: var(--ld-space-2);
	margin: 0;
	padding: 0;
	list-style: none;
	grid-template-columns: 1fr 1fr;
}

@media (min-width: 1024px) {
	.ld-home-benefits__list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: var(--ld-space-3);
	}
}

.ld-home-benefits__item {
	display: flex;
	align-items: center;
	gap: var(--ld-space-2);
	margin: 0;
	padding: 0.65rem 0.75rem;
	border: var(--ld-border);
	border-radius: var(--ld-radius-md);
	background-color: var(--ld-color-background);
	min-width: 0;
}

.ld-home-benefits__icon {
	display: inline-flex;
	color: var(--ld-color-primary);
	flex: 0 0 auto;
}

.ld-home-benefits__icon svg {
	width: 1.15rem;
	height: 1.15rem;
}

.ld-home-benefits__label {
	font-size: var(--ld-font-size-label);
	font-weight: var(--ld-font-weight-medium);
	line-height: var(--ld-line-height-snug);
	overflow-wrap: anywhere;
}

/* Purchase process ----------------------------------------------------- */

.ld-home-process__panel {
	display: grid;
	gap: var(--ld-space-5);
	padding: var(--ld-space-6);
	border-radius: var(--ld-radius-xl);
	background:
		radial-gradient(circle at 88% 18%, rgb(186 101 66 / 0.16), transparent 34%),
		var(--ld-color-brand);
	color: var(--ld-color-on-brand);
	box-shadow: var(--ld-shadow-elevated);
}

.ld-home-process__panel--with-media {
	align-items: center;
}

@media (min-width: 1024px) {
	.ld-home-process__panel--with-media {
		grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.65fr);
		padding: var(--ld-space-8);
	}
}

.ld-home-process__title {
	margin: 0 0 var(--ld-space-2);
	color: var(--ld-color-on-brand);
	font-size: var(--ld-font-size-h2);
	overflow-wrap: anywhere;
}

.ld-home-process__desc {
	margin: 0 0 var(--ld-space-4);
	color: rgb(255 255 255 / 0.86);
	max-width: 38rem;
	font-size: var(--ld-font-size-body-sm);
}

.ld-home-process__steps {
	display: grid;
	gap: var(--ld-space-2);
	margin: 0;
	padding: 0;
	list-style: none;
	grid-template-columns: 1fr 1fr;
}

@media (min-width: 1024px) {
	.ld-home-process__panel:not(.ld-home-process__panel--with-media) .ld-home-process__steps,
	.ld-home-process__panel--with-media .ld-home-process__steps {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.ld-home-process__step {
	display: flex;
	gap: var(--ld-space-2);
	margin: 0;
	padding: 0.7rem 0.75rem;
	border-radius: var(--ld-radius-md);
	background-color: rgb(255 255 255 / 0.08);
	min-width: 0;
}

.ld-home-process__step-index {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.65rem;
	height: 1.65rem;
	border-radius: var(--ld-radius-pill);
	background-color: var(--ld-color-primary);
	color: var(--ld-color-on-primary);
	font-size: var(--ld-font-size-label);
	font-weight: var(--ld-font-weight-bold);
	flex: 0 0 auto;
}

.ld-home-process__step-title {
	margin: 0 0 0.15rem;
	color: var(--ld-color-on-brand);
	font-size: var(--ld-font-size-body-sm);
}

.ld-home-process__step-desc {
	margin: 0;
	color: rgb(255 255 255 / 0.78);
	font-size: 0.75rem;
	line-height: 1.45;
}

.ld-home-process__media {
	margin: 0;
	overflow: hidden;
	border-radius: var(--ld-radius-xl);
	aspect-ratio: 1 / 1;
	max-height: 16rem;
	background-color: rgb(255 255 255 / 0.08);
	padding: var(--ld-space-4);
}

.ld-home-process__image {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

/* Projects / articles -------------------------------------------------- */

.ld-home-project-card,
.ld-home-article-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background-color: var(--ld-color-surface);
	border: var(--ld-border);
	border-radius: var(--ld-radius-xl);
	overflow: hidden;
	box-shadow: var(--ld-shadow-soft);
	min-width: 0;
}

.ld-home-project-card__media,
.ld-home-article-card__media {
	display: block;
	aspect-ratio: 16 / 10;
	background-color: var(--ld-color-surface-muted);
	overflow: hidden;
}

.ld-home-project-card__image,
.ld-home-article-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ld-home-project-card__body,
.ld-home-article-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 0.85rem;
	min-height: 7.5rem;
}

.ld-home-project-card__title,
.ld-home-article-card__title {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.4;
	overflow-wrap: anywhere;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ld-home-project-card__title a,
.ld-home-article-card__title a {
	color: inherit;
	text-decoration: none;
}

.ld-home-project-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ld-space-2) var(--ld-space-3);
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--ld-color-text-muted);
	font-size: var(--ld-font-size-label);
}

.ld-home-article-card__date {
	margin: 0;
	color: var(--ld-color-text-muted);
	font-size: 0.75rem;
}

.ld-home-article-card__excerpt {
	margin: 0;
	color: var(--ld-color-text-muted);
	font-size: 0.8125rem;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Consultation --------------------------------------------------------- */

.ld-home-consult__panel {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--ld-space-4);
	padding: var(--ld-space-5) var(--ld-space-6);
	border-radius: var(--ld-radius-xl);
	background:
		linear-gradient(135deg, var(--ld-color-brand), var(--ld-raw-navy-hover)),
		var(--ld-color-brand);
	color: var(--ld-color-on-brand);
	box-shadow: var(--ld-shadow-elevated);
}

.ld-home-consult__promo {
	display: inline-block;
	margin: 0 0 var(--ld-space-2);
	padding: 0.15rem 0.55rem;
	border-radius: var(--ld-radius-pill);
	background-color: rgb(255 255 255 / 0.12);
	font-size: var(--ld-font-size-label);
	font-weight: var(--ld-font-weight-medium);
}

.ld-home-consult__title {
	margin: 0 0 var(--ld-space-2);
	color: var(--ld-color-on-brand);
	font-size: var(--ld-font-size-h2);
	overflow-wrap: anywhere;
}

.ld-home-consult__desc {
	margin: 0;
	max-width: 40rem;
	color: rgb(255 255 255 / 0.86);
	font-size: var(--ld-font-size-body-sm);
}

.ld-home-consult__cta {
	flex: 0 0 auto;
}

@media (prefers-reduced-motion: reduce) {
	.ld-home-rail {
		scroll-behavior: auto;
	}
}

/* Editorial storefront: generous imagery, compact rhythm, warm material palette. */
.ld-home { background: #fcfbf9; }
.ld-home-section { padding-block: 1.65rem; }
.ld-home-section__head { margin-block-end: 1.1rem; }
.ld-home-section__title { color: var(--ld-color-brand); font-size: clamp(1.2rem, 1.6vw, 1.55rem); }
.ld-home-section__title::before { content: ''; display: inline-block; width: 5px; height: 1.1em; margin-inline-end: .65rem; background: var(--ld-color-accent); border-radius: 3px; vertical-align: middle; }
.ld-home-hero { padding: 0; background: #f4f0ea; }
.ld-home-hero__grid { position: relative; isolation: isolate; min-height: 480px; max-height: none; grid-template-columns: 44% 56%; gap: 0; }
.ld-home-hero__content { z-index: 2; align-self: center; padding-block: 3rem; padding-inline-end: 1rem; }
.ld-home-hero__eyebrow { display: flex; align-items: center; gap: .6rem; margin-block-end: 1.1rem; letter-spacing: 0; }
.ld-home-hero__eyebrow::before { content: ''; width: 28px; height: 1px; background: currentColor; }
.ld-home-hero__title { font-size: clamp(1.8rem, 2.7vw, 2.6rem); line-height: 1.65; margin-block-end: .8rem; }
.ld-home-hero__desc { max-width: 25rem; font-size: .95rem; line-height: 2; margin-block-end: 1.5rem; }
.ld-home-hero__actions .ld-button { min-height: 46px; padding-inline: 1.65rem; }
.ld-home-hero__trust { display: flex; flex-wrap: wrap; gap: .8rem 1rem; margin-block-start: 1.5rem; }
.ld-home-hero__trust-item { padding: 0; border: 0; background: transparent; font-size: .69rem; }
.ld-home-hero__trust-icon { color: var(--ld-color-brand); }
.ld-home-hero__media-wrap { position: static; }
.ld-home-hero__slides { position: absolute; inset-block: 0; inset-inline-end: calc((min(100vw, 1200px) - 100vw) / 2); width: 70%; z-index: -1; }
.ld-home-hero__slides::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to left, #f4f0ea 0%, rgb(244 240 234 / .85) 10%, transparent 42%), linear-gradient(to top, #f4f0ea, transparent 16%); pointer-events: none; }
.ld-home-hero__figure { width: 100%; height: 100%; max-height: none; border-radius: 0; box-shadow: none; aspect-ratio: auto; }
.ld-home-hero__figure[hidden] { display: none; }
.ld-home-hero__image { display: block; object-position: center; }
.ld-home-hero__shortcuts { position: absolute; inset-inline-start: auto; inset-inline-end: min(0px, calc((1200px - 100vw) / 2 + 2rem)); inset-block: 1.5rem auto; width: 15rem; z-index: 3; margin: 0; padding: .65rem; border-radius: 12px; background: rgb(255 255 255 / .95); box-shadow: 0 10px 35px #102c4520; }
.ld-home-hero__shortcut-label { white-space: nowrap; }
.ld-home-hero__shortcut-list { background: transparent; box-shadow: none; border: 0; padding: 0; }
.ld-home-hero__shortcut { min-height: 3rem; font-size: .7rem; gap: .5rem; }
.ld-home-hero__shortcut-icon { padding: .45rem; border-radius: 50%; background: #f4f0ea; }
.ld-home-hero__all-cats { font-size: .65rem; padding-block: .7rem; }
.ld-home-hero__pagination { position: absolute; inset-block-end: 1rem; inset-inline-start: 55%; display: flex; z-index: 4; padding: 0 .4rem; border-radius: 24px; background: #ffffffe6; }
.ld-home-hero__pagination[hidden], .ld-home-rail__controls[hidden] { display: none; }
.ld-home-hero__pagination button { display: grid; place-items: center; width: 44px; height: 38px; padding: 0; background: transparent; border: 0; cursor: pointer; }
.ld-home-hero__pagination span { width: 7px; height: 7px; border-radius: 5px; background: #c0b6aa; }
.ld-home-hero__pagination [aria-pressed="true"] span { width: 23px; background: var(--ld-color-primary); }
.ld-home-categories { background: transparent; padding-block: 1.4rem; }
.ld-home-cat-card { padding: .45rem .45rem .8rem; border: 1px solid #e9e4dd; border-radius: 16px; background: #fff; gap: .8rem; transition: border-color .2s, box-shadow .2s; }
.ld-home-cat-card:hover { border-color: #ba6542; box-shadow: 0 8px 24px #0e294710; }
.ld-home-cat-card__media { aspect-ratio: 1.55; box-shadow: none; border-radius: 10px; background: #f6f4f1; }
.ld-home-cat-card__image { object-fit: contain; mix-blend-mode: multiply; }
.ld-home-cat-card__icon { inset-inline-end: .4rem; inset-block-end: .4rem; }
.ld-home-cat-card__title { font-size: .82rem; }
.ld-home-product-card { border-color: #e8e4df; box-shadow: none; border-radius: 14px; transition: border-color .2s, box-shadow .2s; }
.ld-home-product-card:hover { border-color: #c1a28e; box-shadow: 0 6px 18px #102c450a; }
.ld-home-product-card__media { aspect-ratio: 1.12; padding: 1rem; }
.ld-home-product-card__body { text-align: center; min-height: 8rem; padding: .6rem .85rem .9rem; }
.ld-home-product-card__title { font-size: .84rem; line-height: 1.8; }
.ld-home-product-card__category { font-size: .66rem; }
.ld-home-product-card__cta, .ld-home-product-card .button { background: var(--ld-color-brand); border-color: var(--ld-color-brand); color: #fff; min-height: 38px; }
.ld-home-product-card__cta:hover, .ld-home-product-card .button:hover { background: var(--ld-color-brand-hover); border-color: var(--ld-color-brand-hover); }
.ld-home-rail { padding-block-end: .5rem; }
.ld-home-rail__btn { border-radius: 50%; border-color: #ded5cb; }
.ld-home-benefits { padding-block: .6rem; background: transparent; border: 0; }
.ld-home-benefits__list { background: #f3efe9; border: 1px solid #e8e1d7; border-radius: 12px; padding: .6rem; }
.ld-home-benefits__item { border: 0; border-inline-end: 1px solid #dfd7cd; border-radius: 0; background: transparent; padding: .6rem 1rem; }
.ld-home-benefits__item:last-child { border: 0; }
.ld-home-benefits__icon svg { width: 25px; height: 25px; }
.ld-home-process { padding-block: 1rem 1.5rem; }
.ld-home-process__panel { padding: 1.8rem 2rem; box-shadow: none; overflow: hidden; gap: 2rem; }
.ld-home-process__panel--with-media { grid-template-columns: 1fr 230px; }
.ld-home-process__title { color: #ecd2a6; font-size: 1.5rem; }
.ld-home-process__media { max-height: 185px; padding: .5rem; background: #fff; border-radius: 12px; }
.ld-home-process__steps { gap: .6rem; }
.ld-home-process__step { background: transparent; padding: .6rem 0; }
.ld-home-process__step-index { background: #e9c99d; color: #0e2947; }
.ld-home-process__step-title { font-size: .8rem; }
.ld-home-process__step-desc { font-size: .7rem; }
.ld-home-process__panel--background { position: relative; isolation: isolate; min-height: 260px; grid-template-columns: 1fr; align-items: center; padding-inline-end: 26%; }
.ld-home-process__background { position: absolute; z-index: -1; left: 0; top: 0; width: 48%; height: 100%; object-fit: cover; object-position: 24% center; mask-image: linear-gradient(to right, #000 25%, transparent 100%); }
.ld-home-seo { padding-block: 0 1.5rem; }
.ld-home-seo__details { border: 1px solid #e8e1d7; border-radius: 12px; background: #fff; overflow: hidden; }
.ld-home-seo summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.5rem; cursor: pointer; list-style: none; }
.ld-home-seo summary::-webkit-details-marker { display: none; }
.ld-home-seo summary:focus-visible { outline: 2px solid var(--ld-color-primary); outline-offset: -4px; }
.ld-home-seo h2 { margin: 0; font-size: 1rem; color: var(--ld-color-brand); }
.ld-home-seo summary span { color: var(--ld-color-primary); font-size: .8rem; flex-shrink: 0; }
.ld-home-seo__less, .ld-home-seo details[open] .ld-home-seo__more { display: none; }
.ld-home-seo details[open] .ld-home-seo__less { display: inline; }
.ld-home-seo__body { padding: 0 1.5rem 1.5rem; line-height: 2; overflow-wrap: anywhere; }
.ld-home-seo__body img { max-width: 100%; height: auto; }
.ld-home-seo__body a { text-decoration: underline; }
@media (max-width: 767px) {
 .ld-home-process .ld-home-process__panel--background { padding: 1.4rem; }
 .ld-home-process__background { width: 100%; opacity: .22; }
 .ld-home-seo summary { padding: 1rem; }
 .ld-home-seo h2 { font-size: .85rem; }
}
.ld-home-article-card, .ld-home-project-card { box-shadow: none; border-color: #e8e4df; }
.ld-home-article-card__media { aspect-ratio: 1.85; }
.ld-home-article-card__title { font-size: .86rem; line-height: 1.8; }
.ld-home-article-card__excerpt { -webkit-line-clamp: 2; font-size: .75rem; }
.ld-home-article-card__date { font-size: .66rem; color: var(--ld-color-primary); }
.ld-home-consult { padding-block: 1.5rem 2rem; }
.ld-home-consult__panel { padding: 1.6rem 2rem; box-shadow: none; border-inline-start: 6px solid var(--ld-color-accent); background: radial-gradient(ellipse at bottom left, #284761, transparent 65%), #0e2947; }
.ld-home-consult__title { font-size: 1.3rem; }
@media (min-width: 1600px) { .ld-home-hero__slides { width: 82%; } }
@media (max-width: 1100px) and (min-width: 768px) { .ld-home-hero__shortcuts { display: none; } .ld-home-hero__grid { grid-template-columns: 48% 52%; } .ld-home-process__panel--with-media { grid-template-columns: 1fr 180px; } }
@media (max-width: 767px) {
 .ld-home-section { padding-block: 1.25rem; }
 .ld-home-hero__grid { display: flex; flex-direction: column; min-height: 0; padding-inline: 0; }
 .ld-home-hero__content { padding: 1.5rem 1.25rem 1rem; width: 100%; }
 .ld-home-hero__title { font-size: 1.8rem; }
 .ld-home-hero__desc { font-size: .85rem; margin-block-end: 1rem; }
 .ld-home-hero__trust { gap: .8rem; margin-block-start: 1rem; }
 .ld-home-hero__trust-item { font-size: .63rem; }
 .ld-home-hero__media-wrap { position: relative; height: 270px; }
 .ld-home-hero__slides { position: relative; inset: auto; height: 100%; width: 100%; }
 .ld-home-hero__slides::after { background: linear-gradient(to bottom, #f4f0ea, transparent 25%); }
 .ld-home-hero__image { object-position: center 58%; }
 .ld-home-hero__shortcuts { display: none; }
 .ld-home-hero__pagination { inset-inline-start: 50%; transform: translateX(50%); inset-block-end: .6rem; }
 .ld-home-categories__track { grid-template-columns: repeat(3,minmax(0,1fr)); gap: .5rem; }
 .ld-home-cat-card { padding: .3rem .3rem .6rem; gap: .5rem; border-radius: 10px; }
 .ld-home-cat-card__media { aspect-ratio: 1; }
 .ld-home-cat-card__title { font-size: .66rem; }
 .ld-home-cat-card__icon { display: none; }
 .ld-home-products__track .ld-home-rail__item { width: 72vw; max-width: 260px; }
 .ld-home-rail__controls { display: inline-flex; }
 .ld-home-benefits__item { padding: .5rem; border: 0; }
 .ld-home-benefits__label { font-size: .67rem; }
 .ld-home-process__panel--with-media { grid-template-columns: 1fr; }
 .ld-home-process__panel { padding: 1.4rem; gap: 1rem; }
 .ld-home-process__media { display: none; }
 .ld-home-process__title { font-size: 1.2rem; }
 .ld-home-consult__panel { padding: 1.25rem; }
 .ld-home-consult__title { font-size: 1.1rem; }
}
@media (prefers-reduced-motion: reduce) { .ld-home-cat-card, .ld-home-product-card { transition: none; } }

[dir="rtl"] .ld-home-rail__btn svg { transform: rotate(180deg); }
.ld-home-hero__pagination button:focus-visible { outline: 2px solid var(--ld-color-brand); outline-offset: 2px; border-radius: 20px; }
@media (max-width: 767px) {
 .ld-home-hero__title { font-size: clamp(1.4rem, 6.3vw, 1.8rem); line-height: 1.7; text-wrap: initial; }
 .ld-home-hero__actions { display: grid; grid-template-columns: 1fr 1fr; }
 .ld-home-hero__actions .ld-button { min-width: 0; padding-inline: .6rem; font-size: .7rem; }
}
