:root{
  --bg:#071522;--bg2:#0a1d2e;--card:#0d2235;--text:#eef6fc;--muted:#99afc0;
  --light:#f5f8fb;--ink:#0a1b2a;--blue:#2da6ee;--blue2:#67c9ff;--pink:#f94176;
  --line:rgba(255,255,255,.11);--shadow:0 18px 55px rgba(3,14,24,.18);--radius:24px;
  --container:min(1180px,calc(100% - 40px));
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.container{width:var(--container);margin:auto}.skip-link{position:fixed;left:12px;top:-60px;z-index:9999;background:#fff;color:#000;padding:12px 16px;border-radius:10px}.skip-link:focus{top:12px}.icon{display:inline-flex;width:1.1em;height:1.1em}.icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-header{position:sticky;top:0;z-index:80;background:rgba(6,18,31,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.07);color:#fff}.header-inner{min-height:78px;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;gap:11px;min-width:max-content}.brand img{border-radius:50%;background:#fff}.brand-copy{display:grid;line-height:1.05}.brand-copy strong{font-size:1.27rem;letter-spacing:.01em}.brand-copy small{font-size:.67rem;color:#9fb5c6;margin-top:5px}.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:25px}.desktop-nav a{font-size:.91rem;color:#dbe8f2;position:relative;padding:29px 0 25px}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:17px;width:0;height:2px;background:var(--blue);transition:.2s}.desktop-nav a:hover:after,.desktop-nav a.active:after{width:100%}.desktop-nav a.active{color:#fff}.header-cta{border:1px solid rgba(103,201,255,.62);padding:11px 15px;border-radius:11px;display:flex;align-items:center;gap:8px;font-weight:700;font-size:.86rem}.header-cta:hover{background:rgba(45,166,238,.12)}.menu-button{display:none;background:transparent;border:0;color:#fff;padding:8px}.menu-button .icon{width:26px;height:26px}.mobile-nav{background:#081827;border-top:1px solid var(--line)}.mobile-nav-inner{padding:18px 0 26px;display:grid;gap:6px}.mobile-nav a{padding:10px 4px;color:#e7f1f8}.mobile-contact{margin-top:12px;padding-top:14px;border-top:1px solid var(--line);display:grid;gap:4px}.mobile-contact a{display:flex;gap:10px;align-items:center}
.hero{position:relative;isolation:isolate;min-height:720px;color:#fff;background:#06121f;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:url('../img/hero.webp') center/cover no-repeat;z-index:-3}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,14,25,.98) 0%,rgba(4,14,25,.9) 33%,rgba(4,14,25,.36) 67%,rgba(4,14,25,.1) 100%);z-index:-2}.hero-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 30% 55%,rgba(249,65,118,.17),transparent 27%),radial-gradient(circle at 75% 20%,rgba(45,166,238,.12),transparent 29%);z-index:-1}.hero-inner{padding:105px 0 82px;display:grid;grid-template-columns:minmax(0,640px) 1fr}.eyebrow{display:flex;align-items:center;gap:11px;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:var(--blue2);font-size:.75rem;margin-bottom:17px}.eyebrow:before{content:"";width:24px;height:2px;background:var(--blue)}.hero h1,.display-title{font-size:clamp(3.3rem,7vw,6.25rem);line-height:.92;letter-spacing:-.055em;margin:0;font-weight:900}.hero h1 span{color:var(--pink)}.hero-copy{max-width:610px;margin:25px 0 0;color:#dbe8f1;font-size:1.06rem}.hero-actions,.cta-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.hero-actions{margin-bottom:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 18px;border-radius:12px;font-weight:800;border:1px solid transparent;transition:.2s}.btn-primary{background:var(--pink);color:#fff;box-shadow:0 10px 28px rgba(249,65,118,.28)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(249,65,118,.36)}.btn-secondary{border-color:#2f9ee1;color:#e8f6ff;background:rgba(4,16,28,.4)}.btn-light{background:#fff;color:#102031}.hero-quick{position:absolute;left:0;right:0;bottom:0;border-top:1px solid rgba(255,255,255,.1);background:rgba(4,15,26,.72);backdrop-filter:blur(10px)}.quick-grid{min-height:72px;display:grid;grid-template-columns:repeat(6,1fr);align-items:center}.quick-grid a{display:flex;align-items:center;gap:9px;color:#dbeaf4;font-size:.82rem;padding:18px 12px;border-right:1px solid rgba(255,255,255,.07)}.quick-grid a:first-child{padding-left:0}.quick-grid .icon{color:var(--blue2);width:20px;height:20px}
.section{padding:88px 0}.section-light{background:linear-gradient(180deg,#f8fbfd 0%,#eef5f9 100%)}.section-dark{background:radial-gradient(circle at 80% 20%,rgba(45,166,238,.08),transparent 30%),linear-gradient(180deg,#06121f,#091b2c);color:#fff}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:38px}.section-head h2{font-size:clamp(2.5rem,5vw,4.4rem);line-height:.98;letter-spacing:-.05em;margin:0;max-width:720px}.section-head p{max-width:470px;color:#5f7382;margin:0}.section-dark .section-head p{color:#a9bbc8}.text-link{display:inline-flex;align-items:center;gap:7px;color:#068bcf;font-weight:800;margin-top:15px}.text-link .icon{width:17px}
.services-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.service-card{position:relative;min-height:405px;border-radius:20px;overflow:hidden;color:#fff;background:#0b1b29;box-shadow:var(--shadow);isolation:isolate;display:flex;align-items:flex-end;transition:.24s}.service-card:before{content:"";position:absolute;inset:0;background:var(--image) center/cover no-repeat;z-index:-3;transition:transform .4s}.service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,13,22,.03),rgba(3,13,22,.3) 42%,rgba(3,13,22,.95));z-index:-2}.service-card:hover{transform:translateY(-6px)}.service-card:hover:before{transform:scale(1.04)}.service-card-inner{padding:22px 18px 20px;width:100%}.service-card .icon{width:31px;height:31px;color:var(--blue2);margin-bottom:16px}.service-card h3{font-size:1.16rem;line-height:1.07;margin:0 0 8px}.service-card p{font-size:.83rem;color:#c0d0dc;margin:0}.service-card .card-arrow{display:flex;width:36px;height:36px;border:1px solid rgba(104,203,255,.65);border-radius:50%;align-items:center;justify-content:center;margin-top:18px}.service-card:nth-child(2n) .card-arrow{border-color:rgba(249,65,118,.7)}
.process{position:relative}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:42px;position:relative}.process-grid:before{display:none}.process-step{position:relative;z-index:2;text-align:center}.step-number{position:relative;z-index:3;display:flex;width:58px;height:58px;border-radius:50%;align-items:center;justify-content:center;background:#071522;border:2px solid var(--blue);font-weight:900;color:#fff;margin:0 auto 21px}.process-step:nth-child(odd) .step-number{border-color:var(--pink)}.process-step h3{font-size:1.12rem;margin:0 0 8px}.process-step p{margin:0 auto;color:#9fb0bd;font-size:.93rem;max-width:255px}.process-link{position:absolute;left:calc(50% + 29px);top:28px;width:calc(100% + 28px - 58px);height:2px;background:linear-gradient(90deg,rgba(249,65,118,.38),rgba(45,166,238,.58));overflow:visible;z-index:1}.process-link:after{content:"";position:absolute;inset:-1px 0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);opacity:.35}.process-packet{position:absolute;top:50%;left:0;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff 0 12%,#6ed7ff 25%,var(--blue) 48%,var(--pink) 78%,transparent 82%);box-shadow:0 0 8px rgba(45,166,238,.95),0 0 18px rgba(249,65,118,.7);transform:translate(-50%,-50%);animation:processPacket 4.8s linear infinite}.process-step:nth-child(2) .process-packet{animation-delay:1.6s}.process-step:nth-child(3) .process-packet{animation-delay:3.2s}@keyframes processPacket{0%{left:0;opacity:0;transform:translate(-50%,-50%) scale(.55)}3%{opacity:1;transform:translate(-50%,-50%) scale(1)}27%{left:100%;opacity:1;transform:translate(-50%,-50%) scale(1)}32%,100%{left:100%;opacity:0;transform:translate(-50%,-50%) scale(.6)}}
.reference-grid{display:grid;grid-template-columns:1.2fr .85fr 1fr;gap:16px}.ref-card{min-height:300px;border-radius:20px;overflow:hidden;position:relative;display:flex;align-items:flex-end;color:#fff;isolation:isolate}.ref-card:before{content:"";position:absolute;inset:0;background:var(--image) center/cover no-repeat;z-index:-2;transition:.4s}.ref-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(5,16,27,.9));z-index:-1}.ref-card:hover:before{transform:scale(1.04)}.ref-card div{padding:22px}.ref-card h3{margin:0 0 4px;font-size:1.15rem}.ref-card p{margin:0;color:#c2d2dd;font-size:.85rem}
.about-strip{display:grid;grid-template-columns:1.05fr .95fr;background:#061522;color:#fff;border-radius:28px;overflow:hidden;min-height:480px}.about-copy{padding:58px}.about-copy h2{font-size:clamp(2.6rem,5vw,4.5rem);line-height:.98;letter-spacing:-.05em;margin:0 0 22px}.about-copy p{color:#bacbd7;max-width:600px}.about-visual{background:linear-gradient(90deg,rgba(6,21,34,.4),transparent),url('../img/servers.webp') center/cover no-repeat;position:relative}.about-badge{position:absolute;right:24px;bottom:24px;padding:20px;background:rgba(6,21,34,.84);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);border-radius:18px;max-width:250px}.about-badge strong{display:block;font-size:1.5rem}.about-badge span{color:#aac0cf;font-size:.88rem}.feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;margin:26px 0}.feature-list span{display:flex;gap:9px;align-items:center;color:#d5e4ee}.feature-list .icon{color:var(--blue2);width:20px}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.news-card{border-radius:20px;background:#fff;border:1px solid #dbe6ed;overflow:hidden;box-shadow:0 10px 35px rgba(13,40,58,.07);display:flex;flex-direction:column}.news-card-image{height:200px;background:var(--image) center/cover no-repeat;position:relative}.news-card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(5,16,27,.45))}.news-card-body{padding:22px;display:flex;flex:1;flex-direction:column}.news-meta{display:flex;gap:12px;flex-wrap:wrap;color:#6d8393;font-size:.78rem;margin-bottom:9px}.news-card h3{margin:0 0 10px;font-size:1.3rem;line-height:1.2}.news-card p{margin:0;color:#637886}.news-card .text-link{margin-top:auto;padding-top:20px}
.cta-banner{position:relative;min-height:430px;display:flex;align-items:center;overflow:hidden;color:#0b2131;background:#dfeef6}.cta-banner:before{content:"";position:absolute;inset:0;background:url('../img/cta.webp') center/cover no-repeat}.cta-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,252,255,.98),rgba(248,252,255,.88) 44%,rgba(248,252,255,.05) 72%)}.cta-inner{position:relative;z-index:2;padding:72px 0}.cta-inner h2{font-size:clamp(3rem,6vw,5rem);line-height:.95;letter-spacing:-.05em;margin:0;max-width:560px}.cta-inner p{font-size:1.05rem;color:#4e6575;max-width:520px}
.page-hero{background:radial-gradient(circle at 80% 10%,rgba(45,166,238,.15),transparent 32%),linear-gradient(180deg,#061522,#0b2031);color:#fff;padding:85px 0 75px}.page-hero .eyebrow{margin-bottom:14px}.page-hero h1{font-size:clamp(3rem,6vw,5.4rem);line-height:.95;letter-spacing:-.05em;margin:0;max-width:900px}.page-hero p{max-width:750px;color:#b8cbd7;font-size:1.05rem;margin-top:22px}.page-shell{padding:70px 0}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:54px}.prose{font-size:1.02rem;color:#314c5d}.prose h2,.prose h3{color:#0a1b2a;line-height:1.14}.prose h2{font-size:2rem;margin-top:44px}.prose h3{font-size:1.35rem;margin-top:30px}.prose p{margin:0 0 20px}.prose ul{padding-left:22px}.prose a{color:#078ece;text-decoration:underline}.prose img{border-radius:20px;margin:28px 0}.sidebar-card{position:sticky;top:105px;align-self:start;height:max-content;border-radius:20px;background:#071522;color:#fff;padding:24px;box-shadow:0 18px 45px rgba(7,21,34,.14)}.sidebar-card h2{font-size:1.35rem;margin-top:0}.sidebar-card p{color:#a9bdca}.sidebar-card a.contact-row{display:flex;gap:10px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.service-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-detail{border:1px solid #dbe5ec;border-radius:20px;padding:26px;background:#fff}.service-detail .icon{width:34px;height:34px;color:#088fd4}.service-detail h2{font-size:1.35rem;margin:17px 0 8px}.service-detail p{color:#667c8b;margin:0}.bullet-list{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:8px}.bullet-list li{display:flex;gap:8px;color:#3b5666}.bullet-list .icon{width:18px;height:18px;flex:0 0 18px;color:#19a06b;margin-top:3px}
.tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tool-card{border-radius:20px;padding:25px;background:#081b2b;color:#fff;border:1px solid rgba(255,255,255,.08)}.tool-card h2{font-size:1.22rem;margin:0 0 8px}.tool-card p{color:#9eb4c2;margin:0 0 18px}.tool-card a{color:var(--blue2);font-weight:800}.tool-note{margin-top:28px;padding:18px 20px;border-left:4px solid var(--blue);background:#eef7fc;border-radius:12px;color:#466070}
.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px}.contact-card{background:#071522;color:#fff;border-radius:24px;padding:32px}.contact-card h2{font-size:2rem;margin-top:0}.contact-card p{color:#afc2ce}.contact-item{display:flex;align-items:flex-start;gap:12px;padding:17px 0;border-top:1px solid rgba(255,255,255,.1)}.contact-item .icon{width:23px;height:23px;color:var(--blue2);margin-top:2px}.contact-item small{display:block;color:#8fa6b5}.contact-form{background:#fff;border:1px solid #dbe6ed;border-radius:24px;padding:32px;box-shadow:0 15px 50px rgba(15,50,72,.08)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:800;font-size:.9rem}.field input,.field textarea{width:100%;border:1px solid #cfdce5;border-radius:11px;padding:12px 13px;outline:none;background:#fbfdff}.field input:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(45,166,238,.12)}.field textarea{min-height:170px;resize:vertical}.notice{padding:14px 16px;border-radius:11px;margin-bottom:18px}.notice-success{background:#eaf8f1;color:#17603d}.notice-error{background:#fff0f1;color:#92243c}.hp-field{position:absolute!important;left:-9999px!important;opacity:0!important}
.site-footer{background:#06121f;color:#d8e6ef;padding:55px 0 20px}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:44px}.site-footer h2{font-size:.84rem;text-transform:uppercase;letter-spacing:.12em;color:#7d9aab;margin:0 0 14px}.site-footer .footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:9px}.site-footer a:hover{color:var(--blue2)}.muted{color:#8fa6b5;max-width:360px;font-size:.9rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:34px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#7891a2;font-size:.82rem}.footer-brand{margin-bottom:12px}
@media (max-width:1100px){.desktop-nav{gap:16px}.desktop-nav a{font-size:.85rem}.header-cta{display:none}.services-grid{grid-template-columns:repeat(3,1fr)}.service-card{min-height:330px}.quick-grid{grid-template-columns:repeat(3,1fr)}.quick-grid a:nth-child(3){border-right:0}.reference-grid{grid-template-columns:1fr 1fr}.reference-grid .ref-card:first-child{grid-column:1/-1}.service-detail-grid,.tools-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:860px){:root{--container:min(100% - 28px,1180px)}.desktop-nav{display:none}.menu-button{display:inline-flex;margin-left:auto}.hero{min-height:760px}.hero:before{background-position:64% center;opacity:.68}.hero:after{background:linear-gradient(90deg,rgba(4,14,25,.97),rgba(4,14,25,.8) 70%,rgba(4,14,25,.55))}.hero-inner{padding-top:82px;grid-template-columns:1fr}.hero h1{font-size:clamp(3.5rem,13vw,5rem);max-width:650px}.hero-quick{position:relative;margin-top:40px}.quick-grid{grid-template-columns:repeat(2,1fr)}.quick-grid a{border-bottom:1px solid rgba(255,255,255,.07)}.quick-grid a:nth-child(2n){border-right:0}.section{padding:68px 0}.section-head{display:block}.section-head p{margin-top:18px}.process-grid{grid-template-columns:1fr 1fr}.process-grid:before{display:none}.about-strip{grid-template-columns:1fr}.about-visual{min-height:330px}.news-grid{grid-template-columns:1fr 1fr}.content-grid{grid-template-columns:1fr}.sidebar-card{position:static}.contact-layout{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.cta-banner:after{background:linear-gradient(90deg,rgba(248,252,255,.98),rgba(248,252,255,.88) 70%,rgba(248,252,255,.2))}}
@media (max-width:620px){.header-inner{min-height:68px}.brand img{width:42px;height:42px}.brand-copy small{display:none}.hero{min-height:700px}.hero-inner{padding:68px 0 25px}.hero h1{font-size:3.75rem}.hero-copy{font-size:1rem}.quick-grid{grid-template-columns:1fr 1fr}.quick-grid a{font-size:.75rem;padding:14px 8px}.services-grid,.service-detail-grid,.tools-grid,.news-grid,.reference-grid,.process-grid{grid-template-columns:1fr}.reference-grid .ref-card:first-child{grid-column:auto}.service-card{min-height:315px}.section-head h2,.about-copy h2{font-size:2.75rem}.about-copy{padding:34px 24px}.feature-list{grid-template-columns:1fr}.page-hero{padding:62px 0 55px}.page-hero h1{font-size:3.1rem}.form-grid{grid-template-columns:1fr}.contact-card,.contact-form{padding:24px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.cta-banner{min-height:420px}.cta-banner:before{background-position:68% center}.cta-banner:after{background:linear-gradient(90deg,rgba(248,252,255,.98),rgba(248,252,255,.91) 78%,rgba(248,252,255,.35))}.cta-inner h2{font-size:3rem}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* Pohybové a interakční prvky */
:root{--ease-out:cubic-bezier(.16,1,.3,1);--ease-soft:cubic-bezier(.2,.8,.2,1)}
body{overflow-x:hidden}
.scroll-progress{position:fixed;z-index:140;left:0;right:0;top:0;height:3px;pointer-events:none;background:transparent}.scroll-progress span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,var(--blue),var(--pink));box-shadow:0 0 16px rgba(45,166,238,.65)}
.site-header{transition:min-height .35s var(--ease-out),background .35s,border-color .35s,box-shadow .35s}.site-header.is-scrolled{background:rgba(5,16,28,.97);box-shadow:0 12px 34px rgba(0,0,0,.18);border-bottom-color:rgba(103,201,255,.12)}.site-header.is-scrolled .header-inner{min-height:66px}.header-inner{transition:min-height .35s var(--ease-out)}
.desktop-nav a{transition:color .25s}.desktop-nav a:after{transition:width .35s var(--ease-out),background .25s}.desktop-nav a:hover{color:#fff}
.header-cta,.btn{position:relative;overflow:hidden}.header-cta:before,.btn:before{content:"";position:absolute;top:-80%;left:-35%;width:28%;height:260%;transform:rotate(24deg) translateX(-220%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transition:transform .65s var(--ease-out);pointer-events:none}.header-cta:hover:before,.btn:hover:before{transform:rotate(24deg) translateX(620%)}

/* Service-card arrow alignment fix */
.service-card{align-items:stretch}.service-card-inner{display:flex;flex-direction:column;min-height:100%;height:100%}.service-card .card-arrow{margin-top:auto;flex:0 0 36px;transition:transform .35s var(--ease-out),background .35s,border-color .35s,color .35s}.service-card:hover .card-arrow{transform:translateX(5px);background:var(--blue);border-color:var(--blue);color:#fff}.service-card:nth-child(2n):hover .card-arrow{background:var(--pink);border-color:var(--pink)}.service-card h3{min-height:2.3em}.service-card p{min-height:2.7em;margin-bottom:18px}
.service-card:after{transition:background .4s}.service-card:hover:after{background:linear-gradient(180deg,rgba(3,13,22,.02),rgba(3,13,22,.22) 34%,rgba(3,13,22,.98))}


.page-hero.page-motion .eyebrow,.page-hero.page-motion h1,.page-hero.page-motion p{animation:pageHeroEnter .85s var(--ease-out) both}.page-hero.page-motion h1{animation-delay:.08s}.page-hero.page-motion p{animation-delay:.17s}@keyframes pageHeroEnter{from{opacity:0;transform:translate3d(-42px,20px,0);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
.quick-grid a .icon{transition:transform .3s var(--ease-out),color .3s}.quick-grid a:hover .icon{transform:translateY(-3px) rotate(-4deg);color:#fff}.service-card>.service-card-inner>.icon{transition:transform .35s var(--ease-out),color .35s}.service-card:hover>.service-card-inner>.icon{transform:translateY(-4px) scale(1.08);color:#fff}.about-badge{animation:badgeFloat 4.5s ease-in-out infinite alternate}@keyframes badgeFloat{to{transform:translateY(-7px)}}
.hero h1 span{display:inline-block;background:linear-gradient(90deg,var(--pink),#ff78a0,var(--pink));background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:headlineShimmer 5s linear infinite}@keyframes headlineShimmer{to{background-position:220% 0}}

/* Reveal animations are activated by JS only, so content stays visible without JS. */
.motion-item{will-change:transform,opacity;transition:opacity .85s var(--ease-out),transform .85s var(--ease-out),filter .85s var(--ease-out);transition-delay:var(--motion-delay,0ms)}
.motion-item.motion-pending{opacity:0;filter:blur(5px)}
.motion-item.motion-left.motion-pending{transform:translate3d(-72px,0,0)}
.motion-item.motion-right.motion-pending{transform:translate3d(72px,0,0)}
.motion-item.motion-up.motion-pending{transform:translate3d(0,58px,0)}
.motion-item.motion-down.motion-pending{transform:translate3d(0,-38px,0)}
.motion-item.motion-zoom.motion-pending{transform:scale(.92)}
.motion-item.is-visible{opacity:1;transform:none;filter:none}

.hero.hero-motion .eyebrow,.hero.hero-motion h1,.hero.hero-motion .hero-copy,.hero.hero-motion .hero-actions{animation:heroEnter .9s var(--ease-out) both}.hero.hero-motion h1{animation-delay:.09s}.hero.hero-motion .hero-copy{animation-delay:.18s}.hero.hero-motion .hero-actions{animation-delay:.27s}.hero.hero-motion .hero-quick{animation:quickEnter .9s .36s var(--ease-out) both}
@keyframes heroEnter{from{opacity:0;transform:translate3d(-48px,28px,0);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes quickEnter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.hero:before{background-position:center calc(50% + var(--hero-shift,0px));transition:background-position .08s linear}.hero-glow{animation:glowDrift 9s ease-in-out infinite alternate}@keyframes glowDrift{0%{transform:translate3d(-1%,0,0) scale(1)}100%{transform:translate3d(2%,-1%,0) scale(1.06)}}
.page-hero{position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-120px;top:-240px;background:radial-gradient(circle,rgba(249,65,118,.16),rgba(45,166,238,.07) 44%,transparent 70%);filter:blur(10px);animation:pageOrb 8s ease-in-out infinite alternate;pointer-events:none}@keyframes pageOrb{to{transform:translate(-90px,75px) scale(1.2)}}

.section-head .text-link .icon,.tool-card a .icon,.app-mini-arrow .icon{transition:transform .3s var(--ease-out)}.section-head .text-link:hover .icon,.tool-card a:hover .icon,.app-mini-card:hover .app-mini-arrow .icon{transform:translateX(6px)}
.process-grid:before{display:none}.step-number{transition:transform .35s var(--ease-out),box-shadow .35s}.process-step:hover .step-number{transform:translateY(-5px) scale(1.05);box-shadow:0 0 0 8px rgba(45,166,238,.08),0 10px 30px rgba(45,166,238,.18)}.process-step:nth-child(odd):hover .step-number{box-shadow:0 0 0 8px rgba(249,65,118,.08),0 10px 30px rgba(249,65,118,.18)}
.ref-card,.news-card,.service-detail,.tool-card,.app-mini-card{transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),border-color .35s}.ref-card:hover,.news-card:hover,.service-detail:hover,.tool-card:hover,.app-mini-card:hover{transform:translateY(-7px);box-shadow:0 22px 55px rgba(3,18,30,.18)}.service-detail:hover{border-color:rgba(45,166,238,.5)}
.news-card-image{overflow:hidden}.news-card-image:before{content:"";position:absolute;inset:0;background:var(--image) center/cover no-repeat;transition:transform .65s var(--ease-out);z-index:-1}.news-card:hover .news-card-image:before{transform:scale(1.07)}

/* Applications & tools */
.apps-preview{overflow:hidden}.apps-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.app-mini-card{min-height:220px;padding:24px;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.015));display:flex;flex-direction:column;position:relative;overflow:hidden}.app-mini-card:before{content:"";position:absolute;width:160px;height:160px;border-radius:50%;right:-70px;top:-70px;background:rgba(45,166,238,.1);filter:blur(5px);transition:.5s var(--ease-out)}.app-mini-card-accent:before{background:rgba(249,65,118,.12)}.app-mini-card:hover:before{transform:scale(1.5)}.app-mini-icon{width:46px;height:46px;border:1px solid rgba(103,201,255,.3);border-radius:14px;display:grid;place-items:center;color:var(--blue2);background:rgba(45,166,238,.06)}.app-mini-icon .icon{width:24px;height:24px}.app-mini-card strong{font-size:1.25rem;margin-top:25px}.app-mini-card small{color:#9fb4c2;font-size:.9rem;margin-top:7px}.app-mini-arrow{margin-top:auto;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(103,201,255,.38);color:var(--blue2)}
.tools-section{position:relative}.tools-heading{margin-bottom:44px}.tool-card{position:relative;overflow:hidden;min-height:265px;display:flex;flex-direction:column}.tool-card:before{content:"";position:absolute;width:160px;height:160px;border-radius:50%;right:-78px;top:-82px;background:radial-gradient(circle,rgba(45,166,238,.17),transparent 68%);transition:transform .45s}.tool-card:nth-child(3n+2):before{background:radial-gradient(circle,rgba(249,65,118,.15),transparent 68%)}.tool-card:hover:before{transform:scale(1.35)}.tool-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:rgba(45,166,238,.08);border:1px solid rgba(103,201,255,.22);color:var(--blue2);margin-bottom:18px}.tool-icon .icon{width:23px;height:23px}.tool-status{position:absolute;right:18px;top:18px;font-size:.67rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:#8fb2c7}.tool-card a{margin-top:auto;display:inline-flex;align-items:center;gap:8px}.tool-card a .icon{width:17px;height:17px}

/* Better anchor positioning below sticky header */
[id]{scroll-margin-top:105px}

@media (max-width:1100px){.apps-preview-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.apps-preview-grid{grid-template-columns:1fr}.service-card h3,.service-card p{min-height:0}.motion-item.motion-left.motion-pending,.motion-item.motion-right.motion-pending{transform:translate3d(0,42px,0)}}
@media (prefers-reduced-motion:reduce){.hero-glow,.page-hero:after,.about-badge,.hero h1 span,.process-packet,.tools-hero .container:after{animation:none!important}.motion-item,.hero.hero-motion .eyebrow,.hero.hero-motion h1,.hero.hero-motion .hero-copy,.hero.hero-motion .hero-actions,.hero.hero-motion .hero-quick{opacity:1!important;transform:none!important;filter:none!important;animation:none!important;transition:none!important}}

.news-card-image{background:none!important;isolation:isolate}.news-card-image:before{z-index:0}.news-card-image:after{z-index:1}

/* Karty, aplikace a technické prvky */
:root{--cyan:#59c8ff;--pink-soft:#ff6b96;--panel:#081b2b;--panel2:#0b2337}

/* Robust service-card arrow positioning: identical bottom/left position on every card. */
.service-card{position:relative;align-items:stretch;min-width:0}
.service-card-inner{position:relative;display:block;height:100%;min-height:inherit;padding:22px 18px 78px!important}
.service-card .card-arrow{position:absolute!important;left:18px!important;bottom:20px!important;margin:0!important;width:38px!important;height:38px!important;display:grid!important;place-items:center!important;line-height:1!important}
.service-card .card-arrow .icon{width:19px!important;height:19px!important;margin:0!important;display:block!important;transform:none}
.service-card .card-arrow svg{display:block;width:19px;height:19px}
.service-card h3,.service-card p{min-height:0!important}
.service-card p{margin-bottom:0!important}

/* Tech canvas and HUD */
.tech-hero,.page-hero{isolation:isolate}
.tech-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.78}
.hero .tech-canvas{z-index:-1;mix-blend-mode:screen;opacity:.72}
.page-hero .tech-canvas{z-index:0;opacity:.42}
.page-hero>.container{position:relative;z-index:2}
.hero-hud{position:absolute;right:max(4vw,34px);top:132px;width:220px;padding:16px 17px 18px;border:1px solid rgba(103,201,255,.26);border-radius:16px;background:rgba(4,16,28,.58);backdrop-filter:blur(12px);box-shadow:0 18px 50px rgba(0,0,0,.22),inset 0 0 26px rgba(45,166,238,.04);font:600 11px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em;color:#b8d9eb;overflow:hidden;z-index:2;animation:hudFloat 5s ease-in-out infinite alternate}
.hud-head{display:flex;align-items:center;gap:8px;color:#fff;margin-bottom:13px;font-weight:800}.hud-dot,.tool-status i,.app-mini-status i{width:7px;height:7px;border-radius:50%;background:#55f3b2;box-shadow:0 0 0 4px rgba(85,243,178,.1),0 0 15px rgba(85,243,178,.7);display:inline-block;animation:ledPulse 1.7s ease-in-out infinite}
.hud-line{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-top:1px solid rgba(255,255,255,.07)}.hud-line b{color:#65d8ff;font-weight:800}.hud-scan{position:absolute;left:0;right:0;height:1px;top:-10%;background:linear-gradient(90deg,transparent,var(--blue2),transparent);box-shadow:0 0 18px rgba(103,201,255,.8);animation:hudScan 3.8s linear infinite}
@keyframes hudFloat{to{transform:translate3d(0,8px,0)}}
@keyframes hudScan{to{top:115%}}
@keyframes ledPulse{50%{opacity:.45;box-shadow:0 0 0 7px rgba(85,243,178,0),0 0 4px rgba(85,243,178,.3)}}

/* Circuit-board decoration */
.tech-section,.tech-section-light{position:relative;overflow:hidden;isolation:isolate}.tech-section>.container,.tech-section-light>.container{position:relative;z-index:2}
.tech-circuit{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.34;background-image:linear-gradient(rgba(45,166,238,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(45,166,238,.07) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent)}
.tech-circuit-light{opacity:.2}
.tech-circuit i{position:absolute;height:2px;width:180px;background:linear-gradient(90deg,transparent,var(--blue),var(--pink),transparent);filter:drop-shadow(0 0 6px rgba(45,166,238,.6));animation:dataTrace 6s linear infinite}
.tech-circuit i:nth-child(1){top:22%;left:-180px;animation-delay:-1s}.tech-circuit i:nth-child(2){top:58%;left:-180px;animation-delay:-3.4s}.tech-circuit i:nth-child(3){top:78%;left:-180px;animation-delay:-4.7s}.tech-circuit i:nth-child(4){top:38%;left:-180px;animation-delay:-2.2s}
@keyframes dataTrace{to{transform:translateX(calc(100vw + 420px))}}

/* Cards get a controlled "scanner" instead of random layout shifts. */
.service-card:after{z-index:-2}.service-card:focus-visible,.tool-card:focus-within,.app-mini-card:focus-visible{outline:3px solid rgba(45,166,238,.5);outline-offset:3px}
.service-card-inner:after,.tool-card:after,.app-mini-card:after,.service-detail:after{content:"";position:absolute;left:0;right:0;top:-30%;height:28%;background:linear-gradient(180deg,transparent,rgba(103,201,255,.08),transparent);transform:skewY(-4deg);opacity:0;pointer-events:none}
.service-card:hover .service-card-inner:after,.tool-card:hover:after,.app-mini-card:hover:after,.service-detail:hover:after{opacity:1;animation:cardScan 1.15s var(--ease-out)}
@keyframes cardScan{from{top:-35%}to{top:112%}}
.service-detail{position:relative;overflow:hidden}.service-detail:before{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-55px;top:-55px;background:radial-gradient(circle,rgba(45,166,238,.14),transparent 70%);transition:transform .45s var(--ease-out)}.service-detail:hover:before{transform:scale(1.65)}

/* Headings: clipping reveal creates more motion without hurting readability. */
.motion-item.motion-pending.section-title-clip{clip-path:inset(0 100% 0 0)}
.section-head h2{transition:clip-path 1s var(--ease-out)}

/* App preview */
.apps-preview-live{grid-template-columns:repeat(4,1fr)}
.app-mini-card{min-height:245px}
.app-mini-status{display:flex;align-items:center;gap:8px;margin-top:12px;color:#8fe6bd;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.app-mini-card .app-mini-arrow{position:absolute;right:20px;bottom:20px}
.app-mini-card small{padding-right:42px}

/* Tools landing */
.tools-grid-live{grid-template-columns:repeat(3,1fr)}
.tool-card-live{min-height:310px;background:linear-gradient(145deg,rgba(12,39,59,.96),rgba(5,19,31,.98));box-shadow:0 18px 46px rgba(0,0,0,.17)}
.tool-card-live .tool-status{display:flex;align-items:center;gap:8px;color:#87deb5}.tool-card-live h2{font-size:1.45rem}.tool-card-live p{font-size:.94rem;line-height:1.65}
.upcoming-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.upcoming-card{position:relative;display:grid;grid-template-columns:42px 1fr;column-gap:13px;align-items:center;padding:20px;border:1px solid #dce8ef;border-radius:17px;background:#fff;box-shadow:0 10px 30px rgba(13,40,58,.045);transition:.3s var(--ease-out)}.upcoming-card>.icon{grid-row:1/3;width:30px;height:30px;color:var(--blue)}.upcoming-card strong{font-size:1rem}.upcoming-card span{font-size:.77rem;color:#8096a5}.upcoming-card:hover{transform:translateY(-4px);border-color:rgba(45,166,238,.5);box-shadow:0 18px 40px rgba(13,40,58,.09)}

/* Common integrated app UI */
.tool-page-shell{position:relative;overflow:hidden}.tool-page-shell:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 15% 20%,rgba(45,166,238,.08),transparent 26%),radial-gradient(circle at 90% 78%,rgba(249,65,118,.065),transparent 28%);pointer-events:none}
.tool-app-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:26px;align-items:start}
.tool-app-card,.tool-app-side>*,.ip-main-card,.ip-detail-card{border:1px solid #dbe7ee;border-radius:24px;background:rgba(255,255,255,.96);box-shadow:0 18px 55px rgba(13,40,58,.08)}
.tool-app-card{padding:30px}.tool-app-side{display:grid;gap:18px;position:sticky;top:100px}.tool-app-heading{display:flex;gap:15px;align-items:center;margin-bottom:24px}.tool-app-heading-icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;color:var(--blue);background:rgba(45,166,238,.08);border:1px solid rgba(45,166,238,.19)}.tool-app-heading-icon .icon{width:26px;height:26px}.tool-app-heading h2{margin:2px 0 0;font-size:1.55rem}.tool-kicker{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;color:#658092;font-weight:900}
.tool-form{display:grid;gap:20px}.tool-form .field{display:grid;gap:8px}.tool-form .field label,.symbol-fieldset legend{font-weight:850;font-size:.9rem;color:#153247}.tool-form input[type="text"],.tool-form input[type="email"],.tool-form input[type="number"],.tool-form textarea,.tool-form select,.copy-field input{width:100%;border:1px solid #cddce5;border-radius:12px;padding:12px 13px;background:#fbfdff;color:#112a3b;outline:0;transition:border-color .2s,box-shadow .2s}.tool-form input:focus,.tool-form textarea:focus,.tool-form select:focus,.copy-field input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(45,166,238,.11)}.tool-form textarea{resize:vertical}.tool-form input[type="range"]{accent-color:var(--blue);width:100%}.field-label-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.field-label-row strong{font-size:.82rem;color:var(--blue)}.tool-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-row{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end}
.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.toggle-card{position:relative;display:flex;align-items:center;gap:12px;padding:14px 15px;border:1px solid #d7e4eb;border-radius:14px;background:#fbfdff;cursor:pointer;transition:.25s}.toggle-card:hover{border-color:rgba(45,166,238,.55);transform:translateY(-1px)}.toggle-card input{position:absolute;opacity:0;pointer-events:none}.toggle-ui{width:38px;height:22px;border-radius:99px;background:#c6d4dc;position:relative;flex:0 0 auto;transition:.25s}.toggle-ui:after{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.18);transition:.25s}.toggle-card input:checked+.toggle-ui{background:linear-gradient(90deg,var(--blue),#5dd0ff)}.toggle-card input:checked+.toggle-ui:after{transform:translateX(16px)}.toggle-card strong,.toggle-card small{display:block}.toggle-card small{font-size:.72rem;color:#8197a5}.toggle-card.compact{align-self:end;min-height:48px;padding:8px 12px}
.symbol-fieldset{margin:0;padding:0;border:0}.symbol-fieldset legend{margin-bottom:8px}.symbol-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.symbol-choice{position:relative;cursor:pointer}.symbol-choice input{position:absolute;opacity:0}.symbol-choice span{display:grid;gap:2px;padding:11px 10px;border:1px solid #d8e5ec;border-radius:12px;background:#fff;transition:.22s}.symbol-choice code{font-size:.72rem;color:#718896}.symbol-choice input:checked+span{border-color:rgba(45,166,238,.7);background:#eef9ff;box-shadow:inset 0 0 0 1px rgba(45,166,238,.1)}
.tool-result{margin-top:26px;padding:20px;border:1px solid rgba(45,166,238,.25);border-radius:17px;background:linear-gradient(145deg,#f6fcff,#eef8fd)}.result-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.result-head h3{margin:2px 0 0}.strength{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900;padding:7px 9px;border-radius:999px;background:#e8f5ef;color:#197149}.copy-field{display:flex;gap:9px}.copy-field input{font:750 1rem/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.copy-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;border:1px solid rgba(45,166,238,.33);border-radius:11px;background:#061a2a;color:#fff;padding:0 14px;font-weight:800;cursor:pointer;transition:.22s}.copy-button:hover{transform:translateY(-2px);background:#0a2940}.copy-button .icon{width:18px;height:18px}.tool-hint{font-size:.81rem;color:#718896;margin:14px 0 0;line-height:1.55}
.terminal-widget{overflow:hidden;background:#061522!important;color:#b8d6e7!important;border-color:rgba(103,201,255,.18)!important}.terminal-top{display:flex;align-items:center;gap:7px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);font:700 10px/1 ui-monospace,monospace;letter-spacing:.08em;color:#7e9dad}.terminal-top i{width:7px;height:7px;border-radius:50%;background:#415667}.terminal-top i:first-child{background:#f94176}.terminal-top i:nth-child(2){background:#ffbd5b}.terminal-top i:nth-child(3){background:#55d99b}.terminal-top span{margin-left:auto}.terminal-widget pre{margin:0;padding:20px;white-space:pre-wrap;font:700 12px/1.8 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.terminal-widget pre span{color:var(--pink)}.terminal-widget .term-ok{color:#6de2a8}.tool-info-card{padding:22px}.tool-info-card h3{margin:0 0 8px}.tool-info-card p{color:#6d8393;margin:0;font-size:.9rem}
.qr-preview-card,.qr-placeholder{padding:24px;text-align:center}.qr-preview-card h3,.qr-placeholder h3{margin:4px 0 14px}.qr-frame{display:inline-grid;place-items:center;padding:15px;border-radius:18px;background:linear-gradient(145deg,#fff,#eef4f7);box-shadow:inset 0 0 0 1px #dce8ee}.qr-frame img{width:min(100%,300px);height:auto;border-radius:7px}.tool-download{margin-top:16px;color:#fff}.qr-preview-card small{display:block;color:#7a909e;font-size:.75rem;line-height:1.5;margin-top:14px}.fake-qr{width:180px;height:180px;margin:4px auto 20px;border-radius:12px;background:conic-gradient(from 90deg at 20% 20%,#071522 0 25%,#fff 0 50%,#071522 0 75%,#fff 0) 0 0/36px 36px;opacity:.12}.qr-placeholder p{color:#78909f}
.ip-tool-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:22px;position:relative;z-index:1}.ip-main-card,.ip-detail-card{padding:30px}.ip-main-card{background:linear-gradient(145deg,#061522,#0b2a40);color:#fff;border-color:rgba(103,201,255,.18)}.ip-value-row{display:flex;align-items:center;gap:12px;justify-content:space-between}.ip-value-row h2{font:850 clamp(1.7rem,4vw,3rem)/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all;color:#70d0ff;margin:14px 0}.ip-main-card p{color:#9fb9c9;font-size:.9rem}.ip-pulse-line{height:2px;margin:18px 0 22px;background:rgba(255,255,255,.08);position:relative;overflow:hidden}.ip-pulse-line span{position:absolute;top:0;bottom:0;width:25%;background:linear-gradient(90deg,transparent,var(--pink),var(--blue),transparent);animation:ipSweep 2.8s linear infinite}@keyframes ipSweep{from{left:-30%}to{left:110%}}.ip-detail-list{margin:0}.ip-detail-list>div{display:grid;grid-template-columns:160px 1fr;gap:18px;padding:13px 0;border-top:1px solid #e4edf2}.ip-detail-list dt{font-weight:800;color:#536d7c}.ip-detail-list dd{margin:0;color:#153247;word-break:break-word}

/* Little IT cues throughout */
.eyebrow{position:relative}
.quick-grid a{position:relative;overflow:hidden}.quick-grid a:after{display:none!important}

@media(max-width:1100px){.settings-row{grid-template-columns:repeat(3,1fr)}.apps-preview-live{grid-template-columns:repeat(2,1fr)}.upcoming-grid{grid-template-columns:repeat(2,1fr)}.hero-hud{right:24px;top:120px;transform:scale(.9);transform-origin:top right}}
@media(max-width:860px){.process-link{display:none}.hero-hud{display:none}.tool-app-layout,.ip-tool-grid{grid-template-columns:1fr}.tool-app-side{position:static}.settings-row{grid-template-columns:repeat(2,1fr)}.tools-grid-live{grid-template-columns:1fr 1fr}.symbol-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.service-card-inner{padding-bottom:74px!important}.service-card .card-arrow{bottom:18px!important}.apps-preview-live,.tools-grid-live,.upcoming-grid,.option-grid,.tool-form-grid,.settings-row,.symbol-grid{grid-template-columns:1fr}.tool-app-card,.ip-main-card,.ip-detail-card{padding:22px}.copy-field,.ip-value-row{align-items:stretch;flex-direction:column}.copy-button{width:100%}.ip-detail-list>div{grid-template-columns:1fr;gap:2px}.app-mini-card .app-mini-arrow{right:18px;bottom:18px}}
@media(prefers-reduced-motion:reduce){.hero-hud,.hud-scan,.hud-dot,.tool-status i,.app-mini-status i,.tech-circuit i,.process-packet,.quick-grid a:after,.ip-pulse-line span{animation:none!important}.tech-canvas{display:none!important}}
/* Word-by-word reveal for large text */
.word-unit{display:inline-block;opacity:0;transform:translate3d(0,24px,0) rotate(.8deg);filter:blur(4px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out),filter .7s var(--ease-out);transition-delay:var(--word-delay,0ms)}
.words-visible .word-unit{opacity:1;transform:none;filter:none}
@media(prefers-reduced-motion:reduce){.word-unit{opacity:1!important;transform:none!important;filter:none!important}}

/* Animace datového toku */
.process-step:nth-child(1) .process-link{background:linear-gradient(90deg,rgba(249,65,118,.55),rgba(45,166,238,.48))}
.process-step:nth-child(2) .process-link{background:linear-gradient(90deg,rgba(45,166,238,.5),rgba(249,65,118,.5))}
.process-step:nth-child(3) .process-link{background:linear-gradient(90deg,rgba(249,65,118,.5),rgba(45,166,238,.58))}
.password-result[hidden],.notice[hidden]{display:none!important}
.password-result.result-pop{animation:resultPop .48s var(--ease-out) both}
@keyframes resultPop{from{opacity:0;transform:translateY(12px) scale(.985);box-shadow:0 0 0 rgba(45,166,238,0)}to{opacity:1;transform:none;box-shadow:0 18px 45px rgba(45,166,238,.12)}}
#generatePasswordButton{min-width:190px}
@keyframes buttonSpin{to{transform:rotate(360deg)}}
.tools-hero:before{content:"";position:absolute;left:-16%;right:-16%;bottom:26px;height:1px;background:linear-gradient(90deg,transparent,rgba(45,166,238,.22),rgba(249,65,118,.22),transparent);z-index:1;pointer-events:none}
.tools-hero .container:after{content:"";position:absolute;left:-20px;bottom:-50px;width:7px;height:7px;border-radius:50%;background:#7ad9ff;box-shadow:0 0 9px #2da6ee,0 0 20px rgba(249,65,118,.55);animation:heroDataPacket 8s linear infinite;pointer-events:none}
@keyframes heroDataPacket{0%{left:-8%;opacity:0}8%{opacity:1}92%{opacity:1}100%{left:108%;opacity:0}}

/* Final service-card alignment override: every arrow has one fixed baseline. */
.services-grid{align-items:stretch}
.service-card{height:405px!important;min-height:405px!important}
.service-card-inner{height:100%!important;min-height:0!important;box-sizing:border-box}
.service-card .card-arrow{left:18px!important;bottom:20px!important}
@media(max-width:620px){.service-card{height:315px!important;min-height:315px!important}.service-card .card-arrow{bottom:18px!important}}

@media(prefers-reduced-motion:reduce){.tools-hero .container:after,.password-result.result-pop{animation:none!important}}


/* Generátor hesel */
.apps-preview-single{grid-template-columns:minmax(0,760px);justify-content:start}
.app-mini-card-featured{min-height:190px;display:grid;grid-template-columns:58px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:12px 18px;padding:28px 30px}
.app-mini-card-featured .app-mini-icon{grid-row:1/3;margin:0;width:54px;height:54px}
.app-mini-card-featured .app-mini-copy{display:grid;gap:7px;align-self:end}
.app-mini-card-featured .app-mini-copy strong{margin:0;font-size:1.45rem}
.app-mini-card-featured .app-mini-copy small{margin:0;max-width:580px;line-height:1.55}
.app-mini-card-featured .app-mini-status{position:static;align-self:start;justify-self:start}
.app-mini-card-featured .app-mini-arrow{position:static!important;grid-column:3;grid-row:1/3;align-self:center;margin:0;width:42px;height:42px}
.passgen-generate{width:100%;min-height:52px;margin-top:2px}
.passgen-generate .btn-label{position:relative;z-index:1}
.password-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px;color:#718896;font-size:.76rem}
.strength-1{background:#fff0f1;color:#a8263f}.strength-2{background:#fff5df;color:#946000}.strength-3{background:#eef8ff;color:#17628d}.strength-4,.strength-5{background:#e8f5ef;color:#197149}
@media(max-width:620px){.app-mini-card-featured{grid-template-columns:48px 1fr;padding:22px}.app-mini-card-featured .app-mini-icon{grid-row:1}.app-mini-card-featured .app-mini-copy{grid-column:1/3}.app-mini-card-featured .app-mini-status{grid-column:1/3}.app-mini-card-featured .app-mini-arrow{grid-column:2;grid-row:1;justify-self:end}}
/* Status u jediné utility je záměrně statický – žádné rušivé blikání u textu. */
.app-mini-status i{animation:none!important}

/* Tlačítko zpět nahoru */
.back-to-top{position:fixed;right:22px;bottom:22px;z-index:90;width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(72,184,247,.42);border-radius:50%;background:rgba(6,24,39,.88);color:#fff;box-shadow:0 12px 32px rgba(4,20,34,.24),0 0 0 1px rgba(255,255,255,.025) inset;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(14px) scale(.94);transition:opacity .25s ease,visibility .25s ease,transform .25s ease,background .25s ease,border-color .25s ease}.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}.back-to-top:hover{background:#0a2940;border-color:#65c9ff;transform:translateY(-3px)}.back-to-top:focus-visible{outline:3px solid rgba(45,166,238,.34);outline-offset:3px}.back-to-top .icon{width:22px;height:22px}.back-to-top .icon svg{width:100%;height:100%}@media(max-width:620px){.back-to-top{right:14px;bottom:14px;width:44px;height:44px}}@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}.back-to-top:hover{transform:none}}
