@font-face{font-family:'Zilla Slab';src:url(fonts/zilla-slab-700.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Zilla Slab';src:url(fonts/zilla-slab-500.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Instrument Sans';src:url(fonts/instrument-sans-var.woff2) format('woff2');font-weight:400 700;font-style:normal;font-display:swap}

:root{
  --ink:#22262B; --ink-2:#3A4047; --muted:#5C6168; --line:#D9D0BF;
  --cream:#F5EFE3; --paper:#FBF8F1; --night:#1B1E22;
  --rust:#B4532A; --rust-h:#9A4521; --rust-d:#E07A4E; --ice:#DCE8EA;
  --display:'Zilla Slab',Georgia,serif; --body:'Instrument Sans',system-ui,sans-serif;
  --prst:44px; --nav-h:64px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{font-size:clamp(15px,.45vw + 13.3px,19px);scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 12px)}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);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(--display);font-feature-settings:'lnum' 1;font-weight:700;line-height:1.06;margin:0;letter-spacing:-.01em}
h2{font-size:clamp(1.9rem,3.4vw,2.9rem)}
h3{font-size:1.35rem;line-height:1.2}
p{margin:0}
.wrap{width:100%;max-width:72rem;margin:0 auto;padding-inline:clamp(16px,4vw,2.5rem)}
.skip{position:absolute;left:-999px;top:0;min-height:var(--prst);display:inline-flex;align-items:center;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:99}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--rust);outline-offset:3px}
.eyebrow{font-size:.78rem;font-weight:650;letter-spacing:.18em;text-transform:uppercase;color:var(--rust-h);margin-bottom:.9rem}
.eyebrow--light{color:var(--rust-d)}
.num{font-family:var(--body);font-variant-numeric:lining-nums tabular-nums}

/* tlačidlá */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:var(--prst);padding:.7rem 1.35rem;border-radius:4px;font:600 1rem/1.2 var(--body);text-decoration:none;border:2px solid transparent;transition:background .2s,color .2s,transform .2s,border-color .2s}
.btn:hover{transform:translateY(-2px)}
.btn--rust{background:var(--rust);color:#fff}
.btn--rust:hover{background:var(--rust-h)}
.btn--ink{background:var(--ink);color:var(--cream)}
.btn--ink:hover{background:var(--ink-2)}
.btn--line{border-color:var(--ink);color:var(--ink);background:transparent}
.btn--line:hover{background:var(--ink);color:var(--cream)}
.link{display:inline-flex;align-items:center;min-height:var(--prst);font-weight:600;color:var(--rust-h);text-underline-offset:.25em}

/* doplniť – vysoká špecificita, aby ju neprebil žiadny komponent */
body .doplnit{display:inline-block;background:#FFE9A8;color:#5A3B00;border:1px dashed #B07A00;border-radius:3px;padding:.05em .45em;font:600 .82rem/1.5 var(--body);letter-spacing:0;text-transform:none}
body .doplnit-box{border:2px dashed #B07A00;background:#FFF6D9;color:#3D2A00}

/* navigácia */
.nav{position:sticky;top:0;z-index:50;background:var(--cream);border-bottom:1px solid var(--line)}
.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-weight:550}
.nav__links a:hover{color:var(--rust-h)}
.nav__burger{display:none;width:var(--prst);height:var(--prst);border:0;background:transparent;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:7px}
.nav__burger span{display:block;width:24px;height:2.5px;background:var(--ink);transition:transform .25s}
.nav__burger[aria-expanded="true"] span:first-child{transform:translateY(4.75px) rotate(45deg)}
.nav__burger[aria-expanded="true"] span:last-child{transform:translateY(-4.75px) rotate(-45deg)}
.drawer{position:absolute;left:0;right:0;top:var(--nav-h);background:var(--cream);border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1rem 16px 1.4rem;box-shadow:0 18px 30px rgba(0,0,0,.12)}
.drawer a:not(.btn){display:flex;align-items:center;justify-content:center;min-height:var(--prst);width:100%;text-decoration:none;font:600 1.15rem var(--body)}
.drawer .btn{margin-top:.5rem;width:100%}

/* hero */
.hero{position:relative;min-height:calc(100svh - var(--nav-h));display:flex;flex-direction:column;justify-content:center;padding-block:clamp(2rem,6vh,4.5rem) 0;overflow:hidden}
.hero__in{display:grid;grid-template-columns:1.35fr .9fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;position:relative;z-index:1;padding-bottom:clamp(5rem,15vh,9rem)}
.hero__txt,.sign{min-width:0}
h1{font-size:clamp(2.6rem,min(6.4vw,9.6vh),5.6rem);line-height:1.04;margin-bottom:clamp(1rem,2.5vh,1.5rem)}
.lead{font-size:clamp(1.05rem,min(1.5vw,2.4vh),1.3rem);color:var(--ink-2);max-width:32em;margin-bottom:clamp(1.3rem,3.5vh,2.2rem)}
.hero__cta{display:flex;flex-wrap:wrap;gap:.8rem}
.sign{background:var(--ink);color:var(--cream);border-radius:6px;padding:1.3rem 1.5rem;box-shadow:8px 8px 0 var(--rust);position:relative}
.sign::before,.sign::after{content:"";position:absolute;top:12px;width:8px;height:8px;border-radius:50%;background:var(--ink-2);box-shadow:inset 0 0 0 2px #555C63}
.sign::before{left:12px}.sign::after{right:12px}
.sign__row{display:grid;grid-template-columns:5.2rem 1fr;gap:.8rem;padding:.8rem 0;border-bottom:1px dashed #4A5058;align-items:baseline}
.sign__row:last-child{border-bottom:0}
.sign__k{font-size:.72rem;font-weight:650;letter-spacing:.16em;text-transform:uppercase;color:#C9C2B4}
.sign__v{font-family:var(--display);font-variant-numeric:lining-nums;font-weight:500;font-size:1.2rem;line-height:1.3}
.sign__v b{font-weight:700;color:var(--rust-d)}
.sign__stav.is-open{color:#9FD9A8}
.sign__stav.is-closed{color:#F3B38F}
.ridge{position:absolute;left:0;right:auto;bottom:-1px;width:100%;height:clamp(70px,13vh,130px);fill:var(--ink);z-index:0}
.ridge path{transform-origin:50% 100%}

/* sekcie */
.sec{padding-block:clamp(4rem,9vw,7rem)}
.sec h2{margin-bottom:clamp(1.6rem,3vw,2.6rem)}
.sec--sluzby{background:var(--ink);color:var(--cream)}
.sec--sluzby .eyebrow{color:var(--rust-d)}
.menu{list-style:none;margin:0;padding:0;border-top:1px solid #444A52}
.menu__row{display:grid;grid-template-columns:3.2rem 1fr auto;gap:1.2rem;align-items:baseline;padding:1.4rem 0;border-bottom:1px solid #444A52;transition:background .25s,padding .25s}
.menu__row:hover{background:rgba(255,255,255,.035);padding-inline:.6rem}
.menu__n{font-family:var(--display);font-weight:700;color:var(--rust-d);font-size:1.1rem}
.menu__row p{color:#CFC8BA;margin-top:.3rem}
.menu__p{text-align:right}

.sec--roky{background:var(--night);color:var(--cream);position:relative}
.sec--roky::before{content:"";position:absolute;inset:0 0 auto;height:14px;background:linear-gradient(135deg,var(--ink) 7px,transparent 0) 0 0/14px 14px repeat-x,linear-gradient(225deg,var(--ink) 7px,transparent 0) 0 0/14px 14px repeat-x}
.yrs{display:grid;grid-template-columns:1fr;gap:2.4rem}
.yr{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.7rem}
.yr__n{font-family:var(--display);font-weight:700;font-size:clamp(4.5rem,11vw,8rem);line-height:1;color:var(--rust-d);font-variant-numeric:lining-nums;font-feature-settings:'lnum' 1}
.yr__u{font-family:var(--display);font-weight:500;font-size:1.4rem}
.yr blockquote{flex-basis:100%;margin:1rem 0 0;font-size:1.05rem;color:#E4DED2;max-width:30em}
.yr figcaption{flex-basis:100%;margin-top:.5rem;font-size:.85rem;color:#B9B2A4}

/* recenzie – karusel, ľavá medzera vnútri scrollera */
.rev__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 2rem}
.rev__head h2{margin-bottom:1.4rem}
.revs{--pad:max(clamp(16px,4vw,2.5rem),calc((100vw - 72rem)/2 + clamp(16px,4vw,2.5rem)));list-style:none;margin:0;display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.4rem var(--pad) 1.4rem;scroll-padding-inline:var(--pad);scrollbar-width:thin}
.rev{flex:0 0 min(84vw,22rem);scroll-snap-align:start;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:1.4rem 1.4rem 1.2rem;display:flex;flex-direction:column;justify-content:space-between;gap:1.2rem;position:relative}
.rev::before{content:"„";font-family:var(--display);font-weight:700;font-size:3.4rem;line-height:.6;color:var(--rust)}
.rev blockquote{margin:0;font-size:1.02rem;flex:1}
.rev__who{font-size:.85rem;color:var(--muted);font-weight:600}

.sec--foto{padding-block:0 clamp(3rem,7vw,5rem)}
.foto{display:flex;gap:1.4rem;align-items:center;border-radius:6px;padding:1.4rem 1.6rem}
.foto img{width:56px;flex:none}

.sec--kontakt{background:var(--paper);border-top:1px solid var(--line)}
.kontakt{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.kontakt>*{min-width:0}
address{font-style:normal;display:grid;gap:.6rem;margin-bottom:1.6rem;font-size:1.08rem}
.tel{display:inline-flex;align-items:center;min-height:var(--prst);font-size:1.5rem;font-weight:700;color:var(--rust-h);text-decoration:none;font-variant-numeric:lining-nums}
.hodiny{border-collapse:collapse;width:100%;max-width:26rem;margin-bottom:1.8rem}
.hodiny th,.hodiny td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--line);font-weight:500}
.hodiny td{text-align:right;font-variant-numeric:tabular-nums}
.hodiny tr.dnes{background:var(--ink);color:var(--cream)}
.hodiny tr.dnes th{font-weight:700}
.mapa{border-radius:6px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3.4;background:var(--ice)}
.mapa iframe{width:100%;height:100%;border:0;display:block}

.foot{background:var(--night);color:#CFC8BA;padding:3rem 0 6rem}
.foot__in{display:flex;flex-wrap:wrap;gap:1.5rem 3rem;align-items:center;justify-content:space-between}
.foot img{height:64px;width:auto}
.foot__txt{display:grid;gap:.4rem;font-size:.92rem}
.foot a{display:inline-flex;align-items:center;min-height:var(--prst);color:var(--cream)}

.callbar{display:none}

/* odhalenie – len s JS a bez obmedzenia pohybu */
@media (prefers-reduced-motion:no-preference){
  .js .vynor{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
  .js .vynor.je{opacity:1;transform:none}
  .js .ridge path{transform:scaleY(0);transition:transform 1.1s cubic-bezier(.2,.8,.2,1) .15s}
  .js .ridge.je path{transform:scaleY(1)}
}

@media (min-width:760px){ .yrs{grid-template-columns:repeat(3,1fr)} }
@media (max-width:900px){
  .hero__in{grid-template-columns:1fr}
  .kontakt{grid-template-columns:1fr}
}
@media (max-width:760px){
  .nav__links,.nav__cta{display:none}
  .nav__burger{display:flex}
  .nav__logo img{height:32px}
  .hero{min-height:auto}
  .hero__in{padding-bottom:5.5rem}
  .menu__row{grid-template-columns:2.2rem 1fr;row-gap:.6rem}
  .menu__p{grid-column:2;text-align:left}
  .foto{flex-direction:column;align-items:flex-start}
  .callbar{display:flex;align-items:center;justify-content:center;position:fixed;left:12px;right:12px;bottom:12px;z-index:40;min-height:52px;background:var(--rust);color:#fff;font-weight:700;text-decoration:none;border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
}
