:root{--dark:#474749;--grey:#b8b8b6;--teal:#61c0bf;--white:#fff;--darker:#2f2f30}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--dark);font-family:Open Sans,sans-serif;line-height:1.7;overflow-x:hidden}h1,h2,h3{letter-spacing:1px;font-family:Dosis,sans-serif;font-weight:600}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}#siteHeader{z-index:100;justify-content:space-between;align-items:center;padding:22px 40px;transition:background .3s,padding .3s;display:flex;position:fixed;top:0;left:0;right:0}#siteHeader.scrolled{backdrop-filter:blur(6px);background:#474749f2;padding:12px 40px}.logo{flex-shrink:0;width:52px;height:52px}.logo img{object-fit:contain;width:100%;height:100%}nav ul{gap:32px;list-style:none;display:flex}nav a{color:var(--white);letter-spacing:1.5px;text-transform:uppercase;font-family:Montserrat,sans-serif;font-size:13px;font-weight:500;transition:color .2s}nav a:hover{color:var(--teal)}.burger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;display:none}.burger span{background:var(--white);width:24px;height:2px}nav.open{z-index:99;background:#474749fa;width:70%;max-width:300px;padding:90px 30px;display:block;position:fixed;top:0;bottom:0;right:0}nav.open ul{flex-direction:column;gap:24px}#home{text-align:center;background:#2b2c2e;justify-content:center;align-items:center;height:100vh;min-height:600px;display:flex;position:relative;overflow:hidden}.hero-bg{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}#home:after{content:"";z-index:1;background:linear-gradient(#1e202259,#1e20228c);position:absolute;inset:0}.hero-inner{color:var(--white);z-index:2;padding:0 20px;position:relative}h1.teaser{letter-spacing:1px;font-family:Dosis,sans-serif;font-size:clamp(28px,4vw,52px);font-weight:300}.hero-sub{color:var(--teal);letter-spacing:3px;text-transform:uppercase;border-top:1px solid #61c0bf80;border-bottom:1px solid #61c0bf80;margin-top:18px;padding:10px 0;font-family:Montserrat,sans-serif;font-size:14px;display:inline-block}.scroll-hint{color:var(--white);letter-spacing:2px;opacity:.7;z-index:2;cursor:pointer;font-size:11px;transition:color .2s,opacity .2s;animation:2s infinite bob;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.scroll-hint:hover{opacity:1;color:var(--teal)}@keyframes bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,8px)}}section{padding:90px 40px}.section-inner{max-width:1180px;margin:0 auto}h2.section-title{text-align:center;margin-bottom:50px;font-size:32px}#portfolio{background:var(--grey)}#portfolio h2{color:var(--dark)}.grid{grid-template-columns:1fr 1fr;gap:4px;display:grid}.project-card{aspect-ratio:4/3;background:linear-gradient(135deg,#8a8a88,#6b6b69);display:block;position:relative;overflow:hidden}.project-card img{object-fit:cover;width:100%;height:100%}.project-card:hover .overlay{opacity:1}.project-card .overlay{opacity:0;background:#1e1e1e8c;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.overlay span{color:var(--white);letter-spacing:1px;text-align:center;padding:0 20px;font-family:Montserrat,sans-serif;font-size:15px}#o-mne .section-inner{grid-template-columns:280px 1fr;align-items:center;gap:60px;display:grid}.profile-photo{border:6px solid var(--grey);border-radius:50%;width:240px;height:240px;margin:0 auto;overflow:hidden}.profile-photo img{object-fit:cover;width:100%;height:100%}#o-mne h2{text-align:left;margin-bottom:20px;font-size:24px}#o-mne p{text-align:justify;margin-bottom:16px;font-size:15px}#sluzby{color:var(--grey);background:linear-gradient(#1e1e1fbf,#1e1e1fbf),linear-gradient(135deg,#4b4b4d,#2c2c2d)}#sluzby h2{color:var(--grey)}.services{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.service{border:2px solid var(--teal);text-align:center;border-radius:10px;padding:36px 20px}.service .icon{color:var(--teal);margin-bottom:16px;font-size:34px}.service h3{color:var(--grey);font-size:15px;line-height:1.5}#jak-pracuji{background:var(--grey)}#jak-pracuji .intro p{text-align:justify;max-width:900px;margin-bottom:22px;margin-left:auto;margin-right:auto}.steps{margin-top:60px}.step{grid-template-columns:120px 1fr;align-items:center;gap:30px;margin-bottom:40px;display:grid}.step:nth-child(2n){grid-template-columns:1fr 120px}.step:nth-child(2n) .step-num{order:2}.step-num{color:var(--dark);text-align:center;font-family:Dosis,sans-serif;font-size:64px;font-weight:700}.step-text h3{margin-bottom:10px;font-size:18px}.step:nth-child(2n) .step-text{text-align:right}.step-text p{text-align:justify;font-size:14px}#kontakty{background:var(--dark);color:var(--white)}#kontakty h2{color:var(--grey)}#kontakty .intro-text{text-align:center;margin-bottom:8px}.contact-grid{grid-template-columns:2fr 1fr;gap:50px;margin-top:40px;display:grid}.contact-form input,.contact-form textarea{width:100%;color:var(--white);background:0 0;border:none;border-bottom:1px solid #ffffff4d;margin-bottom:18px;padding:12px 4px;font-family:Open Sans,sans-serif;font-size:14px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#ffffff80}.contact-form .row2{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}.contact-form button{background:var(--teal);color:var(--white);letter-spacing:1px;cursor:pointer;border:none;border-radius:2px;padding:12px 34px;font-family:Montserrat,sans-serif;font-size:13px;transition:opacity .2s}.contact-form button:hover{opacity:.85}.contact-form button:disabled{opacity:.5;cursor:not-allowed}.form-status{min-height:20px;margin-top:14px;font-size:14px}.form-status.ok{color:var(--teal)}.form-status.err{color:#e08a8a}.contact-info p{margin-bottom:14px;font-size:14px}.contact-info strong{margin-bottom:4px;display:block}.social-row{gap:14px;margin-top:20px;display:flex}.social-row a{border:1px solid #fff6;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;transition:border-color .2s,background .2s;display:flex}.social-row a:hover{border-color:var(--teal);background:#61c0bf1f}.social-row img{width:18px;height:18px}.map-placeholder{color:#fff9;background:repeating-linear-gradient(45deg,#3a3a3c,#3a3a3c 10px,#414143 10px 20px);flex-direction:column;justify-content:center;align-items:center;gap:14px;height:320px;margin-top:50px;font-size:13px;display:flex;overflow:hidden}.map-placeholder iframe{border:0;width:100%;height:100%}.map-load-btn{background:var(--teal);color:#fff;letter-spacing:1px;cursor:pointer;border:none;border-radius:2px;padding:10px 26px;font-family:Montserrat,sans-serif;font-size:13px}.map-load-btn:hover{opacity:.85}#cookieBanner{z-index:300;color:#212121;background:#fff;border-radius:8px;max-width:420px;padding:22px 24px;font-family:Open Sans,sans-serif;display:none;position:fixed;bottom:20px;left:20px;box-shadow:0 12px 40px #00000059}#cookieBanner.show{display:block}#cookieBanner h3{margin-bottom:10px;font-family:Montserrat,sans-serif;font-size:16px}#cookieBanner p{color:#444;margin-bottom:14px;font-size:13px;line-height:1.6}.cookie-categories{border-top:1px solid #eee;margin-bottom:16px}.cookie-cat{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:10px 0;display:flex}.cookie-cat-label{font-size:13px}.cookie-cat-label strong{font-size:13px;display:block}.cookie-cat-label span{color:#888;font-size:11px}.cookie-toggle{flex-shrink:0;width:40px;height:22px;position:relative}.cookie-toggle input{opacity:0;width:0;height:0}.cookie-toggle .slider{cursor:pointer;background:#d0d5d2;border-radius:20px;transition:all .2s;position:absolute;inset:0}.cookie-toggle .slider:before{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:all .2s;position:absolute;top:3px;left:3px}.cookie-toggle input:checked+.slider{background:var(--teal)}.cookie-toggle input:checked+.slider:before{transform:translate(18px)}.cookie-toggle input:disabled+.slider{opacity:.6;cursor:not-allowed;background:#61c0bf}.cookie-btns{flex-wrap:wrap;gap:10px;display:flex}.cookie-btns button{letter-spacing:.5px;cursor:pointer;border-radius:2px;flex:1;padding:9px 16px;font-family:Montserrat,sans-serif;font-size:12px}.cookie-btn-reject{border:2px solid var(--teal);color:var(--teal);background:0 0}.cookie-btn-save{color:#666;background:0 0;border:2px solid #999}.cookie-btn-accept{background:var(--teal);border:2px solid var(--teal);color:#fff}#cookieRevisit{background:var(--dark);cursor:pointer;z-index:290;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:none;position:fixed;bottom:20px;left:20px}#cookieRevisit.show{display:flex}#cookieRevisit span{color:#fff;font-size:18px}@media (width<=480px){#cookieBanner{max-width:none;left:12px;right:12px}}footer{background:var(--darker);color:#fff9;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:24px 40px;font-size:12px;display:flex}footer a{color:var(--teal)}.lightbox{z-index:200;background:#141414f7;display:none;position:fixed;inset:0;overflow-y:auto}.lightbox.open{display:block}.lb-close{color:#fff;cursor:pointer;z-index:210;background:0 0;border:none;font-size:28px;position:fixed;top:26px;right:40px}.lb-arrow{color:#fff;cursor:pointer;opacity:.6;z-index:210;user-select:none;background:0 0;border:none;font-size:34px;transition:opacity .2s;position:fixed;top:50%;transform:translateY(-50%)}.lb-arrow:hover{opacity:1}.lb-prev{left:24px}.lb-next{right:24px}.lb-content{grid-template-columns:2fr 1fr;gap:50px;max-width:1400px;margin:80px auto 60px;padding:0 40px;display:grid}.lb-images img,.lb-images .ph{border-radius:2px;width:100%;margin-bottom:16px}.lb-images .ph{aspect-ratio:4/3;background:linear-gradient(135deg,#5c5c5a,#3d3d3b)}.lb-meta{color:#eee;padding-top:10px}.lb-meta p{margin-bottom:10px;font-size:14px}.lb-meta strong{color:var(--teal)}.lb-meta .desc{text-align:justify;color:#ddd;margin-top:24px;font-size:14px;line-height:1.8}@media (width<=900px){nav{display:none}.burger{display:flex}#o-mne .section-inner,.contact-grid,.lb-content{grid-template-columns:1fr}.services,.grid{grid-template-columns:1fr 1fr}.step,.step:nth-child(2n){text-align:center;grid-template-columns:1fr}.step:nth-child(2n) .step-text{text-align:center}.contact-form .row2{grid-template-columns:1fr}}
