.site-main.ls-project-archive { width: 100%; max-width: none; margin-inline: 0; padding: 0; }
.ls-project-archive__container { padding-block: 0 70px; }
.ls-project-tabs { display: flex; align-items: stretch; gap: 36px; min-height: 58px; margin: 0 0 38px; border-bottom: 1px solid var(--livspace-border); }
.ls-project-tabs a { display: flex; align-items: center; padding: 0 0 2px; border-bottom: 3px solid transparent; color: var(--theme-paragraph-color); font-size: var(--theme-h6-size); text-decoration: none; }
.ls-project-tabs a:hover,.ls-project-tabs a:focus-visible { color: var(--livspace-accent); }
.ls-project-tabs a[aria-current="page"] { border-color: var(--livspace-accent); color: var(--livspace-accent); }
.ls-project-intro-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 26px; }
.ls-project-intro-content { flex: 1; min-width: 0; }
.ls-project-intro-row .ls-design-intro { flex: 1; min-width: 0; margin: 0; }
.ls-project-intro-row .ls-design-intro__description { max-width: 1050px; }
.ls-project-filter { position: relative; z-index: 12; flex: 0 0 auto; margin-bottom: 4px; }
.ls-project-filter__toggle { display: flex; min-width: 116px; min-height: 50px; align-items: center; justify-content: center; gap: 14px; padding: 0 16px; border: 0; border-radius: 5px; background: var(--theme-alt-bg); color: var(--theme-heading-color); font: inherit; font-weight: 500; cursor: pointer; }
.ls-project-filter__toggle svg { width: 22px; height: 22px; }
.ls-project-filter__panel { position: absolute; z-index: 20; top: calc(100% + 8px); right: 0; width: min(960px, calc(100vw - 48px)); }
.ls-project-filter__panel[hidden] { display: none; }
.ls-project-filter__dialog { display: grid; overflow: hidden; grid-template-rows: auto minmax(0, 1fr) auto; width: 100%; max-height: min(540px, 78vh); border: 1px solid var(--livspace-border); border-radius: 12px; background: var(--theme-card-bg); box-shadow: 0 12px 32px #0002; }
.ls-project-filter__header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 20px; border-bottom: 1px solid var(--livspace-border); }
.ls-project-filter__header h2 { margin: 0; font-size: var(--theme-h4-size); }
.ls-project-filter__header button { display: grid; width: 36px; height: 36px; place-items: center; border: 0; background: transparent; color: var(--theme-heading-color); font-size: 28px; line-height: 1; cursor: pointer; }
.ls-project-filter__body { display: grid; min-height: 0; grid-template-columns: minmax(160px, 25%) minmax(0, 1fr); }
.ls-project-filter__categories { overflow-y: auto; padding: 8px 0; background: var(--theme-alt-bg); }
.ls-project-filter__categories button { display: block; width: 100%; padding: 14px 18px; border: 0; border-left: 3px solid transparent; background: transparent; color: var(--theme-paragraph-color); font: inherit; text-align: left; cursor: pointer; }
.ls-project-filter__categories button.is-active { border-left-color: var(--livspace-accent); background: var(--theme-card-bg); color: var(--theme-heading-color); font-weight: 600; }
.ls-project-filter__facet-list { min-width: 0; overflow-y: auto; padding: 18px 22px 28px; }
.ls-project-filter__options h3 { margin: 0 0 16px; font-size: var(--theme-h5-size); }
.ls-project-filter__choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 18px; }
.ls-project-filter__option { display: flex; min-height: 34px; align-items: flex-start; gap: 10px; color: var(--theme-paragraph-color); cursor: pointer; }
.ls-project-filter__option input { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--livspace-accent); }
.ls-project-filter__option span { overflow-wrap: anywhere; }
.ls-project-filter__no-options { color: var(--theme-muted-color); }
.ls-project-filter__footer { display: flex; align-items: center; justify-content: flex-end; gap: 16px; padding: 12px 18px; border-top: 1px solid var(--livspace-border); background: var(--theme-card-bg); }
.ls-project-filter__footer a { color: var(--livspace-accent); text-decoration: none; }
.ls-project-filter__footer button { min-width: 120px; min-height: 42px; padding: 8px 20px; border: 0; border-radius: 999px; background: var(--theme-button-bg); color: var(--theme-button-text); font: inherit; font-weight: 600; cursor: pointer; }
.ls-project-listing.is-loading [data-project-content] { opacity: .55; pointer-events: none; }
.ls-project-listing.is-loading [data-project-content] { transition: opacity .15s ease; }
.ls-project-featured { margin-top: 0; }
.ls-project-featured-card .ls-design-card__image img { object-fit: cover; }
.ls-project-featured .ls-design-slider:not(.swiper-initialized) .ls-project-featured-card { width: calc((100% - 2px) / 1.12); margin-inline-end: 18px; }
.ls-project-detail__layout--no-gallery { grid-template-columns: minmax(0,1fr); }
.ls-project-detail__header { margin-bottom: 24px; }
.ls-project-detail__header h1 { margin: 0; }
.ls-project-detail__status { display: inline-flex; margin: 0 0 12px; padding: 6px 12px; border-radius: 999px; background: var(--theme-alt-bg); color: var(--livspace-accent); font-size: var(--theme-small-size,.875rem); font-weight: 600; }
.ls-project-detail__location { margin: 12px 0 0; color: var(--theme-muted-color); }
.ls-project-detail__facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 24px 0; border-top: 1px solid var(--livspace-border); }
.ls-project-detail__fact { min-width: 0; padding: 14px 12px; border-bottom: 1px solid var(--livspace-border); }
.ls-project-detail__fact dt { margin-bottom: 5px; color: var(--theme-muted-color); font-size: var(--theme-small-size,.875rem); }
.ls-project-detail__fact dd { margin: 0; color: var(--theme-paragraph-color); overflow-wrap: anywhere; }
.ls-project-detail__scope { margin: 26px 0; }
.ls-project-detail__scope h2 { margin: 0 0 10px; }
.ls-project-detail__scope p { margin: 0; }
.ls-project-detail__excerpt { margin: 22px 0; color: var(--theme-heading-color); font-weight: 500; }
.ls-project-detail__related .ls-design-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.ls-project-card .ls-design-card__image { position: relative; }
.ls-project-gallery-count { position: absolute; right: 10px; bottom: 10px; display: inline-flex; align-items: center; gap: 5px; padding: 4px 8px; border-radius: 999px; background: var(--theme-card-bg); color: var(--theme-heading-color); font-size: var(--theme-small-size,.875rem); line-height: 1.2; }
.ls-project-gallery-count svg { width: 16px; height: 16px; fill: currentColor; }
.ls-project-card .ls-design-card__body { gap: 0; }
.ls-project-card .ls-design-card__body h2 { display: block; min-height: 28px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; -webkit-line-clamp: 1; }
.ls-project-card__location { margin: 0 0 16px; color: var(--theme-muted-color); font-size: var(--theme-small-size,.875rem); }
.ls-project-card__details { display: grid; grid-template-columns: minmax(0,1fr) minmax(44px,.25fr) minmax(76px,.35fr); gap: 10px; margin: 0 0 18px; padding-top: 13px; border-top: 1px solid var(--livspace-border); }
.ls-project-card__detail { min-width: 0; }
.ls-project-card__detail > span { display: block; margin-bottom: 5px; color: var(--theme-muted-color); font-size: var(--theme-small-size,.875rem); }
.ls-project-card__detail p { overflow: hidden; margin: 0; color: var(--theme-paragraph-color); text-overflow: ellipsis; white-space: nowrap; }
.ls-project-card__link { margin-top: auto; }
.ls-project-featured-card .ls-project-card__link { margin-top: auto; }
.ls-project-results { margin-top: 8px; padding: 0; }
.ls-project-results--delivered .ls-design-grid { padding: 45px 0; }
.ls-project-results .ls-design-card__image { height: 250px; }
.ls-project-results .ls-design-grid .ls-design-card { align-self: stretch; }
/* Portfolio detail layout: shared header/container, image collage and content cards. */
.site-main.ls-project-portfolio { width: 100%; max-width: none; margin: 0; padding: 0 0 32px; background: var(--theme-alt-bg); color: var(--theme-paragraph-color); }
.ls-project-portfolio .ls-design-breadcrumb { padding-block: 16px 12px; margin: 0; font-size: var(--theme-small-size); }
.ls-project-collage { position: relative; display: grid; grid-template-columns: 3fr 1fr 1fr; grid-template-rows: repeat(2,minmax(0,1fr)); gap: 5px; height: clamp(260px,32vw,470px); margin-bottom: 24px; overflow: hidden; border-radius: 12px; }
.ls-project-collage > .ls-gallery-trigger:first-child { grid-row: 1 / -1; }
.ls-project-collage > .ls-gallery-trigger { min-width: 0; min-height: 0; overflow: hidden; }
.ls-project-collage img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ls-project-collage--1 { grid-template-columns: 1fr; }
.ls-project-collage--2 { grid-template-columns: 3fr 2fr; }
.ls-project-collage--2 > .ls-gallery-trigger { grid-row: 1 / -1; }
.ls-project-collage--3 { grid-template-columns: 3fr 2fr; }
.ls-project-collage--4 > .ls-gallery-trigger:nth-child(4) { grid-column: 2 / -1; }
.ls-project-collage__all { position: absolute; bottom: 16px; right: 16px; z-index: 1; padding: 8px 16px; border-radius: 999px; background: var(--theme-card-bg); color: var(--theme-heading-color); font-size: var(--theme-small-size); font-weight: 500; text-decoration: none; box-shadow: 0 2px 8px #0002; }
.ls-project-portfolio__layout { display: grid; grid-template-columns: minmax(0,2.4fr) minmax(260px,1fr); gap: 24px; align-items: start; }
.ls-project-portfolio__main { min-width: 0; }
.ls-project-panel { margin-bottom: 20px; padding: clamp(20px,2.6vw,32px); border: 1px solid var(--livspace-border); border-radius: 12px; background: var(--project-bg,var(--theme-card-bg)); color: var(--project-text,var(--theme-paragraph-color)); box-shadow: 0 2px 2px #00000006; }
.ls-project-panel h1,.ls-project-panel h2,.ls-project-panel h3,.ls-project-faq h2 { color: var(--project-heading,var(--theme-heading-color)); }
.ls-project-portfolio .ls-project-panel h2 { margin: 0 0 20px; font-size: var(--theme-h5-size); text-transform: none; }
.ls-project-overview h1 { margin: 0 0 8px; font-size: var(--theme-h2-size); line-height: 1.2; }
.ls-project-overview__subtitle { margin: 0 0 10px; }
.ls-project-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; }
.ls-project-tags li { padding: 4px 10px; border-radius: 999px; background: var(--theme-alt-bg); color: var(--project-accent,var(--livspace-accent)); font-size: var(--theme-small-size); }
.ls-project-overview__location { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 24px 0; }
.ls-project-overview__location p { display: flex; align-items: center; gap: 8px; margin: 0; }
.ls-project-overview__location svg { flex: 0 0 22px; width: 22px; height: 22px; color: var(--project-accent,var(--theme-muted-color)); }
.ls-project-button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; padding: 10px 20px; min-height: 42px; border: 0; border-radius: 999px; background: var(--project-button,var(--theme-button-bg,var(--livspace-accent))); color: var(--project-button-text,var(--theme-button-text,#fff)); font: inherit; font-size: var(--theme-button-font-size,var(--theme-small-size)); font-weight: 600; cursor: pointer; text-decoration: none; }
.ls-project-button:hover { filter: brightness(.95); }
.ls-project-overview__facts { display: grid; grid-template-columns: .9fr .65fr 1.4fr 1fr 1fr; gap: 18px; margin: 0; padding-top: 20px; border-top: 1px solid var(--livspace-border); }
.ls-project-overview__facts dt { margin-bottom: 5px; color: var(--theme-muted-color); font-size: var(--theme-small-size); font-weight: 400; }
.ls-project-overview__facts dd { margin: 0; overflow-wrap: anywhere; font-size: var(--theme-small-size); }
.ls-project-accordion { border-top: 1px solid var(--livspace-border); padding: 0; }
.ls-project-accordion summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 0; list-style: none; cursor: pointer; font-weight: 600; color: var(--project-heading,var(--theme-heading-color)); }
.ls-project-accordion summary::-webkit-details-marker,.ls-project-faq summary::-webkit-details-marker { display: none; }
.ls-project-accordion summary::after,.ls-project-faq summary::after { content: '+'; display: grid; place-items: center; width: 26px; height: 26px; flex: 0 0 26px; border-radius: 50%; background: var(--theme-alt-bg); }
.ls-project-accordion[open] > summary::after,.ls-project-faq details[open] > summary::after { content: '−'; }
.ls-project-highlights { padding-bottom: 28px; }
.ls-project-highlights .swiper-slide { margin: 0; }
.ls-project-highlights img { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; border-radius: 8px; }
.ls-project-highlights figcaption { padding-block: 12px 6px; font-size: var(--theme-small-size); }
.ls-project-highlights .swiper-button-next,.ls-project-highlights .swiper-button-prev { width: 36px; height: 36px; margin-top: -32px; border-radius: 50%; background: var(--theme-card-bg); color: var(--project-accent,var(--livspace-accent)); }
.ls-project-highlights .swiper-button-next::after,.ls-project-highlights .swiper-button-prev::after { font-size: 16px; }
.ls-project-highlights .swiper-pagination { bottom: 5px; --swiper-pagination-color: var(--project-accent,var(--livspace-accent)); }
.ls-project-highlights:not(.swiper-initialized) .swiper-wrapper { overflow-x: auto; scrollbar-width: none; }
.ls-project-highlights:not(.swiper-initialized) .swiper-button-next,.ls-project-highlights:not(.swiper-initialized) .swiper-button-prev { display: none; }
.ls-project-about { padding-bottom: 14px; }
.ls-project-about > :last-child { margin-bottom: 0; }
.ls-project-benefits { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; text-align: center; }
.ls-project-benefits li { display: flex; align-items: center; flex-direction: column; gap: 12px; font-size: var(--theme-small-size); }
.ls-project-benefits img,.ls-project-benefits svg { width: 52px; height: 52px; object-fit: contain; color: var(--project-accent,var(--livspace-accent)); }
.ls-project-brands { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; list-style: none; }
.ls-project-brands li { display: flex; align-items: center; justify-content: center; flex: 1 0 70px; min-height: 66px; max-width: 130px; padding: 10px; border: 1px solid var(--livspace-border); border-radius: 8px; font-size: var(--theme-small-size); font-weight: 600; text-align: center; }
.ls-project-brands a { display: block; color: inherit; text-decoration: none; }
.ls-project-brands img { display: block; width: 76px; height: 44px; object-fit: contain; }
.ls-project-sidebar { position: sticky; top: 24px; min-width: 0; }
.ls-project-sidebar__quote { padding: 18px; margin-bottom: 18px; border-radius: 10px; background: var(--project-bg,var(--theme-contrast-bg)); }
.ls-project-sidebar__quote h2 { margin: 0 0 14px; color: var(--project-heading,var(--theme-contrast-text,#fff)); font-size: var(--theme-h5-size); text-transform: none; }
.ls-project-sidebar__quote .ls-project-button { width: 100%; }
.ls-project-sidebar__form { padding: 24px; }
.ls-project-sidebar .ls-design-consult__form { gap: 16px; }
.ls-project-sidebar .ls-design-consult__field > span:first-child { position: static; display: block; margin-bottom: 6px; padding: 0; background: transparent; font-size: var(--theme-small-size); }
.ls-project-sidebar .ls-design-consult__field { gap: 6px; }
.ls-project-sidebar .ls-design-consult__submit { background: var(--project-button,var(--theme-button-bg,var(--livspace-accent))); color: var(--project-button-text,var(--theme-button-text,#fff)); }
.ls-project-sidebar .ls-design-consult__field input,.ls-project-sidebar .ls-design-consult__field select { min-height: 44px; height: 44px; padding: 10px 12px; background: var(--project-bg,var(--theme-card-bg)); }
.ls-project-sidebar .ls-design-consult__phone-row { min-height: 44px; height: 44px; }
.ls-project-sidebar .ls-design-consult__form .ls-design-consult__city-trigger { min-height: 44px; height: 44px; }
.ls-project-sidebar .ls-design-consult__whatsapp { margin: 0; gap: 8px; font-size: var(--theme-small-size); }
.ls-project-sidebar .ls-design-consult__whatsapp input { width: 18px; height: 18px; flex-basis: 18px; }
.ls-project-note { margin: 16px 0 0; font-size: var(--theme-small-size); line-height: 1.6; }
.ls-project-note a { color: var(--project-accent,var(--livspace-accent)); }
.ls-project-faq { margin: 64px 0 48px; padding: 0; background: var(--project-bg,transparent); color: var(--project-text,var(--theme-paragraph-color)); }
.ls-project-portfolio .ls-project-faq h2 { margin: 0 0 24px; text-transform: none; }
.ls-project-faq details { margin-bottom: 10px; border: 1px solid var(--livspace-border); border-radius: 4px; background: var(--theme-card-bg); }
.ls-project-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 16px; list-style: none; cursor: pointer; }
.ls-project-faq details > div { padding: 0 16px 12px; }.ls-project-faq details p:last-child { margin: 0; }
.ls-project-notices { background: var(--project-bg,transparent); color: var(--project-text,var(--theme-muted-color)); font-size: var(--theme-small-size); }
.ls-project-notices p { font-size: inherit; }.ls-project-notices__alert { padding: 16px; background: var(--theme-card-bg); border-left: 3px solid var(--project-accent,var(--livspace-accent)); }
.ls-project-portfolio :is(button,a,summary):focus-visible { outline: 2px solid var(--project-accent,var(--livspace-accent)); outline-offset: 3px; }
@media(max-width:991px) { .ls-project-portfolio__layout { grid-template-columns: minmax(0,1fr) 280px; gap: 18px; }.ls-project-overview__facts { grid-template-columns: repeat(3,minmax(0,1fr)); }.ls-project-benefits { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:767px) { .ls-project-portfolio__layout { grid-template-columns: minmax(0,1fr); }.ls-project-sidebar { position: static; }.ls-project-collage { height: 300px; grid-template-columns: 2fr 1fr; }.ls-project-collage > .ls-gallery-trigger:nth-child(4),.ls-project-collage > .ls-gallery-trigger:nth-child(5) { display: none; }.ls-project-collage--4 > .ls-gallery-trigger:nth-child(4) { grid-column: auto; }.ls-project-overview__location { align-items: flex-start; }.ls-project-overview__facts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }.ls-project-panel { padding: 20px; }.ls-project-faq { margin-block: 32px; }.ls-project-benefits { gap: 20px 12px; }.ls-project-overview__location .ls-project-button { padding-inline: 12px; }.ls-project-collage--1 { grid-template-columns: 1fr; }.ls-project-collage--2 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 900px) {
	.ls-project-intro-row { align-items: flex-start; }
	.ls-project-filter { margin-top: 28px; }
	.ls-project-filter__choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 640px) {
	.ls-project-featured .ls-design-slider:not(.swiper-initialized) .ls-project-featured-card { width: calc((100% - 24px) / 2); margin-inline-end: 24px; }
}
@media (min-width: 1024px) {
	.ls-project-featured .ls-design-slider:not(.swiper-initialized) .ls-project-featured-card { width: calc((100% - 56px) / 3); margin-inline-end: 28px; }
}
@media (max-width: 600px) {
	.ls-project-archive__container { padding-block: 0 48px; }
	.ls-project-tabs { gap: 24px; min-height: 52px; margin-bottom: 28px; }
	.ls-project-tabs a { font-size: var(--theme-h6-size); }
	.ls-project-intro-row { display: block; margin-bottom: 20px; }
	.ls-project-intro-row .ls-design-intro { margin-bottom: 14px; }
	.ls-project-filter { display: inline-block; margin: 0; }
	.ls-project-filter__panel { position: fixed; top: 50%; left: 50%; right: auto; width: calc(100vw - 24px); transform: translate(-50%, -50%); }
	.ls-project-filter__dialog { max-height: min(620px, 86vh); }
	.ls-project-filter__header { padding: 12px 14px; }
	.ls-project-filter__body { grid-template-columns: minmax(106px, 31%) minmax(0, 1fr); }
	.ls-project-filter__categories button { padding: 12px 10px; font-size: .9rem; }
	.ls-project-filter__facet-list { padding: 14px 12px 24px; }
	.ls-project-filter__choices { grid-template-columns: 1fr; }
	.ls-project-featured { padding: 25px 18px; }
	.ls-project-results { padding: 0; }
}
@media (max-width: 600px) {
	.ls-project-detail__related .ls-design-grid { grid-template-columns: 1fr; }
}
