@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/hanken-grotesk-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:'Hanken Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/hanken-grotesk-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:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-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:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-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:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-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:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-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}
/* Kaderníctvo PLuS — farby z ich salónu: zelená tapeta, mosadz svietidiel, krémová. */
:root{
  --zelena-900:#0E2622;--zelena-800:#12302B;--zelena-700:#1F4A42;--zelena-600:#2D6358;--zelena-100:#DCE8E3;
  --mosadz-600:#8A6331;--mosadz-500:#B98A4B;--mosadz-300:#DDBF8E;
  --blush-300:#E7C9B8;--blush-100:#F5E6DD;
  --krem-50:#FBF8F3;--krem-100:#F7F1E8;--krem-200:#EDE3D4;--krem-300:#D9CCBA;
  --ink:#1B2A27;--ink-muted:#4F5E5A;
  --serif:'Instrument Serif',Georgia,serif;--sans:'Hanken Grotesk',system-ui,sans-serif;
  --prst:44px;--nav:64px;--max:74rem;--gut:clamp(1rem,4vw,2.5rem);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
img{max-width:100%;height:auto;display:block}
html{font-size:clamp(15px,0.55vw + 12.6px,19px);scroll-behavior:smooth;scroll-padding-top:calc(var(--nav) + 12px)}
body{margin:0;background:var(--krem-100);color:var(--ink);font:400 1rem/1.6 var(--sans);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04;margin:0;letter-spacing:-.01em}
h2{font-size:clamp(2.2rem,4.2vw,3.6rem)}
p{margin:0}
a{color:inherit}
.shell{max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}
.eyebrow{font:600 .74rem/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mosadz-600)}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:#fff;padding:.6rem 1rem}
:focus-visible{outline:2px solid var(--mosadz-500);outline-offset:3px}

/* tlačidlá */
.btn{display:inline-flex;align-items:center;gap:.6rem;min-height:var(--prst);padding:.7rem 1.35rem;border-radius:999px;font:600 .95rem/1 var(--sans);text-decoration:none;border:1.5px solid transparent;transition:background .25s,color .25s,transform .25s}
.btn--primary{background:var(--zelena-700);color:var(--krem-50)}
.btn--primary:hover{background:var(--zelena-800);transform:translateY(-1px)}
.btn--ghost{border-color:var(--zelena-700);color:var(--zelena-700);background:transparent}
.btn--ghost:hover{background:var(--zelena-700);color:var(--krem-50)}
.btn svg{width:1.1em;height:1.1em;flex:none}

/* doplniť — viditeľná medzera, nie vynechanie */
.doplnit,.sluzby .doplnit,.tim .doplnit,p.doplnit{display:inline-block;background:#FFF1B8;color:#5B4300;border:1.5px dashed #C9A400;border-radius:6px;padding:.15rem .55rem;font:600 .8rem/1.4 var(--sans);letter-spacing:0;text-transform:none}

/* navigácia */
.nav{position:sticky;top:0;z-index:50;background:rgba(247,241,232,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--krem-200);color:var(--ink)}
.nav .shell{display:flex;align-items:center;justify-content:space-between;height:var(--nav);gap:1rem}
.nav__logo{display:flex;align-items:center;min-height:var(--prst)}
.nav__logo img{height:40px;width:auto}
.nav__links{display:flex;gap:.3rem;align-items:center;list-style:none;margin:0;padding:0}
.nav__links a{display:inline-flex;align-items:center;min-height:var(--prst);padding:0 .8rem;text-decoration:none;font-weight:500;font-size:.95rem;border-radius:999px}
.nav__links a:hover{background:var(--krem-200)}
.nav__links .btn--primary{color:var(--krem-50);margin-left:.4rem}
.nav__links .btn--primary:hover{background:var(--zelena-800)}
.burger{display:none;width:var(--prst);height:var(--prst);border:0;background:transparent;color:var(--ink);border-radius:999px;cursor:pointer}
.burger svg{width:26px;height:26px;margin:auto}
.zasuvka{display:none}
@media (max-width:860px){
  .nav__links{display:none}
  .burger{display:grid;place-items:center}
  .zasuvka{display:flex;flex-direction:column;align-items:center;gap:.25rem;position:absolute;left:0;right:0;top:var(--nav);background:var(--krem-100);color:var(--ink);padding:1rem var(--gut) 1.6rem;border-bottom:1px solid var(--krem-300);box-shadow:0 18px 30px rgba(14,38,34,.12)}
  .zasuvka a{display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;max-width:22rem;text-decoration:none;font-size:1.1rem;font-weight:500;border-radius:999px}
  .zasuvka a.btn--primary{color:var(--krem-50);margin-top:.5rem}
}

/* hero */
.hero{min-height:calc(100svh - var(--nav));display:flex;align-items:center;padding-block:clamp(1.5rem,4vh,3rem)}
.hero .shell{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(1.5rem,5vw,5rem);align-items:center;width:100%}
.hero__text{min-width:0}
.hero h1{font-size:clamp(2.7rem,min(7vw,9.4vh),6.4rem);margin:.9rem 0 1.2rem;color:var(--zelena-800)}
.hero h1 em{font-style:italic;color:var(--mosadz-600)}
.hero__lead{font-size:1.1rem;max-width:32rem;color:var(--ink-muted)}
.hero__cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.8rem}
.hero__meta{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;margin-top:1.6rem;font-size:.92rem;color:var(--ink-muted);align-items:center}
.hero__meta a{text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;min-height:var(--prst)}
.hviezdy{color:var(--mosadz-500);letter-spacing:.05em}
.otvorene{display:inline-flex;align-items:center;gap:.5rem}
.otvorene i{width:.6rem;height:.6rem;border-radius:50%;background:var(--krem-300);display:inline-block}
.otvorene.je i{background:#3E9A6B;box-shadow:0 0 0 4px rgba(62,154,107,.18)}
.hero__foto{position:relative;min-width:0;justify-self:end;width:min(100%,30rem)}
.zrkadlo{border-radius:999px 999px 1.2rem 1.2rem;overflow:hidden;aspect-ratio:4/5.2;background:var(--zelena-700);box-shadow:0 30px 60px -30px rgba(14,38,34,.55)}
.zrkadlo img{width:100%;height:100%;object-fit:cover}
.hero__znak{position:absolute;left:-2.2rem;bottom:1.6rem;width:5.2rem;height:5.2rem;border-radius:50%;background:var(--krem-50);display:grid;place-items:center;box-shadow:0 12px 30px -12px rgba(14,38,34,.4)}
.hero__znak img{height:3.6rem;width:auto}
@media (max-width:860px){
  .hero{min-height:auto;padding-block:1.4rem 2.5rem}
  .hero .shell{grid-template-columns:1fr}
  .hero__foto{justify-self:center;width:min(100%,24rem);order:-1}
  .zrkadlo{aspect-ratio:4/3.4;border-radius:999px 999px 1rem 1rem}
  .hero__znak{left:.6rem;bottom:.6rem;width:4rem;height:4rem}.hero__znak img{height:2.7rem}
  .hero h1{font-size:clamp(2.4rem,11vw,3.4rem);margin:.6rem 0 .9rem}
  .hero__lead{font-size:1rem}
}

/* sekcie */
.sekcia{padding-block:clamp(4rem,9vw,7.5rem)}
.sekcia__hlava{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.2rem 3rem;align-items:end;margin-bottom:clamp(2rem,4vw,3.4rem)}
.sekcia__hlava p{color:var(--ink-muted);max-width:32rem}
@media (max-width:760px){.sekcia__hlava{grid-template-columns:1fr}}

/* služby: redakčný zoznam, nie karty */
.sluzby{background:var(--krem-50);color:var(--ink)}
.sluzby ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--krem-300)}
.sluzby li{display:grid;grid-template-columns:3.4rem minmax(0,1fr) auto;gap:1rem;align-items:baseline;padding:1.15rem 0;border-bottom:1px solid var(--krem-300);transition:padding .3s,background .3s}
.sluzby li:hover{padding-left:.8rem;background:linear-gradient(90deg,var(--blush-100),transparent 70%)}
.sluzby .c{font:italic 400 1.2rem/1 var(--serif);color:var(--mosadz-600)}
.sluzby h3{font-size:clamp(1.5rem,2.6vw,2.2rem);color:var(--zelena-800)}
.sluzby small{display:block;font-size:.9rem;color:var(--ink-muted);margin-top:.25rem}
.sluzby .cena{font-size:.85rem;white-space:nowrap}
.sluzby__pata{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;margin-top:1.6rem;color:var(--ink-muted);font-size:.92rem}
@media (max-width:560px){.sluzby li{grid-template-columns:2.4rem minmax(0,1fr)}.sluzby .cena{grid-column:2}}

/* pred a po — podpisový moment */
.predpo{background:var(--krem-100);color:var(--ink)}
.porovnania{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,3vw,2rem)}
@media (max-width:760px){.porovnania{grid-template-columns:1fr}}
.porovnanie{margin:0}
.porovnanie figcaption{display:flex;justify-content:space-between;gap:1rem;margin-top:.8rem;font-size:.95rem}
.porovnanie figcaption b{font:400 1.45rem/1.1 var(--serif);color:var(--zelena-800)}
.pp{position:relative;aspect-ratio:3/4;border-radius:1.2rem;overflow:hidden;background:var(--zelena-800);touch-action:pan-y;user-select:none;-webkit-user-select:none;--x:50%}
.pp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.pp .po{clip-path:inset(0 0 0 var(--x))}
.pp__ciara{position:absolute;top:0;bottom:0;left:var(--x);width:2px;margin-left:-1px;background:var(--krem-50);pointer-events:none}
.pp__uchyt{position:absolute;top:50%;left:var(--x);width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:var(--krem-50);color:var(--zelena-800);display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.25);pointer-events:none}
.pp__uchyt svg{width:26px;height:26px}
.pp__stitok{position:absolute;top:.9rem;padding:.35rem .7rem;border-radius:999px;background:rgba(14,38,34,.72);color:var(--krem-50);font:600 .72rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;pointer-events:none}
.pp__stitok--pred{left:.9rem}.pp__stitok--po{right:.9rem}
.pp input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.pp:focus-within{outline:2px solid var(--mosadz-500);outline-offset:3px}
.galeria{list-style:none;margin:clamp(1rem,3vw,2rem) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.6rem,1.5vw,1rem)}
.galeria li{margin:0}
.galeria img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:.9rem}
@media (max-width:760px){.galeria{grid-template-columns:repeat(2,1fr)}}

/* tím — tmavý pás */
.tim{background:var(--zelena-800);color:var(--krem-100);overflow:hidden}
.tim .shell{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.tim__znak{width:clamp(8rem,16vw,13rem)}
.tim__znak img{width:100%;height:auto}
.tim .eyebrow{color:var(--mosadz-300)}
.tim h2{color:var(--krem-50);margin:.8rem 0 1.2rem;max-width:22ch}
.tim h2 em{color:var(--blush-300)}
.tim p{color:var(--krem-200);max-width:36rem;font-size:1.05rem}
.tim blockquote{margin:1.6rem 0 0;padding-left:1.1rem;border-left:2px solid var(--mosadz-500);font:italic 400 1.35rem/1.35 var(--serif);color:var(--krem-50);max-width:34rem}
.tim blockquote cite{display:block;margin-top:.5rem;font:500 .8rem/1.3 var(--sans);font-style:normal;letter-spacing:.08em;color:var(--mosadz-300)}
.tim .doplnit{margin-top:1.4rem}
@media (max-width:760px){.tim .shell{grid-template-columns:1fr}.tim__znak{width:6.5rem}}

/* recenzie — posuvný pás, ľavý okraj vo vnútri posuvníka */
.recenzie{background:var(--krem-50);color:var(--ink)}
.recenzie__skore{display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap}
.recenzie__skore b{font:400 4rem/1 var(--serif);color:var(--zelena-800)}
.pas{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gut) 1rem max(var(--gut),calc((100vw - var(--max))/2 + var(--gut)));scrollbar-width:thin;scroll-padding-left:max(var(--gut),calc((100vw - var(--max))/2 + var(--gut)))}
.karta{flex:0 0 min(84vw,24rem);scroll-snap-align:start;background:var(--krem-100);color:var(--ink);border:1px solid var(--krem-200);border-radius:1.2rem;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;margin:0}
.karta blockquote{margin:0;font-size:.98rem;line-height:1.6;white-space:pre-line}
.karta figcaption{margin-top:auto;display:flex;justify-content:space-between;gap:.6rem;font-size:.88rem;color:var(--ink-muted)}
.karta figcaption b{color:var(--ink);font-weight:600}
.recenzie__pata{margin-top:1.4rem}
.recenzie__pata a{display:inline-flex;align-items:center;min-height:var(--prst);font-weight:600;color:var(--zelena-700)}

/* kontakt */
.kontakt{background:var(--krem-100);color:var(--ink)}
.kontakt .shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
@media (max-width:860px){.kontakt .shell{grid-template-columns:1fr}}
.kontakt h2{margin:.8rem 0 1.4rem;color:var(--zelena-800)}
.udaje{display:grid;gap:1.3rem;margin:0}
.udaje dt{font:600 .74rem/1.2 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--mosadz-600);margin-bottom:.3rem}
.udaje dd{margin:0;font-size:1.08rem}
.udaje dd a{display:inline-flex;align-items:center;min-height:var(--prst);text-decoration-color:var(--mosadz-500);text-underline-offset:.2em}
.udaje small{display:block;color:var(--ink-muted);font-size:.9rem}
.hodiny{width:100%;max-width:24rem;border-collapse:collapse;font-size:1rem}
.hodiny td{padding:.45rem 0;border-bottom:1px solid var(--krem-300)}
.hodiny td+td{text-align:right;font-variant-numeric:tabular-nums}
.hodiny tr.dnes td{font-weight:700;color:var(--zelena-700)}
.salon-foto{border-radius:1.2rem;overflow:hidden;position:relative;background:var(--zelena-700)}
.salon-foto img{width:100%;aspect-ratio:4/4.4;object-fit:cover}
.mapa{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.7rem}
.mapa__ram{margin-top:1rem;border-radius:1rem;overflow:hidden;aspect-ratio:4/3;background:var(--krem-200)}
.mapa__ram iframe{width:100%;height:100%;border:0;display:block}

/* päta */
.pata{background:var(--zelena-900);color:var(--krem-200);padding-block:3.5rem 2rem}
.pata .shell{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2rem}
.pata img{height:64px;width:auto}
.pata h3{font:600 .74rem/1.2 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--mosadz-300);margin-bottom:.6rem}
.pata p,.pata li{font-size:.95rem}
.pata ul{list-style:none;margin:0;padding:0}
.pata a{display:inline-flex;align-items:center;min-height:var(--prst);color:var(--krem-100);text-decoration-color:var(--mosadz-500)}
.pata__spodok{grid-column:1/-1;border-top:1px solid rgba(247,241,232,.14);padding-top:1.2rem;font-size:.82rem;color:var(--krem-300)}
@media (max-width:760px){.pata .shell{grid-template-columns:1fr}}

/* mobilná lišta */
.lista{display:none}
@media (max-width:760px){
  .lista{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:.6rem var(--gut) calc(.6rem + env(safe-area-inset-bottom));background:var(--krem-50);border-top:1px solid var(--krem-300);box-shadow:0 -10px 24px rgba(14,38,34,.08)}
  .lista .btn{justify-content:center}
  body{padding-bottom:72px}
}

/* pohyb len keď je JS a nie je reduced-motion */
@media (prefers-reduced-motion:no-preference){
  .js .odhal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
  .js .odhal.vidno{opacity:1;transform:none}
  .zrkadlo img{transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
  .js .hero .zrkadlo img{transform:scale(1.06)}
  .js .hero.pripravene .zrkadlo img{transform:scale(1)}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto !important;transition:none !important;animation:none !important}}
.udaje small.otvorene{display:flex;margin-top:.6rem}
