@font-face{font-family:'DM Serif Display';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/dm-serif-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:'DM Serif Display';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/dm-serif-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}
@font-face{font-family:'DM Serif Display';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/dm-serif-display-normal-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:'DM Serif Display';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/dm-serif-display-normal-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:'Urbanist';font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/urbanist-normal-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:'Urbanist';font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/urbanist-normal-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{
  --krem:#F6F0E8; --krem-2:#EFE5D8; --piesok:#E4D5C3;
  --espresso:#3A2A22; --espresso-2:#5A4538; --tlmena:#6E5646;
  --med:#A8703C; --med-text:#8A5528; --zlato:#C99A57;
  --noc:#2A1E18; --noc-2:#372820; --na-noci:#EFE4D6; --na-noci-tlm:#CDB8A3;
  --serif:'DM Serif Display',Georgia,serif; --sans:'Urbanist',system-ui,sans-serif;
  --prst:44px; --nav-h:72px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{font-size:clamp(15px,0.45vw + 13.3px,19px);scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 8px)}
body{margin:0;background:var(--krem);color:var(--espresso);font-family:var(--sans);font-weight:450;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;margin:0 0 .5em;letter-spacing:-.01em}
h1 em,h2 em{font-style:italic;color:var(--med-text)}
p{margin:0 0 1em}
.shell{width:100%;max-width:74rem;margin:0 auto;padding-inline:clamp(16px,4vw,3rem)}
.skip{position:absolute;left:-999px;top:0;background:var(--espresso);color:var(--krem);padding:12px 16px;z-index:100}
.skip:focus{left:8px;top:8px}
:focus-visible{outline:3px solid var(--med);outline-offset:3px;border-radius:4px}
.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--med-text);margin-bottom:.9rem}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--prst);padding:.75rem 1.4rem;border-radius:999px;background:var(--espresso);color:var(--krem);text-decoration:none;font-weight:700;font-size:.95rem;border:2px solid var(--espresso);transition:background .25s,color .25s,transform .25s}
.btn:hover{background:var(--med-text);border-color:var(--med-text);transform:translateY(-1px)}
.btn--ghost{background:transparent;color:var(--espresso)}
.btn--ghost:hover{background:var(--espresso);color:var(--krem);border-color:var(--espresso)}
.btn--sm{padding:.5rem 1.1rem;font-size:.88rem}
.doplnit,p.doplnit,.karta .doplnit{display:inline-block;background:#FFE8A3;color:#5B3B00;border:1.5px dashed #B07800;border-radius:6px;padding:.3rem .6rem;font-size:.85rem;font-weight:700}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:var(--krem);border-bottom:1px solid var(--piesok)}
.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)}
.nav__logo img{height:46px;width:auto}
.nav__links{display:flex;gap:1.6rem;margin-left:auto}
.nav__links a{text-decoration:none;font-weight:600;font-size:.95rem;min-height:var(--prst);display:inline-flex;align-items:center;position:relative}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:10px;height:2px;background:var(--med);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav__links a:hover::after{transform:scaleX(1)}
.burger{display:none;margin-left:auto;width:var(--prst);height:var(--prst);border:0;background:transparent;cursor:pointer;position:relative}
.burger span{position:absolute;left:10px;right:10px;height:2px;background:var(--espresso);transition:transform .3s}
.burger span:first-child{top:17px}.burger span:last-child{top:25px}
.burger[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.drawer{position:absolute;left:0;right:0;top:100%;background:var(--krem);color:var(--espresso);border-bottom:1px solid var(--piesok);display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:1rem 16px 1.5rem;box-shadow:0 20px 30px rgba(42,30,24,.12)}
.drawer a{text-decoration:none;font-family:var(--serif);font-size:1.5rem;min-height:var(--prst);display:flex;align-items:center}
.drawer a.btn{font-family:var(--sans);font-size:1rem;color:var(--krem);margin-top:.6rem}
@media (max-width:860px){.nav__links,.nav__cta{display:none}.burger{display:block}.nav__logo img{height:34px}}

/* hero */
.hero{min-height:calc(100svh - var(--nav-h));display:flex;align-items:center;padding-block:clamp(1.2rem,4vh,3rem)}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.hero__grid>*{min-width:0}
h1{font-size:clamp(2.6rem,min(6.4vw,9.6vh),5.6rem);line-height:1.04}
.lead{font-size:1.12rem;max-width:32rem;color:var(--espresso-2)}
.hero__cta{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.6rem 0 1.2rem}
.hero__note{font-size:.88rem;color:var(--tlmena);max-width:30rem}
.hero__note a{color:var(--med-text);font-weight:700}
.hero__photo{margin:0;position:relative;justify-self:end;width:min(100%,27rem)}
.hero__photo img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:12rem 12rem 1rem 1rem;max-height:calc(100svh - var(--nav-h) - 5rem)}
.hero__pin{position:absolute;width:clamp(5rem,9vw,8rem);height:auto;left:-3.2rem;top:12%;overflow:visible}
.pin__line{fill:none;stroke:var(--espresso);stroke-width:6.2;stroke-linecap:round;stroke-linejoin:round}
.pin__tip{fill:var(--med)}
.rating{position:absolute;right:-1rem;bottom:1.6rem;background:var(--krem);color:var(--espresso);text-decoration:none;border-radius:1rem;padding:.7rem 1rem;display:grid;grid-template-columns:auto auto;column-gap:.6rem;align-items:center;box-shadow:0 12px 30px rgba(42,30,24,.18);min-height:var(--prst)}
.rating b{font-family:var(--serif);font-weight:400;font-size:2rem;line-height:1;grid-row:span 2}
.rating__stars{color:var(--med);letter-spacing:.1em;font-size:.85rem}
.rating span:last-child{font-size:.78rem;font-weight:600;color:var(--tlmena)}
@media (max-width:860px){
  .hero{min-height:0;padding-top:1.2rem}
  .hero__grid{grid-template-columns:1fr}
  .hero__photo{justify-self:center;width:min(100%,24rem)}
  .hero__photo img{max-height:none}
  .hero__pin{left:-.6rem;width:4.4rem;top:4%}
  .rating{right:.6rem}
}

/* sekcie */
.sec{padding-block:clamp(4rem,9vw,7.5rem)}
.sec h2{font-size:clamp(2.1rem,4.2vw,3.6rem)}
.sec--dark{background:var(--noc);color:var(--na-noci)}
.sec--dark .eyebrow{color:var(--zlato)}
.sec--dark h2 em{color:var(--zlato)}
.sec--tint{background:var(--krem-2)}

.sluzby{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.sluzby__head{position:sticky;top:calc(var(--nav-h) + 2rem)}
.sluzby__head>p:not(.eyebrow):not(.doplnit){color:var(--espresso-2)}
.zoznam{list-style:none;margin:0;padding:0;border-top:1px solid var(--piesok)}
.zoznam li{display:grid;grid-template-columns:3.2rem 1fr;column-gap:1rem;padding:1.3rem 0;border-bottom:1px solid var(--piesok);transition:background .3s,padding .3s}
.zoznam li:hover{background:var(--krem-2);padding-inline:.8rem}
.zoznam__n{font-family:var(--serif);font-style:italic;color:var(--med-text);font-size:1.3rem;grid-row:span 2}
.zoznam h3{font-size:1.55rem;margin:0 0 .2rem}
.zoznam p{margin:0;color:var(--tlmena)}
@media (max-width:860px){.sluzby{grid-template-columns:1fr}.sluzby__head{position:static}}

.farba__head{max-width:40rem;margin-bottom:2.6rem}
.farba__head p:not(.eyebrow){color:var(--na-noci-tlm)}
.skala{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.6rem,1.4vw,1.2rem)}
.skala li{position:relative;overflow:hidden;border-radius:10rem 10rem .6rem .6rem;background:var(--noc-2);color:var(--na-noci)}
.skala img{width:100%;aspect-ratio:3/4.4;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.skala li:hover img{transform:scale(1.05)}
.skala span{position:absolute;left:0;right:0;bottom:0;padding:2.4rem .9rem .8rem;background:linear-gradient(transparent,rgba(24,16,12,.82));color:#FBF6EF;font-weight:700;font-size:.88rem}
.skala__ramp{height:6px;border-radius:6px;margin-top:1.2rem;background:linear-gradient(90deg,#3B2518,#7A4A2A,#B07A45,#D9B27A,#CFC6BC)}
@media (max-width:860px){.skala{grid-template-columns:repeat(2,1fr)}}

.ucesy{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.ucesy__photos{position:relative;padding-bottom:18%}
.ucesy__photos img{border-radius:.8rem;object-fit:cover}
.u1{width:72%;aspect-ratio:3/4}
.u2{position:absolute;width:52%;aspect-ratio:3/4;right:0;bottom:0;border:.5rem solid var(--krem);box-shadow:0 20px 40px rgba(42,30,24,.18)}
.ucesy__text p:not(.eyebrow){color:var(--espresso-2);max-width:30rem}
.ucesy__text .btn{margin-top:.6rem}

@media (max-width:860px){.ucesy{grid-template-columns:1fr}}

.rec__head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem 2rem;margin-bottom:2.2rem}
.rec__head h2{margin:0}
.big{font-size:1.5em;color:var(--med-text)}
.pas{--odsad:max(clamp(16px,4vw,3rem),calc((100vw - 74rem)/2 + clamp(16px,4vw,3rem)));list-style:none;margin:0;display:flex;gap:1.1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--odsad) 1.2rem;scroll-padding-inline:var(--odsad);scrollbar-width:thin}
.karta{flex:0 0 min(84vw,24rem);scroll-snap-align:start;background:var(--krem);color:var(--espresso);border-radius:1.2rem;padding:1.6rem 1.5rem 1.2rem;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--piesok)}
.karta blockquote{margin:0 0 1.2rem;font-family:var(--serif);font-size:1.22rem;line-height:1.35}
.karta p{margin:0;font-weight:700;color:var(--med-text);font-size:.9rem}

.salon{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.salon p:not(.eyebrow){color:var(--espresso-2);max-width:34rem}
.salon a{color:var(--med-text);font-weight:700}
.doplnit-box{aspect-ratio:4/5;border-radius:12rem 12rem 1rem 1rem;background:var(--krem-2);border:2px dashed #B07800;display:flex;align-items:center;justify-content:center;padding:1rem;text-align:center}
@media (max-width:860px){.salon{grid-template-columns:1fr}.doplnit-box{aspect-ratio:16/9;border-radius:1rem}}

.kontakt{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.kontakt__list{list-style:none;margin:1.4rem 0;padding:0;border-top:1px solid rgba(239,228,214,.18)}
.kontakt__list li{display:grid;grid-template-columns:8rem 1fr;gap:1rem;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(239,228,214,.18)}
.kontakt__list li>span:first-child{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--na-noci-tlm);font-weight:700}
.linka{display:inline-flex;align-items:center;min-height:var(--prst);color:var(--na-noci);text-decoration-color:var(--zlato);text-underline-offset:4px;font-weight:600;overflow-wrap:anywhere}
.linka:hover{color:var(--zlato)}
.kontakt__pozn{color:var(--na-noci-tlm);font-size:.92rem;max-width:32rem}
.stav{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:.9rem;background:var(--noc-2);color:var(--na-noci);border-radius:999px;padding:.4rem .9rem}
.stav::before{content:"";width:.6rem;height:.6rem;border-radius:50%;background:#8FBF7A}
.stav.zatvorene::before{background:#D98A6A}
.hodiny{background:var(--noc-2);color:var(--na-noci);border-radius:1.2rem;padding:1.6rem}
.hodiny h3{font-size:1.6rem}
.hodiny table{width:100%;border-collapse:collapse;margin-bottom:1.4rem}
.hodiny th,.hodiny td{text-align:left;padding:.5rem .4rem;border-bottom:1px solid rgba(239,228,214,.12);font-weight:500}
.hodiny td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.hodiny tr.dnes{color:var(--zlato)}
.hodiny tr.dnes th{font-weight:800}
.hodiny .btn{background:var(--zlato);border-color:var(--zlato);color:var(--noc);width:100%}
.hodiny .btn:hover{background:var(--na-noci);border-color:var(--na-noci)}
@media (max-width:860px){.kontakt{grid-template-columns:1fr}.kontakt__list li{grid-template-columns:1fr;gap:0}}

.foot{background:var(--noc);color:var(--na-noci-tlm);border-top:1px solid rgba(239,228,214,.12);padding:2.4rem 0 3rem;font-size:.88rem}
.foot__in{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 2rem}
.foot__in img{height:34px;width:auto}
.foot p{margin:0}
.foot a{color:var(--na-noci);display:inline-flex;align-items:center;min-height:var(--prst)}

/* pohyb */
@media (prefers-reduced-motion:no-preference){
  .js .pin__line{stroke-dasharray:101;stroke-dashoffset:101;animation:kresli 1.6s .3s cubic-bezier(.6,.1,.3,1) forwards}
  .js .pin__tip{opacity:0;animation:obj .5s 1.7s forwards}
  .js .vynor{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1)}
  .js .vynor.je{opacity:1;transform:none}
}
@keyframes kresli{to{stroke-dashoffset:0}}
@keyframes obj{to{opacity:1}}
.hero__note a,.salon p a{display:inline-flex;align-items:center;min-height:var(--prst)}
