@import url("fonts/fonts.css?v=fafb0a6f");

:root{
  --graf:#12161C; --graf-2:#1C222A; --graf-3:#2A323C;
  --papier:#F2F3EE; --papier-2:#FFFFFF;
  --lime:#C6EE3A; --lime-tm:#4B6E00;
  --text:#12161C; --text-2:#4A525C;
  --svetly:#EEF1F4; --svetly-2:#AEB6BF;
  --linka:#D5D8D0;
  --prst:44px;
  --disp:'Chakra Petch', 'Onest', system-ui, sans-serif;
  --body:'Onest', system-ui, sans-serif;
  --mono:'Azeret Mono', ui-monospace, monospace;
  --nav-h:68px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
img{max-width:100%;height:auto;display:block}
html{font-size:clamp(15px, .45vw + 13.3px, 19px);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--body);color:var(--text);background:var(--papier);line-height:1.55}
h1,h2,h3{font-family:var(--disp);font-weight:700;line-height:1.04;margin:0;letter-spacing:-.01em}
h2{font-size:clamp(1.9rem, 3.4vw, 3rem);max-width:22ch}
h3{font-size:1.5rem;font-weight:600}
a{color:inherit}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.shell{max-width:76rem;margin:0 auto;padding-inline:clamp(16px, 4vw, 3rem)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:0;background:var(--lime);color:var(--graf);padding:.6rem 1rem;z-index:99}
.skip:focus{left:8px}

/* doplniť — viditeľné, vysoká špecificita */
body .doplnit, body span.doplnit, body p .doplnit{display:inline-block;background:#FFF1B8;color:#5A4300;border:1px dashed #A07800;
  font:500 .78rem/1.3 var(--mono);padding:.15rem .45rem;border-radius:3px;letter-spacing:0;text-transform:none;vertical-align:middle}

.eyebrow{font:500 .78rem/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--lime-tm);margin:0 0 1rem;display:flex;align-items:center;gap:.6rem}
.eyebrow::before{content:"";width:1.6rem;height:0;border-top:2px dashed currentColor}
.eyebrow--dark{color:var(--lime)}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--prst);padding:.7rem 1.3rem;border-radius:4px;
  font:600 1rem/1.1 var(--disp);letter-spacing:.02em;text-decoration:none;border:2px solid transparent;transition:transform .15s, background-color .15s, color .15s}
.btn:hover{transform:translateY(-1px)}
.btn--lime{background:var(--lime);color:var(--graf)}
.btn--lime:hover{background:#D6F76A}
.btn--ghost{border-color:#5A6470;color:var(--svetly)}
.btn--ghost:hover{border-color:var(--lime);color:var(--lime)}
.btn--dark{background:var(--graf);color:#fff}

/* NAV */
.nav{position:sticky;top:0;z-index:50;background:var(--graf);color:var(--svetly);border-bottom:1px solid var(--graf-3)}
.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:44px;width:auto}
.nav__links{display:flex;gap:.4rem;margin-left:auto}
.nav__links a{display:inline-flex;align-items:center;min-height:var(--prst);padding:0 .8rem;text-decoration:none;font:500 .95rem var(--body);color:var(--svetly-2)}
.nav__links a:hover{color:var(--lime)}
.nav__call{padding-block:.5rem}
.nav__burger{display:none;margin-left:auto;width:var(--prst);height:var(--prst);background:none;border:1px solid var(--graf-3);border-radius:4px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px}
.nav__burger span{display:block;width:20px;height:2px;background:var(--svetly);transition:transform .2s}
.nav__burger[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.nav__burger[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.drawer{position:fixed;left:0;right:0;top:var(--nav-h);background:var(--graf);border-bottom:1px solid var(--graf-3);display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1rem 16px 1.4rem;box-shadow:0 14px 28px rgba(0,0,0,.55)}
.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(--disp);color:var(--svetly)}
.drawer .btn{margin-top:.6rem;width:100%;max-width:22rem}
@media (max-width:760px){
  .nav__links,.nav__call{display:none}
  .nav__burger{display:flex}
  .nav__logo img{height:34px}
}
@media (min-width:761px){.drawer{display:none !important}}

/* HERO */
.hero{background:var(--graf);color:var(--svetly);min-height:calc(100svh - var(--nav-h));display:flex;align-items:center;overflow:hidden;
  background-image:linear-gradient(var(--graf-2) 1px, transparent 1px),linear-gradient(90deg, var(--graf-2) 1px, transparent 1px);background-size:48px 48px;background-position:center}
.hero__in{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,4vw,4rem);align-items:center;padding-block:clamp(1.5rem,5vh,4rem);width:100%}
.hero__in > *{min-width:0}
.hero h1{font-size:clamp(2.3rem, min(5.6vw, 9vh), 5rem);max-width:13ch}
.hero__lead{font-size:clamp(1.05rem, min(1.5vw, 2.4vh), 1.3rem);color:var(--svetly-2);max-width:34ch;margin:clamp(.8rem,2.2vh,1.4rem) 0 clamp(1.1rem,3vh,2rem)}
.hero__cta{display:flex;flex-wrap:wrap;gap:.7rem}
.hero__facts{list-style:none;margin:clamp(1.2rem,3.5vh,2.4rem) 0 0;padding:0;display:flex;gap:2.2rem;flex-wrap:wrap}
@media (max-width:420px){.hero__facts{gap:1.2rem}}
.hero__facts li{display:flex;flex-direction:column;gap:.15rem;border-left:2px solid var(--lime);padding-left:.8rem}
.hero__facts b{font:600 1.35rem/1.1 var(--disp);color:#fff}
.hero__facts span{font:400 .8rem/1.3 var(--mono);color:var(--svetly-2);letter-spacing:.04em}
.hero__facts .stav.je-otvorene{color:var(--lime)}

/* signature: zdvihák s laserom */
.rig{margin:0;justify-self:center;width:100%;max-width:26rem}
.rig__svg{width:100%;height:auto;max-height:calc(100svh - var(--nav-h) - 3rem);display:block;overflow:visible}
.rig__grid path{stroke:#3A4450;stroke-width:1;stroke-dasharray:2 6;fill:none}
.rig__axle line{stroke:#5A6470;stroke-width:3;stroke-dasharray:10 7;transition:stroke .6s ease .9s}
.rig__axle text,.rig__ok text{font:500 11px var(--mono);letter-spacing:.14em;fill:var(--svetly-2)}
.rig__body{fill:none;stroke:var(--svetly);stroke-width:12}
.rig__glass{fill:var(--svetly)}
.rig__wheel rect{fill:var(--svetly)}
.rig__wheel{transform-box:fill-box;transform-origin:center}
.rig__wheel--fl{transform:rotate(-9deg)}
.rig__wheel--fr{transform:rotate(9deg)}
.rig__ok{opacity:0;transition:opacity .4s ease 1.3s}
.rig__ok rect{fill:var(--lime)}
.rig__ok text{fill:var(--graf);text-anchor:middle;font-weight:600}
.rig.hotovo .rig__wheel--fl,.rig.hotovo .rig__wheel--fr{transform:rotate(0)}
.rig.hotovo .rig__axle line{stroke:var(--lime)}
.rig.hotovo .rig__ok{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .rig__wheel{transition:transform 1.1s cubic-bezier(.6,.05,.25,1) .3s}
}

@media (max-width:900px){
  .hero__in{grid-template-columns:1fr}
  .rig{max-width:15rem;order:-1;justify-self:start}
  .rig__svg{max-height:34svh}
}
@media (max-width:900px) and (max-height:760px){ .rig{display:none} }

/* SEKCIE */
.sec{padding-block:clamp(3.5rem,9vw,7rem)}
.sec--paper{background:var(--papier);color:var(--text)}
.sec--dark{background:var(--graf);color:var(--svetly)}

.sluzby{list-style:none;margin:2.5rem 0 0;padding:0;border-top:2px solid var(--graf)}
.sluzba{display:grid;grid-template-columns:5rem 1fr;gap:1rem;padding:1.6rem 0;border-bottom:1px dashed #9AA19A}
.sluzba > *{min-width:0}
.sluzba__n{font:500 1rem var(--mono);color:var(--lime-tm);padding-top:.35rem}
.sluzba h3{font-size:clamp(1.6rem,3vw,2.4rem)}
.sluzba p{margin:.5rem 0 0;color:var(--text-2);max-width:48ch;font-size:1.05rem}
@media (min-width:900px){
  .sluzba{grid-template-columns:6rem 1fr}
  .sluzba > div{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;align-items:baseline}
  .sluzba p{margin:0}
}
.sluzby__pozn{margin:1.6rem 0 0;color:var(--text-2);display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}

.citat{background:var(--lime);color:var(--graf);padding-block:clamp(3rem,8vw,6rem)}
.citat__q{font:700 clamp(2rem,6vw,5rem)/1.04 var(--disp);margin:0;max-width:18ch;letter-spacing:-.015em}
.citat__a{font:500 .85rem var(--mono);letter-spacing:.08em;margin:1.2rem 0 0;color:#2B3300}

.rec__head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap}
.pas{--odsad:max(clamp(16px,4vw,3rem), calc((100vw - 76rem) / 2 + clamp(16px,4vw,3rem)));
  list-style:none;margin:2.2rem 0 0;padding:0 var(--odsad) 1rem;display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;
  scroll-padding-inline:var(--odsad);scrollbar-width:thin}
.karta{flex:0 0 min(21rem, 82vw);scroll-snap-align:start;background:var(--papier-2);color:var(--text);border:1px solid var(--linka);border-top:4px solid var(--graf);
  padding:1.4rem 1.4rem 1.2rem;border-radius:4px;display:flex;flex-direction:column;justify-content:space-between;gap:1rem}
.karta blockquote{margin:0;font-size:1rem;line-height:1.55}
.karta cite{font:500 .8rem var(--mono);font-style:normal;letter-spacing:.06em;color:var(--text-2)}

.kontakt{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.kontakt > *{min-width:0}
.kontakt__tel{display:inline-flex;align-items:center;min-height:var(--prst);font:700 clamp(2.2rem,5vw,3.6rem)/1.04 var(--disp);color:var(--lime);text-decoration:none;margin:1.4rem 0 1rem}
.kontakt address{font-style:normal;display:flex;flex-direction:column;align-items:flex-start;color:var(--svetly)}
.kontakt address span{padding:.4rem 0}
.kontakt address a{display:inline-flex;align-items:center;min-height:var(--prst);color:var(--svetly-2);text-underline-offset:3px}
.kontakt address a:hover{color:var(--lime)}
.foto-slot{margin-top:1.6rem;aspect-ratio:16/7;border:2px dashed #5A6470;border-radius:4px;display:flex;align-items:center;justify-content:center;padding:1rem;text-align:center}
.hodiny{background:var(--graf-2);color:var(--svetly);border:1px solid var(--graf-3);border-radius:4px;padding:1.6rem}
.hodiny__stav{font:600 1.1rem var(--disp);margin:0 0 1rem;color:var(--svetly)}
.hodiny__stav.je-otvorene{color:var(--lime)}
.hodiny table{width:100%;border-collapse:collapse;font-size:1rem}
.hodiny th{text-align:left;font-weight:400;color:var(--svetly-2);padding:.55rem .5rem .55rem 0;border-bottom:1px solid var(--graf-3)}
.hodiny td{text-align:right;font-family:var(--mono);font-size:.92rem;padding:.55rem 0;border-bottom:1px solid var(--graf-3);color:var(--svetly)}
.hodiny tr.dnes th,.hodiny tr.dnes td{color:var(--graf);background:var(--lime);font-weight:600}
.hodiny tr.dnes th{padding-left:.5rem}
.hodiny tr.dnes td{padding-right:.5rem}
@media (max-width:860px){ .kontakt{grid-template-columns:1fr} }

.foot{background:#0B0E12;color:var(--svetly-2);padding-block:2.5rem}
.foot__in{display:flex;flex-wrap:wrap;gap:1.5rem 3rem;align-items:center;justify-content:space-between}
.foot img{height:48px;width:auto}
.foot p{margin:0;font-size:.9rem}
.foot a{display:inline-flex;align-items:center;min-height:var(--prst);color:var(--svetly)}

/* odhaľovanie len s JS */
@media (prefers-reduced-motion:no-preference){
  .js .odhal{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease}
  .js .odhal.videt{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none !important;animation:none !important}
}
