/* MALART: rozmery a farby podľa pôvodného webu (šírka obsahu 1290 px, menu ako biela kapsula). */
:root {
	--sys: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
	--head: sans-serif;
	--ink: #080c0e;
	--text: #515455;
	--ground: #fafbfc;
	--gut: max(75px, calc((100vw - 1290px) / 2));
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 130px; -webkit-text-size-adjust: 100%; }
html.m-noscroll { overflow: hidden; }
body { margin: 0; background: var(--ground); color: var(--text); font: 400 17px/1.65 var(--sys); overflow-x: hidden; }
img { max-width: 100%; height: auto; }
a { color: inherit; }
h1, h2, h3, h4 { margin: 0; font-family: var(--head); font-weight: 700; color: var(--ink); line-height: 1.3; }
p, ul, figure { margin: 0; }
strong, b { font-weight: 700; }
main > .wp-block-group { margin: 0; }
.wp-block-group__inner-container { display: contents; }
.m-skip { position: absolute; left: -9999px; }
.m-skip:focus { left: 16px; top: 16px; z-index: 200; background: #fff; padding: 10px 16px; }
:focus-visible { outline: 2px solid #000; outline-offset: 2px; }

/* Hlavička */
.m-head { position: fixed; z-index: 50; top: 30px; left: var(--gut); right: var(--gut); }
.m-pill { display: flex; align-items: center; justify-content: space-between; height: 77px; padding: 0 35px; background: #fff; border: 1px solid #000; border-radius: 40px; transition: box-shadow .2s; }
.is-scrolled .m-pill { box-shadow: 0 10px 25px rgba(0,0,0,.14); }
.m-logo { display: block; line-height: 0; }
.m-logo img { width: 53px; height: 60px; }
.m-pill-r { display: flex; align-items: center; gap: 20px; }
.m-contact { display: flex; gap: 15px; }
.m-ci { display: flex; align-items: center; gap: 15px; text-decoration: none; color: #666; font-size: 13px; line-height: 21.45px; }
.m-ci-i { display: flex; align-items: center; justify-content: center; flex: none; width: 37.5px; height: 37.5px; border: 1px solid #666; border-radius: 50%; transition: color .12s cubic-bezier(.455, .03, .515, .955), border-color .12s cubic-bezier(.455, .03, .515, .955); }
.m-ci:hover .m-ci-i, .m-ci:focus-visible .m-ci-i { color: #000; border-color: #000; }
.m-ci-i svg { width: 15px; height: 15px; fill: currentColor; }
.m-ci-t { display: flex; flex-direction: column; }
.m-ci-t b { font-weight: 600; }
.m-social { display: flex; gap: 22px; }
.m-social a { display: flex; color: #515455; transition: color .12s cubic-bezier(.455, .03, .515, .955); }
.m-pill .m-social a:hover, .m-pill .m-social a:focus-visible { color: #38b6ff; }
.m-panel .m-social a:hover, .m-panel .m-social a:focus-visible { color: #000; }
.m-close:hover, .m-close:focus-visible { color: #000; }
.m-social svg { width: 22px; height: 22px; fill: currentColor; }
.m-burger { display: flex; padding: 0; margin-left: 0; border: 0; background: none; color: #515455; cursor: pointer; transition: color .12s cubic-bezier(.455, .03, .515, .955); }
.m-burger:hover, .m-burger:focus-visible { color: #000; }
.m-burger svg { width: 20px; height: auto; fill: currentColor; }

/* Menu */
.m-overlay { position: fixed; inset: 0; z-index: 100; background: rgba(7, 11, 13, .8); opacity: 0; visibility: hidden; transition: opacity .25s ease-in-out, visibility 0s linear .25s; }
.m-overlay.is-open { opacity: 1; visibility: visible; transition: opacity .25s ease-in-out, visibility 0s; }
.m-panel { position: absolute; top: 30px; right: 30px; bottom: 30px; width: 500px; max-width: calc(100vw - 60px); padding: 85px 35px 35px; background: #fff; border-radius: 30px; overflow-y: auto; outline: 0; transform: translateX(100px); transition: transform .25s ease-in-out; }
.m-overlay.is-open .m-panel { transform: none; }
.m-close { position: absolute; top: 28px; right: 32px; padding: 0; border: 0; background: none; color: #515455; transition: color .12s cubic-bezier(.455, .03, .515, .955); cursor: pointer; line-height: 0; }
.m-close svg { width: 16px; height: 16px; fill: currentColor; }
.m-panel-logo { display: block; width: 232px; line-height: 0; }
.m-panel-logo img { width: 100%; }
.m-menu { list-style: none; margin: 58px 0 0; padding: 0; }
.m-menu li { margin-bottom: 14.5px; }
.m-menu a { color: #515455; font-size: 20px; font-weight: 700; line-height: 28.5px; text-decoration: none; }
.m-menu a:hover, .m-menu .current-menu-item > a { color: #000; }
.m-panel-contact { display: none; }
.m-panel .m-social { margin-top: 48px; }
.m-panel-cta { display: inline-block; margin-top: 29px; padding: 16px 40px; background: var(--ink); color: #fff; border-radius: 30px; text-decoration: none; transition: background .12s; }
.m-panel-cta:hover, .m-panel-cta:focus-visible { background: #000; }

/* Tlačidlo */
.wp-block-buttons { display: flex; flex-wrap: wrap; }
.wp-block-button__link, .m-btn a { display: inline-flex; align-items: center; gap: 12px; padding: 15px 30px; background: #fff; border: 1px solid #000; border-radius: 100px; color: var(--ink); font-size: 16px; line-height: 26.4px; text-decoration: none; transition: transform .3s, background .2s, color .2s; }
.m-btn a:hover, .m-btn a:focus-visible, .m-btn--ghost a:hover, .m-btn--ghost a:focus-visible { background: #000; color: #fff; transform: scale(1.1); }
.m-btn-i { display: flex; }
.m-btn-i svg { width: 12px; height: 12px; fill: currentColor; }

/* Úvod */
.m-hero { display: grid; grid-template-columns: 462px 597px; column-gap: 75px; justify-content: start; padding: 223px 0 173px calc(var(--gut) + 66px); background: #fff; }
.m-hero-l { align-self: start; padding-top: 29px; }
.m-hero-l h1 { margin: 30px 0 15px; font-size: 50px; line-height: 60px; color: #000; }
.m-hero-l p { max-width: 360px; color: #000; font-size: 20px; line-height: 33px; }
.m-hero-l .wp-block-buttons { margin-top: 50px; }
.m-hero-r { height: 720px; border-radius: 25px; overflow: hidden; }
.m-hero-r img { display: block; width: 100%; height: 100%; object-fit: cover; animation: m-zoom 12s ease-in-out infinite alternate; transform-origin: center; }
@keyframes m-zoom { from { transform: scale(1); } to { transform: scale(1.12); } }

.m-why { display: grid; grid-template-columns: 603px 547px; column-gap: 80px; justify-content: start; align-items: center; padding: 90px var(--gut) 100px; background: #fff; }
.m-why-l { display: flex; flex-direction: column; align-items: center; gap: 20px; min-width: 0; }
.m-why-l .wp-block-shortcode, .m-why-l > div:first-child { width: 100%; }
.m-video { width: 100%; max-width: 603px; aspect-ratio: 1; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-position: center; mask-position: center; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; background: #000; }
.m-video video { display: block; width: 100%; height: 100%; object-fit: cover; }
.m-why-r h2 { font-size: 30px; line-height: 39px; margin-bottom: 20px; }
.m-why-r p + p { margin-top: 26px; }
.m-why-r p { font-size: 18px; line-height: 29.7px; }
.m-why-r .wp-block-buttons { margin-top: 40px; }

/* Delenie sekcií */
.m-drops { position: relative; }
.m-drops::before { content: ""; position: absolute; top: -1px; left: 0; right: 0; height: 9.806vw; z-index: 1; pointer-events: none; background: currentColor; -webkit-mask: url(drops.svg) center bottom / 100% 100% no-repeat; mask: url(drops.svg) center bottom / 100% 100% no-repeat; }
.m-drops--white::before { background: #fff; }
.m-drops--black::before { background: #000; }

.m-services { position: relative; padding: 262px var(--gut) 119px; background: url(../../../uploads/2026/03/farby-stetce.webp) center / cover no-repeat fixed; text-align: center; color: #fff; }
.m-services::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .7); }
.m-services > * { position: relative; z-index: 2; }
.m-services > h2 { font-size: 50px; line-height: 60px; color: #fff; }
.m-services > p { margin-top: 31px; color: #fff; font-size: 30px; line-height: 40px; }
.m-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; margin-top: 39px; text-align: left; }
.m-card { position: relative; padding: 42px 30px 30px; background: #fff; color: var(--text); border-radius: 30px; box-shadow: 0 0 10px rgba(255, 255, 255, .51); min-height: 388px; }
.m-card-n { position: relative; display: flex; align-items: center; width: 70px; height: 55px; padding-left: 20px; margin-bottom: 20px; background: url(../../../uploads/2025/10/Malujeme-2-1.png) left center / 70px 55px no-repeat; color: #fff !important; font-size: 15px; font-weight: 700; line-height: 1; }
.m-card h3 { font-size: 22px; line-height: 33px; margin-bottom: 15px; }
.m-card ul { padding-left: 43px; }
.m-card p + p, .m-card p + ul, .m-card ul + p { margin-top: 20px; }
.m-anim { opacity: 0; }
.m-anim.is-in { animation: m-up .9s ease forwards; }
.m-card:nth-child(1).m-anim.is-in { animation-name: m-left; }
.m-card:nth-child(3).m-anim.is-in { animation-name: m-right; }
@keyframes m-up { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }
@keyframes m-left { from { opacity: 0; transform: translateX(-30px); } to { opacity: 1; transform: none; } }
@keyframes m-right { from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: none; } }

.m-stats { position: relative; padding: 210px calc(var(--gut) + 10px) 200px; overflow: hidden; }
.m-stats::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url(../../../uploads/2026/03/maliar.webp) center / cover no-repeat fixed; opacity: .5; }
.m-stats { isolation: isolate; }
.m-tilt { position: absolute; left: 0; width: 100%; height: 5.04vw; display: block; pointer-events: none; }
.m-tilt--t { top: 0; }
.m-tilt--b { bottom: 0; transform: rotate(180deg); }
.m-counters { display: grid; grid-template-columns: 1fr 1fr; }
.m-counter { text-align: center; }
.m-counter-n { color: #000; font-size: 69px; font-weight: 600; line-height: 69px; }
.m-counter-t { font-size: 19px; line-height: 47.5px; }

.m-order { padding: 105px 0 80px; background: #fff; text-align: center; }
.m-order > h2 { font-size: 50px; line-height: 60px; color: #000; }
.m-order > p { color: #000; }
.m-arrow { margin-top: 10px; line-height: 0; }
.m-arrow svg { width: 30px; height: 30px; fill: #000; }
.m-order--ground { background: var(--ground); }

/* Formulár */
.m-form-fm { max-width: 1050px; margin: 58px auto 0; text-align: left; }
.m-form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 10px; max-width: 1050px; margin: 58px auto 0; text-align: left; }
.m-f-full, .m-f-msg { grid-column: 1 / -1; }
.m-form input[type=text], .m-form input[type=email], .m-form input[type=tel], .m-form textarea { width: 100%; background: #fff; border: 1px solid #000; border-radius: 20px; color: #1f2124; font: inherit; }
.m-form input[type=text], .m-form input[type=email], .m-form input[type=tel] { height: 55px; padding: 0 25px; font-size: 16px; }
.m-form textarea { display: block; height: 200px; padding: 5px 14px; font-size: 15px; line-height: 21px; }
.m-f-hp { position: absolute; left: -9999px; }
.m-f-consent { font-size: 15px; line-height: 22px; margin-top: -4px; }
.m-f-consent a { color: #000; text-decoration: none; }
.m-form button { width: 100%; height: 47px; background: #fff; border: 1px solid #000; border-radius: 15px; color: #000; font: 500 15px/15px var(--sys); cursor: pointer; transition: background .2s, color .2s; }
.m-form button:hover { background: #000; color: #fff; }
.m-form button:disabled { opacity: .6; cursor: wait; }
.m-f-err { display: block; margin-top: 4px; color: #b3261e; font-size: 13px; }
[aria-invalid=true] { border-color: #b3261e !important; }
.m-f-msg { padding: 12px 16px; border-radius: 12px; font-size: 15px; }
.m-f-msg.ok { background: #e7f4ea; color: #1d5a2c; }
.m-f-msg.err { background: #fbe9e7; color: #8c1d18; }

/* Podstránky */
.m-pagehero { padding: 195px var(--gut) 96px; background: #000; }
.page-id-801 .m-pagehero { padding-bottom: 66px; }
.page-id-801 .m-pagehero h1 { font-size: 50px; line-height: 60px; }
.m-pagehero h1 { color: #fff; font-size: 70px; line-height: 84px; }
.m-pagehero p { margin-top: 6px; color: #fff; }
.m-w { margin: 0 auto; }
.m-sec { padding: 60px var(--gut); }
.m-page { padding-top: 190px; padding-bottom: 100px; }
.m-prose > * + * { margin-top: 1.1em; }
.m-prose h2 { font-size: 30px; }
.m-prose ul { padding-left: 1.4em; }

.m-legal { padding: 115px var(--gut) 60px; }
.m-legal h1, .m-legal h2 { font-size: 30px; line-height: 39px; }
.m-legal h3, .m-legal h4 { font-size: 22px; line-height: 33px; }
.m-legal a { color: #000; text-decoration: none; }
.m-legal .m-prose > h2, .m-legal .m-prose > h1 { margin-top: 36px; }
.m-legal .m-prose > :first-child { margin-top: 0; }
.m-legal ol { padding-left: 1.4em; }

/* O nás */
.m-about { padding: 180px var(--gut) 130px; }
.m-about > h2, .m-work > h2 { font-size: 30px; line-height: 39px; }
.m-about-img { margin-top: 36px; max-width: 820px; }
.m-about-img img { display: block; width: 100%; border: 4px solid #000; border-radius: 30px; }
.m-about-txt { margin-top: 24px; max-width: 820px; }
.m-about-txt p + p { margin-top: 26px; }
.m-about .wp-block-buttons { margin-top: 40px; }
.m-process { position: relative; padding: 247px var(--gut) 100px; background: url(../../../uploads/2025/10/pexels-pavel-danilyuk-6764240-min.jpg) center / cover no-repeat fixed; }
.m-process::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .7); }
.m-process > * { position: relative; z-index: 2; }
.m-process > h2 { color: #fff; font-size: 50px; line-height: 60px; text-align: center; }
.m-steps { display: grid; gap: 40px; max-width: 1196px; margin: 110px 0 0 19px; }
.m-steps .m-card { min-height: 0; padding-bottom: 60px; }
.m-steps .m-card p + p, .m-steps .m-card p + ul, .m-steps .m-card ul + p { margin-top: 26px; }

/* Naša práca */
.m-work { padding: 190px var(--gut) 40px; }
.m-work p { margin-top: 20px; }
.m-feed { padding: 20px var(--gut) 80px; }

/* Galéria realizácií */
.m-ig-head { display: flex; align-items: center; gap: 13px; margin-bottom: 16px; color: #000; text-decoration: none; }
.m-ig-head img { border-radius: 50%; width: 64px; height: 64px; }
.m-ig-head > span { display: flex; flex-direction: column; font-size: 13px; line-height: 19px; }
.m-ig-head b { font-size: 16px; line-height: 24px; }
.m-ig-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.m-ig-i { position: relative; display: block; aspect-ratio: 1; overflow: hidden; background: #eee; }
.m-ig-i[hidden] { display: none; }
.m-ig-i img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.m-ig-i:hover img { transform: scale(1.03); }
.m-ig-play { position: absolute; top: 50%; left: 50%; width: 42px; height: 48px; margin: -24px 0 0 -18px; background: #fff; clip-path: polygon(0 0, 100% 50%, 0 100%); opacity: .95; }
.m-ig-btns { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 15px; }
.m-ig-more, .m-ig-follow { display: inline-block; padding: 7px 12px; border: 0; border-radius: 4px; color: #fff; font: 400 13px/20px var(--sys); text-decoration: none; cursor: pointer; }
.m-ig-more { background: #333; }
.m-ig-follow { background: #408bd1; }

/* Kontakt */
.m-contactsec { padding: 180px var(--gut) 90px; }
.m-contactsec > h2 { font-size: 50px; line-height: 60px; }
.m-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 50px; align-items: start; }
.m-contact-l { padding-left: 10px; }
.m-box { display: flex; gap: 20px; align-items: center; }
.m-contact-l > * + * { margin-top: 26px; }
.m-contact-l > .m-box + .m-box { margin-top: 40px; }
.m-contact-l > .m-rule + .m-box { margin-top: 26px; }
.m-contact-l > .m-qr { margin-top: 40px; }
.m-contact-l p + p { margin-top: 20px; }
.m-ico { display: block; line-height: 0; color: #000; }
.m-ico svg { width: 30px; height: 30px; fill: currentColor; }
.m-box h3 { font-size: 30px; line-height: 39px; }
.m-box p a { color: inherit; text-decoration: none; }
.m-contact-l h3.m-rev { font-size: 30px; line-height: 39px; }
.m-contact-l h3.m-rev a { text-decoration: none; }
.m-rule { border: 0; border-top: 1px solid #515455; }
.m-qr { display: flex; gap: 20px; align-items: center; }
.m-qr figure { width: 160px; flex: none; }
.m-qr img { display: block; width: 100%; }
.m-qr h3 { margin-bottom: 15px; }
.m-map { border-radius: 25px; overflow: hidden; border: 1px solid #000; }
.m-map iframe { display: block; width: 100%; height: 400px; border: 0; }

/* Článok */
.m-posthero { position: relative; display: flex; align-items: flex-end; min-height: 505px; padding: 0 0 45px; background: #222 center / cover no-repeat; isolation: isolate; }
.m-posthero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(0, 0, 0, .65); }
.m-narrow { width: 750px; max-width: 100%; margin: 0 auto; }
.m-posthero h1 { color: #fff; font-size: 70px; line-height: 84px; }
.m-meta { margin-top: 12px; color: #d8d8d8; font-size: 12px; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; }
.m-postnav { display: flex; justify-content: space-between; gap: 20px; margin-top: 50px; padding-bottom: 30px; }
.m-postnav a { display: flex; flex-direction: column; color: var(--text); font-weight: 600; font-size: 14px; text-decoration: none; }
.m-postnav a.r { text-align: right; }
.m-postnav small { font-size: 12px; text-transform: uppercase; letter-spacing: .03em; }

/* Galéria článku a súvisiace */
.m-gal { display: grid; gap: 8px; }
.m-gal-row { display: flex; gap: 8px; }
.m-gal a { display: block; min-width: 0; overflow: hidden; background: #eee; }
.m-gal img { display: block; width: 100%; height: 100%; object-fit: cover; }
.m-lb { max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; padding: 0; border: 0; background: rgba(0, 0, 0, .92); }
.m-lb[open] { display: flex; align-items: center; justify-content: center; }
.m-lb::backdrop { background: rgba(0, 0, 0, .7); }
.m-lb img { max-width: calc(100vw - 110px); max-height: calc(100vh - 40px); object-fit: contain; }
.m-lb button { position: absolute; border: 0; background: none; color: #fff; font-size: 44px; line-height: 1; cursor: pointer; padding: 8px 14px; }
.m-lb-x { top: 8px; right: 10px; }
.m-lb-p { left: 4px; top: 50%; margin-top: -30px; }
.m-lb-n { right: 4px; top: 50%; margin-top: -30px; }
.m-lb-ig { position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); padding: 8px 16px; background: #fff; border-radius: 100px; color: #000; font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.m-lb-ig[hidden] { display: none; }
.m-related { padding: 60px var(--gut); background: #f2f5f7; }
.m-related h2 { font-size: 22px; margin-bottom: 25px; }
.m-rel-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }
.m-rel-grid a { display: flex; flex-direction: column; color: var(--ink); text-decoration: none; }
.m-rel-grid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; margin-bottom: 15px; }
.m-rel-grid b { font-size: 16px; }
.m-rel-grid small { color: var(--text); font-size: 14px; }

/* Doplnky pre lepšiu orientáciu a dopyty */
h1, h2, h3 { text-wrap: balance; }
.m-pill-cta { display: inline-flex; align-items: center; height: 40px; padding: 0 18px; background: var(--ink); border: 1px solid var(--ink); border-radius: 100px; color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; transition: transform .3s, background .2s, color .2s; }
.m-pill-cta:hover, .m-pill-cta:focus-visible { background: #000; border-color: #000; transform: scale(1.05); }
.m-btn--main a { background: var(--ink); border-color: var(--ink); color: #fff; }
.m-btn--main a:hover, .m-btn--main a:focus-visible { background: #000; color: #fff; }
.m-btn--ghost a { background: transparent; }
.m-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 44px; }
.m-hero-actions .wp-block-buttons { margin-top: 0 !important; }
.m-area { margin-top: 18px; color: var(--text) !important; font-size: 15px !important; line-height: 24px !important; max-width: 420px !important; }
.m-review { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; }
.m-review p { max-width: 340px; color: var(--ink); font-size: 16px; line-height: 24px; }
.m-review p strong { display: block; font-size: 18px; }
.m-btn--review a { gap: 10px; background: var(--ink); border-color: var(--ink); color: #fff; font-weight: 600; }
.m-btn--review a:hover, .m-btn--review a:focus-visible { background: #000; color: #fff; transform: scale(1.1); }
.m-rev-star { display: flex; }
.m-rev-star svg { width: 18px; height: 18px; fill: #fbbc04; }
.m-qr-t .wp-block-buttons { margin-top: 14px; }
.m-card { transition: transform .22s ease, box-shadow .22s ease; }
.m-services .m-card:hover, .m-process .m-card:hover { transform: translateY(-5px); box-shadow: 0 14px 34px rgba(0, 0, 0, .28); }
.m-why-r strong, .m-about-txt strong { color: var(--ink); }

.m-show { padding: 110px var(--gut); background: #fff; }
.m-show-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 36px; }
.m-show-head h2 { font-size: 50px; line-height: 60px; color: #000; }
.m-show-head p { margin-top: 8px; max-width: 560px; }
.m-show-head .wp-block-buttons { flex: none; }
.m-show-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.m-show-grid a { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 18px; background: #eee; }
.m-show-grid img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.m-show-grid a:hover img { transform: scale(1.05); }

.m-flow { padding: 0 var(--gut) 110px; background: #fff; }
.m-flow > h2 { font-size: 50px; line-height: 60px; color: #000; text-align: center; }
.m-flow > p { margin-top: 10px; text-align: center; }
.m-flow-grid { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; margin-top: 50px; }
.m-flow-step:not(:last-child)::after { content: ""; position: absolute; top: 15px; left: calc(50% + 52px); width: calc(100% + 36px - 104px); height: 40px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='32' viewBox='0 0 84 32' fill='%23aab2b6'%3E%3Cg transform='translate(30 3) rotate(80 0 0) translate(0 -1)'%3E%3Cpath d='M5.6 23.8C3.3 23.8 2.1 21.9 2.3 19.4C2.5 16.9 1.5 14.6 1.8 11.8C2.1 8.4 3.9 6.6 6.6 6.6C9.4 6.6 11.3 8.6 11.1 11.6C10.9 14.2 9.1 15.6 8.7 17.6C8.4 19.1 9.1 20.4 8.9 21.6C8.6 23.1 7.3 23.8 5.6 23.8Z'/%3E%3Ccircle cx='9.5' cy='3.5' r='1.95'/%3E%3Ccircle cx='6.9' cy='2.3' r='1.35'/%3E%3Ccircle cx='4.8' cy='2.6' r='1.15'/%3E%3Ccircle cx='3.05' cy='3.7' r='1.0'/%3E%3Ccircle cx='1.75' cy='5.3' r='0.85'/%3E%3C/g%3E%3Cg transform='translate(72 17) rotate(100 0 0) translate(0 -1)'%3E%3Cg transform='translate(12 0) scale(-1 1)'%3E%3Cpath d='M5.6 23.8C3.3 23.8 2.1 21.9 2.3 19.4C2.5 16.9 1.5 14.6 1.8 11.8C2.1 8.4 3.9 6.6 6.6 6.6C9.4 6.6 11.3 8.6 11.1 11.6C10.9 14.2 9.1 15.6 8.7 17.6C8.4 19.1 9.1 20.4 8.9 21.6C8.6 23.1 7.3 23.8 5.6 23.8Z'/%3E%3Ccircle cx='9.5' cy='3.5' r='1.95'/%3E%3Ccircle cx='6.9' cy='2.3' r='1.35'/%3E%3Ccircle cx='4.8' cy='2.6' r='1.15'/%3E%3Ccircle cx='3.05' cy='3.7' r='1.0'/%3E%3Ccircle cx='1.75' cy='5.3' r='0.85'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") 0 0 / auto 40px; background-repeat: round no-repeat; pointer-events: none; } /* stopy bosých nôh medzi krokmi */
.m-flow-step { position: relative; padding-top: 6px; text-align: center; }
.m-flow-step .m-card-n { margin: 0 auto 18px; padding-left: 25px; }
.m-flow-step h3 { font-size: 22px; line-height: 30px; margin-bottom: 10px; }
.m-order-tel { margin-top: 14px !important; color: #000; }
.m-order-tel a { color: #000; font-weight: 700; text-decoration: none; border-bottom: 2px solid #000; }
.m-form input:focus, .m-form textarea:focus { outline: 0; border-color: #000; box-shadow: 0 0 0 3px rgba(0, 0, 0, .12); }
.m-form button { background: var(--ink); border-color: var(--ink); color: #fff; font-weight: 600; letter-spacing: .03em; height: 52px; }
.m-form button:hover { background: #fff; color: var(--ink); }
.m-menu a { transition: color .15s; }
.m-callbar { display: none; }

/* Pätička */
.m-foot { padding: 30px var(--gut) 25px; background: #000; color: #d8d8d8; font-size: 16px; line-height: 20.8px; }
.m-foot-in { max-width: 1290px; margin: 0 auto; }
.m-foot-img { display: block; width: 982px; margin: 0 auto 30px; }
.m-foot p + p { margin-top: 25px; }
.m-foot a { color: inherit; text-decoration: none; }
.m-foot a { transition: color .12s cubic-bezier(.455, .03, .515, .955); }
.m-foot a:hover, .m-foot a:focus-visible { color: #fafbfc; }
.m-foot-c { color: #fff; font-size: 14.5px; line-height: 26px; }
.m-top { position: fixed; right: 25px; bottom: 25px; z-index: 40; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: #515455; color: #fff; border-radius: 2px; transition: background .12s; }
.m-top:hover, .m-top:focus-visible { background: #080c0e; }
.m-top[hidden] { display: none; }
.m-top svg { width: 12px; height: 12px; fill: currentColor; }

@media (max-width: 1300px) {
	:root { --gut: 40px; }
	.m-show-grid { gap: 10px; }
	.m-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 50px; padding-left: var(--gut); padding-right: var(--gut); }
	.m-why { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 50px; }
	.m-contact { display: none; }
}
@media (max-width: 1024px) {
	:root { --gut: 25px; }
	.m-contact-grid, .m-cards { grid-template-columns: 1fr; }
	.m-flow-grid { gap: 20px; }
	.m-flow-step:not(:last-child)::after { width: calc(100% + 20px - 104px); }
	.m-card { min-height: 0; }
}
@media (max-width: 767px) {
	:root { --gut: 23px; }
	html { scroll-padding-top: 100px; }
	.m-head { top: 25px; left: 15px; right: 15px; }
	.m-pill { height: 66px; padding: 0 16px 0 22px; border-color: transparent; }
	.is-scrolled .m-pill { border-color: #000; }
	.m-pill-r { gap: 18px; }
	.m-panel { top: 30px; right: 30px; bottom: 30px; left: 30px; width: auto; padding: 60px 25px 25px; }
	.m-close { top: 18px; right: 22px; }
	.m-panel-logo { width: 105px; }
	.m-menu { margin-top: 24px; }
	.m-menu li { margin-bottom: 11px; }
	.m-panel-contact { display: grid; gap: 21px; margin-top: 22px; }
	.m-panel-contact .m-ci-i { width: 38px; height: 38px; }
	.m-panel .m-social { margin-top: 21px; }
	.m-hero { display: flex; flex-direction: column; padding: 150px var(--gut) 40px; text-align: center; }
	.m-hero-l { padding-top: 0; }
	.m-hero-l p { max-width: none; }
	.m-hero-l h1 { margin: 30px 0 15px; font-size: 35px; line-height: 42px; }
	.m-hero-l p { font-size: 18px; line-height: 29.7px; }
	.m-hero-l .wp-block-buttons { justify-content: center; }
	.m-hero-r { width: 100%; height: auto; aspect-ratio: 585 / 706; margin-top: 55px; }
	.m-why { display: flex; flex-direction: column-reverse; gap: 40px; padding: 40px var(--gut); text-align: center; }
	.m-why-r h2 { font-size: 30px; line-height: 39px; }
	.m-why-r .wp-block-buttons { justify-content: center; }
	.m-services { padding: 80px var(--gut) 60px; }
	.m-feed { padding-left: var(--gut); padding-right: var(--gut); }
	.m-services > h2 { font-size: 30px; line-height: 39px; }
	.m-pill-cta { display: none; }
	.m-hero-actions .m-btn--ghost { display: none; }
	.m-hero-actions .wp-block-buttons:has(.m-btn--ghost) { display: none; }
	.m-hero-actions { justify-content: center; margin-top: 32px; }
	.m-area { margin-left: auto; margin-right: auto; }
	.m-show { padding: 70px var(--gut); }
	.m-show-head { display: block; text-align: center; }
	.m-show-head h2, .m-flow > h2 { font-size: 35px; line-height: 42px; }
	.m-show-head p { max-width: none; }
	.m-show-head .wp-block-buttons { justify-content: center; margin-top: 18px; }
	.m-show-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
	.m-show-grid a { border-radius: 12px; }
	.m-flow { padding: 0 var(--gut) 70px; }
	.m-flow-grid { grid-template-columns: 1fr; gap: 28px; margin-top: 32px; }
	.m-flow-step::after { display: none !important; }
	body { padding-bottom: 70px; }
	.m-callbar { position: fixed; z-index: 45; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: 1fr 1.4fr; gap: 8px; padding: 9px 12px calc(9px + env(safe-area-inset-bottom, 0px)); background: #fff; border-top: 1px solid #d9dfe1; box-shadow: 0 -6px 18px rgba(0, 0, 0, .1); }
	.m-callbar a { display: flex; align-items: center; justify-content: center; gap: 8px; height: 48px; border-radius: 100px; font-weight: 600; font-size: 15px; text-decoration: none; }
	.m-callbar svg { width: 16px; height: 16px; fill: currentColor; }
	.m-callbar-tel { border: 1px solid #000; color: #000; }
	.m-callbar-cta { background: var(--ink); color: #fff; }
	.m-top { bottom: 82px; right: 14px; }
	#cmplz-manage-consent .cmplz-manage-consent, .cmplz-manage-consent { bottom: 70px !important; }
	.m-ig-grid { grid-template-columns: 1fr; }
	.m-card { text-align: center; }
	.m-card-n { margin-left: auto; margin-right: auto; }
	.m-card ul { text-align: left; padding-left: 25px; }
	.m-stats { padding: 90px var(--gut); }
	.m-stats::before, .m-services, .m-process { background-attachment: scroll; }
	.m-counters { grid-template-columns: 1fr; gap: 24px; }
	.m-counter-n { font-size: 50px; line-height: 55px; }
	.m-order { padding: 60px var(--gut); }
	.m-order > h2 { font-size: 35px; line-height: 42px; }
	.m-form { grid-template-columns: 1fr; margin-top: 35px; } .m-form-fm { margin-top: 35px; }
	.m-pagehero { padding: 135px var(--gut) 40px; }
	.m-pagehero h1, .m-posthero h1, .page-id-801 .m-pagehero h1 { font-size: 40px; line-height: 48px; }
	.m-page, .m-about, .m-work, .m-contactsec { padding-top: 70px; }
	.m-legal { padding-top: 110px; }
	.m-legal h1, .m-legal h2 { font-size: 26px; line-height: 34px; }
	.m-rel-grid { grid-template-columns: 1fr; }
	.m-gal-row { flex-direction: column; }
	.m-gal a { flex: none !important; }
	.m-contactsec > h2 { font-size: 35px; line-height: 42px; }
	.m-process { padding: 80px var(--gut) 60px; }
	.m-process > h2 { font-size: 35px; line-height: 42px; }
	.m-steps { margin: 40px 0 0; gap: 25px; }
	.m-pagehero h1 { text-align: center; }
	.m-contactsec > h2 { text-align: center; }
	.m-contact-l { padding-left: 0; }
	.m-box h3 { font-size: 24px; line-height: 32px; }
	.m-qr { flex-direction: column; align-items: flex-start; }
	.m-posthero { min-height: 360px; padding: 0 var(--gut) 30px; }
	.m-narrow { padding: 0 var(--gut); }
	.m-posthero .m-narrow { padding: 0; }
	.m-sec { padding-left: 0; padding-right: 0; }
	.m-sec.m-page { padding-left: var(--gut); padding-right: var(--gut); }
	.m-foot { padding-left: var(--gut); padding-right: var(--gut); }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.m-hero-r img { animation: none; }
	.m-overlay, .m-overlay.is-open, .m-panel, .m-btn a { transition: none; }
	.m-overlay .m-panel { transform: none; }
	.m-btn a:hover, .m-pill-cta:hover { transform: none; }
	.m-anim { opacity: 1; }
}
