:root{color-scheme: light;--color-primary: #6B9E8A;--color-accent: #4A7A68;--color-white: #FFFFFF;--color-cream: #F7F4F0;--color-cream-alt: #EFF0EB;--color-text: #1C1C1C;--color-muted: #6B6B6B;--color-border: #E5E1DC;--color-primary-rgb: 107,158,138;--color-accent-rgb: 74,122,104;--color-night: #0A0804;--color-night-rgb: 10,8,4;--color-charcoal: #161616;--color-mint: #9DCFBE;--color-star: #F5C518;--font-heading: 'Playfair Display',serif;--font-body: 'Inter',sans-serif;--text-xs: 0.7rem;--text-sm: 0.85rem;--text-base: 1rem;--text-md: 1.15rem;--text-lg: 1.4rem;--text-xl: 2rem;--text-2xl: 3rem;--text-3xl: 6rem;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-14: 56px;--space-18: 72px;--space-25: 100px;--container-max: 1160px;--container-padding: 28px;--container-padding-mobile: 20px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 24px;--radius-pill: 100px;--radius-circle: 50%;--shadow-sm: 0 2px 12px rgba(0,0,0,0.06);--shadow-md: 0 6px 32px rgba(var(--color-primary-rgb),0.14);--transition-fast: 0.2s ease;--transition-base: 0.3s ease;--transition-slow: 0.6s ease;--z-base: 1;--z-dropdown: 10;--z-nav: 100;--z-badge: 900;--z-floating: 8000;--z-modal: 9000}
*,*::before,*::after{box-sizing: border-box;margin: 0;padding: 0}html{scroll-behavior: smooth}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration: 0.01ms !important;transition-duration: 0.01ms !important}}
@font-face{font-family: 'Inter';font-style: normal;font-weight: 300 600;font-display: swap;src: url('../assets/fonts/inter-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'Inter';font-style: normal;font-weight: 300 600;font-display: swap;src: url('../assets/fonts/inter-latin.woff2') format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: 'Playfair Display';font-style: normal;font-weight: 400 700;font-display: swap;src: url('../assets/fonts/playfair-display-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'Playfair Display';font-style: normal;font-weight: 400 700;font-display: swap;src: url('../assets/fonts/playfair-display-latin.woff2') format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: 'Playfair Display';font-style: italic;font-weight: 400;font-display: swap;src: url('../assets/fonts/playfair-display-italic-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'Playfair Display';font-style: italic;font-weight: 400;font-display: swap;src: url('../assets/fonts/playfair-display-italic-latin.woff2') format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}body{font-family: var(--font-body);color: var(--color-text);background: var(--color-white);line-height: 1.7;overflow-x: hidden}h1,h2,h3,h4{font-family: var(--font-heading);line-height: 1.2}
.container{max-width: var(--container-max);margin: 0 auto;padding: 0 var(--container-padding)}section{padding: var(--space-18) 0}#o-nas{z-index: 15}#sluzby,#voucher,#referencie,#galeria,#kontakt,footer{position: relative;z-index: 30}.quote-sticky-wrap{height: 150vh;position: relative}
.label{display: block;margin-bottom: var(--space-3);font-size: 0.72rem;font-weight: var(--weight-semibold);letter-spacing: 0.2em;text-transform: uppercase;color: var(--color-primary)}.section-title{font-size: clamp(2rem,4vw,2.9rem);color: var(--color-text);margin-bottom: var(--space-5)}.section-desc{color: var(--color-muted);font-size: 1.05rem;line-height: 1.85;max-width: 580px}.fade{opacity: 0;transform: translateY(28px);transition: opacity 0.65s ease,transform 0.65s ease}.fade.visible{opacity: 1;transform: translateY(0)}.btn{display: inline-block;padding: 17px 44px;font-family: var(--font-body);font-size: var(--text-base);font-weight: var(--weight-semibold);letter-spacing: 0.025em;color: var(--color-white);text-decoration: none;background: var(--color-primary);border-radius: 9px;box-shadow: 0 4px 24px rgba(var(--color-primary-rgb),0.32);transition: background 0.22s,transform 0.18s,box-shadow 0.22s}.btn:hover{background: var(--color-accent);transform: translateY(-2px);box-shadow: 0 8px 32px rgba(var(--color-accent-rgb),0.38)}
#navbar{position: fixed;top: 0;left: 0;right: 0;z-index: 900;background: rgba(255,255,255,0.96);backdrop-filter: blur(14px);-webkit-backdrop-filter: blur(14px);border-bottom: 1px solid transparent;transition: border-color 0.3s,box-shadow 0.3s}#navbar.scrolled{border-color: var(--color-border);box-shadow: var(--shadow-sm)}.nav__inner{display: flex;align-items: center;justify-content: space-between;height: 72px}.nav__logo img{height: 64px;width: auto;display: block}.nav__links{display: flex;align-items: center;gap: 34px;list-style: none}.nav__links a{font-size: 0.9rem;font-weight: 500;color: var(--color-text);text-decoration: none;letter-spacing: 0.01em;transition: color 0.2s}.nav__links a:hover{color: var(--color-primary)}a.nav__cta{background: var(--color-primary);color: var(--color-white);padding: 10px 22px;border-radius: 7px;font-size: 0.88rem;transition: background 0.2s}a.nav__cta:hover{background: var(--color-accent);color: var(--color-white)}.hamburger{display: none;flex-direction: column;gap: 5px;cursor: pointer;background: none;border: none;padding: 6px}.hamburger span{display: block;width: 22px;height: 2px;background: var(--color-text);border-radius: 2px;transition: all 0.28s}
#hero{min-height: 100vh;display: flex;align-items: center;justify-content: center;text-align: center;padding-top: 72px;position: sticky;top: 0;z-index: 10;overflow: hidden;background: var(--color-night)}#hero::before{content: '';position: absolute;inset: 0;background-image: url('../assets/masaz-presov-hero.webp');background-size: cover;background-position: center;transform: scale(1.04);transition: transform 8s ease}#hero::after{content: '';position: absolute;inset: 0;background: linear-gradient( to bottom,rgba(var(--color-night-rgb),0.48) 0%,rgba(var(--color-night-rgb),0.35) 40%,rgba(var(--color-night-rgb),0.72) 80%,rgba(var(--color-night-rgb),1.00) 100% )}.hero__content{position: relative;z-index: 1;max-width: 740px;padding: 0 24px}.hero__logo{height: 260px;width: auto;display: block;margin: 0 auto 48px;filter: drop-shadow(0 4px 24px rgba(0,0,0,0.3))}.hero__title{font-size: clamp(2.8rem,6vw,4.4rem);color: var(--color-white);line-height: 1.12;margin-bottom: 24px;text-shadow: 0 2px 20px rgba(0,0,0,0.35)}.hero__title em{font-style: italic;color: var(--color-mint)}.hero__sub{font-size: 1.12rem;color: rgba(255,255,255,0.78);font-weight: 300;line-height: 1.85;margin-bottom: 20px}.hero__trust{display: flex;align-items: center;justify-content: center;gap: 10px;margin-bottom: 44px}.hero__trust-stars{color: var(--color-star);font-size: 0.88rem;letter-spacing: 2px}.hero__trust-text{font-size: 0.82rem;color: rgba(255,255,255,0.65)}.hero__trust-text a{display: inline-flex;align-items: center}.hero__trust-logo{height: 15px;width: auto;opacity: 0.82}.hero__scroll-indicator{position: absolute;bottom: 36px;left: 50%;transform: translateX(-50%)}.scroll-line{width: 1px;height: 48px;background: linear-gradient(to bottom,rgba(255,255,255,0.6),transparent);margin: 0 auto;animation: pulse-line 2.2s ease-in-out infinite}@keyframes pulse-line{0%,100%{opacity: 0.35}50%{opacity: 1}}
.zlavomat-badge{position: fixed;left: 20px;top: 50%;transform: translateY(-50%) translateX(-110%);z-index: 8000;background: var(--color-white);border: 1px solid var(--color-border);border-radius: 14px;padding: 14px 12px;display: flex;flex-direction: column;align-items: center;gap: 4px;box-shadow: 0 4px 20px rgba(0,0,0,0.09);text-decoration: none;opacity: 0;transition: transform 0.4s ease,box-shadow 0.22s,opacity 0.4s ease}.zlavomat-badge.visible{transform: translateY(-50%) translateX(0);opacity: 1}.zlavomat-badge.visible:hover{transform: translateY(-50%) translateX(4px);box-shadow: 0 8px 30px rgba(0,0,0,0.14)}.zlavomat-badge-stars{color: var(--color-star);font-size: 0.76rem;letter-spacing: 1px}.zlavomat-badge-score{font-family: 'Playfair Display',serif;font-size: 1.25rem;font-weight: 700;color: var(--color-text);line-height: 1}.zlavomat-badge-count{font-size: 0.67rem;color: var(--color-muted);text-align: center;line-height: 1.4}.zlavomat-badge-brand{font-size: 0.6rem;font-weight: 700;letter-spacing: 0.07em;text-transform: uppercase;color: var(--color-primary);margin-top: 2px}
#quote{position: sticky;top: 0;z-index: 20;background: var(--color-night);min-height: 100vh;display: flex;align-items: center;justify-content: center;text-align: center;padding: 100px 24px;border-radius: 0 0 32px 32px;box-shadow: 0 32px 80px rgba(0,0,0,0.55)}.quote__inner{max-width: 760px;opacity: 0;transform: translateY(48px);transition: opacity 1.1s cubic-bezier(0.16,1,0.3,1),transform 1.1s cubic-bezier(0.16,1,0.3,1)}.quote__inner.visible{opacity: 1;transform: translateY(0)}.quote__mark{font-family: 'Playfair Display',serif;font-size: 6rem;line-height: 0.5;color: var(--color-primary);opacity: 0.4;display: block;margin-bottom: 24px}.quote__body{font-family: 'Playfair Display',serif;font-size: clamp(1.5rem,3.5vw,2.2rem);font-style: italic;color: rgba(255,255,255,0.9);line-height: 1.55;margin-bottom: 40px}.quote__divider{width: 40px;height: 1px;background: var(--color-primary);margin: 0 auto 24px;opacity: 0.6}.quote__author{font-size: 0.82rem;font-weight: 600;letter-spacing: 0.18em;text-transform: uppercase;color: rgba(255,255,255,0.45)}
.o-nas-sticky-wrap{height: 240vh;margin-top: -100vh;position: relative;z-index: 15;background: var(--color-white)}#o-nas{background: var(--color-white);border-radius: 28px 28px 0 0;box-shadow: 0 -12px 48px rgba(0,0,0,0.12);position: sticky;top: 0;min-height: 100vh;display: flex;flex-direction: column;justify-content: center}.about-grid{display: grid;grid-template-columns: 1.3fr 1fr;gap: 72px;align-items: center}.about-card{background: var(--color-cream);border-radius: 20px;padding: 52px 48px;position: relative}.about-card::before{content: '';position: absolute;inset: -10px;border: 1.5px solid rgba(var(--color-primary-rgb),0.18);border-radius: 24px;z-index: -1}.about-quote{font-family: 'Playfair Display',serif;font-style: italic;font-size: 1.35rem;color: var(--color-text);line-height: 1.6;margin-bottom: 32px}.about-quote span{color: var(--color-primary);font-size: 3rem;line-height: 0.6;vertical-align: -0.4em;margin-right: 4px;font-style: normal}.about-sig strong{display: block;font-family: 'Inter',sans-serif;font-size: 0.93rem;font-weight: 700;color: var(--color-text);letter-spacing: 0.04em}.about-sig span{font-size: 0.82rem;color: var(--color-muted)}.about-content .label{margin-bottom: 14px}.about-content p{color: var(--color-muted);font-size: 1.02rem;line-height: 1.88;margin-bottom: 18px}.about-content p:last-of-type{margin-bottom: 0}.about-pills{display: flex;flex-direction: column;gap: 12px;margin-top: 36px}.pill{display: flex;flex-direction: column;gap: 3px;padding: 16px 20px;background: var(--color-cream);border-radius: 10px;border-left: 3px solid var(--color-primary)}.pill strong{font-size: 0.9rem;color: var(--color-text)}.pill span{font-size: 0.84rem;color: var(--color-muted)}
#sluzby{background: var(--color-cream)}.sluzby__header{text-align: center;margin-bottom: 68px}.sluzby__header .section-desc{margin: 0 auto}.sluzby__grid{display: grid;grid-template-columns: repeat(3,1fr);gap: 24px}.service-card{background: var(--color-white);border-radius: var(--radius-md);padding: 40px 34px;border: 1px solid var(--color-border);transition: transform 0.3s,box-shadow 0.3s,border-color 0.3s;cursor: default;position: relative;overflow: hidden;display: flex;flex-direction: column}.service-card::after{content: '';position: absolute;bottom: 0;left: 0;right: 0;height: 3px;background: linear-gradient(90deg,var(--color-primary),var(--color-accent));transform: scaleX(0);transform-origin: left;transition: transform 0.35s ease}.service-card:hover{transform: translateY(-7px);box-shadow: var(--shadow-md);border-color: rgba(var(--color-primary-rgb),0.25)}.service-card:hover::after{transform: scaleX(1)}.service-card[data-discount]::before{content: '–' attr(data-discount) '%';position: absolute;bottom: 18px;right: 20px;font-family: 'Playfair Display',serif;font-size: 4.2rem;font-weight: 700;color: var(--color-primary);opacity: 0.14;line-height: 1;pointer-events: none;user-select: none;rotate: -12deg}.service-card.service-card--featured{background: rgba(var(--color-primary-rgb),0.08);border-color: rgba(var(--color-primary-rgb),0.3)}.service-card__badge{display: inline-block;font-size: 0.66rem;font-weight: 700;letter-spacing: 0.12em;text-transform: uppercase;color: var(--color-primary);background: rgba(var(--color-primary-rgb),0.12);padding: 6px 14px;border-radius: 100px;margin-bottom: 20px}.service-card__name{font-family: 'Playfair Display',serif;font-size: 1.2rem;color: var(--color-text);margin-bottom: 12px;line-height: 1.35}.service-card__desc{font-size: 0.91rem;color: var(--color-muted);line-height: 1.72;margin-bottom: 20px}.service-card__foot{display: flex;align-items: baseline;justify-content: space-between;margin-top: auto;margin-bottom: 18px}.service-card__meta{font-size: 0.84rem;color: var(--color-muted)}.service-card__price-group{display: flex;align-items: baseline;gap: 8px}.service-card__price-old{font-size: 0.84rem;color: var(--color-muted);text-decoration: line-through}.service-card__price{font-family: 'Playfair Display',serif;font-size: 1.3rem;font-weight: 700;color: var(--color-text)}.service-card__tag{font-size: 0.74rem;font-weight: 600;letter-spacing: 0.1em;text-transform: uppercase;color: var(--color-primary)}a.service-card__tag{text-decoration: none;transition: color 0.2s;display: inline-block}a.service-card__tag:hover{color: var(--color-accent)}.sluzby__list{display: none;background: var(--color-white);border-radius: var(--radius-md);border: 1px solid var(--color-border);overflow: hidden}.service-row{position: relative;overflow: hidden;padding: 16px 20px;border-bottom: 1px solid var(--color-border)}.service-row:last-child{border-bottom: none}.service-row.service-row--featured{background: rgba(var(--color-primary-rgb),0.08);border-left: 3px solid var(--color-primary);padding-left: 17px}.service-row[data-discount]::before{content: '–' attr(data-discount) '%';position: absolute;bottom: 2px;right: 10px;font-family: 'Playfair Display',serif;font-size: 2.6rem;font-weight: 700;color: var(--color-primary);opacity: 0.14;line-height: 1;pointer-events: none;user-select: none;rotate: -10deg}.service-row__top{display: flex;align-items: center;gap: 8px;cursor: pointer}.service-row__name{font-weight: 600;color: var(--color-text);font-size: 0.95rem}.service-row__top .service-row__meta{font-size: 0.78rem;color: var(--color-muted);white-space: nowrap}.service-row__top-left{display: flex;align-items: baseline;gap: 6px;flex: 1;min-width: 0}.service-row__badge{font-size: 0.6rem;font-weight: 700;letter-spacing: 0.1em;text-transform: uppercase;color: var(--color-primary);background: rgba(var(--color-primary-rgb),0.14);padding: 3px 8px;border-radius: 100px;white-space: nowrap}.service-row__toggle{background: none;border: none;color: var(--color-muted);font-size: 1rem;cursor: pointer;padding: 2px 4px;line-height: 1;transition: transform 0.25s;flex-shrink: 0}.service-row.service-row--open .service-row__toggle{transform: rotate(180deg)}.service-row__desc-wrap{max-height: 0;overflow: hidden;transition: max-height 0.3s ease,padding 0.3s ease}.service-row.service-row--open .service-row__desc-wrap{max-height: 120px;padding: 8px 0 4px}.service-row__desc{font-size: 0.83rem;color: var(--color-muted);line-height: 1.65}.service-row__bottom{display: flex;align-items: center;gap: 8px;margin-top: 8px}.service-row__price-group{display: flex;flex-direction: column;align-items: flex-start;flex: 1;gap: 1px}.service-row__price-old{font-size: 0.72rem;color: var(--color-muted);text-decoration: line-through}.service-row__price{font-family: 'Playfair Display',serif;font-size: 1.15rem;font-weight: 700;color: var(--color-primary);text-align: left}.service-row__btn{font-size: 0.67rem;font-weight: 600;letter-spacing: 0.08em;text-transform: uppercase;color: var(--color-primary);border: 1px solid var(--color-primary);padding: 8px 14px;border-radius: 100px;text-decoration: none;white-space: nowrap;transition: background 0.2s,color 0.2s;cursor: default}a.service-row__btn{cursor: pointer}a.service-row__btn:hover{background: var(--color-primary);color: var(--color-white)}
#voucher{background: var(--color-cream);padding-bottom: 100px;overflow: hidden;position: relative}.voucher__stage{position: relative;height: 210px;overflow: hidden;display: flex;align-items: center}.voucher__marquee{position: absolute;inset: 0;display: flex;align-items: center;z-index: 1}.voucher__track{display: flex;align-items: center;white-space: nowrap;will-change: transform;user-select: none}.v-word{font-family: 'Playfair Display',serif;font-size: clamp(4.2rem,9vw,7.5rem);font-weight: 700;color: var(--color-accent);padding: 0 48px;cursor: default;opacity: 0.92}.v-dot{color: var(--color-primary);font-size: clamp(2rem,4vw,3rem);opacity: 0.4}.voucher__card-wrap{position: absolute;inset: 0;display: flex;align-items: center;justify-content: center;z-index: 2;pointer-events: none}.voucher__card{pointer-events: all;width: 265px;height: 168px;background: linear-gradient(140deg,var(--color-primary) 0%,var(--color-accent) 100%);border-radius: 18px;padding: 22px 26px;color: var(--color-white);box-shadow: 0 24px 64px rgba(var(--color-accent-rgb),0.38),0 4px 16px rgba(0,0,0,0.12);transform: rotate(-4deg);display: flex;flex-direction: column;justify-content: space-between;position: relative;overflow: hidden}.voucher__card::before{content: '';position: absolute;width: 220px;height: 220px;border-radius: 50%;border: 1px solid rgba(255,255,255,0.12);top: -80px;right: -60px}.voucher__card::after{content: '';position: absolute;width: 140px;height: 140px;border-radius: 50%;border: 1px solid rgba(255,255,255,0.08);bottom: -60px;left: -40px}.vc-label{font-size: 0.68rem;font-weight: 700;letter-spacing: 0.18em;text-transform: uppercase;opacity: 0.7}.vc-name{font-family: 'Playfair Display',serif;font-size: 1.4rem;font-weight: 600;line-height: 1.2}.vc-location{font-size: 0.78rem;opacity: 0.65;margin-top: 3px}.vc-footer{display: flex;justify-content: space-between;align-items: flex-end}.vc-code{font-size: 0.7rem;font-weight: 600;letter-spacing: 0.15em;opacity: 0.55}.vc-chip{width: 32px;height: 24px;background: rgba(255,255,255,0.18);border-radius: 5px;border: 1px solid rgba(255,255,255,0.25)}.voucher__content{text-align: center;padding: 52px 24px 0}.voucher__text{font-size: 1rem;color: var(--color-muted);line-height: 1.8;margin-bottom: 14px;font-weight: 400}.voucher__note{font-size: 0.84rem;color: var(--color-muted);opacity: 0.75;font-style: italic;margin-bottom: 28px}.voucher__btn{display: inline-block;border: 2px solid var(--color-accent);color: var(--color-accent);padding: 13px 36px;border-radius: 50px;font-size: 0.8rem;font-weight: 700;letter-spacing: 0.16em;text-transform: uppercase;text-decoration: none;transition: background 0.22s,color 0.22s}.voucher__btn:hover{background: var(--color-accent);color: var(--color-white)}
#referencie{background: var(--color-white)}.reviews-header{text-align: center;margin-bottom: 52px}.reviews-header .section-desc{margin: 0 auto}.tcols-outer{display: flex;justify-content: center;gap: 20px;max-height: 720px;overflow: hidden;mask-image: linear-gradient(to bottom,transparent,black 16%,black 84%,transparent);-webkit-mask-image: linear-gradient(to bottom,transparent,black 16%,black 84%,transparent)}.tcol{flex-shrink: 0;width: 300px}.tcol--md{display: none}.tcol--lg{display: none}.tcol__inner{display: flex;flex-direction: column;gap: 20px;animation: tcol-scroll linear infinite}.tcol__inner:hover{animation-play-state: paused}.tcol__inner--1{animation-duration: 18s}.tcol__inner--2{animation-duration: 22s}.tcol__inner--3{animation-duration: 19s}@keyframes tcol-scroll{from{transform: translateY(0)}to{transform: translateY(-50%)}}.review-card{background: var(--color-white);border: 1px solid var(--color-border);border-radius: 22px;padding: 28px 28px 24px;box-shadow: 0 6px 28px rgba(var(--color-primary-rgb),0.09);width: 300px;flex-shrink: 0}.review-card__stars{color: var(--color-primary);font-size: 0.85rem;letter-spacing: 3px;margin-bottom: 14px}.review-card__text{font-size: 0.9rem;color: var(--color-muted);line-height: 1.75;margin-bottom: 20px}.review-card__footer{display: flex;align-items: center;gap: 11px}.review-card__avatar{width: 38px;height: 38px;border-radius: 50%;background: rgba(var(--color-primary-rgb),0.15);color: var(--color-primary);font-family: 'Playfair Display',serif;font-size: 1rem;font-weight: 700;display: flex;align-items: center;justify-content: center;flex-shrink: 0}.review-card__name{font-weight: 600;font-size: 0.86rem;color: var(--color-text);line-height: 1.3}.review-card__role{font-size: 0.78rem;color: var(--color-muted);margin-top: 2px}
#galeria{background: var(--color-cream);overflow: hidden}.galeria-header{text-align: center;margin-bottom: 56px}.gallery-grid{display: grid;grid-template-columns: repeat(3,1fr);gap: 14px}.gallery-item{aspect-ratio: 3 / 2}.gallery-item{aspect-ratio: 4 / 3;overflow: hidden;border-radius: 10px;background: var(--color-border)}.gallery-item img{width: 100%;height: 100%;object-fit: cover;display: block;transition: transform 0.55s cubic-bezier(0.25,0.46,0.45,0.94),filter 0.4s;filter: saturate(0.85) brightness(1.02)}.gallery-item:hover img{transform: scale(1.08);filter: saturate(1.05) brightness(1.0)}
#kontakt{background: var(--color-cream)}.kontakt__header{text-align: center;margin-bottom: 64px}.kontakt__header .section-desc{margin: 0 auto}.kontakt__cols{display: grid;grid-template-columns: 1fr 1.6fr;gap: 32px;align-items: stretch;min-height: 380px}.kontakt__info{display: flex;flex-direction: column}.kontakt__mapa{border-radius: var(--radius-md);overflow: hidden;min-height: 340px;box-shadow: var(--shadow-md)}.kontakt__mapa iframe{border: 0;border-radius: inherit}.kontakt__card{flex: 1;background: var(--color-white);border-radius: var(--radius-md);border: 1px solid var(--color-border);overflow: hidden;display: flex;flex-direction: column}.contact-row{flex: 1;display: flex;align-items: center;gap: 14px;padding: 0 22px;border-bottom: 1px solid var(--color-border);min-height: 52px}.contact-row:last-child{border-bottom: none}.contact-row__label{font-size: 0.68rem;font-weight: 700;letter-spacing: 0.14em;text-transform: uppercase;color: var(--color-primary);min-width: 110px;flex-shrink: 0}.contact-row__val{font-size: 0.94rem;color: var(--color-text);font-weight: 500;line-height: 1.55}.contact-row__val a{color: var(--color-text);text-decoration: none;transition: color 0.2s}.contact-row__val a:hover{color: var(--color-primary)}
footer{background: var(--color-charcoal);color: rgba(255,255,255,0.55);padding: 56px 0 44px;text-align: center}.footer-name{font-family: 'Playfair Display',serif;font-size: 1.2rem;font-weight: 600;color: rgba(255,255,255,0.75);letter-spacing: 0.05em;margin-bottom: 10px}.footer-motto{font-family: 'Playfair Display',serif;font-style: italic;font-size: 0.98rem;color: rgba(255,255,255,0.38);margin-bottom: 28px}.footer-divider{width: 40px;height: 1px;background: rgba(var(--color-primary-rgb),0.4);margin: 0 auto 24px}.footer-copy{font-size: 0.78rem;color: rgba(255,255,255,0.28)}.footer-copy a{color: rgba(255,255,255,0.45);text-decoration: underline}.footer-copy a:hover{color: rgba(255,255,255,0.7)}
#reservanto-modal{display: none;position: fixed;inset: 0;z-index: 9000}#reservanto-modal.is-open{display: block}#reservanto-backdrop{position: absolute;inset: 0;background: rgba(0,0,0,0.55);backdrop-filter: blur(4px);-webkit-backdrop-filter: blur(4px)}#reservanto-dialog{position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);background: var(--color-white);border-radius: var(--radius-md);padding: 40px 32px 32px;width: min(660px,94vw);max-height: 90vh;overflow: auto;box-shadow: 0 20px 60px rgba(0,0,0,0.2)}#reservanto-close{position: absolute;top: 14px;right: 18px;background: none;border: none;font-size: 1.6rem;line-height: 1;color: var(--color-muted);cursor: pointer;padding: 4px 8px}#reservanto-close:hover{color: var(--color-text)}#reservanto-title{font-family: 'Playfair Display',serif;font-size: 1.3rem;color: var(--color-text);margin-bottom: 24px;padding-right: 32px}.reservanto-slot{display: none}.reservanto-slot.is-active{display: block}
.cookie-consent{position: fixed;right: var(--space-4);bottom: var(--space-4);z-index: var(--z-modal);display: flex;flex-direction: column;align-items: flex-start;gap: var(--space-4);width: 360px;max-width: calc(100vw - var(--space-8));padding: var(--space-5) var(--space-6);background-color: var(--color-white);border: 1px solid var(--color-border);border-radius: var(--radius-md);box-shadow: var(--shadow-md);transform: translateY(120%);transition: transform var(--transition-slow)}.cookie-consent.is-visible{transform: translateY(0)}.cookie-consent__text{margin: 0;font-size: var(--text-sm);line-height: 1.6;color: var(--color-muted)}.cookie-consent__text a{color: var(--color-accent)}.cookie-consent__actions{display: flex;flex-shrink: 0;gap: var(--space-3)}.cookie-consent__btn{padding: var(--space-2) var(--space-5);font-family: var(--font-body);font-size: var(--text-sm);font-weight: var(--weight-semibold);color: var(--color-white);background-color: var(--color-primary);border: 1px solid transparent;border-radius: var(--radius-pill);cursor: pointer;transition: background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.cookie-consent__btn:hover{background-color: var(--color-accent)}.cookie-consent__btn--decline{color: var(--color-muted);background-color: transparent;border-color: var(--color-border)}.cookie-consent__btn--decline:hover{color: var(--color-text);background-color: transparent;border-color: var(--color-muted)}
.legal-header{padding: var(--space-6) 0;border-bottom: 1px solid var(--color-border)}.legal-header__logo img{display: block;height: 48px;width: auto}.legal-page{padding: var(--space-14) 0 var(--space-25)}.legal-page .container{max-width: 760px}.legal-page__back{display: inline-block;margin-bottom: var(--space-8);font-size: var(--text-sm);color: var(--color-muted);text-decoration: none}.legal-page__back:hover{color: var(--color-accent)}.legal-page h1{font-size: var(--text-2xl);font-weight: var(--weight-semibold);margin-bottom: var(--space-2)}.legal-page__updated{font-size: var(--text-sm);color: var(--color-muted);margin-bottom: var(--space-12)}.legal-page section{padding: 0;margin-bottom: var(--space-10)}.legal-page h2{font-size: var(--text-lg);font-weight: var(--weight-semibold);margin-bottom: var(--space-4)}.legal-page h3{font-size: var(--text-md);font-weight: var(--weight-semibold);margin: var(--space-6) 0 var(--space-2)}.legal-page p{margin-bottom: var(--space-4);color: var(--color-text)}.legal-page ul{margin: 0 0 var(--space-4);padding-left: var(--space-6)}.legal-page li{margin-bottom: var(--space-2)}.legal-page a{color: var(--color-accent)}
@media (min-width: 768px){.tcol--md{display: block}}@media (min-width: 1024px){.tcol--lg{display: block}}@media (max-width: 1024px){.about-grid{grid-template-columns: 1fr;gap: 40px}.sluzby__grid{grid-template-columns: repeat(2,1fr)}}@media (max-width: 768px){#hero{position: relative;top: auto;z-index: auto;min-height: auto;align-items: flex-start;padding-top: 100px;padding-bottom: 80px}#hero::before{background-image: none}.quote-sticky-wrap{height: auto}#quote{position: relative;top: auto;z-index: auto;min-height: auto;padding: 72px 24px;border-radius: 0;box-shadow: none}.o-nas-sticky-wrap{height: auto;margin-top: 0}#o-nas{position: relative;top: auto;z-index: auto;min-height: auto;display: block;border-radius: 0;box-shadow: none}section{padding: 56px 0}.hamburger{display: flex}.nav__links{display: none;flex-direction: column;align-items: flex-start;position: absolute;top: 72px;left: 0;right: 0;background: var(--color-white);padding: 24px 28px 32px;gap: 22px;border-bottom: 1px solid var(--color-border);box-shadow: 0 12px 32px rgba(0,0,0,0.08);z-index: 100}.nav__links.open{display: flex}a.nav__cta{padding: 12px 0;background: none;color: var(--color-primary);font-size: 0.9rem}.hero__logo{height: 160px;margin-bottom: 28px}.hero__sub{font-size: 1rem;margin-bottom: 36px}.btn{padding: 14px 32px}.about-grid{gap: 28px}.sluzby__grid{display: none}.sluzby__list{display: block}.sluzby__header{margin-bottom: 44px}.gallery-grid{display: flex;overflow-x: auto;scroll-snap-type: x mandatory;-webkit-overflow-scrolling: touch;scrollbar-width: none;gap: 12px;padding-bottom: 4px}.gallery-grid::-webkit-scrollbar{display: none}.gallery-item{flex-shrink: 0;width: 80vw;scroll-snap-align: start}.tcols-outer{gap: 12px;max-height: 520px}.gallery-grid{grid-template-columns: repeat(2,1fr)}.kontakt__cols{grid-template-columns: 1fr}.kontakt__mapa{min-height: 260px}}@media (max-width: 768px){.zlavomat-badge{display: none}}@media (max-width: 600px){.voucher__stage{height: auto;padding: 48px 0;justify-content: center}.voucher__marquee{display: none}.voucher__card-wrap{position: relative;inset: auto;pointer-events: all}.voucher__card{transform: rotate(-2deg);width: 240px;height: 152px}.voucher__card .vc-name::after{content: ' · Voucher';font-style: italic;font-size: 1rem;opacity: 0.7}}@media (max-width: 600px){.cookie-consent{align-items: stretch;text-align: center}.cookie-consent__btn{flex: 1}}@media (max-width: 480px){section{padding: 44px 0}.container{padding: 0 var(--container-padding-mobile)}.hero__logo{height: 120px;margin-bottom: 18px}.hero__sub{font-size: 0.95rem;margin-bottom: 28px}.btn{padding: 13px 28px;font-size: 0.95rem}.section-title{margin-bottom: 14px}.service-card{padding: 22px 18px}.service-card__name{font-size: 1.1rem}.service-card__desc{font-size: 0.88rem}.service-row__meta{display: inline}.gallery-grid{grid-template-columns: 1fr}.review-card{width: 260px;padding: 22px 22px 18px}.tcol{width: 260px}.voucher__card{width: 220px;height: 140px}.vc-name{font-size: 1.2rem}.kontakt__mapa{min-height: 220px}}