:root{--ink:#333;--mut:#555;--line:#e8e8e8;--gold:#a8895a;--gold-d:#8a6f42 }*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.6;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none;transition:color .25s ease}a:hover{color:var(--gold-d)}h3{font-size:28px;font-weight:500;line-height:1.35;color:var(--gold-d)}h4{font-size:18px;font-weight:500;line-height:1.5}::selection{background:var(--gold);color:#fff}.demo{position:sticky;top:0;z-index:60;background:#333;color:#fff;font-size:13px;line-height:1.4;text-align:center;padding:7px 14px}.hdr{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;position:sticky;top:29px;z-index:50;background:#fffffff5;backdrop-filter:blur(6px);border-bottom:1px solid var(--line);transition:box-shadow .3s ease}.hdr:hover{box-shadow:0 6px 24px #0000000d}.hlogo img{height:44px;width:auto;transition:transform .35s cubic-bezier(.22,.9,.3,1.2)}.hlogo:hover img{transform:scale(1.05)}.menu{display:flex;gap:34px}.menu a{font-size:14px;font-weight:500;letter-spacing:.4px;position:relative;padding:6px 0}.menu a:after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--gold);transition:width .3s cubic-bezier(.6,0,.2,1)}.menu a:hover:after{width:100%}#burger{display:none;background:none;border:0;cursor:pointer;width:30px;height:24px;position:relative}#burger span{position:absolute;left:0;width:100%;height:2px;background:#333;transition:.3s ease}#burger span:nth-child(1){top:3px}#burger span:nth-child(2){top:11px}#burger span:nth-child(3){top:19px}#burger.x span:nth-child(1){top:11px;transform:rotate(45deg)}#burger.x span:nth-child(2){opacity:0}#burger.x span:nth-child(3){top:11px;transform:rotate(-45deg)}.mmenu{display:none;flex-direction:column;background:#fff;border-bottom:1px solid var(--line);overflow:hidden;max-height:0;transition:max-height .45s cubic-bezier(.6,0,.2,1);position:sticky;top:109px;z-index:49}.mmenu.open{max-height:260px}.mmenu a{padding:14px 26px;font-size:18px;border-top:1px solid var(--line)}.mmenu a:hover{color:var(--gold-d)}.sec{padding:56px 0}.wrap{max-width:1140px;margin:0 auto;padding:0 40px}.wrap.narrow{max-width:820px}.wrap.wide{max-width:1360px}.svc{padding:72px 0 84px;text-align:center;background-size:cover;background-position:center;background-repeat:no-repeat}.svc-i{margin:0 auto 14px}.svc h3{display:inline-block}.svc p{color:#2b2b2b;font-weight:500;margin:-8px 0 22px;font-size:15px;text-shadow:0 0 12px rgba(255,255,255,.9)}.svc h3{text-shadow:0 0 14px rgba(255,255,255,.9)}.onas ul{list-style:none}.onas li{font-size:19px;line-height:1.7;padding:7px 0;display:flex;gap:16px;align-items:flex-start}.arr{color:var(--gold);font-weight:700;display:inline-block;animation:nudge 2.8s ease-in-out infinite}.onas hr{border:0;border-top:1px solid var(--line);margin:30px 0 26px}.soc-t{font-size:16px;margin-bottom:14px}.soc{display:flex;gap:16px}.soc a{display:inline-flex;transition:transform .35s cubic-bezier(.22,.9,.3,1.4)}.soc a:hover{transform:translateY(-4px) scale(1.08)}.gal{padding:56px 0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.g{position:relative;aspect-ratio:3/2;overflow:hidden;background:#f4f4f4;cursor:pointer;margin:0}.g img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease-out}.g .ov{position:absolute;inset:0;background:#8a6f4238;opacity:0;transition:opacity .35s ease;pointer-events:none}.g:hover .ov{opacity:1}.g:hover img{transform:scale(1.08)}.g.done{animation:none;transition:transform .45s ease-out;will-change:transform}.g.p0.done{transform:translateY(var(--py0,0px))}.g.p1.done{transform:translateY(var(--py1,0px))}.g.p2.done{transform:translateY(var(--py2,0px))}.g.p3.done{transform:translateY(var(--py3,0px))}.krow{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:center}.kc{padding:26px 16px;border-radius:4px;transition:background .3s ease,transform .35s cubic-bezier(.2,.7,.2,1)}.kc:hover{background:#faf7f1;transform:translateY(-5px)}.kc svg{margin-bottom:14px;animation:floaty 3.6s ease-in-out infinite}.kc:nth-child(2) svg{animation-delay:1.2s}.kc:nth-child(3) svg{animation-delay:2.4s}.kc a{border-bottom:1px solid transparent;transition:border-color .25s ease,color .25s ease}.kc a:hover{border-color:var(--gold);color:var(--gold-d)}.regions-sec{padding:20px 0 30px}.regions{max-width:900px;margin:0 auto;padding:0 30px;text-align:center;font-size:14px;line-height:1.8;color:var(--mut)}.refs{padding:30px 0 60px}.rrow{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;align-items:center;margin-bottom:26px}.rrow.r2{grid-template-columns:repeat(2,1fr);max-width:560px;margin:0 auto}.rc{display:flex;align-items:center;justify-content:center;padding:14px 20px;transition:transform .35s cubic-bezier(.2,.7,.2,1),filter .35s ease;filter:grayscale(.4)}.rc:hover{transform:translateY(-4px);filter:grayscale(0)}.rc img{max-height:92px;width:auto;max-width:100%;object-fit:contain}.foot{border-top:1px solid var(--line);padding:18px 40px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:14px;color:var(--mut)}.foot span:first-child{font-weight:500;color:var(--gold-d)}.probes{position:absolute;inset:0;pointer-events:none;z-index:-1}.probes i{position:absolute;left:0;width:2px;height:2px}.ed{outline:none;cursor:text;transition:background .2s ease;border-radius:3px}.ed:hover{background:#a8895a1f}.ed:focus{background:#a8895a29}.js .an{opacity:0}.js .an.on.fl{animation:fl .85s cubic-bezier(.2,.65,.2,1) both;animation-delay:var(--d,0s)}.js .an.on.fu{animation:fu .85s cubic-bezier(.2,.65,.2,1) both;animation-delay:var(--d,0s)}.js .an.on.s0{animation:fu .8s cubic-bezier(.2,.65,.2,1) both;animation-delay:var(--d,0s)}.js .an.on.s1{animation:fl .8s cubic-bezier(.2,.65,.2,1) both;animation-delay:var(--d,0s)}.js .an.on.s2{animation:fu .8s cubic-bezier(.2,.65,.2,1) both;animation-delay:var(--d,0s)}.js .an.on.s3{animation:fl .8s cubic-bezier(.2,.65,.2,1) both;animation-delay:var(--d,0s)}.js .an.noanim{opacity:1;animation:none}@keyframes fl{0%{opacity:0;transform:translate(-55px)}to{opacity:1;transform:none}}@keyframes fu{0%{opacity:0;transform:translateY(45px)}to{opacity:1;transform:none}}@keyframes nudge{0%,to{transform:translate(0)}50%{transform:translate(6px)}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media(prefers-reduced-motion:reduce){.js .an{opacity:1;animation:none!important}.arr,.kc svg{animation:none!important}.g.done,.g img{transform:none!important}}@media(max-width:900px){.hdr{padding:0 20px}.wrap{padding:0 22px}.grid{grid-template-columns:repeat(3,1fr)}.rrow{grid-template-columns:repeat(2,1fr)}.rrow.r2{max-width:none}.krow{grid-template-columns:1fr;gap:10px}}@media(max-width:768px){.menu{display:none}#burger{display:block}.mmenu{display:flex}h3{font-size:23px}.onas li{font-size:17px}.sec{padding:40px 0}.svc{padding:52px 0 60px}}@media(max-width:560px){.grid{grid-template-columns:repeat(3,1fr);gap:4px}.foot{flex-direction:column;gap:4px}}.mk{flex:none;width:34px;height:34px;margin-top:1px;border:1.5px solid var(--gold);border-radius:50%;color:var(--gold-d);font-size:13px;font-weight:500;letter-spacing:.5px;display:inline-flex;align-items:center;justify-content:center;transition:background .35s,color .35s,transform .35s cubic-bezier(.22,.9,.3,1.4)}.onas li:hover .mk{background:var(--gold);color:#fff;transform:scale(1.1)}.soc{gap:8px;position:relative;z-index:5}.soc a{padding:7px;cursor:pointer;touch-action:manipulation}.mk{width:9px;height:9px;margin-top:11px;border:0;background:var(--gold);border-radius:50%;font-size:0}.onas li:hover .mk{transform:scale(1.35);background:var(--gold-d)}
/* ===== FX LAYER ===== */
body{animation:pgin .9s ease both}
@keyframes pgin{from{opacity:0}to{opacity:1}}
#fxbar{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#a8895a,#e6c98f,#a8895a);z-index:200;pointer-events:none}
.hdr{transition:box-shadow .3s ease,background .3s ease}
.hdr.sc{box-shadow:0 8px 30px #0000001a;background:#fffffffa}
.hlogo img{transition:transform .35s cubic-bezier(.22,.9,.3,1.2),height .35s ease}
.hdr.sc .hlogo img{height:36px}
@keyframes fl{0%{opacity:0;transform:translateX(-70px) scale(.97)}to{opacity:1;transform:none}}
@keyframes fu{0%{opacity:0;transform:translateY(60px) scale(.96)}to{opacity:1;transform:none}}
.svc{position:relative;overflow:hidden}
.svc .wrap{position:relative;z-index:1}
.svc:before,.svc:after{display:none;content:"";position:absolute;border-radius:50%;filter:blur(70px);opacity:.45;pointer-events:none;background:radial-gradient(circle,#e6c98f,#a8895a00 70%)}
.svc:before{width:460px;height:460px;left:-120px;top:-100px;animation:orb1 14s ease-in-out infinite}
.svc:after{width:380px;height:380px;right:-100px;bottom:-90px;animation:orb2 17s ease-in-out infinite}
@keyframes orb1{50%{transform:translate(160px,90px) scale(1.2)}}
@keyframes orb2{50%{transform:translate(-140px,-70px) scale(1.25)}}
.svc h3{position:relative;transition:letter-spacing .5s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
.svc h3:after{content:"";position:absolute;left:0;bottom:-4px;height:2px;width:100%;background:linear-gradient(90deg,transparent,#a8895a,transparent);transform:scaleX(0);transform-origin:50% 50%;transition:transform .6s cubic-bezier(.6,0,.2,1)}
.svc-i.on h3:after{transform:scaleX(1);transition-delay:.5s}
.svc h3:hover{letter-spacing:.6px;transform:scale(1.02)}
.mk{position:relative}
.mk:after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1.5px solid var(--gold);opacity:0;animation:ping 2.6s ease-out infinite}
@keyframes ping{0%{transform:scale(.6);opacity:.7}100%{transform:scale(1.9);opacity:0}}
.onas li{transition:transform .4s cubic-bezier(.2,.7,.2,1),color .3s ease}
.onas li:hover{transform:translateX(10px);color:var(--gold-d)}
.onas hr{transform-origin:0 50%}
hr.an.on{animation:hrg 1.1s cubic-bezier(.6,0,.2,1) both!important}
@keyframes hrg{from{transform:scaleX(0);opacity:1}to{transform:scaleX(1);opacity:1}}
.g{--mx:0;--my:0;box-shadow:0 0 0 #0000;transition:box-shadow .4s ease,transform .45s ease-out}
.g:hover{box-shadow:0 18px 40px #00000030;z-index:2}
.g:hover img{transform:scale(1.14) translate(calc(var(--mx)*-12px),calc(var(--my)*-12px));transition:transform .25s ease-out}
.g:after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,#ffffff59,transparent);transform:skewX(-20deg);pointer-events:none}
.g:hover:after{left:130%;transition:left .8s ease}
.kc svg path,.kc svg rect,.kc svg circle{stroke-dasharray:140;stroke-dashoffset:0}
.kc.on svg path,.kc.on svg rect,.kc.on svg circle{animation:draw 1.8s ease .3s both}
@keyframes draw{from{stroke-dashoffset:140}to{stroke-dashoffset:0}}
.kc{position:relative;overflow:hidden}
.kc:before{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--gold);transform:scaleX(0);transition:transform .4s ease}
.kc:hover:before{transform:scaleX(1)}
.rc{transition:transform .35s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.rc:hover{transform:translateY(-6px) scale(1.06)}
.foot span:first-child{background:linear-gradient(90deg,#8a6f42,#e6c98f,#8a6f42);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:shine 4s linear infinite}
@keyframes shine{to{background-position:-200% 0}}
#lb{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;background:#000000e6;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s}
#lb.open{opacity:1;visibility:visible}
#lb img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:4px;transform:scale(.88);opacity:0;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .35s ease;box-shadow:0 30px 80px #000}
#lb.open img{transform:none;opacity:1}
#lb button{position:absolute;background:#ffffff1a;border:1px solid #ffffff40;color:#fff;font-size:26px;width:48px;height:48px;border-radius:50%;cursor:pointer;transition:background .25s,transform .25s}
#lb button:hover{background:#a8895a;transform:scale(1.1)}
#lbx{top:18px;right:18px}#lbp{left:18px;top:50%;margin-top:-24px}#lbn{right:18px;top:50%;margin-top:-24px}
#glow{position:fixed;left:0;top:0;width:340px;height:340px;margin:-170px 0 0 -170px;border-radius:50%;background:radial-gradient(circle,#a8895a26,transparent 65%);pointer-events:none;z-index:5;opacity:0;transition:opacity .4s}
@media(hover:none){#glow{display:none}}
@media(prefers-reduced-motion:reduce){body{animation:none}.svc:before,.svc:after,.mk:after,.foot span:first-child{animation:none}#glow{display:none}.kc.on svg *{animation:none}}


#o-nas,#galeria,#kontakt,#referencie{scroll-margin-top:72px}

#galeria figure.g{cursor:zoom-in}
.lbx-lock,.lbx-lock body{overflow:hidden}
.lbx{position:fixed;left:0;right:0;top:0;height:100vh;z-index:99999;background:rgba(10,10,10,.94);display:none;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}
.lbx.on{display:flex}
.lbx-i{max-width:100vw;max-height:84%;object-fit:contain;user-select:none;-webkit-user-select:none}
.lbx button{position:absolute;background:rgba(255,255,255,.14);color:#fff;border:0;border-radius:50%;width:46px;height:46px;font-size:30px;line-height:44px;padding:0;cursor:pointer;font-family:Arial,sans-serif}
.lbx-x{top:max(14px,env(safe-area-inset-top));right:14px}
.lbx-p{left:10px;top:50%;margin-top:-23px}
.lbx-n{right:10px;top:50%;margin-top:-23px}
.lbx-c{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));left:0;right:0;text-align:center;color:#ddd;font:14px Arial,sans-serif}
@media(max-width:600px){.lbx-p,.lbx-n{width:40px;height:40px;line-height:38px;top:auto;bottom:max(10px,env(safe-area-inset-bottom));margin:0;background:rgba(255,255,255,.2)}.lbx-p{left:14px}.lbx-n{right:14px}}
#lb,#lb.open{display:none!important}
.lbx{box-sizing:border-box;padding-top:72px}
.lbx-x{top:max(80px,env(safe-area-inset-top))}
.lbx-i{max-height:78%}
.lbx .lbx-i{width:100%;height:calc(100% - 72px - 40px);max-width:100%;max-height:none;object-fit:contain;transform:none}
