@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-italic-400-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:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-italic-400-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:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-normal-400-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:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-normal-400-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:"Jost";font-style:normal;font-weight:300 600;font-display:swap;src:url(fonts/jost-normal-300-600-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:"Jost";font-style:normal;font-weight:300 600;font-display:swap;src:url(fonts/jost-normal-300-600-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}
:root{
 --ink:#1A1918;--ink-2:#2A2825;--ink-3:#3A3733;
 --ivory:#F4F0E8;--paper:#FBF9F5;--line:#DDD6C9;
 --text:#1A1918;--muted:#5A5650;
 --sage-300:#C4C29A;--sage-500:#8E8C64;--sage-700:#5E5C3C;--sage-800:#46452C;
 --on-dark:#EDE8DE;--on-dark-muted:#B9B3A7;
 --serif:"Instrument Serif",Georgia,serif;--sans:"Jost",system-ui,sans-serif;
 --prst:44px;--nav-h:72px;--r:14px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{font-size:clamp(15px,.45vw + 12.6px,19px);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-weight:380;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.06;margin:0;letter-spacing:-.005em}
h2{font-size:clamp(2.1rem,4.4vw,3.6rem)}
h1 em,h2 em{font-style:italic;color:var(--sage-700)}
.wrap{max-width:74rem;margin:0 auto;padding-inline:clamp(16px,4vw,3rem)}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:99;min-height:var(--prst);display:inline-flex;align-items:center}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--sage-700);outline-offset:3px}
.eyebrow{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--sage-700);margin:0 0 1rem}
.eyebrow--dark{color:var(--sage-300)}
/* doplniť — vysoká špecificita, aby ju neprebil .zoznam p a pod. */
body .doplnit,body p .doplnit{display:inline-block;background:#FFE066;color:#3A2B00;font:500 .78rem/1.3 var(--sans);letter-spacing:.02em;padding:.2rem .5rem;border-radius:4px;border:1px dashed #8A6D00}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--prst);padding:.7rem 1.4rem;border-radius:999px;font:500 .95rem/1.2 var(--sans);letter-spacing:.02em;text-decoration:none;border:1px solid transparent;transition:background .25s,color .25s,border-color .25s,transform .25s}
.btn:hover{transform:translateY(-1px)}
.btn--ink{background:var(--ink);color:var(--ivory)}
.btn--ink:hover{background:var(--sage-800)}
.btn--line{border-color:var(--ink);color:var(--ink);background:transparent}
.btn--line:hover{background:var(--ink);color:var(--ivory)}
.btn--ivory{background:var(--ivory);color:var(--ink)}
.btn--ivory:hover{background:var(--sage-300)}
.btn--line-light{border-color:var(--on-dark-muted);color:var(--on-dark);background:transparent}
.btn--line-light:hover{border-color:var(--on-dark);background:var(--ink-3)}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line);color:var(--text)}
.nav__in{display:flex;align-items:center;gap:1.5rem;height:var(--nav-h)}
.nav__logo{display:flex;align-items:center;min-height:var(--prst);margin-right:auto}
.nav__logo img{height:38px;width:auto}
.nav__links{display:flex;gap:.3rem}
.nav__links a{display:inline-flex;align-items:center;min-height:var(--prst);padding:0 .8rem;text-decoration:none;font-size:.95rem;color:var(--text)}
.nav__links a:hover{color:var(--sage-700)}
.nav__num{opacity:.8;font-weight:400}
.nav__burger{display:none;width:var(--prst);height:var(--prst);border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px}
.nav__burger span{display:block;width:18px;height:1.5px;background:var(--ink);transition:transform .25s}
.nav__burger[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}
.nav__burger[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.drawer{position:fixed;inset:var(--nav-h) 0 auto 0;background:var(--paper);color:var(--text);border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:1rem 16px 1.6rem;box-shadow:0 20px 40px rgba(26,25,24,.12)}
.drawer a{display:flex;align-items:center;justify-content:center;min-height:52px;width:100%;max-width:22rem;text-decoration:none;font-family:var(--serif);font-size:1.6rem;color:var(--text)}
.drawer a.btn{font:500 1rem var(--sans);color:var(--ivory);margin-top:.6rem;min-height:52px}
@media (max-width:900px){.nav__links,.nav__cta{display:none}.nav__burger{display:flex}}

/* hero */
.hero{min-height:calc(100svh - var(--nav-h));display:flex;align-items:center;padding-block:clamp(1.5rem,4vh,3rem);background:linear-gradient(180deg,var(--paper) 0%,var(--ivory) 100%);overflow:hidden}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center;width:100%}
.hero__grid>*{min-width:0}
h1{font-size:clamp(2.7rem,min(6.2vw,9.6vh),5.6rem);line-height:1.04}
.hero__lead{font-size:1.1rem;max-width:32rem;color:var(--muted);margin:clamp(.9rem,2.4vh,1.6rem) 0 clamp(1.1rem,3vh,2rem)}
.hero__cta{display:flex;flex-wrap:wrap;gap:.7rem}
.hero__facts{list-style:none;padding:0;margin:clamp(1.4rem,4vh,2.6rem) 0 0;display:flex;gap:clamp(1.2rem,3vw,2.6rem);border-top:1px solid var(--line);padding-top:clamp(.9rem,2.4vh,1.4rem)}
.hero__facts li{display:flex;flex-direction:column;min-width:0}
.hero__facts b{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,min(2.6vw,4.4vh),2.2rem);line-height:1.1}
.hero__facts span{font-size:.8rem;color:var(--muted)}
.stav.je-otvorene{color:var(--sage-700)}
.hero__photo{margin:0;position:relative;justify-self:end;width:min(100%,30rem,calc((100svh - var(--nav-h) - 8rem)*.8))}
.okno{border-radius:999px 999px var(--r) var(--r);overflow:hidden;aspect-ratio:4/5;box-shadow:0 30px 60px -30px rgba(26,25,24,.45)}
.okno img{width:100%;height:100%;object-fit:cover;object-position:40% 50%}
/* podpis: odraz na lesklej dlažbe, ako v salóne */
.odraz{height:clamp(3rem,10vh,6rem);overflow:hidden;display:flex;flex-direction:column;margin-top:6px;border-radius:var(--r) var(--r) 0 0;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.34),transparent 85%);mask-image:linear-gradient(180deg,rgba(0,0,0,.34),transparent 85%)}
.odraz img{flex:none}
.odraz img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:40% 50%;transform:scaleY(-1);filter:blur(1.2px)}
@media (max-width:760px){
 .hero{min-height:auto;padding-block:1.4rem 2.2rem}
 .hero__grid{grid-template-columns:1fr;gap:1.6rem}
 .hero__photo{justify-self:center;width:min(100%,24rem);order:-1}
 .okno{aspect-ratio:5/4;border-radius:999px 999px var(--r) var(--r)}
 .odraz{display:none}
 .hero__facts{gap:1.1rem}
}

/* sekcie */
section{scroll-margin-top:var(--nav-h)}
.sec-head{margin-bottom:clamp(2rem,5vw,3.5rem)}
.sec-head--row{display:flex;justify-content:space-between;align-items:end;gap:2rem;flex-wrap:wrap}
.sec-head__side{margin:0;max-width:22rem;color:var(--muted)}
.sec-head__side a{display:inline-flex;align-items:center;min-height:var(--prst);color:var(--sage-700);font-weight:500}
.pramen{width:120px;height:40px;margin-top:1.2rem;fill:none;stroke:var(--sage-500);stroke-width:1.6;stroke-linecap:round}
.sluzby{padding-block:clamp(4rem,9vw,7.5rem);background:var(--paper)}
.zoznam{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.zoznam li{display:grid;grid-template-columns:5rem 1fr;gap:1.2rem;padding:clamp(1.3rem,3vw,2rem) 0;border-bottom:1px solid var(--line);transition:background .35s,padding .35s}
.zoznam li>*{min-width:0}
.zoznam .c{font-family:var(--serif);font-style:italic;font-size:1.6rem;color:var(--sage-700);line-height:1.2}
.zoznam h3{font-size:clamp(1.7rem,3vw,2.4rem)}
.zoznam p{margin:.4rem 0 0;color:var(--muted);max-width:40rem}
@media (hover:hover){.zoznam li:hover{background:var(--ivory);padding-inline:1rem}}
@media (min-width:900px){.zoznam li{grid-template-columns:7rem 1fr}.zoznam li>div{display:grid;grid-template-columns:1fr 1.1fr;gap:2rem;align-items:baseline}.zoznam p{margin:0}}
.cennik{margin-top:2.5rem;padding:1.6rem 1.8rem;background:var(--ivory);color:var(--text);border-radius:var(--r);display:grid;gap:.4rem}
.cennik__t{margin:0;font-family:var(--serif);font-size:1.7rem}
.cennik__p{margin:0;color:var(--muted)}
.cennik__p a{display:inline-flex;align-items:center;min-height:var(--prst);color:var(--text);font-weight:500}

.citat{background:var(--ink);color:var(--on-dark);padding-block:clamp(4rem,9vw,7rem)}
.citat blockquote{margin:0;max-width:56rem}
.citat p{font-family:var(--serif);font-size:clamp(2.2rem,5.4vw,4.6rem);line-height:1.08;margin:0}
.citat footer{margin-top:1.4rem;color:var(--sage-300);letter-spacing:.14em;text-transform:uppercase;font-size:.78rem}

.salon{padding-block:clamp(4rem,9vw,7.5rem);background:var(--ivory)}
.salon h2 em{color:var(--sage-800)}
.galeria{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(8px,1.2vw,16px)}
@media (min-width:760px){.galeria{grid-template-columns:repeat(3,1fr)}}
@media (max-width:759px){.galeria li:nth-child(n+5){display:none}}
.galeria button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;border-radius:10px;overflow:hidden}
.galeria img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s}
.galeria button:hover img{transform:scale(1.04)}

.recenzie{padding-block:clamp(4rem,9vw,7.5rem);background:var(--paper)}
.hviezda{color:var(--sage-500);font-family:var(--sans)}
.pas{--odsad:max(clamp(16px,4vw,3rem),calc((100vw - 74rem)/2 + clamp(16px,4vw,3rem)));display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-inline:var(--odsad);scroll-padding-inline:var(--odsad);padding-bottom:1.2rem;scrollbar-width:thin}
.karta{flex:0 0 min(84vw,22rem);scroll-snap-align:start;margin:0;background:var(--ivory);color:var(--text);border-radius:var(--r);padding:1.6rem;display:flex;flex-direction:column;justify-content:space-between;gap:1.2rem}
.karta blockquote{margin:0;font-size:1rem;line-height:1.55}
.karta figcaption{font-weight:500;color:var(--sage-800);font-size:.9rem;letter-spacing:.04em}

.kontakt{background:var(--ink);color:var(--on-dark);padding-block:clamp(4rem,9vw,7rem)}
.kontakt h2 em{color:var(--sage-300)}
.kontakt__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem)}
.kontakt__grid>*{min-width:0}
.velke-cislo{display:inline-flex;align-items:center;min-height:var(--prst);font-family:var(--serif);font-size:clamp(2.2rem,4.6vw,3.6rem);text-decoration:none;margin:1.2rem 0 .4rem;color:var(--ivory)}
address{font-style:normal;color:var(--on-dark-muted);margin-bottom:1.6rem}
.kontakt__cta{display:flex;flex-wrap:wrap;gap:.6rem}
.hodiny__t{font-size:1.9rem;display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.odznak{font:500 .74rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:.45rem .7rem;border-radius:999px;background:var(--ink-3);color:var(--on-dark)}
.odznak.je-otvorene{background:var(--sage-300);color:var(--ink)}
.hodiny{width:100%;border-collapse:collapse;margin-top:1rem}
.hodiny th,.hodiny td{text-align:left;padding:.6rem 0;border-bottom:1px solid var(--ink-3);font-weight:400}
.hodiny td{text-align:right;color:var(--on-dark-muted);font-variant-numeric:tabular-nums}
.hodiny tr.dnes th,.hodiny tr.dnes td{color:var(--ivory);font-weight:500}
.hodiny tr.dnes th::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--sage-300);margin-right:.6rem;vertical-align:middle}
.hodiny__p{margin:1rem 0 0}
.mapa{grid-column:1/-1;border-radius:var(--r);overflow:hidden;height:clamp(16rem,34vw,24rem);background:var(--ink-2)}
.mapa iframe{width:100%;height:100%;border:0;filter:grayscale(.35)}
@media (max-width:760px){.kontakt__grid{grid-template-columns:1fr}}

.foot{background:#121110;color:var(--on-dark-muted);padding:3rem 0 6rem;font-size:.9rem}
.foot__in{display:grid;gap:1.2rem}
.foot img{height:48px;width:auto}
.foot p{margin:0}
.foot a{display:inline-flex;align-items:center;min-height:var(--prst);color:var(--on-dark);text-decoration:none}
.foot__nav{display:flex;flex-wrap:wrap;gap:0 1.4rem}
@media (min-width:900px){.foot{padding-bottom:3rem}.foot__in{grid-template-columns:auto 1fr auto;align-items:center;gap:3rem}}

/* lepkavá lišta na mobile */
.lista{position:fixed;left:12px;right:12px;bottom:12px;z-index:40;display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:52px;border-radius:999px;background:var(--ink);color:var(--ivory);text-decoration:none;font-weight:500;box-shadow:0 12px 30px rgba(0,0,0,.28)}
.lista span{color:var(--sage-300)}
.js .lista{transform:translateY(140%);transition:transform .35s ease}
.js.za-hero .lista{transform:none}
@media (min-width:900px){.lista{display:none}}

.lightbox{border:0;padding:0;background:transparent;max-width:92vw;max-height:90vh}
.lightbox::backdrop{background:rgba(18,17,16,.9)}
.lightbox img{max-height:86vh;width:auto;border-radius:8px}
.lightbox__x{position:fixed;top:14px;right:14px;width:var(--prst);height:var(--prst);border-radius:50%;border:0;background:var(--ivory);color:var(--ink);font-size:1.6rem;cursor:pointer}

/* pohyb */
.js .vynor{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.js .vynor.je{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .vynor{opacity:1;transform:none;transition:none}*{transition:none!important}}
