/* LIVING/PRO — spoločné prvky celého webu: menu cez celú obrazovku a projekty na úvodnej stránke */

/* ---------- Tlačidlo menu: veľké tenké „+“ ---------- */
.lp-menu-open { position: relative; z-index: 5; display: grid; place-items: center; width: 56px; height: 56px; margin: 0 -8px 0 auto; padding: 0; border: 0; background: none; color: #fff; cursor: pointer; pointer-events: auto; }
.lp-menu-open svg { width: 44px; height: 44px; overflow: visible; }
.lp-menu-open line { stroke: currentColor; stroke-width: 1; vector-effect: non-scaling-stroke; transition: transform .45s cubic-bezier(.2, .7, .2, 1); transform-origin: 22px 22px; }
.lp-menu-open:hover line, .lp-menu-open:focus-visible line { transform: rotate(90deg); }
.lp-menu-open:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }

/* Pôvodné odkazy v hlavičke nahrádza „+“ */
.lp .nav .navlinks, .lp .nav .navmobile, .lp-nav .lp-navlinks, .lp-nav .lp-navmobile { display: none !important; }

/* ---------- Menu cez celú obrazovku ---------- */
.lp-menu { position: fixed; inset: 0; z-index: 3000; display: flex; flex-direction: column; background: #070707; color: #f5f5f5; font-family: Roboto, Arial, sans-serif; clip-path: inset(0 0 100% 0); visibility: hidden; transition: clip-path .8s cubic-bezier(.77, 0, .18, 1), visibility 0s .8s; }
.lp-menu.is-open { clip-path: inset(0 0 0 0); visibility: visible; transition: clip-path .8s cubic-bezier(.77, 0, .18, 1), visibility 0s 0s; }
.lp-menu a { color: inherit; text-decoration: none; }
.lp-menu-top { display: flex; align-items: center; justify-content: space-between; height: 140px; padding: 0 80px; flex: 0 0 auto; }
.lp-menu-top img { display: block; width: 240px; height: auto; }
.lp-menu-close { display: grid; place-items: center; width: 56px; height: 56px; margin-right: -8px; padding: 0; border: 0; background: none; color: #fff; cursor: pointer; }
.lp-menu-close svg { width: 44px; height: 44px; transform: rotate(45deg); transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.lp-menu-close line { stroke: currentColor; stroke-width: 1; vector-effect: non-scaling-stroke; }
.lp-menu-close:hover svg, .lp-menu-close:focus-visible svg { transform: rotate(135deg); }
.lp-menu-close:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }

.lp-menu-main { flex: 1 1 auto; display: flex; align-items: center; padding: 20px 80px; overflow-y: auto; }
.lp-menu-list { list-style: none; margin: 0; padding: 0; }
.lp-menu-list li { overflow: hidden; }
.lp-menu-list a { position: relative; display: inline-flex; align-items: baseline; gap: 22px; padding: 4px 0 4px 34px; font-size: clamp(26px, 3.3vw, 52px); font-weight: 300; line-height: 1.12; letter-spacing: -.01em; transform: translateY(110%); transition: transform .9s cubic-bezier(.2, .7, .2, 1), color .3s; }
.lp-menu-list a small { font-size: 11px; letter-spacing: .14em; color: #8a8a8a; font-weight: 400; transform: translateY(-.9em); }
.lp-menu-list a::before { content: ''; position: absolute; left: 0; top: 50%; width: 1px; height: .62em; background: #fff; transform: translateY(-50%) scaleY(0); transform-origin: center; transition: transform .35s cubic-bezier(.2, .7, .2, 1); }
.lp-menu-list a:hover::before, .lp-menu-list a:focus-visible::before, .lp-menu-list a[aria-current]::before { transform: translateY(-50%) scaleY(1); }
.lp-menu-list a:focus-visible { outline: none; }
.lp-menu-list:hover a:not(:hover) { color: #6f6f6f; }
.lp-menu.is-open .lp-menu-list a { transform: none; }
.lp-menu.is-open .lp-menu-list li:nth-child(1) a { transition-delay: .25s, 0s; }
.lp-menu.is-open .lp-menu-list li:nth-child(2) a { transition-delay: .31s, 0s; }
.lp-menu.is-open .lp-menu-list li:nth-child(3) a { transition-delay: .37s, 0s; }
.lp-menu.is-open .lp-menu-list li:nth-child(4) a { transition-delay: .43s, 0s; }
.lp-menu.is-open .lp-menu-list li:nth-child(5) a { transition-delay: .49s, 0s; }
.lp-menu.is-open .lp-menu-list li:nth-child(6) a { transition-delay: .55s, 0s; }
.lp-menu.is-open .lp-menu-list li:nth-child(7) a { transition-delay: .61s, 0s; }

.lp-menu-foot { flex: 0 0 auto; display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 30px; align-items: end; margin: 0 80px; padding: 26px 0 34px; border-top: 1px solid #2a2a2a; font-size: 11px; letter-spacing: .12em; line-height: 1.9; text-transform: uppercase; color: #9a9a9a; opacity: 0; transform: translateY(20px); transition: opacity .6s .5s, transform .6s .5s cubic-bezier(.2, .7, .2, 1); }
.lp-menu.is-open .lp-menu-foot { opacity: 1; transform: none; }
.lp-menu-foot a { color: #f5f5f5; transition: opacity .2s; }
.lp-menu-foot a:hover { opacity: .6; }
.lp-menu-social { display: flex; gap: 26px; justify-content: flex-end; }

html.lp-menu-lock, html.lp-menu-lock body { overflow: hidden !important; }

@media (min-width: 2200px) {
	.lp-menu-top { height: 180px; padding: 0 130px; }
	.lp-menu-top img { width: 320px; }
	.lp-menu-main { padding: 20px 130px; }
	.lp-menu-foot { margin: 0 130px; font-size: 14px; }
	.lp-menu-open, .lp-menu-close { width: 72px; height: 72px; }
	.lp-menu-open svg, .lp-menu-close svg { width: 56px; height: 56px; }
}
@media (max-width: 1024px) {
	.lp-menu-top { padding: 0 40px; }
	.lp-menu-main { padding: 20px 40px; }
	.lp-menu-foot { margin: 0 40px; }
}
@media (max-width: 767px) {
	.lp-menu-open { width: 48px; height: 48px; }
	.lp-menu-open svg { width: 36px; height: 36px; }
	.lp-menu-top { height: 96px; padding: 0 22px; }
	.lp-menu-top img { width: 190px; }
	.lp-menu-close svg { width: 36px; height: 36px; }
	.lp-menu-main { padding: 10px 22px; align-items: flex-start; }
	.lp-menu-list a { padding-left: 22px; font-size: clamp(26px, 7.6vw, 36px); }
	.lp-menu-list a small { display: none; }
	.lp-menu-foot { grid-template-columns: 1fr; gap: 14px; margin: 0 22px; padding-bottom: calc(26px + env(safe-area-inset-bottom)); }
	.lp-menu-social { justify-content: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
	.lp-menu, .lp-menu *, .lp-menu-open line { transition: none !important; }
}

/* ---------- Úvodná stránka: projekty – 4 vysoké polia ---------- */
body.home .lp > .projects .projectgrid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 0 !important; border: 1px solid rgba(255, 255, 255, .16); counter-reset: lpproj; }
body.home .lp > .projects .project { position: relative; display: block !important; width: auto !important; padding: 0 !important; margin: 0 !important; grid-column: auto !important; height: clamp(460px, 34vw, 720px); overflow: hidden; counter-increment: lpproj; color: #fff; }
body.home .lp > .projects .project + .project { border-left: 1px solid rgba(255, 255, 255, .16); }
body.home .lp > .projects .project:nth-child(n+5) { display: none !important; }
body.home .lp > .projects .project .photo { position: absolute !important; inset: 0; }
body.home .lp > .projects .project img { width: 100%; height: 100% !important; object-fit: cover; }
body.home .lp > .projects .project::before { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(to bottom, rgba(0, 0, 0, .42) 0%, rgba(0, 0, 0, 0) 32%, rgba(0, 0, 0, 0) 62%, rgba(0, 0, 0, .5) 100%); }
body.home .lp > .projects .project .caption { position: absolute; inset: 0; z-index: 2; padding: clamp(26px, 2.6vw, 48px) clamp(22px, 2.4vw, 46px) !important; margin: 0 !important; pointer-events: none; }
body.home .lp > .projects .project .caption > div { display: flex; flex-direction: column; justify-content: space-between; height: 100%; padding-right: 58px; }
body.home .lp > .projects .project .caption h3 { margin: 0 !important; color: #fff; font-size: clamp(18px, 1.35vw, 24px); font-weight: 300; letter-spacing: -.01em !important; line-height: 1.25; }
body.home .lp > .projects .project .caption h3::before { content: counter(lpproj, decimal-leading-zero); display: block; margin-bottom: 10px; font-size: 13px; font-weight: 400; letter-spacing: .06em; }
body.home .lp > .projects .project .caption p { display: flex; align-items: center; gap: 14px; margin: 0 !important; font-size: 10.5px; line-height: 1.5; letter-spacing: .14em !important; text-transform: uppercase; color: rgba(255, 255, 255, .82); }
body.home .lp > .projects .project .caption p::before { content: ''; flex: 0 0 24px; height: 1px; background: rgba(255, 255, 255, .6); }
body.home .lp > .projects .project .caption > span { display: none; }
body.home .lp > .projects .project .photo::after { z-index: 3; }
@media (max-width: 1100px) {
	body.home .lp > .projects .projectgrid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	body.home .lp > .projects .project:nth-child(3) { border-left: 0; }
	body.home .lp > .projects .project:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, .16); }
}
@media (max-width: 767px) {
	body.home .lp > .projects .projectgrid { grid-template-columns: 1fr !important; }
	body.home .lp > .projects .project { height: auto; aspect-ratio: 3 / 4; border-left: 0 !important; }
	body.home .lp > .projects .project + .project { border-top: 1px solid rgba(255, 255, 255, .16); }
}

/* ---------- Projekty na úvode: od kraja po kraj ---------- */
body.home .lp > .projects .projectgrid { margin-left: -5.5556% !important; margin-right: -5.5556% !important; border-left: 0 !important; border-right: 0 !important; }

/* ---------- Slider: bez „Pozrieť ďalšie projekty“, číslovanie ako Aachen ---------- */
body.home .elementor-3779 #n2-ss-2 .lp-more-projects { display: none !important; }
body.home .elementor-3779 #n2-ss-2 .nextend-bullet-bar { gap: 0 22px; }
body.home .elementor-3779 #n2-ss-2 .nextend-bullet-bar > div { margin: 0 !important; }
body.home .elementor-3779 #n2-ss-2 .nextend-bullet-bar .n2-bullet { position: relative; display: flex !important; align-items: center; width: auto !important; height: auto !important; margin: 0 !important; padding: 10px 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
body.home .elementor-3779 #n2-ss-2 .nextend-bullet-bar .n2-bullet::after { position: static !important; inset: auto; display: block !important; order: 0; content: counter(lpSlide) !important; color: rgba(255, 255, 255, .55) !important; font: 400 16px/1 Roboto, Arial, sans-serif !important; letter-spacing: .015em; transition: color .3s; }
body.home .elementor-3779 #n2-ss-2 .nextend-bullet-bar .n2-bullet::before { content: '' !important; order: 1; display: block !important; width: 0; height: 1px; margin-left: 0; background: #fff !important; transition: width .5s cubic-bezier(.2, .7, .2, 1), margin .5s cubic-bezier(.2, .7, .2, 1); }
body.home .elementor-3779 #n2-ss-2 .nextend-bullet-bar .n2-bullet:hover::after, body.home .elementor-3779 #n2-ss-2 .nextend-bullet-bar .n2-active::after { color: #fff !important; }
body.home .elementor-3779 #n2-ss-2 .nextend-bullet-bar .n2-active { background: transparent !important; }
body.home .elementor-3779 #n2-ss-2 .nextend-bullet-bar .n2-active::before { width: 96px; margin-left: 20px; }
@media (max-width: 767px) {
	body.home .elementor-3779 #n2-ss-2 .nextend-bullet-bar { gap: 0 9px; flex-wrap: nowrap !important; white-space: nowrap; max-width: calc(100vw - 24px); }
	body.home .elementor-3779 #n2-ss-2 .nextend-bullet-bar .n2-bullet::after { font-size: 12px !important; }
	body.home .elementor-3779 #n2-ss-2 .nextend-bullet-bar .n2-active::before { width: 22px; margin-left: 7px; }
}
@media (max-width: 380px) {
	body.home .elementor-3779 #n2-ss-2 .nextend-bullet-bar { gap: 0 7px; }
	body.home .elementor-3779 #n2-ss-2 .nextend-bullet-bar .n2-bullet::after { font-size: 11px !important; }
	body.home .elementor-3779 #n2-ss-2 .nextend-bullet-bar .n2-active::before { width: 16px; margin-left: 6px; }
}

/* ---------- Tenké „+“ bez krúžku všade (ladí s tlačidlom menu) ---------- */
.lp .circle, .lp-circle, .lp-cta-links i, body.home .lp > .projects .project .photo::after {
	width: 26px !important; height: 26px !important; flex: 0 0 26px !important; padding: 0 !important;
	border: 0 !important; border-radius: 0 !important; box-shadow: none !important; font-size: 0 !important;
	background: linear-gradient(currentColor, currentColor) center / 100% 1px no-repeat, linear-gradient(currentColor, currentColor) center / 1px 100% no-repeat !important;
	transition: transform .45s cubic-bezier(.2, .7, .2, 1), opacity .25s !important;
}
body.home .lp > .projects .project .photo::after { content: '' !important; color: #fff !important; right: 26px !important; bottom: 26px !important; }
.lp .roundlink:hover .circle, .lp .roundlink:focus-visible .circle, .lp-roundlink:hover .lp-circle, .lp-roundlink:focus-visible .lp-circle, .lp-cta-links a:hover i, .lp-cta-links a:focus-visible i { color: inherit !important; transform: rotate(90deg) !important; }
.lp-zoom .lp-circle, .lp-card-photo .lp-circle { color: #fff !important; }
.lp-zoom:hover .lp-circle, .lp-zoom:focus-visible .lp-circle, .lp-card:hover .lp-circle, .lp-card:focus-visible .lp-circle { color: #fff !important; transform: scale(1) rotate(90deg) !important; }
.lp-plans .lp-zoom .lp-circle, .lp-model .lp-zoom .lp-circle, .lp-plans .lp-zoom:hover .lp-circle, .lp-model .lp-zoom:hover .lp-circle { color: #111 !important; }
body.home .lp > .projects .project:hover .photo::after, body.home .lp > .projects .project:focus-visible .photo::after { color: #fff !important; transform: scale(1) rotate(90deg) !important; }
@media (max-width: 767px) {
	body.home .lp > .projects .project .photo::after { right: 18px !important; bottom: 18px !important; }
}
@media (prefers-reduced-motion: reduce) {
	.lp .circle, .lp-circle, .lp-cta-links i, body.home .lp > .projects .project .photo::after { transition: none !important; }
}

/* ---------- Slider: aktívne číslo tučné, hrubšia čiara, na mobile vyššie ---------- */
body.home .elementor-3779 #n2-ss-2 .nextend-bullet-bar .n2-bullet::after { text-shadow: 0 1px 8px rgba(0, 0, 0, .55); }
body.home .elementor-3779 #n2-ss-2 .nextend-bullet-bar .n2-active::after { font-weight: 700 !important; }
body.home .elementor-3779 #n2-ss-2 .nextend-bullet-bar .n2-bullet::before { height: 2px; box-shadow: 0 1px 6px rgba(0, 0, 0, .35); }
@media (max-width: 767px) {
	body.home .elementor-3779 #n2-ss-2 .n2-ss-control-bullet { transform: translateY(-58px); }
}

/* ---------- Projekty na úvode: len názov projektu ---------- */
body.home .lp > .projects .project .caption h3::before, body.home .lp > .projects .project .caption p { display: none !important; }
body.home .lp > .projects .project .caption h3 { font-size: clamp(20px, 1.6vw, 30px); }
body.home .lp > .projects .project::before { background: linear-gradient(to bottom, rgba(0, 0, 0, .45) 0%, rgba(0, 0, 0, 0) 34%) !important; }

/* ---------- „Celé portfólio“ pod projektmi ---------- */
body.home .lp > .projects .lp-allprojects { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 0 -5.5556%; padding: clamp(36px, 4.2vw, 72px) 5.5556%; border-bottom: 1px solid rgba(255, 255, 255, .16); color: #fff; text-decoration: none; transition: background .45s cubic-bezier(.2, .7, .2, 1); }
body.home .lp > .projects .lp-allprojects-label { display: block; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
body.home .lp > .projects .lp-allprojects small { display: block; margin-bottom: 14px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #9a9a9a; }
body.home .lp > .projects .lp-allprojects strong { display: block; font-size: clamp(30px, 3.6vw, 64px); font-weight: 300; line-height: 1.05; letter-spacing: -.02em; }
body.home .lp > .projects .lp-allprojects .circle { width: 44px !important; height: 44px !important; flex: 0 0 44px !important; color: #fff; }
body.home .lp > .projects .lp-allprojects:hover, body.home .lp > .projects .lp-allprojects:focus-visible { background: #121212; outline: none; }
body.home .lp > .projects .lp-allprojects:hover .lp-allprojects-label, body.home .lp > .projects .lp-allprojects:focus-visible .lp-allprojects-label { transform: translateX(14px); }
body.home .lp > .projects .lp-allprojects:hover .circle, body.home .lp > .projects .lp-allprojects:focus-visible .circle { transform: rotate(90deg); }
body.home .lp > .projects .sectionhead > .smalllink { display: none !important; }
@media (max-width: 767px) {
	body.home .lp > .projects .lp-allprojects .circle { width: 30px !important; height: 30px !important; flex-basis: 30px !important; }
}

/* ---------- Mobil/dotyk: „+“ na projektoch stále viditeľné ---------- */
@media (hover: none), (max-width: 767px) {
	body.home .lp > .projects .project .photo::after { opacity: 1 !important; transform: none !important; }
}

/* ---------- Stránka 404 ---------- */
.lp-404 { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: calc(100vh - 140px); min-height: calc(100svh - 140px); padding: clamp(70px, 8vw, 160px) var(--gut) 0; overflow: hidden; background: var(--bg); }
.lp-404-num { position: absolute; top: 50%; right: -.04em; transform: translateY(-58%); font-size: clamp(190px, 36vw, 720px); font-weight: 100; line-height: .8; letter-spacing: -.06em; color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, .16); pointer-events: none; user-select: none; }
.lp-404-body { position: relative; z-index: 1; max-width: 760px; }
.lp-404-body h1 { margin: 26px 0 0; font-size: clamp(44px, 6vw, 108px); font-weight: 300; line-height: 1.02; letter-spacing: -.03em; color: #fff; }
.lp-404-lead { max-width: 520px; margin: 30px 0 0; font-size: clamp(16px, 1.1vw, 20px); font-weight: 300; line-height: 1.7; color: #cfcfcf; }
.lp-404 .lp-404-links { position: relative; z-index: 1; margin: clamp(60px, 7vw, 130px) calc(-1 * var(--gut)) 0; padding: 0 var(--gut); }
@media (max-width: 767px) {
	.lp-404 { min-height: calc(100svh - 96px); justify-content: flex-start; padding-top: 60px; }
	.lp-404-num { top: 24px; transform: none; font-size: 46vw; }
	.lp-404-body { margin-top: 30vw; }
}

/* ---------- Úvod bez malých nadpisov sekcií: pôvodné rozloženie ---------- */
body.home .lp .introhead { justify-content: flex-end; }
body.home .lp > .projects .lp-allprojects small { display: none; }
@media (min-width: 768px) {
	body.home .lp .about > div { grid-column: 2; }
}

/* ---------- Úvod: okraje sekcií zarovnané s logom a textami v slideri ---------- */
body.home .lp { --lpx: 80px; }
body.home .lp > section, body.home .lp > footer { padding-left: var(--lpx) !important; padding-right: var(--lpx) !important; }
body.home .lp > .projects .projectgrid { margin-left: calc(-1 * var(--lpx)) !important; margin-right: calc(-1 * var(--lpx)) !important; }
body.home .lp > .projects .lp-allprojects { margin: 0 calc(-1 * var(--lpx)); padding-left: var(--lpx); padding-right: var(--lpx); }
body.home .lp > .projects { padding-top: clamp(70px, 6vw, 120px) !important; }
body.home .lp > .projects .sectionhead { margin-bottom: clamp(70px, 6vw, 120px) !important; }
@media (max-width: 767px) {
	body.home .lp { --lpx: 30px; }
	body.home .lp > .projects { padding-top: 56px !important; }
	body.home .lp > .projects .sectionhead { margin-bottom: 56px !important; }
}

/* ---------- Bez čierneho pásu pod „Celé portfólio“, služby vyššie ---------- */
body.home .lp > .projects { padding-bottom: 0 !important; }
body.home .lp > .services { padding-top: clamp(48px, 4.2vw, 80px) !important; }
@media (min-width: 768px) {
	body.home .lp .servicesintro { grid-template-columns: 1.5fr 1fr; }
}
body.home .lp > .services { padding-top: clamp(56px, 5.5vw, 100px) !important; }
body.home .lp .servicesintro { margin: 0 0 clamp(56px, 5.5vw, 100px) !important; align-items: center; }

/* ---------- Recenzie: „Všetky recenzie“ a „Pridať recenziu“ ako pás pod recenziami ---------- */
body.home .lp > .review { padding-bottom: 0 !important; }
body.home .lp > .review .sectionhead > .smalllink { display: none !important; }
body.home .lp .lp-bandlinks { display: grid; grid-template-columns: 1fr 1fr; margin: clamp(56px, 5vw, 90px) calc(-1 * var(--lpx)) 0; border-top: 1px solid rgba(255, 255, 255, .16); border-bottom: 1px solid rgba(255, 255, 255, .16); }
body.home .lp .lp-band { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: clamp(36px, 4.2vw, 72px) var(--lpx); color: #fff; text-decoration: none; transition: background .45s cubic-bezier(.2, .7, .2, 1); }
body.home .lp .lp-band + .lp-band { border-left: 1px solid rgba(255, 255, 255, .16); }
body.home .lp .lp-band-label { display: block; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
body.home .lp .lp-band strong { display: block; font-size: clamp(30px, 3.6vw, 64px); font-weight: 300; line-height: 1.05; letter-spacing: -.02em; }
body.home .lp .lp-band .circle { width: 44px !important; height: 44px !important; flex: 0 0 44px !important; color: #fff; }
body.home .lp .lp-band:hover, body.home .lp .lp-band:focus-visible { background: #121212; outline: none; }
body.home .lp .lp-band:hover .lp-band-label, body.home .lp .lp-band:focus-visible .lp-band-label { transform: translateX(14px); }
body.home .lp .lp-band:hover .circle, body.home .lp .lp-band:focus-visible .circle { transform: rotate(90deg); }
@media (max-width: 767px) {
	body.home .lp .lp-bandlinks { grid-template-columns: 1fr; }
	body.home .lp .lp-band + .lp-band { border-left: 0; border-top: 1px solid rgba(255, 255, 255, .16); }
	body.home .lp .lp-band .circle { width: 30px !important; height: 30px !important; flex-basis: 30px !important; }
}
body.home .lp > .projects .lp-allprojects strong, body.home .lp .lp-band strong { font-size: clamp(24px, 2.6vw, 46px); font-weight: 400; letter-spacing: -.015em; }

/* ---------- Logá klientov: posuvný pás ---------- */
body.home .lp > .lp-clients-sec { padding-top: clamp(70px, 6vw, 120px) !important; padding-bottom: clamp(70px, 6vw, 120px) !important; background: #090909; }
body.home .lp > .lp-clients-sec .sectionhead { margin-bottom: clamp(46px, 4.5vw, 80px) !important; }
.lp-clients { position: relative; margin: 0 calc(-1 * var(--lpx, 80px)); overflow: hidden; border-top: 1px solid rgba(255, 255, 255, .16); border-bottom: 1px solid rgba(255, 255, 255, .16); cursor: grab; touch-action: pan-y; user-select: none; -webkit-user-select: none; -webkit-mask-image: linear-gradient(to right, transparent 0, #000 7%, #000 93%, transparent 100%); mask-image: linear-gradient(to right, transparent 0, #000 7%, #000 93%, transparent 100%); }
.lp-clients.is-dragging { cursor: grabbing; }
.lp-clients-track { display: flex; align-items: center; width: max-content; margin: 0 !important; padding: clamp(46px, 4.6vw, 80px) 0 !important; list-style: none; will-change: transform; }
.lp-client { flex: 0 0 auto; margin: 0 clamp(34px, 3.6vw, 66px) !important; padding: 0 !important; list-style: none !important; }
.lp-client::before, .lp-client::marker { content: none !important; }
.lp-client img { display: block; width: auto !important; max-width: none !important; height: var(--h, 44px) !important; opacity: .4; transition: opacity .45s cubic-bezier(.2, .7, .2, 1); pointer-events: none; -webkit-user-drag: none; }
.lp-client:hover img { opacity: 1; }
@media (max-width: 767px) {
	.lp-client { margin: 0 26px !important; }
	.lp-client img { height: calc(var(--h, 44px) * .72) !important; }
}
.lp-clients { -webkit-mask-image: none !important; mask-image: none !important; }
.lp-clients::before, .lp-clients::after { content: ''; position: absolute; top: 0; bottom: 0; z-index: 2; width: 9%; pointer-events: none; }
.lp-clients::before { left: 0; background: linear-gradient(to right, #090909, rgba(9, 9, 9, 0)); }
.lp-clients::after { right: 0; background: linear-gradient(to left, #090909, rgba(9, 9, 9, 0)); }
.lp-client img { filter: brightness(0) invert(1); }
body.home .lp > .lp-clients-sec .sectionhead h2 { font-size: clamp(30px, 3.5vw, 50px); font-weight: 300; letter-spacing: -.025em; line-height: 1.1; }

/* ---------- Úvod: poradie sekcií, mapa nad pätičkou, sociálne siete ---------- */
body.home .lp > .projects { order: 1 !important; }
body.home .lp > .services { order: 2 !important; }
body.home .lp > .about { order: 3 !important; }
body.home .lp > .contact { order: 4 !important; }
body.home .lp > .lp-clients-sec { order: 5 !important; }
body.home .lp > .mapping { order: 6 !important; }
body.home .lp > .review { order: 7 !important; }
body.home .lp > .realizations { order: 8 !important; }
body.home .lp > .lp-mapsec { order: 9 !important; padding: 0 !important; }
body.home .lp > .footer { order: 10 !important; }
body.home .lp > .lp-mapsec .lp-home-map { width: 100% !important; margin: 0 !important; }
.lp .lp-social { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 28px; }
.lp .lp-social a { display: grid; place-items: center; width: 24px; height: 24px; color: #f5f5f5; opacity: .6; border: 0 !important; padding: 0 !important; transition: opacity .3s, transform .3s; }
.lp .lp-social a:hover, .lp .lp-social a:focus-visible { opacity: 1; transform: translateY(-2px); }
.lp .lp-social svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.lp .footer .lp-company-ids { margin-top: 14px; color: #9a9a9a; }
/* Pätička podstránok = pätička úvodu */
.lp-footer .lp-company-ids { margin-top: 14px; color: #9a9a9a; }
.lp-footer .lp-social a:hover { opacity: 1; }
/* O nás */
.lp-aboutpage .lp-pagehead { padding-bottom: clamp(50px, 5vw, 90px); }
.lp-aboutpage .lp-pagebody { padding: 0; }
.lp-ab-sec { padding: clamp(70px, 7vw, 130px) var(--gut); border-top: 1px solid rgba(255, 255, 255, .16); }
.lp-ab-grid { display: grid; grid-template-columns: 1fr 1.5fr; gap: clamp(40px, 6vw, 140px); }
.lp .lp-ab-sec h2 { font-size: clamp(30px, 3.5vw, 50px); font-weight: 300; line-height: 1.05; letter-spacing: -.02em; }
.lp .lp-ab-copy p { max-width: 760px; font-size: clamp(16px, 1.15vw, 19px); line-height: 1.75; color: #cfcfcf; font-weight: 300; }
.lp .lp-ab-copy p + p { margin-top: 1.1em; }
.lp .lp-ab-copy p.lp-ab-lead { color: #fff; font-size: clamp(20px, 1.6vw, 28px); line-height: 1.45; }
.lp-ab-sec .lp-ab-head { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: clamp(40px, 4.5vw, 80px); }
.lp-ab-head p { color: #9a9a9a; font-size: 15px; }
/* Karty tímu */
.lp-team { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(46px, 4.5vw, 84px) clamp(20px, 2.4vw, 44px); }
.lp-member { min-width: 0; }
.lp-member-photo { position: relative; aspect-ratio: 2 / 3; overflow: hidden; background: #161616; }
.lp-member-photo img, .lp-member-photo svg { display: block; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); transition: transform 1.1s cubic-bezier(.2, .7, .2, 1); }
.lp-member:hover .lp-member-photo img { transform: scale(1.035); }
.lp .lp-member h3 { margin-top: 24px; font-size: clamp(22px, 1.75vw, 30px); font-weight: 300; line-height: 1.15; letter-spacing: -.01em; }
.lp-member-roles { list-style: none; margin: 12px 0 0; padding: 0; color: #9a9a9a; font-size: 15px; line-height: 1.6; }
.lp .lp-member-contacts { display: flex; flex-wrap: wrap; gap: 6px 20px; margin-top: 16px; font-size: 14px; }
.lp .lp-member-contacts a { border-bottom: 1px solid rgba(255, 255, 255, .3); padding-bottom: 2px; transition: border-color .25s; }
.lp .lp-member-contacts a:hover { border-color: #fff; }
/* Pás „Máte predstavu?“ */
.lp-ab-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: clamp(46px, 5vw, 90px) var(--gut); border-top: 1px solid rgba(255, 255, 255, .16); color: #fff; transition: background .45s cubic-bezier(.2, .7, .2, 1); }
.lp-ab-cta small { display: block; margin-bottom: 14px; color: #9a9a9a; font-size: 15px; }
.lp-ab-cta strong { display: block; font-size: clamp(30px, 4vw, 70px); font-weight: 300; line-height: 1.05; letter-spacing: -.02em; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.lp-ab-cta i { position: relative; flex: 0 0 48px; width: 48px; height: 48px; background: linear-gradient(currentColor, currentColor) center / 100% 1px no-repeat, linear-gradient(currentColor, currentColor) center / 1px 100% no-repeat; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.lp-ab-cta:hover, .lp-ab-cta:focus-visible { background: #121212; }
.lp-ab-cta:hover strong { transform: translateX(14px); }
.lp-ab-cta:hover i { transform: rotate(90deg); }
@media (max-width: 1024px) {
	.lp-team { grid-template-columns: repeat(2, 1fr); }
	.lp-ab-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.lp-team { grid-template-columns: 1fr; }
	.lp-ab-cta i { flex-basis: 30px; width: 30px; height: 30px; }
	.lp-ab-sec .lp-ab-head { display: block; }
	.lp-ab-head p { margin-top: 10px !important; }
}
.lp-aboutpage .lp-pagehead .lp-eyebrow { display: none; }
/* O nás v2: menší nadpis, menšie fotky tímu */
.lp-aboutpage .lp-pagehead h1 { font-size: clamp(28px, 3vw, 44px); font-weight: 300; letter-spacing: -.02em; line-height: 1.1; }
.lp-aboutpage .lp-pagehead { padding-top: clamp(50px, 5vw, 100px); }
.lp-team { justify-items: center; }
.lp-member { width: 70%; }
.lp-ab-cta small a { color: inherit; }

/* Podstránky: menší nadpis bez nadtitulku */
.lp-page .lp-pagehead h1 { font-size: clamp(28px, 3vw, 44px); font-weight: 300; letter-spacing: -.02em; line-height: 1.1; margin-top: 0 !important; }
.lp-page .lp-pagehead { padding-top: clamp(50px, 5vw, 100px); }
/* Portfólio: rovnaké vysoké polia ako na úvode */
.lp-portfoliopage .lp-pagebody { padding-bottom: 0; }
.lp-portfoliopage .lp-filter { border-top: 0; padding-top: 0; }
.lp-cards--panels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0 calc(-1 * var(--gut)); border-top: 1px solid rgba(255, 255, 255, .16); }
.lp-cards--panels .lp-card { position: relative; height: clamp(460px, 34vw, 720px); overflow: hidden; color: #fff; }
.lp-cards--panels .lp-card::after { content: ''; position: absolute; inset: 0; z-index: 4; border-right: 1px solid rgba(255, 255, 255, .16); border-bottom: 1px solid rgba(255, 255, 255, .16); pointer-events: none; }
.lp-cards--panels .lp-card::before { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(to bottom, rgba(0, 0, 0, .45) 0%, rgba(0, 0, 0, 0) 34%); }
.lp-cards--panels .lp-card-photo { position: absolute; inset: 0; aspect-ratio: auto; }
.lp-cards--panels .lp-card-photo img, .lp-cards--panels .lp-card-photo .lp-noimg { width: 100%; height: 100% !important; object-fit: cover; }
.lp-cards--panels .lp-card-caption { position: absolute; inset: 0; z-index: 2; display: block; padding: clamp(26px, 2.6vw, 48px) clamp(22px, 2.4vw, 46px); padding-right: calc(clamp(22px, 2.4vw, 46px) + 58px); pointer-events: none; }
.lp-cards--panels .lp-card-index, .lp-cards--panels .lp-card-caption p { display: none; }
.lp .lp-cards--panels .lp-card h3 { margin: 0; color: #fff; font-size: clamp(20px, 1.6vw, 30px); font-weight: 300; letter-spacing: -.01em; line-height: 1.25; }
.lp-cards--panels .lp-card-photo .lp-circle { right: 26px; bottom: 26px; z-index: 3; color: #fff !important; }
@media (max-width: 1100px) {
	.lp-cards--panels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.lp-cards--panels { grid-template-columns: 1fr; }
	.lp-cards--panels .lp-card { height: auto; aspect-ratio: 3 / 4; }
	.lp-cards--panels .lp-card::after { border-right: 0; }
	.lp-cards--panels .lp-card-photo .lp-circle { right: 18px; bottom: 18px; }
}
@media (hover: none), (max-width: 767px) {
	.lp-cards--panels .lp-card-photo .lp-circle { opacity: 1 !important; transform: none !important; }
}
/* Pás odkazov (Úvod / Cenník) na podstránkach – ako „Celé portfólio“ */
.lp-pagebody .lp-bandlinks { display: grid; grid-template-columns: 1fr 1fr; margin: 0 calc(-1 * var(--gut)); border-bottom: 1px solid rgba(255, 255, 255, .16); }
.lp-pagebody .lp-band { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: clamp(36px, 4.2vw, 72px) var(--gut); color: #fff; text-decoration: none; transition: background .45s cubic-bezier(.2, .7, .2, 1); }
.lp-pagebody .lp-band + .lp-band { border-left: 1px solid rgba(255, 255, 255, .16); }
.lp-pagebody .lp-band-label { display: block; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.lp-pagebody .lp-band strong { display: block; font-size: clamp(24px, 2.6vw, 46px); font-weight: 400; line-height: 1.05; letter-spacing: -.015em; }
.lp-pagebody .lp-band .circle { display: block; width: 44px !important; height: 44px !important; flex: 0 0 44px !important; color: #fff; }
.lp-pagebody .lp-band:hover, .lp-pagebody .lp-band:focus-visible { background: #121212; outline: none; }
.lp-pagebody .lp-band:hover .lp-band-label, .lp-pagebody .lp-band:focus-visible .lp-band-label { transform: translateX(14px); }
.lp-pagebody .lp-band:hover .circle, .lp-pagebody .lp-band:focus-visible .circle { transform: rotate(90deg) !important; }
@media (max-width: 767px) {
	.lp-pagebody .lp-bandlinks { grid-template-columns: 1fr; }
	.lp-pagebody .lp-band + .lp-band { border-left: 0; border-top: 1px solid rgba(255, 255, 255, .16); }
	.lp-pagebody .lp-band .circle { width: 30px !important; height: 30px !important; flex-basis: 30px !important; }
}
/* Úvod – Kontakt: telefón, e-mail a pás „Získať cenovú ponuku“ */
body.home .lp > .contact { padding-bottom: 0 !important; }
body.home .lp > .contact .contactbottom { align-items: flex-end; }
body.home .lp .lp-contact-direct { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
body.home .lp .lp-contact-direct a { color: #fff; font-size: clamp(24px, 2.6vw, 46px); font-weight: 300; line-height: 1.2; letter-spacing: -.02em; text-decoration: none; background: linear-gradient(currentColor, currentColor) left bottom / 0 1px no-repeat; transition: background-size .45s cubic-bezier(.2, .7, .2, 1); }
body.home .lp .lp-contact-direct a:hover, body.home .lp .lp-contact-direct a:focus-visible { background-size: 100% 1px; outline: none; }
body.home .lp > .contact .lp-quote { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: clamp(56px, 5vw, 90px) calc(-1 * var(--lpx)) 0; padding: clamp(36px, 4.2vw, 72px) var(--lpx); border-top: 1px solid rgba(255, 255, 255, .16); color: #fff; text-decoration: none; transition: background .45s cubic-bezier(.2, .7, .2, 1); }
body.home .lp > .contact .lp-quote .lp-allprojects-label { display: block; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
body.home .lp > .contact .lp-quote strong { display: block; font-size: clamp(24px, 2.6vw, 46px); font-weight: 400; line-height: 1.05; letter-spacing: -.015em; }
body.home .lp > .contact .lp-quote .circle { width: 44px !important; height: 44px !important; flex: 0 0 44px !important; color: #fff; }
body.home .lp > .contact .lp-quote:hover, body.home .lp > .contact .lp-quote:focus-visible { background: #111; outline: none; }
body.home .lp > .contact .lp-quote:hover .lp-allprojects-label, body.home .lp > .contact .lp-quote:focus-visible .lp-allprojects-label { transform: translateX(14px); }
body.home .lp > .contact .lp-quote:hover .circle, body.home .lp > .contact .lp-quote:focus-visible .circle { transform: rotate(90deg) !important; }
@media (max-width: 767px) {
	body.home .lp > .contact .contactbottom { flex-direction: column; align-items: flex-start; }
	body.home .lp .lp-contact-direct { align-items: flex-start; margin-top: 10px; }
	body.home .lp > .contact .lp-quote .circle { width: 30px !important; height: 30px !important; flex-basis: 30px !important; }
}
/* Portfólio: čierne tenké linky medzi projektmi, tučný nadpis */
.lp-cards--panels { border-top-color: #000; }
.lp-cards--panels .lp-card::after { border-right-color: #000; border-bottom-color: #000; }
.lp-portfoliopage .lp-pagehead h1 { font-weight: 700; }
/* O nás: stránka začína sekciou Náš tím */
.lp-aboutpage .lp-pagehead { display: none; }
.lp-aboutpage .lp-pagebody > .lp-ab-sec:first-child, .lp-aboutpage #tim { border-top: 0; }
/* Cenník */
.lp-pricingpage .lp-pagebody { padding-bottom: 0; }
.lp-pr-sec, .lp-pr-foot { margin: 0 calc(-1 * var(--gut)); padding: clamp(60px, 6vw, 110px) var(--gut); border-top: 1px solid rgba(255, 255, 255, .16); }
.lp-pr-sec { display: grid; grid-template-columns: 1fr 2.2fr; gap: clamp(30px, 5vw, 110px); }
.lp .lp-pr-head h2 { font-size: clamp(30px, 3.5vw, 50px); font-weight: 300; line-height: 1.05; letter-spacing: -.02em; }
.lp-pr-head { align-self: start; position: sticky; top: 110px; }
.lp .lp-pr-intro { margin-top: 22px; max-width: 360px; color: #cfcfcf; font-size: 16px; font-weight: 300; line-height: 1.65; }
.lp-pr-item { display: grid; grid-template-columns: 1.35fr 1fr; gap: 24px clamp(30px, 4vw, 80px); padding: clamp(34px, 3.2vw, 56px) 0; border-top: 1px solid rgba(255, 255, 255, .16); }
.lp-pr-item:first-child { padding-top: 0; border-top: 0; }
.lp-pr-item:last-child { padding-bottom: 0; }
.lp .lp-pr-item h3 { font-size: clamp(22px, 1.75vw, 30px); font-weight: 300; line-height: 1.15; letter-spacing: -.01em; }
.lp .lp-pr-label { margin-top: 12px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #9a9a9a; }
.lp .lp-pr-text p { margin-top: 16px; color: #cfcfcf; font-size: 16px; font-weight: 300; line-height: 1.7; }
.lp-pr-rows { margin: 0; }
.lp-pr-row { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding: 12px 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.lp-pr-row:first-child { padding-top: 0; }
.lp-pr-row dt { color: #bdbdbd; font-size: 15px; font-weight: 300; line-height: 1.5; }
.lp-pr-row dd { margin: 0; color: #fff; font-size: 17px; font-weight: 400; text-align: right; white-space: nowrap; }
.lp-pr-row.is-main { display: block; border-bottom: 0; padding-bottom: 4px; }
.lp-pr-row.is-main dt { display: none; }
.lp-pr-row.is-main dd { text-align: left; white-space: normal; font-size: clamp(26px, 2.4vw, 42px); font-weight: 300; line-height: 1.1; letter-spacing: -.02em; }
.lp .lp-pr-note { margin-top: 14px; color: #8f8f8f; font-size: 13px; line-height: 1.6; }
.lp .lp-pr-cta { display: inline-flex; align-items: center; gap: 16px; margin-top: 24px; color: #fff; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.lp-pr-cta i { display: block; flex: 0 0 18px; width: 18px; height: 18px; background: linear-gradient(currentColor, currentColor) center / 100% 1px no-repeat, linear-gradient(currentColor, currentColor) center / 1px 100% no-repeat; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.lp-pr-cta span { background: linear-gradient(currentColor, currentColor) left bottom / 0 1px no-repeat; padding-bottom: 3px; transition: background-size .45s cubic-bezier(.2, .7, .2, 1); }
.lp-pr-cta:hover i, .lp-pr-cta:focus-visible i { transform: rotate(90deg); }
.lp-pr-cta:hover span, .lp-pr-cta:focus-visible span { background-size: 100% 1px; }
.lp .lp-pr-foot p { max-width: 900px; color: #9a9a9a; font-size: 14px; line-height: 1.7; letter-spacing: .02em; }
.lp-pricingpage .lp-bandlinks { border-top: 1px solid rgba(255, 255, 255, .16); }
@media (max-width: 1100px) {
	.lp-pr-sec { grid-template-columns: 1fr; }
	.lp-pr-head { position: static; }
}
@media (max-width: 767px) {
	.lp-pr-item { grid-template-columns: 1fr; }
	.lp-pr-row dd { white-space: normal; }
}
/* Naše služby – rozbaľovací zoznam ako na úvode */
.lp-servicespage .lp-pagebody { padding-bottom: 0; }
.lp-sv { border-bottom: 1px solid #3c3c3c; }
.lp-sv-item { border-top: 1px solid #3c3c3c; scroll-margin-top: 90px; }
.lp-sv-item > summary { display: grid; grid-template-columns: 70px 1fr 35px; align-items: center; padding: 25px 0; cursor: pointer; list-style: none; color: #f5f5f5; }
.lp-sv-item > summary::-webkit-details-marker { display: none; }
.lp-sv-num { font-size: 12px; letter-spacing: .08em; color: #f5f5f5; }
.lp .lp-sv-name { margin: 0; font-size: clamp(24px, 2.8vw, 40px); font-weight: 400; line-height: 1.2; letter-spacing: -.01em; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.lp-sv-plus { justify-self: end; display: block; width: 26px; height: 26px; background: linear-gradient(currentColor, currentColor) center / 100% 1px no-repeat, linear-gradient(currentColor, currentColor) center / 1px 100% no-repeat; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.lp-sv-item > summary:hover .lp-sv-name, .lp-sv-item > summary:focus-visible .lp-sv-name { transform: translateX(10px); }
.lp-sv-item > summary:hover .lp-sv-plus { transform: rotate(90deg); }
.lp-sv-item[open] .lp-sv-plus { transform: rotate(45deg); }
.lp-sv-item > summary:focus-visible { outline: 1px solid rgba(255, 255, 255, .5); outline-offset: 4px; }
.lp-sv-body { display: grid; grid-template-columns: 1.7fr 1fr; gap: clamp(30px, 5vw, 100px); padding: 10px 0 clamp(50px, 5vw, 90px) 70px; }
.lp .lp-sv-lead { max-width: 820px; color: #fff; font-size: clamp(19px, 1.5vw, 25px); font-weight: 300; line-height: 1.5; }
.lp .lp-sv-text p { max-width: 820px; margin-top: 16px; color: #cccccc; font-size: 16px; font-weight: 300; line-height: 1.7; }
.lp-sv-steps { margin-top: clamp(36px, 3.5vw, 60px); }
.lp .lp-sv-steps h3 { margin-bottom: 18px; font-size: 11px; font-weight: 400; letter-spacing: .14em; text-transform: uppercase; color: #9a9a9a; }
.lp-sv-steps ol { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 0 26px; margin: 0; padding: 0; list-style: none; }
.lp-sv-steps li { display: flex; gap: 16px; padding: 16px 0; border-top: 1px solid rgba(255, 255, 255, .14); list-style: none; }
.lp-sv-steps li::before, .lp-sv-steps li::marker { content: none; }
.lp-sv-stepnum { flex: 0 0 auto; padding-top: 3px; font-size: 11px; letter-spacing: .08em; color: #8f8f8f; }
.lp .lp-sv-steps h4 { margin: 0; color: #fff; font-size: 16px; font-weight: 400; line-height: 1.4; }
.lp .lp-sv-steps li p { margin-top: 6px; color: #9a9a9a; font-size: 14px; line-height: 1.55; }
.lp-sv-side { align-self: start; }
.lp-sv-label { display: block; margin-bottom: 12px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #9a9a9a; }
.lp-sv-price strong { display: block; color: #fff; font-size: clamp(26px, 2.4vw, 40px); font-weight: 300; line-height: 1.1; letter-spacing: -.02em; }
.lp .lp-sv-note { margin-top: 14px; color: #8f8f8f; font-size: 13px; line-height: 1.6; }
.lp-sv-links { margin-top: 30px; border-bottom: 1px solid rgba(255, 255, 255, .14); }
.lp .lp-sv-link { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; border-top: 1px solid rgba(255, 255, 255, .14); color: #fff; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.lp-sv-link span { transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.lp-sv-link i { flex: 0 0 18px; width: 18px; height: 18px; background: linear-gradient(currentColor, currentColor) center / 100% 1px no-repeat, linear-gradient(currentColor, currentColor) center / 1px 100% no-repeat; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.lp-sv-link:hover span, .lp-sv-link:focus-visible span { transform: translateX(10px); }
.lp-sv-link:hover i, .lp-sv-link:focus-visible i { transform: rotate(90deg); }
.lp-servicespage .lp-bandlinks { margin-top: clamp(70px, 7vw, 130px); border-top: 1px solid rgba(255, 255, 255, .16); }
@media (max-width: 1024px) {
	.lp-sv-body { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.lp-sv-item > summary { grid-template-columns: 42px 1fr 26px; padding: 20px 0; }
	.lp-sv-plus { width: 20px; height: 20px; }
	.lp-sv-body { padding-left: 0; }
}
/* Úvod – Kontakt tesne pred mapou, trasa do kancelárie */
body.home .lp > .contact { order: 9 !important; }
body.home .lp > .lp-mapsec { order: 10 !important; }
body.home .lp > .footer { order: 11 !important; }
body.home .lp > .contact .lp-quotes { display: grid; grid-template-columns: 1fr 1fr; margin: clamp(56px, 5vw, 90px) calc(-1 * var(--lpx)) 0; border-top: 1px solid rgba(255, 255, 255, .16); }
body.home .lp > .contact .lp-quotes .lp-quote { margin: 0; border-top: 0; }
body.home .lp > .contact .lp-quotes .lp-quote + .lp-quote { border-left: 1px solid rgba(255, 255, 255, .16); }
body.home .lp .lp-contact-addr { margin-top: 18px !important; color: #9a9a9a; font-size: 14px; line-height: 1.6; }
body.home .lp .lp-contact-addr a { color: #fff; border-bottom: 1px solid rgba(255, 255, 255, .35); padding-bottom: 1px; transition: border-color .25s; }
body.home .lp .lp-contact-addr a:hover, body.home .lp .lp-contact-addr a:focus-visible { border-color: #fff; }
@media (max-width: 767px) {
	body.home .lp > .contact .lp-quotes { grid-template-columns: 1fr; }
	body.home .lp > .contact .lp-quotes .lp-quote + .lp-quote { border-left: 0; border-top: 1px solid rgba(255, 255, 255, .16); }
}
/* Úvod – 3D skenovanie: kroky procesu */
body.home .lp .mapping .lp-scan-steps { display: flex; flex-wrap: wrap; gap: 12px 0; margin: 26px 0 34px !important; padding: 0 !important; list-style: none; }
body.home .lp .mapping .lp-scan-steps li { margin: 0 !important; padding: 0 !important; list-style: none; color: #d6d6d6; font-size: 11px; letter-spacing: .14em; line-height: 1.6; text-transform: uppercase; }
body.home .lp .mapping .lp-scan-steps li::marker { content: none; }
body.home .lp .mapping .lp-scan-steps li + li::before { content: '→'; margin: 0 12px; color: #7a7a7a; letter-spacing: 0; }
/* Úvod – 3D skenovanie: obrázok mračna bodov */
body.home .lp .mapping .mapvisual { overflow: hidden; }
body.home .lp .mapping .mapvisual .lp-mapimg { position: absolute; inset: 0; display: block; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; }
body.home .lp .mapping .mapvisual .maplabel { z-index: 2; }
/* Pätička: slogan presne na šírku loga */
.lp .lp-foot-brand { width: 245px; max-width: 100%; container-type: inline-size; }
.lp .lp-foot-brand img { display: block; width: 100% !important; height: auto !important; max-width: 100%; }
.lp .lp-foot-brand .lp-foot-tag { white-space: nowrap; font-size: calc(100cqw / 21) !important; letter-spacing: calc(100cqw * .0025) !important; line-height: 1.4; text-align: left; }
@media (max-width: 767px) {
	.lp .lp-foot-brand { width: 200px; }
}
/* Recenzie v dizajne LIVING/PRO */
.lp-reviewspage .lp-pagebody { padding-bottom: 0; }
.lp-rv-summary { display: grid; grid-template-columns: auto 1fr auto; align-items: end; gap: clamp(24px, 4vw, 70px); margin: 0 calc(-1 * var(--gut)); padding: clamp(40px, 4vw, 70px) var(--gut); border-top: 1px solid rgba(255, 255, 255, .16); border-bottom: 1px solid rgba(255, 255, 255, .16); }
.lp .lp-rv-score { font-size: clamp(64px, 8vw, 130px); font-weight: 300; line-height: .9; letter-spacing: -.04em; color: #fff; }
.lp .lp-rv-meta { padding-bottom: 8px; }
.lp .lp-rv-meta .lp-rv-stars { font-size: 18px; letter-spacing: .2em; color: #fff; }
.lp .lp-rv-meta p { margin-top: 10px; color: #9a9a9a; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.lp .lp-rv-links { display: flex; flex-direction: column; gap: 14px; padding-bottom: 8px; }
.lp .lp-rv-links a { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; color: #fff; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.lp-rv-links i, .lp-rv-band i { display: block; flex: 0 0 18px; width: 18px; height: 18px; background: linear-gradient(currentColor, currentColor) center / 100% 1px no-repeat, linear-gradient(currentColor, currentColor) center / 1px 100% no-repeat; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.lp-rv-links a:hover i, .lp-rv-links a:focus-visible i { transform: rotate(90deg); }
.lp-rv-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 calc(-1 * var(--gut)); }
.lp-rv-item { display: flex; flex-direction: column; gap: 22px; padding: clamp(34px, 3.4vw, 60px) var(--gut); border-bottom: 1px solid rgba(255, 255, 255, .16); }
.lp-rv-item:not(:nth-child(3n+1)) { border-left: 1px solid rgba(255, 255, 255, .16); }
.lp .lp-rv-item .lp-rv-stars { font-size: 13px; letter-spacing: .22em; color: #fff; }
.lp .lp-rv-item blockquote { flex: 1; margin: 0; padding: 0; border: 0; color: #e8e8e8; font-size: clamp(17px, 1.3vw, 21px); font-weight: 300; line-height: 1.55; }
.lp .lp-rv-item blockquote p { margin: 0; }
.lp .lp-rv-item blockquote p + p { margin-top: .8em; }
.lp .lp-rv-author { display: flex; justify-content: space-between; gap: 16px; color: #9a9a9a; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.lp .lp-rv-author a, .lp .lp-rv-author strong { color: #fff; font-weight: 400; }
.lp-reviewspage .lp-bandlinks { border-top: 0; }
@media (max-width: 1100px) {
	.lp-rv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lp-rv-item:not(:nth-child(3n+1)) { border-left: 0; }
	.lp-rv-item:nth-child(2n) { border-left: 1px solid rgba(255, 255, 255, .16); }
}
@media (max-width: 767px) {
	.lp-rv-summary { grid-template-columns: auto 1fr; }
	.lp-rv-links { grid-column: 1 / -1; }
	.lp-rv-grid { grid-template-columns: 1fr; }
	.lp-rv-item:nth-child(2n) { border-left: 0; }
}
/* Recenzie: radenie po riadkoch (zľava doprava), rovnaká výška v riadku */
.lp-rv-grid { display: grid; columns: auto; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
.lp-rv-item { break-inside: auto; border-left: 1px solid rgba(255, 255, 255, .16) !important; }
.lp-rv-item:nth-child(3n+1) { border-left: 0 !important; }
.lp .lp-rv-item blockquote { position: relative; }
.lp .lp-rv-item blockquote::before, .lp .lp-rv-item blockquote::after { content: none !important; display: none !important; background: none !important; }
@media (min-width: 2200px) {
	.lp-rv-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.lp-rv-item:nth-child(3n+1) { border-left: 1px solid rgba(255, 255, 255, .16) !important; }
	.lp-rv-item:nth-child(4n+1) { border-left: 0 !important; }
}
@media (max-width: 1100px) {
	.lp-rv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lp-rv-item:nth-child(3n+1) { border-left: 1px solid rgba(255, 255, 255, .16) !important; }
	.lp-rv-item:nth-child(2n+1) { border-left: 0 !important; }
}
@media (max-width: 767px) {
	.lp-rv-grid { grid-template-columns: 1fr; }
	.lp-rv-item, .lp-rv-item:nth-child(3n+1) { border-left: 0 !important; }
}
/* Úvod – 3D skenovanie: nižšia sekcia */
body.home .lp > .mapping { padding-top: clamp(44px, 4.5vw, 72px) !important; padding-bottom: clamp(44px, 4.5vw, 72px) !important; }
body.home .lp .mapping .mapvisual { aspect-ratio: 1.4 / 1 !important; min-height: 0 !important; height: auto !important; }
body.home .lp .mapping .mapvisual .lp-mapimg { object-position: 50% 58%; }
/* Úvod – menšia medzera medzi klientmi a 3D skenovaním */
body.home .lp > .lp-clients-sec { padding-bottom: 18px !important; }
body.home .lp > .mapping { padding-top: 18px !important; }
/* O nás – tím na mobile: jeden člen ≈ jedna obrazovka */
@media (max-width: 600px) {
	.lp-team { row-gap: 56px; }
	.lp-member { width: min(100%, calc((100svh - 250px) * 2 / 3)); }
}
/* Prepínač jazyka SK | EN */
.lp-lang { display: flex; align-items: center; gap: 0; font-family: Roboto, Arial, sans-serif; font-size: 12px; letter-spacing: .14em; line-height: 1; }
.lp-lang a { padding: 6px 2px; color: rgba(255, 255, 255, .5) !important; text-decoration: none !important; border: 0 !important; transition: color .25s; }
.lp-lang a:hover, .lp-lang a:focus-visible, .lp-lang a.is-active { color: #fff !important; }
.lp-lang-sep { margin: 0 10px; color: rgba(255, 255, 255, .35); }
.lp-lang--header { position: relative; z-index: 5; margin: 0 22px 0 auto; pointer-events: auto; }
.lp-lang--header + .lp-menu-open { margin-left: 0; }
body > .lp-lang--header { display: none; }
.lp-menu-top .lp-lang--menu { margin: 0 28px 0 auto; font-size: 13px; }
@media (max-width: 767px) {
	.lp-lang--header { margin-right: 6px; font-size: 11px; letter-spacing: .1em; }
	.lp-lang--header a { padding: 6px 1px; }
	.lp-lang-sep { margin: 0 4px; }
	.lp-menu-top .lp-lang--menu { margin-right: 16px; }
}
.trp-floating-switcher { display: none !important; }
/* Pätička: logo SKSI čiernobielo */
.lp-sksi { display: inline-block; margin-top: 18px; line-height: 0; }
.lp-sksi img { display: block; width: auto; height: 46px; filter: grayscale(1) brightness(1.25) contrast(1.05); opacity: .85; transition: opacity .3s; }
.lp-sksi:hover img, .lp-sksi:focus-visible img { opacity: 1; }
/* Ikony sociálnych sietí + SKSI (pätička aj menu) */
.lp-social a.lp-social-sksi { width: auto !important; height: 26px !important; }
.lp-social a.lp-social-sksi img { display: block; width: auto; height: 26px; filter: grayscale(1) brightness(1.35); }
.lp-menu-social .lp-social { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin: 0; }
.lp-menu-social .lp-social a { display: grid; place-items: center; width: 24px; height: 24px; color: #f5f5f5; opacity: .7; transition: opacity .3s, transform .3s; }
.lp-menu-social .lp-social a:hover, .lp-menu-social .lp-social a:focus-visible { opacity: 1; transform: translateY(-2px); }
.lp-menu-social .lp-social svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
/* Zarovnanie do bloku: právne stránky a recenzie */
.lp-legal p, .lp-legal li, .lp .lp-rv-item blockquote, .lp .lp-rv-item blockquote p { text-align: justify; text-justify: inter-word; -webkit-hyphens: auto; hyphens: auto; overflow-wrap: break-word; }

/* Úvodný slider – odkaz z názvu stavby na stránku projektu */
.lp-project-index.lp-has-link, .lp-project-index.lp-has-link * { pointer-events: auto; }
.lp-slide-link { color: inherit !important; text-decoration: none !important; cursor: pointer; display: inline-flex; align-items: center; gap: .45em; }
.lp-slide-plus { display: inline-block; font-size: 1.35em; font-weight: 300; line-height: 1; letter-spacing: 0; opacity: .8; transition: opacity .2s, transform .25s; flex: 0 0 auto; }
.lp-slide-link:hover .lp-slide-plus, .lp-slide-link:focus-visible .lp-slide-plus { opacity: 1; transform: rotate(90deg); }
