/* Benešl Automation – sdílené styly webu (vygenerováno z firemního webu + ba_extra.css) */
:root{
  --paper:#F1F2F2; --panel:#FFFFFF; --ink:#1E262D; --ink-2:#56626C; --slate:#404C56;
  --line:#CDD3D7; --line-2:#E1E5E7; --signal:#F0A500; --signal-ink:#1E262D; --run:#2BA84A;
  --todo:#B7791F; --dark:#1E262D; --on-dark:#E5E7E7; --on-dark-2:#9AA6AF;
  --wrap:1160px;
  --logo:url("data:image/png;base64,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");
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#161C21; --panel:#1D252B; --ink:#E5E7E7; --ink-2:#9AA6AF; --slate:#B8C3CB;
    --line:#34414B; --line-2:#29343C; --todo:#E0A84A; --dark:#0F1418;
  }
}
:root[data-theme="dark"]{
  --paper:#161C21; --panel:#1D252B; --ink:#E5E7E7; --ink-2:#9AA6AF; --slate:#B8C3CB;
  --line:#34414B; --line-2:#29343C; --todo:#E0A84A; --dark:#0F1418;
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth; scroll-padding-top:calc(88px + env(safe-area-inset-top,0px))}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:17px; line-height:1.55; font-variation-settings:"wdth" 100;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--signal); outline-offset:3px; border-radius:2px}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 24px}
h1,h2,h3{font-variation-settings:"wdth" 82; line-height:1.08; margin:0; letter-spacing:-.01em}
h2{font-size:clamp(30px,4vw,44px); font-weight:760}
h3{font-size:21px; font-weight:700; font-variation-settings:"wdth" 90}
p{margin:0 0 1em}
.lead{font-size:19px; color:var(--ink-2); max-width:60ch}
.todo{outline:1.5px dashed var(--todo); outline-offset:2px; border-radius:2px; color:var(--todo)}

/* header */
.top{position:sticky; top:0; z-index:20; background:color-mix(in srgb,var(--paper) 88%,transparent);
  backdrop-filter:saturate(1.4) blur(10px); -webkit-backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid var(--line-2); padding-top:env(safe-area-inset-top,0px); margin-top:calc(-1 * env(safe-area-inset-top,0px))}
.top .wrap{display:flex; align-items:center; gap:28px; height:84px}
.brand{display:flex; align-items:center; text-decoration:none}
.logo{display:block; height:52px; aspect-ratio:208/64; background:var(--slate); -webkit-mask:var(--logo) center/contain no-repeat; mask:var(--logo) center/contain no-repeat}
.foot .logo{height:44px; background:#E5E7E7; margin-bottom:16px}
.nav{display:flex; gap:24px; margin-left:auto}
.nav a{text-decoration:none; color:var(--ink-2); font-weight:500; font-size:16px}
.nav a:hover{color:var(--ink)}
.btn{display:inline-flex; align-items:center; gap:10px; background:var(--signal); color:var(--signal-ink);
  font:inherit; font-weight:650; font-size:16px; padding:12px 20px; border:0; border-radius:4px; text-decoration:none; cursor:pointer}
.btn:hover{background:#FFB61A}
.btn.ghost{background:transparent; color:var(--ink); box-shadow:inset 0 0 0 1.5px var(--line)}
.btn.ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ink-2)}
.menu-btn{display:none; margin-left:auto; background:none; border:1.5px solid var(--line); border-radius:4px; padding:8px 12px; font:inherit; color:var(--ink); cursor:pointer}
@media (max-width:880px){
  .nav,.top .btn{display:none}
  .menu-btn{display:block}
  .top.open .nav{display:flex; position:absolute; left:0; right:0; top:100%; flex-direction:column; gap:0;
    background:var(--panel); border-bottom:1px solid var(--line)}
  .top.open .nav a{padding:16px 24px; border-top:1px solid var(--line-2)}
}

/* hero */
.hero{padding:72px 0 88px; border-bottom:1px solid var(--line-2)}
.hero .wrap{display:grid; grid-template-columns:1.05fr 1fr; gap:56px; align-items:center}
.hero h1{font-size:clamp(38px,5vw,62px); font-weight:780; font-variation-settings:"wdth" 76; margin-bottom:24px}
.hero .lead{margin-bottom:32px}
.hero .ctas{display:flex; gap:12px; flex-wrap:wrap}
.hero .where{margin-top:36px; font-size:15px; color:var(--ink-2); display:flex; gap:10px; align-items:center}
.led{width:9px; height:9px; border-radius:50%; background:var(--run); box-shadow:0 0 0 3px color-mix(in srgb,var(--run) 22%,transparent); flex:none}
.topo{width:100%; height:auto; overflow:visible}
.topo .wire{stroke:var(--slate); stroke-width:2; fill:none}
.topo .bus{stroke:var(--slate); stroke-width:4; fill:none; stroke-linecap:round}
.topo .box{fill:var(--panel); stroke:var(--slate); stroke-width:1.5}
.topo .cpu{fill:var(--slate)}
.topo .t1{font:650 15px "Archivo",sans-serif; fill:var(--ink); font-variation-settings:"wdth" 88}
.topo .t2{font:400 13px "Archivo",sans-serif; fill:var(--ink-2)}
.topo .tc{font:700 14px "Archivo",sans-serif; fill:var(--paper); font-variation-settings:"wdth" 80}
.topo .dot{fill:var(--line)}
.topo .on{animation:on .4s ease-out forwards}
@keyframes on{to{fill:var(--run)}}
@media (prefers-reduced-motion: reduce){.topo .on{animation:none; fill:var(--run)}}
@media (max-width:880px){.hero .wrap{grid-template-columns:1fr} .hero{padding:48px 0 64px}}

section{padding:96px 0}
.sec-head{display:grid; grid-template-columns:1fr 1.4fr; gap:40px; align-items:end; margin-bottom:48px}
.sec-head .lead{margin:0}
@media (max-width:880px){.sec-head{grid-template-columns:1fr; gap:16px} section{padding:72px 0}}

/* services */
.svc{border-top:2px solid var(--ink)}
.svc-row{display:grid; grid-template-columns:1fr 1.4fr 1fr; gap:32px; padding:28px 0; border-bottom:1px solid var(--line)}
.svc-row p{margin:0; color:var(--ink-2)}
.svc-row h3{padding-top:2px}
.tags{display:flex; flex-wrap:wrap; gap:6px; align-content:flex-start}
.tag{font-size:14px; padding:4px 10px; border:1px solid var(--line); border-radius:3px; background:var(--panel); white-space:nowrap}
@media (max-width:880px){.svc-row{grid-template-columns:1fr; gap:12px}}

/* platforms */
.plat{background:var(--dark); color:var(--on-dark)}
.plat h2{color:#fff}
.plat .lead{color:var(--on-dark-2)}
.plat-grid{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:1px; background:#3A4650; border:1px solid #3A4650}
.plat-grid > div{background:var(--dark); padding:28px 24px}
.plat-grid h3{color:#fff; font-size:26px; margin-bottom:12px}
.plat-grid p{color:var(--on-dark-2); font-size:15px; margin:0}
.plat-grid .main h3{font-size:34px}
.plat-grid .main{background:#26313A}
.plat-grid .scada{grid-column:span 3}
.plat-grid .comm{grid-column:1/-1}
@media (max-width:880px){.plat-grid{grid-template-columns:1fr 1fr} .plat-grid .main,.plat-grid .scada,.plat-grid .other,.plat-grid .comm{grid-column:1/-1}}

/* references */
.refs{display:grid; gap:40px}
.ref-group{display:grid; grid-template-columns:220px 1fr; gap:32px; border-top:1px solid var(--line); padding-top:24px}
.ref-group h3{font-size:19px}
.ref-group .count{display:block; color:var(--ink-2); font-size:14px; font-weight:400; margin-top:6px}
.ref-list{list-style:none; margin:0; padding:0; display:grid; gap:18px}
.ref-list li{display:grid; grid-template-columns:minmax(180px,.8fr) 1.6fr; gap:24px}
.ref-list strong{font-weight:650}
.ref-list .who{color:var(--ink-2); font-size:14px; display:block; margin-top:2px}
.ref-list .what{color:var(--ink)}
@media (max-width:880px){.ref-group,.ref-list li{grid-template-columns:1fr; gap:6px} .ref-list{gap:22px}}

/* process */
.steps{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(6,1fr); counter-reset:s; position:relative}
.steps li{counter-increment:s; padding:0 18px 0 0; position:relative}
.steps li::before{content:counter(s); display:grid; place-items:center; width:40px; height:40px; border-radius:50%;
  background:var(--panel); border:2px solid var(--slate); font-weight:700; margin-bottom:18px; position:relative; z-index:1}
.steps::before{content:""; position:absolute; left:20px; right:40px; top:19px; height:2px; background:var(--line)}
.steps h3{font-size:18px; margin-bottom:6px}
.steps p{font-size:15px; color:var(--ink-2); margin:0}
@media (max-width:880px){
  .steps{grid-template-columns:1fr; gap:24px}
  .steps::before{left:19px; right:auto; top:20px; bottom:20px; width:2px; height:auto}
  .steps li{padding:0 0 0 60px}
  .steps li::before{position:absolute; left:0; top:-6px; margin:0}
}

/* gallery */
.gallery{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:200px; gap:12px}
.gallery figure{margin:0; position:relative; overflow:hidden; border-radius:4px; background:var(--panel); border:1px solid var(--line)}
.gallery figure.wide{grid-column:span 2}
.gallery figure.tall{grid-row:span 2}
.gallery img{width:100%; height:100%; object-fit:cover; cursor:zoom-in}
.gallery .ph{position:absolute; inset:0; display:grid; place-items:center; text-align:center; padding:16px;
  background:repeating-linear-gradient(135deg,transparent 0 14px,var(--line-2) 14px 15px); color:var(--ink-2); font-size:14px}
.gallery figcaption{position:absolute; left:0; right:0; bottom:0; padding:10px 12px; font-size:14px; font-weight:550;
  background:linear-gradient(transparent,rgba(20,26,31,.78)); color:#fff}
@media (max-width:880px){.gallery{grid-template-columns:1fr 1fr; grid-auto-rows:150px}}
.lightbox{position:fixed; inset:0; background:rgba(10,14,17,.92); display:none; place-items:center; z-index:50; padding:24px}
.lightbox.open{display:grid}
.lightbox img{max-height:86vh; width:auto; border-radius:4px}
.lightbox button{position:absolute; top:calc(16px + env(safe-area-inset-top,0px)); right:16px; background:#fff; border:0; border-radius:4px; padding:8px 14px; font:inherit; cursor:pointer}

/* reviews */
.reviews{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.review{margin:0; padding:28px; background:var(--panel); border-left:3px solid var(--signal)}
.review p{font-size:18px; line-height:1.5}
.review footer{font-size:15px; color:var(--ink-2)}
.review footer strong{color:var(--ink); display:block}
@media (max-width:880px){.reviews{grid-template-columns:1fr}}

/* about */
.about{display:grid; grid-template-columns:320px 1fr; gap:56px; align-items:start}
.portrait{aspect-ratio:4/5; background:var(--panel); border:1px solid var(--line); display:grid; place-items:center; color:var(--ink-2); font-size:14px; text-align:center; padding:16px;
  background-image:repeating-linear-gradient(135deg,transparent 0 14px,var(--line-2) 14px 15px)}
.about h2{margin-bottom:24px}
.facts{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:32px; padding-top:24px; border-top:1px solid var(--line)}
.facts dt{font-size:14px; color:var(--ink-2)}
.facts dd{margin:4px 0 0; font-weight:650}
@media (max-width:880px){.about{grid-template-columns:1fr} .portrait{max-width:260px} .facts{grid-template-columns:1fr 1fr}}

/* faq */
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--line); padding:20px 0}
.faq summary{cursor:pointer; font-weight:650; font-size:19px; list-style:none; display:flex; justify-content:space-between; gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; font-weight:400; font-size:24px; line-height:1; color:var(--ink-2)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:12px 0 0; color:var(--ink-2); max-width:68ch}

/* contact */
.contact{background:var(--panel); border-top:1px solid var(--line-2)}
.contact .wrap{display:grid; grid-template-columns:1fr 1.3fr; gap:64px}
.contact dl{margin:32px 0 0; display:grid; gap:18px}
.contact dt{font-size:14px; color:var(--ink-2)}
.contact dd{margin:2px 0 0; font-size:19px; font-weight:600}
form{display:grid; grid-template-columns:1fr 1fr; gap:16px}
form .full{grid-column:1/-1}
label{display:block; font-size:15px; font-weight:550; margin-bottom:6px}
input,select,textarea{width:100%; font:inherit; font-size:16px; padding:12px 14px; border:1.5px solid var(--line); border-radius:4px; background:var(--paper); color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:none; border-color:var(--slate); box-shadow:0 0 0 3px color-mix(in srgb,var(--signal) 45%,transparent)}
textarea{min-height:150px; resize:vertical}
.check{display:flex; gap:10px; align-items:flex-start; font-size:15px; font-weight:400; color:var(--ink-2)}
.check input{width:18px; height:18px; margin-top:3px; flex:none}
.err{color:#C0392B; font-size:14px; margin-top:4px; display:none}
.invalid .err{display:block}
.invalid input,.invalid textarea{border-color:#C0392B}
.status{grid-column:1/-1; padding:14px 16px; border-radius:4px; display:none; font-size:15px}
.status.ok{display:block; background:color-mix(in srgb,var(--run) 14%,transparent); border:1px solid var(--run)}
@media (max-width:880px){.contact .wrap{grid-template-columns:1fr; gap:40px} form{grid-template-columns:1fr}}

/* footer */
.foot{background:var(--dark); color:var(--on-dark-2); padding:48px 0 40px; font-size:15px}
.foot .wrap{display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:32px}
.foot strong{color:#fff; display:block; margin-bottom:6px; font-size:16px}
.foot a{color:var(--on-dark)}
.foot p{margin:0 0 4px}
@media (max-width:880px){.foot .wrap{grid-template-columns:1fr}}

.svc-row ul{margin:14px 0 0; padding:0; list-style:none; display:grid; gap:6px}
.svc-row ul li{position:relative; padding-left:18px; color:var(--ink); font-size:16px}
.svc-row ul li::before{content:""; position:absolute; left:0; top:.62em; width:8px; height:2px; background:var(--slate)}
.std{display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:2px solid var(--ink)}
.std > div{padding:24px 24px 0 0; border-right:1px solid var(--line); margin-right:24px}
.std > div:last-child{border-right:0}
.std.three{grid-template-columns:repeat(3,1fr)}
.std h3{font-size:19px; margin-bottom:10px}
.std p{color:var(--ink-2); font-size:16px; margin:0}
.contact dd a{text-decoration:none}
.contact dd a:hover{text-decoration:underline}
@media (max-width:880px){.std,.std.three{grid-template-columns:1fr} .std > div{border-right:0; margin:0; padding:20px 0; border-bottom:1px solid var(--line)}}
.ref-note{margin:40px 0 0; padding-top:24px; border-top:1px solid var(--line); color:var(--ink-2); max-width:70ch}
.stats{display:flex; gap:40px; margin:40px 0 0; padding-top:24px; border-top:1px solid var(--line); flex-wrap:wrap}
.stats div{display:flex; flex-direction:column-reverse}
.stats dt{font-size:14px; color:var(--ink-2)}
.stats dd{margin:0; font-size:34px; font-weight:780; font-variation-settings:"wdth" 80; line-height:1.1}
dialog.gdpr{max-width:760px; width:calc(100% - 32px); max-height:86vh; border:0; border-radius:6px; padding:0; background:var(--panel); color:var(--ink)}
dialog.gdpr::backdrop{background:rgba(10,14,17,.6)}
.gdpr-head{position:sticky; top:0; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 28px; background:var(--panel); border-bottom:1px solid var(--line)}
.gdpr-head h2{font-size:26px}
.gdpr-body{padding:8px 28px 28px; font-size:16px}
.gdpr-body h3{font-size:18px; margin:24px 0 8px}
.gdpr-body ul{padding-left:20px; margin:0 0 1em}
.gdpr-body li{margin-bottom:4px}
.gdpr-close{background:none; border:1.5px solid var(--line); border-radius:4px; padding:8px 14px; font:inherit; color:var(--ink); cursor:pointer}
.check a{color:var(--ink)}

/* ===== modern layer ===== */
.progress{position:fixed; top:0; left:0; right:0; height:3px; background:var(--signal); transform-origin:0 50%; transform:scaleX(0); z-index:40}
.top{position:fixed; left:0; right:0; background:transparent; border-bottom-color:transparent; -webkit-backdrop-filter:none; backdrop-filter:none; transition:background .35s, border-color .35s, box-shadow .35s}
.top .wrap{transition:height .35s}
.top .logo{transition:height .35s, background-color .35s}
.top.scrolled{background:color-mix(in srgb,var(--paper) 88%,transparent); -webkit-backdrop-filter:saturate(1.4) blur(12px); backdrop-filter:saturate(1.4) blur(12px); border-bottom-color:var(--line-2); box-shadow:0 8px 30px rgba(15,20,24,.07)}
.top.scrolled .wrap{height:68px}
.top.scrolled .logo{height:44px}
.top:not(.scrolled):not(.open) .logo{background:#E5E7E7}
.top:not(.scrolled):not(.open) .nav a{color:#AEB8BF}
.top:not(.scrolled):not(.open) .nav a:hover{color:#fff}
.top:not(.scrolled):not(.open) .menu-btn{color:#fff; border-color:rgba(255,255,255,.3)}
.top.open{background:var(--panel)}
.nav a{position:relative}
.nav a::after{content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px; background:var(--signal); transform:scaleX(0); transform-origin:left; transition:transform .25s}
.nav a:hover::after{transform:scaleX(1)}

.hero{position:relative; overflow:hidden; color:#F1F2F2; border-bottom:0;
  padding:calc(84px + 80px + env(safe-area-inset-top,0px)) 0 0; margin-top:calc(-1 * env(safe-area-inset-top,0px));
  background:
    radial-gradient(900px 520px at 82% 28%, rgba(240,165,0,.12), transparent 60%),
    radial-gradient(760px 560px at 6% 100%, rgba(80,96,110,.45), transparent 62%),
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px) 0 0/44px 44px,
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0/44px 44px,
    #11171C}
.hero h1{color:#fff; font-size:clamp(40px,5.4vw,70px)}
.hero h1 .accent{color:var(--signal)}
.hero .lead{color:#A7B2BA}
.hero .btn.ghost{color:#fff; box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.28)}
.hero .btn.ghost:hover{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.7)}
.hero .stats{border-top-color:rgba(255,255,255,.12)}
.hero .stats dt{color:#8C99A2}
.hero .stats dd{color:#fff; font-variant-numeric:tabular-nums}
.topo .wire{stroke:#4B5A66}
.topo .bus{stroke:#61717D}
.topo .box{fill:rgba(255,255,255,.04); stroke:#3B4852; transition:stroke .3s}
.topo .cpu{fill:#26313A; stroke:var(--signal); stroke-width:1.5}
.topo .tc{fill:#fff}
.topo .t1{fill:#EEF1F2}
.topo .t2{fill:#8C99A2}
.topo .dot{fill:#3B4852}
.topo .pulse{fill:var(--signal)}
.topo .halo{fill:none; stroke:var(--signal); stroke-width:1.5; opacity:.0; animation:halo 2.6s ease-out infinite}
@keyframes halo{0%{opacity:.7; r:40} 100%{opacity:0; r:95}}
.ticker{margin-top:88px; border-top:1px solid rgba(255,255,255,.08); padding:20px 0; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ticker-track{display:flex; gap:44px; width:max-content; animation:tick 48s linear infinite}
.ticker span{color:#7C8993; font-weight:600; font-size:15px; letter-spacing:.02em; white-space:nowrap; display:flex; align-items:center; gap:44px}
.ticker span::after{content:""; width:5px; height:5px; border-radius:50%; background:#3B4852}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes tick{to{transform:translateX(-50%)}}

.btn{transition:transform .2s, background .2s, box-shadow .2s}
.btn:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(240,165,0,.28)}
.btn.ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ink-2)}
.btn .arr{transition:transform .2s; display:inline-block}
.btn:hover .arr{transform:translateX(4px)}

.svc{counter-reset:svc}
.svc-row{position:relative}
.svc-row h3::before{counter-increment:svc; content:counter(svc, decimal-leading-zero); display:block; font-size:13px; font-weight:650; color:var(--signal); letter-spacing:.1em; margin-bottom:10px; font-variation-settings:"wdth" 100}
.svc-row::before{content:""; position:absolute; left:-20px; top:28px; bottom:28px; width:3px; background:var(--signal); transform:scaleY(0); transform-origin:top; transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.svc-row:hover::before{transform:scaleY(1)}
.svc-row .tag{transition:border-color .2s, background .2s}
.svc-row:hover .tag{border-color:var(--ink-2)}
@media (max-width:880px){.svc-row::before{left:-12px}}

.plat-grid > div{transition:background .3s}
.plat-grid > div:hover{background:#2A3640}
.std > div{transition:transform .3s}
.std > div:hover{transform:translateY(-4px)}
.review{transition:transform .3s, box-shadow .3s}
.review:hover{transform:translateY(-4px); box-shadow:0 14px 34px rgba(15,20,24,.08)}
.gallery img,.gallery .ph{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.gallery figure:hover img,.gallery figure:hover .ph{transform:scale(1.05)}
.ref-list li{transition:transform .25s}
.ref-list li:hover{transform:translateX(6px)}

.reveal{opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1; transform:none}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1; transform:none; transition:none}
  .ticker-track{animation:none; flex-wrap:wrap; width:auto}
  .topo .pulse,.topo .halo{display:none}
  .btn:hover,.std > div:hover,.review:hover,.ref-list li:hover{transform:none}
}
@media (max-width:880px){.hero .stats{gap:24px} .hero .stats dd{font-size:28px} .hero{padding-top:calc(84px + 40px + env(safe-area-inset-top,0px))} .ticker{margin-top:56px}}

/* map */
.map-wrap{display:grid; grid-template-columns:1.9fr 1fr; gap:40px; align-items:start}
.map{position:relative}
.map svg{width:100%; height:auto; display:block; overflow:visible}
.map .land{fill:var(--panel); stroke:var(--slate); stroke-width:1.5; stroke-linejoin:round}
.map .dotp{fill:var(--line)}
.map .land-dots{pointer-events:none}
.map .ln{stroke:var(--signal); stroke-width:1.2; fill:none; opacity:.45; stroke-dasharray:var(--len); stroke-dashoffset:var(--len); transition:stroke-dashoffset 1.2s cubic-bezier(.2,.7,.2,1), opacity .3s}
.map.drawn .ln{stroke-dashoffset:0}
.map .ln.hot{opacity:1; stroke-width:2}
.map .pt{cursor:pointer; outline:none}
.map .pt .c{fill:var(--signal); stroke:var(--paper); stroke-width:2.5; transition:r .2s, fill .2s; transform-box:fill-box}
.map .pt .hit{fill:transparent}
.map .pt:hover .c,.map .pt:focus-visible .c,.map .pt.on .c{r:9}
.map .pt.base .c{fill:var(--slate)}
.map .pt.base .ring{fill:none; stroke:var(--slate); stroke-width:1.5; animation:ring 2.4s ease-out infinite}
@keyframes ring{0%{r:9; opacity:.8} 100%{r:26; opacity:0}}
.map .pt .pop{transform-origin:center; transform-box:fill-box; transform:scale(0); transition:transform .45s cubic-bezier(.3,1.6,.5,1)}
.map.drawn .pt .pop{transform:scale(1)}
.map-tip{position:absolute; transform:translate(-50%,calc(-100% - 16px)); background:var(--ink); color:var(--paper); padding:8px 12px; border-radius:4px; font-size:14px; font-weight:600; white-space:nowrap; pointer-events:none; opacity:0; transition:opacity .15s}
.map-tip.show{opacity:1}
.map-tip::after{content:""; position:absolute; left:50%; bottom:-6px; margin-left:-6px; border:6px solid transparent; border-bottom:0; border-top-color:var(--ink)}
.map-detail{border-top:2px solid var(--ink); padding-top:18px; min-height:150px}
.map-kicker{font-size:13px; font-weight:650; color:var(--signal); letter-spacing:.1em; text-transform:uppercase}
.map-detail h3{font-size:28px; margin:8px 0 8px}
.map-detail p{color:var(--ink-2); margin:0}
.map-list{display:flex; flex-wrap:wrap; gap:6px; margin-top:24px}
.map-list button{font:inherit; font-size:14px; padding:6px 11px; border:1px solid var(--line); border-radius:3px; background:var(--panel); color:var(--ink); cursor:pointer; transition:border-color .2s, background .2s, color .2s}
.map-list button:hover{border-color:var(--ink-2)}
.map-list button.on{background:var(--ink); color:var(--paper); border-color:var(--ink)}
.map-abroad{margin:22px 0 0; font-weight:600; display:flex; align-items:center; gap:10px}
.globe{width:16px; height:16px; border-radius:50%; border:2px solid var(--signal); position:relative; flex:none}
.globe::before{content:""; position:absolute; inset:2px 4px; border-left:1.5px solid var(--signal); border-right:1.5px solid var(--signal); border-radius:50%}
@media (max-width:880px){.map-wrap{grid-template-columns:1fr; gap:24px} .map-detail{min-height:0}}
@media (prefers-reduced-motion: reduce){.map .ln{transition:none; stroke-dashoffset:0} .map .pt .pop{transform:none; transition:none} .map .pt.base .ring{display:none}}

/* timeline */
.timeline{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:24px; position:relative}
.timeline::before{content:""; position:absolute; left:0; right:0; top:44px; height:2px; background:var(--line)}
.timeline::after{content:""; position:absolute; left:0; right:0; top:44px; height:2px; background:var(--signal); transform:scaleX(0); transform-origin:left; transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.timeline.go::after{transform:scaleX(1)}
.timeline li{position:relative; padding-top:68px}
.timeline li::before{content:""; position:absolute; left:0; top:37px; width:16px; height:16px; border-radius:50%; background:var(--paper); border:3px solid var(--slate); z-index:1; transition:border-color .3s, background .3s}
.timeline.go li::before{border-color:var(--signal)}
.timeline li.now::before{background:var(--signal); border-color:var(--signal); box-shadow:0 0 0 6px color-mix(in srgb,var(--signal) 25%,transparent)}
.timeline .yr{position:absolute; top:0; left:0; font-size:26px; font-weight:780; font-variation-settings:"wdth" 80; color:var(--ink)}
.timeline li.now .yr{color:var(--signal)}
.timeline h3{font-size:18px; margin-bottom:6px}
.timeline p{font-size:15px; color:var(--ink-2); margin:0}
@media (max-width:880px){
  .timeline{grid-template-columns:1fr; gap:28px; padding-left:36px}
  .timeline::before,.timeline::after{left:7px; right:auto; top:6px; bottom:6px; width:2px; height:auto}
  .timeline::after{transform:scaleY(0); transform-origin:top}
  .timeline.go::after{transform:scaleY(1)}
  .timeline li{padding-top:0}
  .timeline li::before{left:-36px; top:6px}
  .timeline .yr{position:static; display:block; font-size:22px; margin-bottom:4px}
}
@media (prefers-reduced-motion: reduce){.timeline::after{transition:none; transform:none}}

@media (max-width:1180px){.nav{gap:16px} .nav a{font-size:15px} .top .wrap{gap:20px}}
@media (max-width:1040px){.top .btn{display:none}}
/* industry 4.0 */
.i40{display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:start}
.i40-list{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0; border-top:2px solid var(--ink)}
.i40-list li{padding:24px 24px 24px 0; border-bottom:1px solid var(--line); position:relative}
.i40-list li:nth-child(odd){padding-right:28px; border-right:1px solid var(--line)}
.i40-list li:nth-child(even){padding-left:28px}
.i40-list h3{font-size:19px; margin-bottom:8px; display:flex; align-items:center; gap:10px}
.i40-list h3::before{content:""; width:10px; height:10px; background:var(--signal); transform:rotate(45deg); flex:none}
.i40-list p{margin:0; color:var(--ink-2); font-size:16px}
.research{background:var(--dark); color:var(--on-dark); padding:32px; border-radius:6px; position:relative; overflow:hidden;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px); background-size:32px 32px}
.research h3{color:#fff; font-size:26px; margin:8px 0 12px}
.research > p{color:var(--on-dark-2); font-size:16px}
.r-stats{display:flex; gap:32px; margin:20px 0 24px; padding:18px 0; border-top:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1)}
.r-stats div{display:flex; flex-direction:column-reverse}
.r-stats dt{font-size:14px; color:var(--on-dark-2)}
.r-stats dd{margin:0; font-size:34px; font-weight:780; color:var(--signal); font-variation-settings:"wdth" 80; line-height:1.1}
.pubs{list-style:none; margin:0; padding:0; display:grid; gap:14px}
.pubs li{display:grid; gap:3px}
.pubs a{color:#fff; text-decoration:none; font-weight:600; font-size:15px; line-height:1.35; transition:color .2s}
.pubs a:hover{color:var(--signal)}
.pubs span{font-size:13px; color:var(--on-dark-2)}
.pubs b{display:inline-block; margin-left:6px; padding:1px 6px; border-radius:3px; background:var(--signal); color:var(--signal-ink); font-size:11px; letter-spacing:.05em}
.pub-links{display:flex; gap:20px; margin:22px 0 0}
.pub-links a{color:var(--signal); font-weight:600; text-decoration:none; font-size:15px}
.pub-links a::after{content:" →"}
@media (max-width:880px){.i40{grid-template-columns:1fr} .i40-list{grid-template-columns:1fr} .i40-list li:nth-child(n){padding:20px 0; border-right:0} .research{padding:24px}}

/* product */
.prod{background:#11171C; color:#E5E7E7; position:relative; overflow:hidden;
  background-image:radial-gradient(800px 480px at 90% 0%, rgba(240,165,0,.12), transparent 60%),linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:auto,44px 44px,44px 44px}
.prod-head{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; margin-bottom:56px}
.prod-badge{display:inline-block; font-size:13px; font-weight:650; letter-spacing:.1em; text-transform:uppercase; color:var(--signal-ink); background:var(--signal); padding:4px 10px; border-radius:3px; margin-bottom:18px}
.prod h2{color:#fff; font-size:clamp(40px,5vw,64px)}
.prod h2 span{display:block; font-size:clamp(20px,2.2vw,26px); color:#A7B2BA; font-weight:600; margin-top:10px; font-variation-settings:"wdth" 90}
.prod .lead{color:#A7B2BA; margin-top:22px}
.prod-stats{display:flex; gap:40px; margin:28px 0 0; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); flex-wrap:wrap}
.prod-stats div{display:flex; flex-direction:column-reverse}
.prod-stats dt{font-size:14px; color:#8C99A2}
.prod-stats dd{margin:0; font-size:30px; font-weight:780; color:#fff; font-variation-settings:"wdth" 80; line-height:1.15}
.prod-stats div:last-child dd{font-size:18px; padding-top:10px}
.term{background:#0B1014; border:1px solid #2A3540; border-radius:8px; box-shadow:0 30px 60px rgba(0,0,0,.35); overflow:hidden; font-family:ui-monospace,"Cascadia Code","Consolas",monospace; font-size:14px}
.term-bar{display:flex; align-items:center; gap:7px; padding:10px 14px; background:#161E25; border-bottom:1px solid #2A3540}
.term-bar i{width:10px; height:10px; border-radius:50%; background:#3B4852}
.term-bar i:first-child{background:#E5534B} .term-bar i:nth-child(2){background:#F0A500} .term-bar i:nth-child(3){background:#2BA84A}
.term-bar span{margin-left:10px; color:#7C8993; font-size:12px}
.term-body{padding:18px; min-height:290px; line-height:1.6; white-space:pre-wrap}
.term-body .u{color:#fff}
.term-body .u::before{content:"› "; color:var(--signal)}
.term-body .tool{color:#7C8993}
.term-body .tool b{color:#6FB3E0; font-weight:500}
.term-body .ok{color:#4CC76B}
.term-body .caret{display:inline-block; width:8px; height:16px; background:var(--signal); vertical-align:-3px; animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.prod-grid{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#2A3540; border:1px solid #2A3540}
.prod-grid li{background:#141B21; padding:26px 24px; transition:background .3s}
.prod-grid li:hover{background:#1B242B}
.prod-grid h3{color:#fff; font-size:19px; margin-bottom:8px}
.prod-grid p{margin:0; color:#8C99A2; font-size:15px}
.prod-price{display:grid; grid-template-columns:1fr 1fr 1.2fr; gap:16px; margin-top:40px}
.tier{border:1px solid #2A3540; border-radius:6px; padding:24px; display:flex; flex-direction:column; gap:10px}
.tier-name{font-size:22px; font-weight:780; color:#fff; font-variation-settings:"wdth" 85}
.tier p{margin:0; color:#8C99A2; font-size:15px; flex:1}
.tier strong{color:var(--signal); font-size:16px}
.tier.cta{background:rgba(240,165,0,.08); border-color:rgba(240,165,0,.4); justify-content:space-between}
.tier.cta p{color:#E5E7E7}
.tier.cta .btn{align-self:flex-start}
.tm{margin:28px 0 0; font-size:12px; color:#66737C}
@media (max-width:880px){.prod-head{grid-template-columns:1fr; gap:36px} .prod-grid{grid-template-columns:1fr} .prod-price{grid-template-columns:1fr} .term{font-size:12.5px} .term-body{min-height:250px}}

/* manual samples */
.manuals{display:grid; grid-template-columns:.8fr 1.6fr; gap:48px; align-items:center; margin-top:56px}
.manuals-text h3{color:#fff; font-size:26px; margin-bottom:12px}
.manuals-text p{color:#A7B2BA; font-size:16px}
.manuals-text .note{font-size:13px; color:#66737C}
.sheets{display:flex; justify-content:center; gap:0; padding:10px 0 20px}
.sheet{--w:210px; width:var(--w); height:calc(var(--w)*1.414); padding:0; border:0; background:none; cursor:zoom-in; position:relative; flex:none; margin:0 -18px; transition:transform .45s cubic-bezier(.2,.7,.2,1), z-index 0s}
.sheet:nth-child(1){transform:rotate(-6deg) translateY(14px)}
.sheet:nth-child(2){transform:translateY(-6px); z-index:2}
.sheet:nth-child(3){transform:rotate(6deg) translateY(14px)}
.sheet:hover{transform:translateY(-14px) scale(1.04); z-index:3}
.pg{position:absolute; top:0; left:0; width:420px; height:594px; transform:scale(calc(var(--w) / 420px)); transform-origin:0 0; background:#fff; color:#1E262D; border-radius:3px; box-shadow:0 20px 40px rgba(0,0,0,.4); overflow:hidden; text-align:left; font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; padding:34px 36px}
.sheet .pg{transform:scale(.5)}
.pg-head{display:flex; justify-content:space-between; font-size:9px; color:#6B7780; border-bottom:1.5px solid #404C56; padding-bottom:6px; margin-bottom:18px}
.pg-h2{font-size:17px; font-weight:700; color:#404C56; margin-bottom:8px}
.pg-p{font-size:10px; line-height:1.5; margin:0 0 10px; color:#333}
.pg .hmi{width:100%; height:auto; display:block; border:1px solid #C9D1D6; margin-bottom:10px}
.pg-ol{font-size:9.5px; line-height:1.45; margin:0 0 10px; padding-left:16px; color:#333}
.pg-ol li{margin-bottom:4px}
.pg-box{font-size:9.5px; line-height:1.45; padding:8px 10px; border-left:4px solid; border-radius:2px; margin-bottom:8px; color:#333}
.pg-box b{display:block; margin-bottom:2px; font-size:10px}
.pg-box.info{background:#EAF3FA; border-color:#3B82B6}
.pg-box.warn{background:#FFF4DC; border-color:#F0A500}
.pg-box.danger{background:#FDECEA; border-color:#D64036}
.pg-tbl{width:100%; border-collapse:collapse; font-size:9.5px; margin-bottom:14px}
.pg-tbl th{background:#404C56; color:#fff; text-align:left; padding:6px 7px; font-weight:600}
.pg-tbl td{padding:6px 7px; border-bottom:1px solid #E1E5E7; vertical-align:top; color:#333}
.pg-tbl td:first-child{font-weight:700; color:#404C56; white-space:nowrap}
.pg-num{position:absolute; bottom:20px; right:36px; font-size:9px; color:#6B7780}
.pg-title{position:absolute; inset:0; padding:0}
.pg-band{position:absolute; left:0; top:0; bottom:0; width:26px; background:#404C56}
.pg-band::after{content:""; position:absolute; left:0; right:0; top:210px; height:90px; background:#F0A500}
.pg-logo{position:absolute; left:64px; top:52px; width:170px; height:52px; background:#404C56; -webkit-mask:var(--logo) left center/contain no-repeat; mask:var(--logo) left center/contain no-repeat}
.pg-kicker{position:absolute; left:64px; top:208px; font-size:11px; letter-spacing:.2em; font-weight:700; color:#F0A500}
.pg-h1{position:absolute; left:64px; right:36px; top:228px; font-size:30px; font-weight:800; line-height:1.1; color:#1E262D}
.pg-sub{position:absolute; left:64px; top:304px; font-size:13px; color:#6B7780}
.pg-meta{position:absolute; left:64px; width:calc(100% - 100px); bottom:90px; border-collapse:collapse; font-size:10px}
.pg-meta td{padding:6px 0; border-top:1px solid #E1E5E7; color:#333}
.pg-meta td:first-child{color:#6B7780; width:45%}
.pg-foot{position:absolute; left:64px; bottom:40px; font-size:9px; color:#8C99A2}
.mlb{position:fixed; inset:0; background:rgba(8,12,15,.88); display:none; place-items:center; z-index:60; padding:24px; cursor:zoom-out}
.mlb.open{display:grid}
.mlb-inner{position:relative; width:min(620px, 92vw, calc(84vh / 1.414)); aspect-ratio:1/1.414}
.mlb-inner .pg{box-shadow:0 30px 80px rgba(0,0,0,.5)}
@media (max-width:880px){.manuals{grid-template-columns:1fr; gap:24px} .sheet{--w:150px; margin:0 -22px}}
@media (prefers-reduced-motion: reduce){.sheet{transition:none}}

/* why band */
.why{padding:80px 0; border-bottom:1px solid var(--line-2)}
.why-grid{display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:center}
.why h2{margin-bottom:18px}
.why .lead{margin:0}
.why-list{list-style:none; margin:0; padding:0; display:grid; gap:0; border-top:2px solid var(--ink)}
.why-list li{display:grid; grid-template-columns:210px 1fr; gap:20px; align-items:baseline; padding:20px 0; border-bottom:1px solid var(--line)}
.why-k{font-size:22px; font-weight:780; font-variation-settings:"wdth" 80; color:var(--ink); position:relative; padding-left:20px}
.why-k::before{content:""; position:absolute; left:0; top:.45em; width:10px; height:10px; background:var(--signal); transform:rotate(45deg)}
.why-list p{margin:0; color:var(--ink-2)}
@media (max-width:880px){.why{padding:64px 0} .why-grid{grid-template-columns:1fr; gap:28px} .why-list li{grid-template-columns:1fr; gap:4px}}

/* language switcher */
.nav a,.btn{white-space:nowrap}
@media (max-width:1360px){.top .btn{display:none}}
@media (max-width:1180px) and (min-width:881px){.nav{gap:14px} .nav a{font-size:14.5px} .lang a{padding:5px 5px}}
.lang{display:flex; gap:2px; padding:3px; border-radius:6px; background:color-mix(in srgb,var(--ink) 6%,transparent)}
.lang a{font-size:13px; font-weight:650; letter-spacing:.04em; text-decoration:none; color:var(--ink-2); padding:5px 7px; border-radius:4px; transition:background .2s,color .2s}
.lang a:hover{color:var(--ink)}
.lang a.on{background:var(--signal); color:var(--signal-ink)}
.top:not(.scrolled):not(.open) .lang{background:rgba(255,255,255,.08)}
.top:not(.scrolled):not(.open) .lang a{color:#AEB8BF}
.top:not(.scrolled):not(.open) .lang a:hover{color:#fff}
.top:not(.scrolled):not(.open) .lang a.on{color:var(--signal-ink)}
@media (max-width:880px){.top .wrap{gap:10px} .lang{margin-left:auto; padding:2px} .lang a{font-size:11.5px; padding:5px 5px} .menu-btn{margin-left:0; padding:7px 10px} .top .logo,.top.scrolled .logo{height:36px}}

/* ===== doplňky pro hostovaný web: e-shop TIA MCP, podstránky, formulář ===== */
.hp{position:absolute !important; left:-10000px; width:1px; height:1px; overflow:hidden}
.status.err{display:block; background:color-mix(in srgb,#C0392B 12%,transparent); border:1px solid #C0392B}
button:disabled,.btn[aria-disabled="true"]{opacity:.55; cursor:wait; transform:none !important; box-shadow:none !important}

/* ceník TIA MCP na tmavém pozadí */
.tier-pro{border-color:rgba(240,165,0,.55); background:linear-gradient(180deg,rgba(240,165,0,.10),rgba(240,165,0,.02))}
.tier-amount{display:flex; align-items:baseline; gap:8px; flex-wrap:wrap}
.tier-amount strong{font-size:40px; font-weight:780; color:#fff; font-variation-settings:"wdth" 80; line-height:1}
.tier-amount span{color:#A7B2BA; font-size:15px}
.tier small{color:#8C99A2; font-size:13.5px}
.tier .btn{align-self:flex-start; margin-top:6px}
.prod .btn.ghost{color:#fff; box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.28)}
.prod .btn.ghost:hover{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.7)}
.tier .promo{font-size:13.5px; color:#E5E7E7; border-top:1px dashed rgba(240,165,0,.4); padding-top:10px; flex:0}
.tier .promo b{color:var(--signal); letter-spacing:.04em}
.tier-links{display:grid; gap:10px}
.tier-links a{color:#fff; text-decoration:none; font-weight:600; display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid rgba(255,255,255,.1)}
.tier-links a:hover{color:var(--signal)}
.tier-links .arr{transition:transform .2s}
.tier-links a:hover .arr{transform:translateX(4px)}

/* ===== podstránky (/tia-mcp/, /licence/, /obchodni-podminky/) ===== */
.page-hero{position:relative; overflow:hidden; color:#F1F2F2;
  padding:calc(84px + 64px + env(safe-area-inset-top,0px)) 0 64px; margin-top:calc(-1 * env(safe-area-inset-top,0px));
  background:
    radial-gradient(800px 420px at 85% 20%, rgba(240,165,0,.12), transparent 60%),
    radial-gradient(700px 480px at 0% 100%, rgba(80,96,110,.45), transparent 62%),
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px) 0 0/44px 44px,
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0/44px 44px,
    #11171C}
.page-hero .kicker{display:inline-block; font-size:13px; font-weight:650; letter-spacing:.1em; text-transform:uppercase; color:var(--signal-ink); background:var(--signal); padding:4px 10px; border-radius:3px; margin-bottom:18px}
.page-hero h1{color:#fff; font-size:clamp(36px,4.6vw,58px); font-weight:780; font-variation-settings:"wdth" 76; margin-bottom:18px}
.page-hero h1 .accent{color:var(--signal)}
.page-hero .lead{color:#A7B2BA; margin:0}
.page-hero .ctas{display:flex; gap:12px; flex-wrap:wrap; margin-top:28px}
.page-hero .btn.ghost{color:#fff; box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.28)}
.crumbs{font-size:14px; color:#8C99A2; margin-bottom:14px}
.crumbs a{color:#AEB8BF; text-decoration:none}
.crumbs a:hover{color:#fff}
@media (max-width:880px){.page-hero{padding:calc(84px + 32px + env(safe-area-inset-top,0px)) 0 48px}}

/* licenční portál */
.portal{padding:48px 0 96px}
.seg{display:flex; gap:4px; flex-wrap:wrap; padding:4px; border-radius:8px; background:var(--panel); border:1px solid var(--line); margin-bottom:20px; width:max-content; max-width:100%}
.seg button{font:inherit; font-size:15px; font-weight:600; border:0; background:none; color:var(--ink-2); padding:9px 16px; border-radius:5px; cursor:pointer; transition:background .2s,color .2s}
.seg button:hover{color:var(--ink)}
.seg button.on{background:var(--ink); color:var(--paper)}
@media (max-width:620px){.seg{width:100%} .seg button{flex:1 1 auto; padding:9px 10px; font-size:14px}}
.card{background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:28px; margin-bottom:20px}
.card[hidden]{display:none}
.card h2{font-size:26px; margin-bottom:8px}
.card > .lead{font-size:16px; margin-bottom:8px}
.card label{margin-top:18px}
.card textarea,.card input{max-width:720px}
.card textarea.code,.card input.code{font-family:ui-monospace,Consolas,"Cascadia Mono",monospace; font-size:14px}
.card .hint{color:var(--ink-2); font-size:14px; margin:6px 0 0; max-width:72ch}
.card .btn{margin-top:20px}
.card ol,.card ul{color:var(--ink-2); padding-left:20px}
.card ol li,.card ul li{margin:6px 0}
@media (max-width:620px){.card{padding:20px}}
.buy-grid{display:grid; grid-template-columns:1.1fr 1fr; gap:32px; align-items:start}
@media (max-width:880px){.buy-grid{grid-template-columns:1fr}}
.price-box{border-top:2px solid var(--ink); padding-top:18px}
.price-box .amount{font-size:48px; font-weight:780; font-variation-settings:"wdth" 78; line-height:1}
.price-box .per{color:var(--ink-2); font-size:16px; margin-left:6px}
.price-box .vat{color:var(--ink-2); font-size:14px; margin-top:8px}
.price-box ul{list-style:none; padding:0; margin:18px 0 0; display:grid; gap:8px; color:var(--ink)}
.price-box li{position:relative; padding-left:22px}
.price-box li::before{content:""; position:absolute; left:2px; top:.5em; width:10px; height:6px; border-left:2px solid var(--run); border-bottom:2px solid var(--run); transform:rotate(-45deg)}
.promo-note{margin-top:18px; padding:12px 14px; border-radius:4px; background:color-mix(in srgb,var(--signal) 14%,transparent); border:1px dashed var(--signal); font-size:15px}
.promo-note b{letter-spacing:.04em}
.qty{display:flex; align-items:center; gap:0; max-width:180px}
.qty button{width:44px; height:46px; font:inherit; font-size:20px; border:1.5px solid var(--line); background:var(--paper); color:var(--ink); cursor:pointer}
.qty button:first-child{border-radius:4px 0 0 4px}
.qty button:last-child{border-radius:0 4px 4px 0}
.qty input{text-align:center; border-radius:0; border-left:0; border-right:0; height:46px; -moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none; margin:0}
.total{margin-top:14px; font-size:15px; color:var(--ink-2)}
.total b{color:var(--ink); font-size:18px}
.paylogos{display:flex; gap:8px; flex-wrap:wrap; margin-top:14px}
.paylogos span{font-size:12.5px; font-weight:650; padding:4px 9px; border:1px solid var(--line); border-radius:3px; color:var(--ink-2); background:var(--paper)}
.msg{margin-top:18px; padding:14px 16px; border-radius:4px; font-size:15px; word-break:break-word; max-width:860px}
.msg.ok{background:color-mix(in srgb,var(--run) 12%,transparent); border:1px solid var(--run)}
.msg.err{background:color-mix(in srgb,#C0392B 10%,transparent); border:1px solid #C0392B}
.msg .btn{margin-top:12px}
.kv{display:grid; grid-template-columns:max-content 1fr; gap:6px 18px; margin-top:12px}
.kv b{color:var(--ink-2); font-weight:550}
@media (max-width:620px){.kv{grid-template-columns:1fr; gap:2px} .kv b{margin-top:8px}}
.tbl-wrap{overflow-x:auto; margin-top:14px}
.tbl{width:100%; border-collapse:collapse; font-size:14.5px}
.tbl th,.tbl td{padding:10px 10px; border-bottom:1px solid var(--line); text-align:left; white-space:nowrap}
.tbl th{color:var(--ink-2); font-size:12.5px; text-transform:uppercase; letter-spacing:.06em; font-weight:650}
code,.mono{font-family:ui-monospace,Consolas,"Cascadia Mono",monospace; font-size:.92em; background:var(--line-2); padding:1px 6px; border-radius:3px}
.side-note{border-left:3px solid var(--signal); padding:4px 0 4px 16px; color:var(--ink-2); font-size:15px; margin-top:22px}
.how{counter-reset:h; list-style:none; padding:0 !important; display:grid; gap:14px; margin:18px 0 0}
.how li{counter-increment:h; position:relative; padding-left:44px; color:var(--ink) !important}
.how li::before{content:counter(h); position:absolute; left:0; top:-2px; width:30px; height:30px; border-radius:50%; display:grid; place-items:center; background:var(--ink); color:var(--paper); font-weight:700; font-size:14px}

/* text dokumentů (obchodní podmínky) */
.doc{padding:56px 0 96px}
.doc .wrap{max-width:860px}
.doc h2{font-size:24px; margin:40px 0 12px; font-variation-settings:"wdth" 90}
.doc h2:first-child{margin-top:0}
.doc p,.doc li{color:var(--ink); max-width:76ch}
.doc ol{padding-left:22px}
.doc li{margin-bottom:8px}
.doc .meta{color:var(--ink-2); font-size:15px}
.doc .box{background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:20px 24px; margin:18px 0}
.doc .toc{columns:2; column-gap:32px; padding-left:20px}
@media (max-width:620px){.doc .toc{columns:1}}

/* produktová stránka */
.feat{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line)}
.feat > div{background:var(--panel); padding:26px 24px}
.feat .ic{font-size:22px; width:42px; height:42px; display:grid; place-items:center; border-radius:6px; background:color-mix(in srgb,var(--signal) 18%,transparent); margin-bottom:14px}
.feat h3{font-size:19px; margin-bottom:8px}
.feat p{margin:0; color:var(--ink-2); font-size:15.5px}
@media (max-width:980px){.feat{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.feat{grid-template-columns:1fr}}
.kpis{display:flex; gap:40px; flex-wrap:wrap; margin-top:36px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12)}
.kpis div{display:flex; flex-direction:column-reverse}
.kpis dt{font-size:14px; color:#8C99A2}
.kpis dd{margin:0; font-size:32px; font-weight:780; color:#fff; font-variation-settings:"wdth" 80; line-height:1.1}
.cmp{width:100%; border-collapse:collapse; font-size:15.5px}
.cmp th,.cmp td{padding:14px 12px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top}
.cmp thead th{border-bottom:2px solid var(--ink); font-size:14px; color:var(--ink-2); font-weight:650}
.cmp td:first-child{font-weight:600}
.cmp .y{color:var(--run); font-weight:700}
.clients{display:flex; flex-wrap:wrap; gap:8px; margin-top:20px}
.clients span{padding:7px 12px; border:1px solid var(--line); background:var(--panel); border-radius:4px; font-weight:600; font-size:15px}
.std .price-line{color:var(--ink-2); margin:4px 0 14px !important}
.std .price-line b{color:var(--ink); font-size:28px; font-weight:780; font-variation-settings:"wdth" 80; margin-right:4px}
.std ul.plain{list-style:none; padding:0; margin:0 0 18px; display:grid; gap:6px}
.std ul.plain li{position:relative; padding-left:20px; font-size:15.5px}
.std ul.plain li::before{content:""; position:absolute; left:2px; top:.5em; width:9px; height:5px; border-left:2px solid var(--run); border-bottom:2px solid var(--run); transform:rotate(-45deg)}
.std .promo-note{font-size:14px}
.std > div{padding-bottom:24px}
.nav a[aria-current="page"]{color:var(--ink)}
.top:not(.scrolled):not(.open) .nav a[aria-current="page"]{color:#fff}
.nav a[aria-current="page"]::after{transform:scaleX(1)}
/* dvojjazyčné právní texty: čeština / angličtina (DE a PL vidí anglickou verzi s poznámkou) */
html[lang="cs"] .l-en,html[lang="cs"] .l-other{display:none}
html:not([lang="cs"]) .l-cs{display:none}
.doc .tbl td{white-space:normal; vertical-align:top}
.doc pre{white-space:pre-wrap; font-size:13px; background:var(--panel); border:1px solid var(--line); padding:14px; border-radius:4px; overflow:auto}
/* galerie: další fotky a lightbox s listováním */
.gallery.more{grid-template-columns:repeat(6,1fr); grid-auto-rows:140px; margin-top:12px}
.gallery.more figure[hidden]{display:none}
@media (max-width:880px){.gallery.more{grid-template-columns:repeat(3,1fr); grid-auto-rows:110px}}
.gal-more{text-align:center; margin:24px 0 0}
.lightbox .lb-fig{margin:0; display:grid; justify-items:center; gap:10px}
.lightbox .lb-fig img{max-height:80vh; max-width:min(1200px,86vw); width:auto; height:auto; border-radius:4px}
.lightbox figcaption{color:#E5E7E7; font-size:15px}
.lightbox .lb-nav{top:50%; transform:translateY(-50%); right:auto; width:48px; height:64px; padding:0; font-size:34px; line-height:1; background:rgba(255,255,255,.12); color:#fff}
.lightbox .lb-nav:hover{background:rgba(255,255,255,.25)}
.lightbox .lb-nav.prev{left:12px}
.lightbox .lb-nav.next{right:12px; left:auto}
@media (max-width:620px){.lightbox .lb-nav{width:38px; height:52px; font-size:28px}}
.about.about-solo{grid-template-columns:1fr; max-width:900px}
/* webové HMI na hlavní stránce */
.whmi{border-top:1px solid var(--line-2)}
.whmi-grid{display:grid; grid-template-columns:1fr 1.15fr; gap:48px; align-items:center}
.whmi h2{margin:6px 0 18px}
.whmi .lead{margin-bottom:18px}
.whmi-list{list-style:none; padding:0; margin:0 0 26px; display:grid; gap:8px}
.whmi-list li{position:relative; padding-left:22px}
.whmi-list li::before{content:""; position:absolute; left:2px; top:.55em; width:10px; height:6px; border-left:2px solid var(--run); border-bottom:2px solid var(--run); transform:rotate(-45deg)}
.whmi .ctas{display:flex; gap:12px; flex-wrap:wrap}
.whmi-shot{display:block; position:relative; border-radius:10px; overflow:hidden; border:1px solid #1f2a36; box-shadow:0 30px 60px rgba(10,15,20,.25); transition:transform .3s}
.whmi-shot:hover{transform:translateY(-4px)}
.whmi-shot img{width:100%; height:auto}
.whmi-shot span{position:absolute; right:10px; bottom:10px; background:rgba(11,15,20,.85); color:#e6edf3; font-size:12.5px; padding:4px 9px; border-radius:4px}
@media (max-width:980px){.whmi-grid{grid-template-columns:1fr; gap:32px}}

/* portrét v sekci O nás */
.portrait.photo{padding:0; background:none; display:block; place-items:normal; text-align:left; margin:0; aspect-ratio:auto; overflow:hidden}
.portrait.photo img{display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover}
.portrait.photo figcaption{width:auto; max-width:none; margin:0; text-align:left; padding:10px 14px; font-size:14px; font-weight:650; color:var(--ink); border-top:1px solid var(--line); background:var(--panel)}
