/* firma — štýly stránky v pôvodnom poradí. */

:root {
  --navy:#003B5C; --navy-deep:#071C2B; --navy-mid:#0D3554;
  --teal:#007C89; --teal-light:#5AC8D4;
  --green:#4A9B37; --green-light:#6DC15A;
  --yellow:#FFC845;
  --canvas:#FFFFFF; --soft:#F4F7F9; --hairline:#D3DEE4;
  --text:#17232B; --muted:#52636D;
  --on-dark:#FFFFFF; --on-dark-dim:#C7D3D9; --on-dark-faint:rgba(199,211,217,.42);
  --font:'Manrope','Manrope Fallback','Inter',system-ui,-apple-system,sans-serif;
  --mono:'Azeret Mono','Azeret Mono Fallback',ui-monospace,monospace;
  --shadow-raised:0 2px 8px rgba(0,0,0,.07),0 0 0 1px var(--hairline);
  --shadow-hover:0 6px 20px rgba(0,0,0,.12),0 0 0 1px var(--hairline);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font);color:var(--text);background:var(--canvas);-webkit-font-smoothing:antialiased;line-height:1.5;}
.container{max-width:1240px;margin:0 auto;padding:0 52px;}

@keyframes matReveal{to{opacity:1;}}
@keyframes lineUp{to{transform:translateY(0);}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(7px);}to{opacity:1;transform:none;}}
.hero__line{display:block;overflow:hidden;padding-bottom:.15em;margin-bottom:-.15em;}
.hero__line>span{display:block;}
body.hero--animate #hero-img{opacity:0;}
body.hero--animate .hero__eyebrow{opacity:0;}
body.hero--animate .hero__line>span{transform:translateY(128%);}
body.hero--animate .hero__perex{opacity:0;}
body.hero--animate .hero__ctas{opacity:0;}
body.hero--playing #hero-img{animation:matReveal .50s ease .05s 1 forwards;}
body.hero--playing .hero__eyebrow{animation:matReveal .44s ease .24s 1 forwards;}
body.hero--playing .hero__line>span{animation:lineUp .65s cubic-bezier(.22,1,.36,1) forwards;}
body.hero--playing .hero__line--1>span{animation-delay:.40s;}
body.hero--playing .hero__line--2>span{animation-delay:.58s;}
body.hero--playing .hero__line--3>span{animation-delay:.76s;}
body.hero--playing .hero__line--4>span{animation-delay:.94s;}
body.hero--playing .hero__perex{animation:fadeInUp .46s ease 1.14s 1 forwards;}
body.hero--playing .hero__ctas{animation:fadeInUp .42s ease 1.32s 1 forwards;}

#page-veil{position:fixed;inset:0;z-index:9999;pointer-events:none;
  background:linear-gradient(148deg,#003B5C 0%,#071C2B 60%,#007C89 100%);}

@media(prefers-reduced-motion:no-preference){
  .scada-arc{stroke-dasharray:900;stroke-dashoffset:900;transition:stroke-dashoffset 1000ms ease-out;}
  .div-module--scada.is-visible .scada-arc{stroke-dashoffset:0;}
  .scada-dot{opacity:0;transition:opacity 250ms ease 750ms;}
  .div-module--scada.is-visible .scada-dot{opacity:1;}
  .hw-flow{stroke-dasharray:550;stroke-dashoffset:550;transition:stroke-dashoffset 900ms ease-out;}.it-flow{stroke-dasharray:550;stroke-dashoffset:550;transition:stroke-dashoffset 900ms ease-out;}.div-module--it.is-visible .it-flow{stroke-dashoffset:0;}.it-node-a,.it-node-b,.it-node-c,.it-node-d{opacity:0;transition:opacity 200ms ease;}.div-module--it.is-visible .it-node-a{opacity:1;transition-delay:50ms;}.div-module--it.is-visible .it-node-b{opacity:1;transition-delay:400ms;}.div-module--it.is-visible .it-node-c{opacity:1;transition-delay:600ms;}.div-module--it.is-visible .it-node-d{opacity:1;transition-delay:750ms;}
  .div-module--hw.is-visible .hw-flow{stroke-dashoffset:0;}
  .hw-node-a,.hw-node-b,.hw-node-c,.hw-node-d{opacity:0;transition:opacity 200ms ease;}
  .div-module--hw.is-visible .hw-node-a{opacity:1;transition-delay:50ms;}
  .div-module--hw.is-visible .hw-node-b{opacity:1;transition-delay:400ms;}
  .div-module--hw.is-visible .hw-node-c{opacity:1;transition-delay:450ms;}
  .div-module--hw.is-visible .hw-node-d{opacity:1;transition-delay:780ms;}
  .ai-dot{opacity:0;transition:opacity 200ms ease;}
  .ai-ring{opacity:0;transition:opacity 450ms ease-out 80ms;}
  .ai-ray{opacity:0;transition:opacity 320ms ease 180ms;}
  .div-module--ai.is-visible .ai-dot{opacity:1;}
  .div-module--ai.is-visible .ai-ring{opacity:.18;}
  .div-module--ai.is-visible .ai-ray{opacity:1;}
  .div-module{opacity:0;}
  .div-module.is-visible{opacity:1;transition:opacity 460ms ease,transform 180ms ease,box-shadow 180ms ease;}
  .div-module.--resetting,.div-module.--resetting *{transition:none!important;}
  /* proofstrip entrance */
  .pcert{opacity:0;transform:translateY(8px);}
  .pcert.is-visible{opacity:1;transform:none;transition:opacity 380ms ease,transform 380ms ease;}
  /* tech proof band — signal path reveals once on entry */
  .tech-path{stroke-dasharray:1220;stroke-dashoffset:1220;transition:stroke-dashoffset 900ms ease-out;}
  .tech.is-visible .tech-path{stroke-dashoffset:0;}
  .tech-node-g{opacity:0;transition:opacity 200ms ease;}
  .tech.is-visible .tech-node-g--1{opacity:1;transition-delay:200ms;}
  .tech.is-visible .tech-node-g--2{opacity:1;transition-delay:420ms;}
  .tech.is-visible .tech-node-g--3{opacity:1;transition-delay:640ms;}
}
@media(prefers-reduced-motion:reduce){
  #hero-img{opacity:1!important;}
  .scada-arc,.hw-flow,.it-flow{stroke-dashoffset:0!important;}
  .div-module{opacity:1!important;}
  .scada-dot,.hw-node-a,.hw-node-b,.hw-node-c,.hw-node-d,.it-node-a,.it-node-b,.it-node-c,.it-node-d,.ai-dot,.ai-ray{opacity:1!important;}
  .ai-ring{opacity:.18!important;}
  .pcert{opacity:1!important;transform:none!important;}
  .tech-path{stroke-dashoffset:0!important;}
  .tech-node-g{opacity:1!important;}
  .cap-card:hover{transform:none!important;}
}

:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:1px;}
.ph-label,[data-internal]{display:none!important;}
.div-module{cursor:default;}
.div-module:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);}
.cap-card{transition:box-shadow 240ms ease,transform 240ms ease;}
@media(hover:hover){.cap-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.10);}}
.nav__links a{transition:color 150ms ease,opacity 150ms ease;}
.btn-primary,.btn-ghost,.btn-cta-p,.btn-cta-s,.nav__cta{transition:opacity 150ms ease,background 150ms ease;}
.btn-primary:hover{opacity:.9;}
.btn-ghost:hover{background:rgba(255,255,255,.08);}
.btn-cta-p:hover{opacity:.92;}
.btn-cta-s:hover{background:rgba(255,255,255,.07);}
.nav__cta:hover{background:var(--navy-mid);}
.div-link{transition:opacity 150ms ease;}
.div-link:hover{opacity:.75;}




body > header{position:sticky;top:0;z-index:200;overflow:visible;}.nav{background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--hairline);position:relative;overflow:visible;}.nav__inner{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px;}.nav__logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0;}.nav__logo svg{display:block;height:28px;width:auto;}.nav__right{display:flex;align-items:center;gap:0;flex:1;justify-content:flex-end;}.nav__links{display:flex;align-items:center;list-style:none;gap:0;}.nav__item{position:static;}.nav__item--has-sub{position:relative;}.nav__link{font-size:13px;font-weight:700;color:var(--text);text-decoration:none;opacity:.78;letter-spacing:.01em;padding:0 11px;height:64px;display:inline-flex;align-items:center;gap:5px;background:none;border:none;cursor:pointer;font-family:var(--font);white-space:nowrap;transition:opacity 120ms ease,color 120ms ease;}.nav__link:hover{opacity:1;color:var(--navy);}.nav__link--trigger{gap:5px;}.nav__link--trigger[aria-expanded="true"]{opacity:1;color:var(--navy);text-decoration:underline;text-decoration-color:var(--teal);text-underline-offset:4px;text-decoration-thickness:2px;}.nav__link--trigger:focus:not(:focus-visible){outline:none;box-shadow:none;}.nav__link--trigger:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:3px;}.nav__arrow-icon{display:inline-block;width:14px;height:14px;flex-shrink:0;vertical-align:middle;transition:transform .2s ease;}.nav__link--trigger[aria-expanded="true"] .nav__arrow-icon{transform:rotate(180deg);}.nav__kontakt{--tx:0px;--ty:0px;--sc:1;display:inline-flex;align-items:center;gap:0;height:36px;padding:0 19px;margin:0 4px 0 10px;font-size:13px;font-weight:700;letter-spacing:.015em;color:#fff;text-decoration:none;border:0;border-radius:9999px;white-space:nowrap;position:relative;overflow:visible;isolation:isolate;background:linear-gradient(135deg,#004E68 0%,#003B5C 58%,#002B45 100%);box-shadow:0 1px 2px rgba(0,26,42,.18),0 5px 12px -7px rgba(0,59,92,.48);transform:translate3d(var(--tx),var(--ty),0) scale(var(--sc));transition:box-shadow 340ms ease;}.nav__kontakt::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;clip-path:inset(0 round 9999px);pointer-events:none;opacity:0;transform:translateX(-125%);background:linear-gradient(105deg,transparent 34%,rgba(255,255,255,.24) 50%,transparent 66%);}.nav__kontakt:hover::before,.nav__kontakt:focus-visible::before{opacity:1;animation:navSheen 720ms cubic-bezier(.32,0,.2,1) forwards;}@keyframes navSheen{to{transform:translateX(125%);}}.nav__kontakt::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;clip-path:inset(0 round 9999px);pointer-events:none;opacity:0;transition:opacity 260ms ease;background:radial-gradient(90px 54px at var(--mx,50%) var(--my,50%),rgba(90,200,212,.30),rgba(90,200,212,.08) 55%,rgba(90,200,212,0) 78%);}.nav__kontakt:hover::after,.nav__kontakt:focus-visible::after{opacity:1;}.nav__kontakt:hover,.nav__kontakt:focus-visible{box-shadow:0 2px 4px rgba(0,26,42,.22),0 11px 22px -14px rgba(0,59,92,.55);}.nav__kontakt:focus-visible{outline:2px solid var(--teal);outline-offset:3px;}.nav__kontakt:active{--sc:.984;}.nav__kontakt-dot{display:none;}.nav__kontakt-trace{position:absolute;inset:-1px;overflow:visible;pointer-events:none;fill:none;}.nav__kontakt-path{fill:none;stroke:url(#k-trace-grad);stroke-width:1.5;stroke-linecap:round;opacity:0;transition:opacity 180ms;}.nav__kontakt-trace.--active .nav__kontakt-path{opacity:1;}@media(prefers-reduced-motion:reduce){.nav__kontakt,.nav__kontakt-path{transition:none!important;animation:none!important;}}.nav__utility{display:flex;align-items:center;gap:6px;padding-left:14px;margin-left:6px;border-left:1px solid var(--hairline);flex-shrink:0;}.nav__lang{display:flex;align-items:center;gap:5px;}.nav__lang-sep{font-size:10px;color:var(--hairline);user-select:none;}.nav__lang-item{font-size:11.5px;font-weight:700;letter-spacing:.04em;color:var(--muted);text-decoration:none;transition:color 120ms;}.nav__lang-item.is-active{color:var(--navy);text-decoration:underline;text-underline-offset:3px;}.nav__lang-item:hover{color:var(--navy);}.nav__portal{font-size:12px;font-weight:700;color:var(--muted);text-decoration:none;padding:0 6px;white-space:nowrap;transition:color 120ms;}.nav__portal:hover{color:var(--navy);}.sub-menu{position:absolute;left:0;top:calc(100% + 4px);min-width:220px;background:var(--canvas);border:1px solid var(--hairline);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.09),0 1px 4px rgba(0,0,0,.05);padding:8px 0 10px;display:none;z-index:301;}.sub-menu[data-open]{display:block;}.sub-menu__item{display:block;padding:10px 18px;font-size:12.5px;font-weight:700;color:var(--text);opacity:.78;text-decoration:none;white-space:nowrap;transition:background 120ms,opacity 120ms,color 120ms;}.sub-menu__item:hover,.sub-menu__item:focus-visible{background:var(--soft);opacity:1;color:var(--navy);outline:none;}.mega-menu{position:absolute;left:50%;top:calc(100% + 6px);transform:translateX(-50%);width:min(1180px,calc(100vw - 48px));max-height:min(760px,calc(100svh - 80px));overflow-y:auto;background:var(--canvas);border:1px solid var(--hairline);border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.11),0 2px 8px rgba(0,0,0,.06);padding:32px 36px 28px;display:none;z-index:300;}.mega-menu[data-open]{display:block;}.mega-menu__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start;}.mega-item{display:flex;align-items:flex-start;gap:14px;padding:0;border-radius:8px;text-decoration:none;color:inherit;}.mega-item__accent{flex-shrink:0;width:3px;border-radius:2px;height:38px;margin-top:2px;}.mega-item--scada .mega-item__accent{background:var(--yellow);}.mega-item--ai .mega-item__accent{background:var(--yellow);}.mega-item--hw .mega-item__accent{background:var(--green);}.mega-item__body{flex:1;}.mega-item__title{font-size:13.5px;font-weight:700;color:var(--text);line-height:1.3;margin-bottom:5px;text-decoration:none;display:block;}.mega-item__title:hover{color:var(--navy);}.mega-item__desc{font-size:12px;color:var(--muted);line-height:1.58;margin-bottom:10px;}.mega-item__links{list-style:none;display:flex;flex-direction:column;gap:2px;}.mega-item__links a{font-size:12px;font-weight:400;color:var(--muted);text-decoration:none;padding:3px 0;border-radius:4px;transition:color 120ms;display:block;}.mega-item__links a:hover{color:var(--navy);}.mega-item__links a:focus-visible{outline:2px solid var(--teal);outline-offset:2px;}.mega-item__crosslink{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--muted);text-decoration:none;opacity:.6;margin-top:8px;border-top:1px solid var(--hairline);padding-top:8px;transition:opacity 120ms,color 120ms;}.mega-item__crosslink:hover{opacity:1;color:var(--teal);}.mega-industry{border-top:1px solid var(--hairline);margin-top:8px;padding-top:18px;grid-column:1/-1;}.mega-industry__label{font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);opacity:.6;margin-bottom:10px;}.mega-industry__links{display:flex;gap:6px;flex-wrap:wrap;}.mega-industry__link{font-size:12px;font-weight:700;color:var(--muted);text-decoration:none;padding:5px 13px;border:1px solid var(--hairline);border-radius:20px;white-space:nowrap;transition:background 120ms,color 120ms,border-color 120ms;}.mega-industry__link:hover{background:var(--soft);color:var(--navy);border-color:rgba(0,59,92,.25);}.mega-industry__link:focus-visible{outline:2px solid var(--teal);outline-offset:2px;}.mega-item--it .mega-item__accent{background:var(--teal);}.mega-item--cyber .mega-item__accent{background:var(--navy);}.mega-item--innov .mega-item__accent{background:var(--yellow);}.mega-item__consult-link{display:inline-block;margin-top:8px;padding-top:8px;border-top:1px solid var(--hairline);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--teal);text-decoration:none;transition:color 120ms;}.mega-item__consult-link:hover{color:var(--navy);}.mega-item__consult-link:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:1px;}.mega-pillar{display:flex;flex-direction:column;}.mega-pillar__head{display:flex;align-items:stretch;gap:12px;margin-bottom:0;}.mega-pillar__accent{flex-shrink:0;width:5px;border-radius:3px;align-self:stretch;}.mega-pillar--teal .mega-pillar__accent{background:var(--teal);}.mega-pillar--green .mega-pillar__accent{background:var(--green);}.mega-pillar--yellow .mega-pillar__accent{background:#B27E0A;}.mega-pillar__title{font-size:14px;font-weight:800;color:var(--text);line-height:1.25;text-decoration:none;letter-spacing:-.015em;display:block;transition:color 120ms;}.mega-pillar__title:hover{color:var(--navy);}.mega-pillar__title:focus-visible{outline:2px solid var(--navy);outline-offset:2px;border-radius:2px;}.mega-pillar__head-copy{display:flex;flex-direction:column;gap:6px;padding:2px 0;}.mega-pillar__desc{font-size:12px;color:var(--muted);line-height:1.45;margin:0;padding:0;}.mega-pillar__links{list-style:none;display:flex;flex-direction:column;gap:0;margin:18px 0 0;padding-left:17px;}.mega-pillar__links a{font-size:14px;font-weight:700;color:#1A2638;text-decoration:none;padding:7px 0;transition:color 120ms;display:block;line-height:1.3;}.mega-pillar__links a:hover{color:var(--navy);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}.mega-pillar__links a:focus-visible{outline:2px solid var(--navy);outline-offset:2px;border-radius:2px;}.mega-pillar__all{display:block;font-size:12px;font-weight:700;text-decoration:none;padding-left:17px;transition:color 120ms;margin-top:18px;white-space:nowrap;}.mega-pillar--teal .mega-pillar__all{color:var(--teal);}.mega-pillar--green .mega-pillar__all{color:var(--green);}.mega-pillar--yellow .mega-pillar__all{color:#7A5800;}.mega-pillar__all:hover{color:var(--navy)!important;}.mega-pillar__all:focus-visible{outline:2px solid var(--navy);outline-offset:2px;border-radius:2px;}.mega-pillar--teal,.mega-pillar--green{position:relative;}.mega-pillar--teal::after,.mega-pillar--green::after{content:"";position:absolute;top:0;right:-14px;width:1px;height:100%;background:rgba(0,59,92,.07);pointer-events:none;}.mob-sub__accent{flex-shrink:0;width:5px;height:22px;border-radius:2px;}.mob-sub--teal{background:rgba(0,124,137,.07);color:#007C89;font-weight:800;}.mob-sub--teal:hover{background:rgba(0,124,137,.13);color:#005F6B;}.mob-sub--teal:focus-visible{background:rgba(0,124,137,.13);color:#005F6B;outline:2px solid var(--teal);outline-offset:-2px;}.mob-sub--teal .mob-sub__accent{background:var(--teal);}.mob-sub--green{background:rgba(74,155,55,.07);color:#4A9B37;font-weight:800;}.mob-sub--green:hover{background:rgba(74,155,55,.13);color:#376E25;}.mob-sub--green:focus-visible{background:rgba(74,155,55,.13);color:#376E25;outline:2px solid var(--green);outline-offset:-2px;}.mob-sub--green .mob-sub__accent{background:var(--green);}.mob-sub--yellow{background:rgba(255,200,69,.09);color:#7A5800;font-weight:800;}.mob-sub--yellow:hover{background:rgba(255,200,69,.16);color:#5C4200;}.mob-sub--yellow:focus-visible{background:rgba(255,200,69,.16);color:#5C4200;outline:2px solid #5C4200;outline-offset:-2px;}.mob-sub--yellow .mob-sub__accent{background:var(--yellow);}.mob-sub--all{font-size:11.5px;font-weight:700;letter-spacing:.03em;}.mob-sub--all-teal{color:var(--teal);}.mob-sub--all-green{color:var(--green);}.mob-sub--all-yellow{color:#7A5800;}.mob-div-header{display:flex;align-items:stretch;text-decoration:none;min-height:76px;transition:background 120ms;}.mob-div-header--teal{background:rgba(0,124,137,.07);}.mob-div-header--teal:hover{background:rgba(0,124,137,.13);}.mob-div-header--teal:focus-visible{outline:2px solid var(--teal);outline-offset:-2px;}.mob-div-header--green{background:rgba(74,155,55,.07);}.mob-div-header--green:hover{background:rgba(74,155,55,.13);}.mob-div-header--green:focus-visible{outline:2px solid var(--green);outline-offset:-2px;}.mob-div-header--yellow{background:rgba(255,200,69,.09);}.mob-div-header--yellow:hover{background:rgba(255,200,69,.16);}.mob-div-header--yellow:focus-visible{outline:2px solid #5C4200;outline-offset:-2px;}.mob-div-accent{flex-shrink:0;width:5px;border-radius:0;align-self:stretch;}.mob-div-header--teal .mob-div-accent{background:var(--teal);}.mob-div-header--green .mob-div-accent{background:var(--green);}.mob-div-header--yellow .mob-div-accent{background:#B27E0A;}.mob-div-copy{display:flex;flex-direction:column;gap:5px;padding:14px 20px 14px 12px;}.mob-div-title{display:block;font-size:14px;font-weight:800;line-height:1.25;color:inherit;}.mob-div-header--teal .mob-div-title{color:#007C89;}.mob-div-header--green .mob-div-title{color:#4A9B37;}.mob-div-header--yellow .mob-div-title{color:#7A5800;}.mob-div-desc{display:block;font-size:11.5px;color:var(--muted);line-height:1.5;font-weight:400;}.nav__mobile-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;width:44px;height:44px;justify-content:center;align-items:center;flex-shrink:0;}.nav__mobile-toggle span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:transform .22s ease,opacity .18s ease;}.nav__mobile-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}.nav__mobile-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;transform:scaleX(0);}.nav__mobile-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}.mobile-nav{display:none;background:var(--canvas);border-bottom:1px solid var(--hairline);overflow:hidden;max-height:0;transition:max-height .28s cubic-bezier(.4,0,.2,1);}.mobile-nav.is-open{max-height:2400px;}.mobile-nav__inner{padding:6px 0 20px;}.mob-item{display:flex;align-items:center;min-height:52px;padding:0 24px;font-size:15px;font-weight:700;color:var(--text);text-decoration:none;width:100%;transition:background 120ms;}.mob-item:hover,.mob-item:focus-visible{background:var(--soft);color:var(--navy);outline:none;}.mob-item__trigger{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 24px;font-size:15px;font-weight:700;color:var(--text);background:none;border:none;cursor:pointer;width:100%;font-family:var(--font);letter-spacing:.01em;transition:background 120ms;}.mob-item__trigger:hover,.mob-item__trigger:focus-visible{background:var(--soft);color:var(--navy);outline:none;}.mob-item__trigger[aria-expanded="true"]{color:var(--navy);}.mob-trigger-arrow{display:inline-flex;opacity:.5;transition:transform .2s;}.mob-item__trigger[aria-expanded="true"] .mob-trigger-arrow{transform:rotate(180deg);opacity:1;}.mob-accordion{overflow:hidden;}.mob-accordion[hidden]{display:none;}.mob-sub{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 24px;font-size:13.5px;font-weight:700;color:var(--muted);text-decoration:none;transition:background 120ms;}.mob-sub:hover,.mob-sub:focus-visible{background:var(--soft);color:var(--navy);outline:none;}.mob-sub--indent{padding-left:36px;min-height:48px;font-size:13px;font-weight:700;color:#1A2638;}.mob-sub__accent{flex-shrink:0;width:3px;height:20px;border-radius:2px;}.mob-sub--scada .mob-sub__accent{background:var(--yellow);}.mob-sub--ai .mob-sub__accent{background:var(--yellow);}.mob-sub--hw .mob-sub__accent{background:var(--green);}.mob-sub-group-label{display:block;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);opacity:.55;padding:10px 24px 4px;}.mob-divider{height:1px;background:var(--hairline);margin:8px 24px 4px;}.mob-lang{display:flex;align-items:center;gap:8px;padding:10px 24px;font-size:13px;font-weight:700;color:var(--muted);}.mob-lang__sep{font-size:10px;color:var(--hairline);}.mob-lang__item{color:var(--muted);text-decoration:none;}.mob-lang__item.is-active{color:var(--navy);text-decoration:underline;text-underline-offset:3px;}.mob-item--kontakt{color:var(--navy);font-weight:700;background:rgba(0,59,92,.04);border:1.5px solid rgba(0,59,92,.4);border-radius:9999px;margin:8px 20px;padding:0 20px;min-height:48px;justify-content:center;width:auto;}.mob-item--kontakt:hover{background:var(--navy);color:#fff;border-color:var(--navy);}.mob-item--portal{color:var(--muted);font-size:14px;}@media(max-width:1100px){.nav__link{padding:0 7px;font-size:12.5px;}.nav__kontakt{padding:0 11px;font-size:12px;}.nav__utility{padding-left:10px;margin-left:4px;gap:4px;}.nav__portal{font-size:11.5px;}}@media(max-width:860px){.nav__right{display:none;}.nav__mobile-toggle{display:flex;}.mobile-nav{display:block;}}
.skip-link{position:absolute;left:-9999px;font-size:13px;font-weight:700;background:var(--teal);color:#fff;padding:8px 16px;}
.skip-link:focus{left:12px;top:12px;z-index:999;border-radius:2px;}

.hero{position:relative;overflow:hidden;min-height:540px;max-height:720px;height:72svh;background:#0A1219;display:flex;align-items:center;contain:paint;cursor:default;}
.hero::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.024;mix-blend-mode:overlay;}
#hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center;display:block;z-index:0;pointer-events:none;filter:brightness(.34) contrast(1.08) saturate(.5) hue-rotate(-10deg);}
#hero-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:1;pointer-events:none;}
.hero__veil{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(to right,#071C2B 0%,rgba(7,28,43,.92) 16%,rgba(7,28,43,.72) 32%,rgba(7,28,43,.28) 52%,rgba(7,28,43,0) 72%),linear-gradient(to bottom,rgba(7,28,43,.18) 0%,rgba(7,28,43,0) 14%,rgba(7,28,43,0) 78%,rgba(7,28,43,.34) 100%);}
.hero__inner{position:relative;z-index:3;padding:88px 0;width:100%;}
.hero__left{max-width:568px;display:flex;flex-direction:column;justify-content:center;}
.hero__eyebrow{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);display:flex;align-items:center;gap:18px;margin-bottom:24px;}
.hero__eyebrow::before{content:'';display:block;width:24px;height:1px;background:var(--teal);opacity:.7;}
.hero__h1{font-size:clamp(34px,4.4vw,56px);font-weight:800;line-height:1.06;letter-spacing:-.036em;color:var(--on-dark);margin-bottom:20px;}
.hero__h1 em{font-style:normal;color:var(--teal);}
.hero__perex{font-size:16px;line-height:1.72;color:var(--on-dark-dim);max-width:440px;margin-bottom:36px;}
.hero__ctas{display:flex;gap:14px;flex-wrap:wrap;}
.btn-primary{background:var(--yellow);color:var(--navy-deep);font-size:14px;font-weight:800;letter-spacing:.01em;padding:13px 28px;border-radius:4px;text-decoration:none;display:inline-block;}
.btn-ghost{background:transparent;color:var(--on-dark);font-size:14px;font-weight:700;padding:12px 28px;border-radius:4px;border:1px solid rgba(255,255,255,.18);text-decoration:none;display:inline-block;}

.proofstrip{position:relative;z-index:1;background:var(--soft);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);}
.proofstrip__inner{display:grid;grid-template-columns:repeat(4,1fr);}
.pcert{padding:20px 24px 20px 0;border-right:1px solid var(--hairline);display:flex;align-items:center;gap:14px;}
.pcert:last-child{border-right:none;padding-left:24px;padding-right:0;}
.pcert:first-child{padding-left:0;}
.pcert:nth-child(2),.pcert:nth-child(3){padding-left:24px;}
.pcert__mark{flex-shrink:0;width:32px;height:32px;}
.pcert__id{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--navy);text-transform:uppercase;margin-bottom:2px;}
.pcert__name{font-size:11.5px;font-weight:400;color:var(--muted);line-height:1.35;margin-bottom:2px;}
.pcert__meta{font-family:var(--mono);font-size:9px;color:rgba(82,99,109,.55);letter-spacing:.04em;}

.s-intro{padding:96px 0 0;}
.s-intro__inner{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:start;}
.s-intro__h2{font-size:clamp(28px,3.2vw,44px);font-weight:800;line-height:1.08;letter-spacing:-.03em;color:var(--navy);}
.s-intro__p{font-size:17px;line-height:1.75;color:var(--muted);padding-top:6px;}

.divisions{margin-top:56px;}
.divisions{padding-bottom:80px;}.divisions__grid{display:flex;flex-direction:column;gap:16px;max-width:1240px;margin:0 auto;padding:0 clamp(48px,5vw,72px);}.div-row{display:grid;gap:14px;}.div-row--a{grid-template-columns:1fr 1fr;}.div-row--c{grid-template-columns:1fr 1fr;}.div-row--c .div-visual{height:124px;}.div-row--c .div-num{font-size:7.5px;}.div-row--c .div-title{font-size:17px;margin-bottom:10px;}.div-row--c .div-body{font-size:13px;}.div-cyber-band{border-radius:14px;background:linear-gradient(130deg,#001E2F 0%,#003B5C 100%);padding:28px 40px;display:flex;align-items:center;justify-content:space-between;gap:40px;border:1px solid rgba(0,124,137,.2);}.div-cyber-band__body{flex:1 1 0;}.div-cyber-band__eyebrow{font-family:var(--mono);font-size:8px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(90,200,212,.6);margin-bottom:10px;}.div-cyber-band__title{font-size:18px;font-weight:800;color:var(--on-dark);letter-spacing:-.02em;line-height:1.2;margin-bottom:8px;}.div-cyber-band__desc{font-size:13.5px;line-height:1.6;color:var(--on-dark-dim);max-width:540px;}.div-cyber-band__cta{flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5AC8D4;text-decoration:none;white-space:nowrap;transition:color 150ms;}.div-cyber-band__cta:hover{color:var(--on-dark);}.div-cyber-band__cta:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:2px;}
.div-module{position:relative;overflow:visible;border-radius:14px;display:grid;grid-template-rows:auto 1fr;box-shadow:0 4px 24px rgba(0,0,0,.13),0 1px 4px rgba(0,0,0,.08);}
.div-module--scada{background:linear-gradient(160deg,#1E1200 0%,#100900 100%);}
.div-module--ai{background:linear-gradient(160deg,#071C2B 0%,#0B1E0B 100%);}
.div-module--hw{background:#0E2538;}
.div-visual{position:relative;height:160px;overflow:hidden;border-radius:14px 14px 0 0;}.div-visual svg{position:absolute;inset:0;width:100%;height:100%;}

.div-content{padding:24px 32px 36px;position:relative;z-index:2;display:flex;flex-direction:column;min-height:0;}
.div-num{font-family:var(--mono);font-size:8.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px;}
.div-title{font-size:21px;font-weight:800;line-height:1.18;letter-spacing:-.02em;margin-bottom:12px;}
.div-body{font-size:14px;line-height:1.68;margin-bottom:0;}
.div-link{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;margin-top:auto;}
.div-link::after{content:' →';}.div-links{display:flex;flex-direction:column;gap:6px;margin-top:auto;padding-top:18px;}.div-link--secondary{opacity:.55;font-size:10px;letter-spacing:.07em;}.div-link--secondary:hover{opacity:.9;}
.div-module--scada .div-num{color:rgba(255,200,69,.60);}
.div-module--scada .div-title{color:var(--on-dark);}
.div-module--scada .div-body{color:var(--on-dark-dim);}
.div-module--scada .div-link{color:var(--yellow);}
.div-module--scada .div-content{border-top:1px solid rgba(255,200,69,.15);}
.div-module--ai .div-num{color:rgba(255,200,69,.38);}
.div-module--ai .div-title{color:var(--yellow);}
.div-module--ai .div-body{color:var(--on-dark-dim);}
.div-module--ai .div-link{color:var(--yellow);}
.div-module--ai .div-content{border-top:1px solid rgba(255,200,69,.12);}
.div-module--hw .div-num{color:var(--green-light);}
.div-module--hw .div-title{color:var(--on-dark);}
.div-module--hw .div-body{color:var(--on-dark-dim);}
.div-module--hw .div-link{color:var(--green-light);}
.div-module--hw .div-content{border-top:1px solid rgba(74,155,55,.2);}
.div-module--it{background:linear-gradient(160deg,#001A28 0%,#000F18 100%);}
.div-module--it .div-num{color:rgba(90,200,212,.65);}
.div-module--it .div-title{color:var(--on-dark);}
.div-module--it .div-body{color:var(--on-dark-dim);}
.div-module--it .div-link{color:var(--teal-light);}
.div-module--it .div-content{border-top:1px solid rgba(0,124,137,.18);}





















.capabilities{padding:96px 0;background:var(--soft);}
.cap-header{margin-bottom:52px;}
.s-tag{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:10px;}
.cap-header h2{font-size:clamp(22px,2.4vw,30px);font-weight:800;color:var(--navy);letter-spacing:-.02em;}
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.cap-card{background:var(--canvas);padding:36px 32px 40px;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.06);}
.cap-card__sector{display:inline-block;font-family:var(--mono);font-size:8.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);border:1px solid var(--hairline);padding:4px 10px;margin-bottom:20px;}
.cap-card__title{font-size:17px;font-weight:700;color:var(--text);line-height:1.3;margin-bottom:10px;}
.cap-card__body{font-size:13.5px;color:var(--muted);line-height:1.68;margin-bottom:24px;}
.cap-card__link{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);text-decoration:none;}

.cta-block{background:var(--navy-deep);padding:120px 0;position:relative;overflow:hidden;}
.cta-block__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.cta-block__bg svg{width:100%;height:100%;}
.cta-block__inner{max-width:660px;position:relative;z-index:2;}
.cta-block__eyebrow{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:20px;}
.cta-block__h2{font-size:clamp(28px,4.2vw,50px);font-weight:800;color:var(--on-dark);letter-spacing:-.035em;line-height:1.08;margin-bottom:18px;}
.cta-block__p{font-size:17px;color:var(--on-dark-dim);line-height:1.72;margin-bottom:40px;}
.cta-block__ctas{display:flex;gap:14px;flex-wrap:wrap;}
.btn-cta-p{background:var(--canvas);color:var(--navy-deep);font-size:15px;font-weight:800;padding:16px 34px;border-radius:4px;text-decoration:none;display:inline-block;}
.btn-cta-s{background:transparent;color:var(--on-dark);font-size:15px;font-weight:700;padding:15px 34px;border-radius:4px;border:1px solid rgba(255,255,255,.16);text-decoration:none;display:inline-block;}

.footer{background:var(--navy-deep);border-top:1px solid rgba(255,255,255,.06);padding:64px 0 38px;}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:52px;margin-bottom:52px;}
.footer__logo{margin-bottom:14px;}
.footer__logo svg{display:block;height:22px;width:auto;opacity:.78;}
.footer__tagline{font-size:12.5px;color:var(--on-dark-faint);line-height:1.65;margin-bottom:18px;max-width:210px;}
.footer__certs{display:flex;flex-direction:column;gap:3px;margin-bottom:16px;}
.footer__cert{font-family:var(--mono);font-size:8.5px;font-weight:700;letter-spacing:.07em;color:rgba(255,255,255,.19);text-transform:uppercase;}
.footer__social{display:flex;align-items:center;gap:8px;}
.footer__social a{font-family:var(--mono);font-size:8.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.26);text-decoration:none;border:1px solid rgba(255,255,255,.12);padding:4px 10px;border-radius:1px;}
.footer__social a:hover{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.25);}
.footer__nav-title{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.22);margin-bottom:16px;}
.footer__nav-links{list-style:none;display:flex;flex-direction:column;gap:10px;}
.footer__nav-links a{font-size:13px;color:var(--on-dark-dim);text-decoration:none;}
.footer__nav-links a:hover{color:#fff;}
.footer__legal{border-top:1px solid rgba(255,255,255,.07);padding-top:24px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap;}
.footer__addr{font-size:11px;color:rgba(255,255,255,.19);line-height:1.9;font-style:normal;}
.footer__addr strong{color:rgba(255,255,255,.3);font-weight:700;}
.footer__ico{font-family:var(--mono);font-size:9.5px;letter-spacing:.05em;color:rgba(255,255,255,.16);margin-top:2px;display:block;}
.footer__llinks{display:flex;gap:18px;align-items:center;flex-wrap:wrap;}
.footer__llinks a{font-size:10.5px;color:rgba(255,255,255,.19);text-decoration:none;}
.footer__llinks a:hover{color:rgba(255,255,255,.4);}
.footer__copy{font-size:10.5px;color:rgba(255,255,255,.17);}
.footer__dot{color:rgba(255,255,255,.1);}

@media(max-width:960px){.container{padding:0 28px;}.hero__inner{padding:60px 0;}.hero__left{max-width:480px;}.hero{height:72svh;max-height:680px;}.ribbon__flow{grid-template-columns:1fr 1fr;}.ribbon__flow::before{display:none;}.ribbon__stage{padding:32px 28px!important;border-left:none!important;border-bottom:1px solid rgba(0,124,137,.1);}.ribbon__stage:nth-child(even){border-left:1px solid rgba(0,124,137,.1)!important;}.ribbon__stage:nth-child(3),.ribbon__stage:nth-child(4){border-bottom:none;}.div-content{padding-bottom:38px;}.s-intro__inner,.about__inner{grid-template-columns:1fr;gap:40px;}.divisions__grid{grid-template-columns:1fr;gap:10px;padding:0 32px;}.tech__proofs{grid-template-columns:1fr;gap:10px;}.tech__editorial{max-width:100%;}.cap-grid{grid-template-columns:1fr;gap:8px;}@media(max-width:599px){.divisions__grid{padding:0 22px;}}
@media(max-width:767px){.div-row--a,.div-row--c{grid-template-columns:1fr;}.div-cyber-band{flex-direction:column;align-items:flex-start;gap:16px;padding:22px 24px;}}.footer__grid{grid-template-columns:1fr 1fr;gap:32px;}}
@media(max-width:720px){.proofstrip__inner{grid-template-columns:1fr 1fr;}.pcert{padding:16px 16px 16px 0;border-right:1px solid var(--hairline);}.pcert:first-child{padding-left:0;}.pcert:nth-child(2){padding-left:16px;border-right:none;padding-right:0;}.pcert:nth-child(3){padding-left:0;border-bottom:none;}.pcert:nth-child(4){padding-left:16px;border-right:none;padding-right:0;}}
@media(max-width:480px){.proofstrip__inner{grid-template-columns:1fr;}.pcert{padding:14px 0!important;border-right:none!important;border-bottom:1px solid var(--hairline);}.pcert:last-child{border-bottom:none;}}
@media(max-width:640px){.hero{height:auto;min-height:520px;max-height:none;}.hero__inner{padding:52px 0 56px;}.hero__left{max-width:100%;}}
@media(max-width:560px){.ribbon__inner{padding:44px 0 48px;}.ribbon__flow{grid-template-columns:1fr;}.ribbon__stage{padding:28px 0!important;border-left:none!important;border-bottom:1px solid rgba(0,124,137,.1);}.ribbon__stage:last-child{border-bottom:none;}.ribbon__stage:nth-child(3),.ribbon__stage:nth-child(4){border-bottom:1px solid rgba(0,124,137,.1);}.ribbon__stage:last-child{border-bottom:none;}}

/* ═══ v9.1 POLISH — motion per audit 17 + content placeholders ═══ */

/* Mega-menu open transition (state change) */
@keyframes megaIn{from{opacity:0;transform:translateX(-50%) translateY(-8px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}
.mega-menu[data-open]{animation:megaIn 240ms cubic-bezier(.2,.7,.2,1);}

/* Hero signal path — one-time draw (M-P2-01), no loop */
.hero__signal{position:absolute;left:0;right:0;bottom:20px;width:100%;height:48px;z-index:2;pointer-events:none;opacity:.55;}
.hero__signal-path{stroke-dasharray:1;stroke-dashoffset:0;}
.hero__signal-node{opacity:1;}

/* Entrance reveal system — armed only by JS (progressive enhancement) */
.rule-draw::after{content:'';display:block;width:64px;height:3px;margin-top:14px;border-radius:2px;background:linear-gradient(90deg,var(--teal),var(--green));}
.cta-block .rule-draw::after{margin-left:auto;margin-right:auto;background:linear-gradient(90deg,var(--teal-light),var(--green-light));}

/* Division tech-tag reveal (M-P2-02) */
.div-tech{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 0;}
.div-tech span{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:4px 9px;border-radius:3px;border:1px solid rgba(255,255,255,.22);color:var(--on-dark-dim);}
.div-module--scada .div-tech span{border-color:rgba(255,200,69,.35);color:#E8D5A0;}

/* CTA background circles — one-time draw on reveal */
.cta-block__bg circle[pathLength]{stroke-dasharray:1;stroke-dashoffset:0;}

/* Buttons — precise lift, no bounce */
.btn-primary,.btn-cta-p{transition:opacity 150ms ease,background 150ms ease,transform 180ms ease,box-shadow 180ms ease;}
@media(hover:hover){
  .btn-primary:hover{opacity:1;transform:translateY(-1px);box-shadow:0 6px 18px rgba(255,200,69,.28);}
  .btn-cta-p:hover{opacity:1;transform:translateY(-1px);box-shadow:0 6px 18px rgba(255,200,69,.24);}
}

/* Content placeholders — visible by design (lorem = zjavný draft) */
.ph-block{margin:26px 0 8px;max-width:820px;text-align:left;}
.ph-tag{display:inline-block;font-family:var(--mono);font-size:8.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);border:1px solid currentColor;border-radius:3px;padding:3px 8px;margin-bottom:10px;}
.ph-meta{font-family:var(--mono);font-size:10.5px;line-height:1.65;color:var(--navy);margin:0 0 8px;}
.ph-lorem{font-size:13px;font-style:italic;line-height:1.7;color:var(--muted);margin:0;}
.cta-block .ph-block{margin-left:auto;margin-right:auto;}
.cta-block .ph-tag{color:var(--teal-light);}
.cta-block .ph-meta{color:var(--on-dark-dim);}
.cta-block .ph-lorem{color:var(--on-dark-faint);}
.cta-block__contact{margin-top:26px;font-size:14px;color:var(--on-dark-dim);}
.cta-block__contact a{color:var(--teal-light);text-decoration:none;border-bottom:1px solid rgba(90,200,212,.35);}
.cta-block__contact a:hover{border-bottom-color:var(--teal-light);}
.cta-block__contact a:focus-visible{outline:2px solid var(--teal-light);outline-offset:3px;}

/* Proofstrip lead-in */
.proofstrip__lead{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding:18px 0 0;}

/* Motion states — apply ONLY with JS armed + motion allowed */
@media(prefers-reduced-motion:no-preference){
  html.reveal-armed [data-reveal]{opacity:0;transform:translateY(14px);}
  html.reveal-armed [data-reveal].is-visible{opacity:1;transform:none;transition:opacity 460ms ease,transform 460ms cubic-bezier(.22,1,.36,1);}
  html.reveal-armed .rule-draw::after{transform:scaleX(0);transform-origin:left;}
  html.reveal-armed .cta-block .rule-draw::after{transform-origin:center;}
  html.reveal-armed .rule-draw.is-visible::after{transform:scaleX(1);transition:transform 640ms cubic-bezier(.22,1,.36,1) 180ms;}
  body.hero--animate .hero__signal-path{stroke-dashoffset:1;}
  body.hero--playing .hero__signal-path{stroke-dashoffset:0;transition:stroke-dashoffset 1500ms cubic-bezier(.4,0,.2,1) 1.15s;}
  body.hero--animate .hero__signal-node{opacity:0;}
  body.hero--playing .hero__signal-node{opacity:1;transition:opacity 400ms ease 2.3s;}
  html.reveal-armed .cta-block__bg circle[pathLength]{stroke-dashoffset:1;}
  html.reveal-armed .cta-block.is-visible .cta-block__bg circle[pathLength]{stroke-dashoffset:0;transition:stroke-dashoffset 1600ms ease-out;}
  html.reveal-armed .cta-block.is-visible .cta-block__bg circle[pathLength]:nth-of-type(3){transition-delay:220ms;}
  html.reveal-armed .cta-block.is-visible .cta-block__bg circle[pathLength]:nth-of-type(4){transition-delay:440ms;}
  .div-tech{max-height:0;opacity:0;overflow:hidden;transition:max-height 260ms ease,opacity 220ms ease;}
  @media(hover:hover){
    .div-module:hover .div-tech,.div-module:focus-within .div-tech{max-height:80px;opacity:1;}
  }
  @media(hover:none){.div-tech{max-height:none;opacity:1;}}
}
@media(prefers-reduced-motion:reduce){
  .mega-menu[data-open]{animation:none;}
  .hero__signal-path{stroke-dashoffset:0!important;}
  .div-tech{max-height:none;opacity:1;}
  .btn-primary:hover,.btn-cta-p:hover{transform:none;}
}

/* ── v9: three-column division row + priority section ── */
.div-row--v9{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
@media(max-width:1024px){.div-row--v9{grid-template-columns:1fr;}}

/* ═══ Subpage framework ═══ */
.breadcrumbs{margin:26px 0 0;font-size:12px;}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;color:var(--muted);}
.breadcrumbs li+li::before{content:'/';margin-right:8px;color:var(--hairline);}
.breadcrumbs a{color:var(--teal);text-decoration:none;}
.breadcrumbs a:hover{text-decoration:underline;}
.page-hero{background:var(--canvas);padding:34px 0 10px;}
.page-hero__eyebrow{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin:0 0 14px;}
.page-hero h1{font-size:clamp(28px,3.6vw,44px);font-weight:800;color:var(--navy);letter-spacing:-.025em;line-height:1.08;margin:0 0 16px;max-width:820px;}
.page-hero__perex{font-size:16.5px;line-height:1.72;color:var(--muted);max-width:720px;margin:0 0 8px;}
.pgs{padding:44px 0 8px;}
.pgs--soft{background:var(--soft);padding:52px 0;margin-top:44px;}
.pgs h2{font-size:clamp(20px,2.3vw,28px);font-weight:800;color:var(--navy);letter-spacing:-.02em;margin:0 0 14px;max-width:760px;scroll-margin-top:90px;}
.pgs p{font-size:15px;line-height:1.75;color:var(--text);max-width:760px;margin:0 0 12px;}
.pgs ul{max-width:760px;margin:0 0 12px;padding-left:22px;}
.pgs li{font-size:14.5px;line-height:1.7;color:var(--text);margin-bottom:6px;}
.chips{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 4px;max-width:760px;}
.chips span{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:3px;border:1px solid var(--hairline);background:var(--soft);color:var(--navy);}
.faq-wrap{max-width:760px;}
.faq-d{border-top:1px solid var(--hairline);}
.faq-d:last-of-type{border-bottom:1px solid var(--hairline);}
.faq-d summary{cursor:pointer;padding:18px 4px;font-size:15px;font-weight:700;color:var(--text);list-style:none;display:flex;justify-content:space-between;gap:14px;}
.faq-d summary::-webkit-details-marker{display:none;}
.faq-d summary::after{content:'+';color:var(--teal);font-weight:800;font-size:18px;flex-shrink:0;}
.faq-d[open] summary::after{content:'–';}
.faq-d summary:hover{color:var(--teal);}
.faq-d summary:focus-visible{outline:2px solid var(--teal);outline-offset:2px;}
.faq-d .faq-a{padding:0 4px 18px;font-size:14px;line-height:1.7;color:var(--muted);max-width:700px;}
.note-int{border:1.5px dashed #B9C9D2;background:rgba(0,124,137,.035);border-radius:10px;padding:14px 18px;font-size:12.5px;line-height:1.65;color:var(--muted);max-width:760px;margin:18px 0;}
.note-int .ph-tag{margin-bottom:8px;}
.ref-year{font-family:var(--mono);font-size:10px;color:var(--muted);display:block;margin-top:14px;}
.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:900px;margin:8px 0 12px;}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr;}}
.contact-direct{font-size:19px;font-weight:700;margin:6px 0 22px;}
.contact-direct a{color:var(--navy);text-decoration:none;border-bottom:2px solid var(--teal-light);}
.contact-direct a:hover{color:var(--teal);}

.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px;}
@media(max-width:1024px){.hub-grid{grid-template-columns:1fr;}}
.hub-card{background:var(--canvas);border:1px solid var(--hairline);border-radius:12px;padding:30px 28px 32px;box-shadow:0 2px 10px rgba(0,0,0,.05);display:flex;flex-direction:column;min-width:0;}
.hub-card__num{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:12px;}
.hub-card--d3 .hub-card__num{color:#B8860B;}
.hub-card--d2 .hub-card__num{color:var(--green);}
.hub-card__title{font-size:18px;font-weight:800;color:var(--navy);line-height:1.25;margin:0 0 10px;}
.hub-card__body{font-size:13.5px;color:var(--muted);line-height:1.7;margin:0 0 18px;flex:1;}
.hub-card__link{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);text-decoration:none;}
.hub-card__link:hover{color:var(--teal);}
.cert-table{width:100%;max-width:760px;border-collapse:collapse;margin:14px 0 6px;}
.cert-table th,.cert-table td{border-bottom:1px solid var(--hairline);text-align:left;padding:10px 12px 10px 0;font-size:13.5px;line-height:1.5;}
.cert-table th{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.cert-table td:first-child{font-weight:700;color:var(--navy);white-space:nowrap;}
.cert-table .mono{font-family:var(--mono);font-size:11px;color:var(--muted);}


/* ═══ v9.9 — diferenciácia podstránok ═══ */
main[data-accent="teal"]{--acc:#5AC8D4;--acc2:#007C89;}
main[data-accent="green"]{--acc:#6DC15A;--acc2:#4A9B37;}
main[data-accent="yellow"]{--acc:#FFC845;--acc2:#C9971F;}
main[data-accent] .rule-draw::after{background:linear-gradient(90deg,var(--acc2),var(--acc));}
main[data-accent] .page-hero__eyebrow{color:var(--acc2);}
main[data-accent] .chips span{border-color:rgba(0,0,0,.08);box-shadow:inset 3px 0 0 var(--acc);}
main[data-accent] .hub-card__num{color:var(--acc2);}
.page-hero--dark{position:relative;overflow:hidden;background:radial-gradient(ellipse at 78% 30%,rgba(90,200,212,.06) 0%,transparent 55%),linear-gradient(150deg,#071C2B 0%,#0D3554 100%);padding:58px 0 52px;}
.page-hero--dark .container{position:relative;z-index:2;}
.page-hero--dark h1{color:var(--on-dark);}
.page-hero--dark .page-hero__perex{color:var(--on-dark-dim);}
main[data-accent] .page-hero--dark .page-hero__eyebrow{color:var(--acc);}
.page-hero--dark + .pgs{padding-top:52px;}
.page-hero__art{position:absolute;right:-20px;top:50%;transform:translateY(-50%);width:min(44vw,620px);height:auto;pointer-events:none;z-index:1;}
@media(max-width:960px){.page-hero__art{display:none;}}
/* O firme — časová os (len potvrdené fakty) */
.tline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:34px 0 8px;max-width:980px;position:relative;}
.tline::before{content:'';position:absolute;left:2%;right:2%;top:7px;height:2px;background:linear-gradient(90deg,var(--teal),var(--green),var(--yellow));opacity:.5;}
.tline div{position:relative;padding:24px 18px 0 0;}
.tline div::before{content:'';position:absolute;left:0;top:0;width:14px;height:14px;border-radius:50%;background:var(--canvas);border:3px solid var(--teal);}
.tline div:nth-child(2)::before{border-color:var(--green);}
.tline div:nth-child(3)::before{border-color:var(--yellow);}
.tline div:nth-child(4)::before{border-color:var(--navy);}
.tline dt{font-family:var(--mono);font-size:13px;font-weight:800;color:var(--navy);margin:0 0 6px;}
.tline dd{font-size:12.5px;line-height:1.6;color:var(--muted);margin:0;}
@media(max-width:760px){.tline{grid-template-columns:1fr;gap:18px;}.tline::before{display:none;}}
@media(prefers-reduced-motion:no-preference){
  .page-hero__art [pathLength]{stroke-dasharray:1;stroke-dashoffset:1;animation:heroArtDraw 1500ms cubic-bezier(.4,0,.2,1) 320ms forwards;}
  .page-hero__art .art-dot{opacity:0;animation:heroArtDot 500ms ease 1650ms forwards;}
  @keyframes heroArtDraw{to{stroke-dashoffset:0;}}
  @keyframes heroArtDot{to{opacity:1;}}
}
@media(prefers-reduced-motion:reduce){
  .page-hero__art [pathLength]{stroke-dashoffset:0;}
  .page-hero__art .art-dot{opacity:1;}
}


/* ═══ v10 — rytmus, orientácia, výraznosť ═══ */
.pgs{padding:88px 0 12px;}
.pgs--soft{padding:96px 0;margin-top:88px;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);}
.page-hero--dark{padding:78px 0 70px;}
.page-hero{padding:44px 0 20px;}
.pgs h2{font-size:clamp(24px,2.8vw,34px);margin:0 0 18px;}
.pgs p{font-size:15.5px;}
/* číslované sekcie — kognitívna orientácia (CSS counter) */
main[data-accent]{counter-reset:qsec;}
main[data-accent] .pgs h2.rule-draw::before{counter-increment:qsec;content:counter(qsec,decimal-leading-zero);display:block;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--acc2);margin-bottom:12px;}
/* akcentom tónované striedavé zóny — farebná prítomnosť na svetlom */
main[data-accent="teal"] .pgs--soft{background:linear-gradient(180deg,rgba(0,124,137,.055),rgba(0,124,137,.015));}
main[data-accent="green"] .pgs--soft{background:linear-gradient(180deg,rgba(74,155,55,.06),rgba(74,155,55,.015));}
main[data-accent="yellow"] .pgs--soft{background:linear-gradient(180deg,rgba(255,200,69,.10),rgba(255,200,69,.02));}
/* „Na tejto stránke" — lokálna orientačná navigácia */
.onpage{background:var(--canvas);border-bottom:1px solid var(--hairline);padding:16px 0;}
.onpage .container{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap;}
/* .onpage__label odstranene 12. 8. 2026 (D-70) — nazov nesie aria-label na <nav>. */
.onpage ul{list-style:none;display:flex;gap:8px 18px;flex-wrap:wrap;margin:0;padding:0;}
.onpage li{display:flex;align-items:baseline;gap:8px;}
.onpage .n{font-family:var(--mono);font-size:9px;font-weight:700;color:var(--acc2,#007C89);}
.onpage a{font-size:12.5px;font-weight:700;color:var(--navy);text-decoration:none;border-bottom:2px solid transparent;padding-bottom:2px;min-height:24px;}
.onpage a:hover{border-bottom-color:var(--acc,#5AC8D4);color:var(--acc2,#007C89);}
.onpage a:focus-visible{outline:2px solid var(--acc2,#007C89);outline-offset:3px;}
/* karty s akcentovým top rule (vzor schválený auditom A-06) */
main[data-accent] .hub-card,main[data-accent] .cap-card,main[data-accent] .ref-card{border-top:3px solid var(--acc);}
/* tabuľkové číslice pre technické údaje (tnum) */
.chips span,.itms,.proj-meta dd,.cert-table td,.ref-card__tech,.ref-card__year,.tline dt{font-variant-numeric:tabular-nums;}
/* focus v divíznej farbe */
main[data-accent] :focus-visible{outline-color:var(--acc2);}
/* FAQ — väčší touch target */
.faq-d summary{padding:20px 4px;font-size:15.5px;}

.mega-seg{margin-top:18px;padding-top:14px;border-top:1px dashed rgba(0,59,92,.28);}.mega-seg__eyebrow{display:inline-block;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#7A5A00;background:rgba(178,126,10,.12);border:1px solid rgba(178,126,10,.35);border-radius:3px;padding:2px 6px;margin-bottom:7px;}.mega-seg__title{font-size:14px;font-weight:800;color:var(--text);line-height:1.25;text-decoration:none;letter-spacing:-.015em;display:block;transition:color 120ms;}.mega-seg__title:hover{color:var(--navy);}.mega-seg__desc{font-size:11.5px;line-height:1.45;color:var(--muted);margin:3px 0 8px;}.mob-seg-note{display:block;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7A5A00;margin:2px 0 4px 2px;}.nav__lang-item--off,.mob-lang__item--off{opacity:.45;cursor:default;text-decoration:none;}

.footer__logo svg .f1,.footer__logo svg .f2,.footer__logo svg .f3,.footer__logo svg .f4,.footer__logo svg .f5{fill:#FFFFFF!important;}.footer__logo svg{opacity:.92!important;height:26px!important;}
/* primárne CTA v tmavom bloku — značková žltá namiesto bielej */
.cta-block .btn-cta-p{background:#FFC845!important;color:#071C2B!important;box-shadow:0 2px 14px rgba(255,200,69,.22)!important;}
.cta-block .btn-cta-p:hover{background:#FFD469!important;opacity:1!important;box-shadow:0 6px 20px rgba(255,200,69,.30)!important;}
.cta-block .btn-cta-s{border-color:rgba(255,255,255,.28)!important;}


/* ── mega-menu: výraznejšie oddelenie stĺpcov ────────────────────────────── */
.mega-pillar--teal::after,.mega-pillar--green::after{
  width:2px!important;right:-18px!important;border-radius:2px;
  background:linear-gradient(180deg,rgba(0,59,92,0) 0%,rgba(0,59,92,.16) 12%,rgba(0,59,92,.16) 88%,rgba(0,59,92,0) 100%)!important;}
.mega-pillar__accent{width:6px!important;border-radius:4px;}
.mega-pillar--teal .mega-pillar__head,.mega-pillar--green .mega-pillar__head,.mega-pillar--yellow .mega-pillar__head{
  border-radius:6px;padding:10px 12px 12px 0;}
.mega-pillar--teal .mega-pillar__head{background:linear-gradient(90deg,rgba(0,124,137,.07),rgba(0,124,137,0) 72%);}
.mega-pillar--green .mega-pillar__head{background:linear-gradient(90deg,rgba(74,155,55,.07),rgba(74,155,55,0) 72%);}
.mega-pillar--yellow .mega-pillar__head{background:linear-gradient(90deg,rgba(178,126,10,.09),rgba(178,126,10,0) 72%);}
/* ikona divízie pred názvom stĺpca */
.mega-pillar__title::before{content:'';display:inline-block;width:15px;height:15px;margin-right:8px;vertical-align:-2px;
  background-repeat:no-repeat;background-size:contain;opacity:.9;}
.mega-pillar--teal .mega-pillar__title::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007C89' stroke-width='2' stroke-linecap='round'%3E%3Cellipse cx='12' cy='5.5' rx='8' ry='3'/%3E%3Cpath d='M4 5.5v13c0 1.7 3.6 3 8 3s8-1.3 8-3v-13'/%3E%3Cpath d='M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3'/%3E%3C/svg%3E");}
.mega-pillar--green .mega-pillar__title::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A9B37' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='4' width='18' height='6' rx='1.5'/%3E%3Crect x='3' y='14' width='18' height='6' rx='1.5'/%3E%3Cpath d='M7 7h.01M7 17h.01'/%3E%3C/svg%3E");}
.mega-pillar--yellow .mega-pillar__title::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B27E0A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20h18'/%3E%3Cpath d='M5 20V9l5-3v14'/%3E%3Cpath d='M10 20V6l9 4v10'/%3E%3Cpath d='M14 12h.01M14 16h.01'/%3E%3C/svg%3E");}
/* segment: vlastný podklad a menšie položky */
.mega-seg{margin-top:22px!important;padding:14px 14px 12px!important;border-top:none!important;
  background:rgba(178,126,10,.06);border:1px solid rgba(178,126,10,.22);border-radius:8px;}
.mega-seg__list{margin-top:6px!important;padding-left:0!important;}
.mega-seg__list a{font-weight:700!important;color:#3A5060!important;}
.mega-seg .mega-pillar__all{margin-top:8px;}


/* ══ mega-menu · farba na hrane, text vždy na svetlom (WCAG + čitateľnosť) ══
   Guardrail projektu: žltá nikdy ako plná plocha ani text na svetlom.       */
.mega-pillar{position:relative;padding-top:12px;}
.mega-pillar__head{background:none!important;padding:0 0 12px!important;}
.mega-pillar__accent{display:none!important;}
/* 4px farebná hrana nad stĺpcom — identifikátor divízie */
.mega-pillar::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;border-radius:3px;
  background:var(--pil,#007C89);transform:scaleX(0);transform-origin:left;}
.mega-menu[data-open] .mega-pillar::before{animation:pilDraw 520ms cubic-bezier(.22,1,.36,1) forwards;}
.mega-menu[data-open] .mega-pillar:nth-of-type(2)::before{animation-delay:70ms;}
.mega-menu[data-open] .mega-pillar:nth-of-type(3)::before{animation-delay:140ms;}
@keyframes pilDraw{to{transform:scaleX(1);}}
.mega-pillar--teal{--pil:#007C89;}
.mega-pillar--green{--pil:#4A9B37;}
.mega-pillar--yellow{--pil:#B27E0A;}
.mega-pillar--navy{--pil:#003B5C;}
/* jemný tón stĺpca — tri zóny na prvý pohľad, text ostáva na svetlom */
.mega-pillar--teal{background:linear-gradient(180deg,rgba(0,124,137,.055),rgba(0,124,137,0) 190px);}
.mega-pillar--green{background:linear-gradient(180deg,rgba(74,155,55,.055),rgba(74,155,55,0) 190px);}
.mega-pillar--yellow{background:linear-gradient(180deg,rgba(178,126,10,.075),rgba(178,126,10,0) 190px);}
.mega-pillar--teal,.mega-pillar--green,.mega-pillar--yellow{padding-left:14px;padding-right:14px;border-radius:0 0 8px 8px;}
/* nadpis stĺpca vo farbe divízie — kontrast na svetlom podklade nad 4,5:1 */
.mega-pillar--teal .mega-pillar__title{color:#00646E!important;}
.mega-pillar--green .mega-pillar__title{color:#3A8129!important;}
.mega-pillar--yellow .mega-pillar__title{color:#7A5800!important;}
.mega-pillar__title{font-size:14.5px!important;}
.mega-pillar__desc{color:#4B5C66!important;}
/* položky: farebná hrana vľavo pri prechode myšou */
.mega-pillar>.mega-group{border-left:3px solid transparent;padding-left:11px;margin-left:-3px;
  transition:border-color 140ms ease,background 140ms ease;}
.mega-pillar>.mega-group:hover{border-left-color:var(--pil);background:rgba(0,59,92,.035);}
.mega-pillar--teal::after,.mega-pillar--green::after{width:1px!important;right:-14px!important;
  background:rgba(0,59,92,.12)!important;}
/* ══ segment — tmavomodrá ako hrana a text, nie ako plocha ═══════════════ */
.mega-seg{background:rgba(0,59,92,.045)!important;border:1px solid rgba(0,59,92,.16)!important;
  border-left:4px solid #003B5C!important;border-radius:6px!important;padding:14px 15px 13px!important;margin-top:22px!important;}
.mega-seg__eyebrow{color:#FFFFFF!important;background:#003B5C!important;border-color:#003B5C!important;}
.mega-seg__title{color:#003B5C!important;}
.mega-seg__desc{color:#4B5C66!important;}
.mega-seg__list a{color:#3A5060!important;font-weight:700!important;}
.mega-seg .mega-pillar__all{color:#003B5C!important;}
/* ══ MOBIL — rovnaké farebné kódovanie v rozbaľovacom menu ═══════════════ */
.mob-cat{border-left:4px solid transparent;padding-left:20px!important;}
.mob-cat[data-div="d1"]{border-left-color:#007C89;}
.mob-cat[data-div="d2"]{border-left-color:#4A9B37;}
.mob-cat[data-div="d3"]{border-left-color:#B27E0A;}
.mob-cat[data-div="seg"]{border-left-color:#003B5C;}
@media(prefers-reduced-motion:reduce){
  .mega-pillar::before{transform:scaleX(1)!important;animation:none!important;}
}


/* ══ MOBIL — divízia rozpoznateľná bez čítania ═══════════════════════════ */
.mob-div-accent{width:8px!important;}
.mob-div-header{min-height:84px!important;border-top:1px solid rgba(0,59,92,.08);}
.mob-div-title{font-size:14.5px!important;}
.mob-div-header--teal .mob-div-title{color:#00646E!important;}
.mob-div-header--green .mob-div-title{color:#3A8129!important;}
.mob-div-header--yellow .mob-div-title{color:#7A5800!important;}
.mob-div-desc{color:#4B5C66!important;}
/* farebná stopa pokračuje aj pri položkách divízie */
.mob-div-header--teal ~ .mob-cat{box-shadow:inset 3px 0 0 rgba(0,124,137,.34);}
.mob-div-header--green ~ .mob-cat{box-shadow:inset 3px 0 0 rgba(74,155,55,.34);}
.mob-div-header--yellow ~ .mob-cat{box-shadow:inset 3px 0 0 rgba(178,126,10,.40);}
.mob-divider ~ .mob-cat{box-shadow:none;}
.mob-div-header--green ~ .mob-cat,.mob-div-header--yellow ~ .mob-cat{box-shadow:inset 3px 0 0 rgba(74,155,55,.34);}
.mob-div-header--yellow ~ .mob-cat{box-shadow:inset 3px 0 0 rgba(178,126,10,.40);}
/* segment v mobilnom menu — tmavomodrá */
.mob-seg-note{color:#FFFFFF!important;background:#003B5C;border-radius:4px;padding:4px 8px;
  display:inline-block!important;margin:12px 0 6px 24px!important;letter-spacing:.1em!important;}


/* ══ mega-menu · rovnaký odstup vľavo aj vpravo, väčší rozostup stĺpcov ═══ */
.mega-menu__grid{gap:44px!important;}
.mega-pillar--teal,.mega-pillar--green,.mega-pillar--yellow{
  padding-left:18px!important;padding-right:18px!important;}
/* položky dedia rovnaký vnútorný odstup — hrana pri hoveri nesmie text posunúť */
.mega-pillar>.mega-group{padding-left:0!important;margin-left:0!important;
  border-left:none!important;box-shadow:inset 0 0 0 0 transparent;
  transition:box-shadow 140ms ease,background 140ms ease;border-radius:4px;}
.mega-pillar>.mega-group:hover{box-shadow:inset 3px 0 0 var(--pil);background:rgba(0,59,92,.035);}
.mega-pillar>.mega-group>.mega-group__cat,.mega-pillar>.mega-group>.mega-group__caps{
  padding-left:11px;padding-right:6px;}
.mega-pillar__head{padding-left:11px!important;padding-right:6px!important;}
.mega-pillar__all{padding-left:11px!important;}
/* deliaca čiara presne v strede medzi stĺpcami */
.mega-pillar--teal::after,.mega-pillar--green::after{right:-22px!important;}
/* segment zarovnaný s obsahom stĺpca */
.mega-seg{margin-left:0!important;margin-right:0!important;}
@media(max-width:1040px){
  .mega-menu__grid{gap:28px!important;}
  .mega-pillar--teal::after,.mega-pillar--green::after{right:-14px!important;}
}


/* ══ segment — iný materiál, nie iná intenzita ═══════════════════════════
   Plná tlmená plocha: číta sa ako objekt, ktorý do stĺpca nepatrí,
   ale nízky kontrast voči okoliu ho drží mimo prvého pohľadu.            */
.mega-seg{
  background:#DFE7EC!important;
  border:none!important;border-left:4px solid #003B5C!important;
  border-radius:3px 8px 8px 3px!important;
  padding:15px 16px 14px!important;margin-top:26px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(0,59,92,.06),0 1px 2px rgba(9,30,45,.05)!important;
}
.mega-seg__eyebrow{
  color:#FFFFFF!important;background:#003B5C!important;border:none!important;
  font-size:8.5px!important;letter-spacing:.12em!important;padding:3px 7px!important;opacity:.88;}
.mega-seg__title{color:#003B5C!important;font-size:13.5px!important;}
.mega-seg__title:hover{color:#00253A!important;}
.mega-seg__desc{color:#4B5C66!important;font-size:11px!important;}
.mega-seg__list a{color:#2E4550!important;font-weight:700!important;}
.mega-seg__list a:hover{color:#003B5C!important;}
.mega-seg .mega-pillar__all{color:#003B5C!important;font-size:11.5px!important;}
.mega-seg :focus-visible{outline:2px solid #003B5C!important;outline-offset:2px;}
/* mobil — rovnaký materiál */
.mob-seg-note{background:#003B5C!important;color:#FFFFFF!important;opacity:.88;}


/* ══ mega-menu · technická mikro-interakcia ══════════════════════════════
   Guardraily: bez neónu, bez loopov, mikro-interakcie ≤260 ms,
   prefers-reduced-motion, kontrast WCAG 2.2 AA.                          */
.mega-pillar>.mega-group{position:relative;overflow:hidden;box-shadow:none!important;}
/* 1 · akcent nabieha zhora nadol — signál, ktorý prejde položkou */
.mega-pillar>.mega-group::before{content:'';position:absolute;left:0;top:0;width:3px;height:100%;
  background:var(--pil);transform:scaleY(0);transform-origin:top;
  transition:transform 220ms cubic-bezier(.22,1,.36,1);}
/* 2 · podklad nabieha zľava ako dátový pás */
.mega-pillar>.mega-group::after{content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(0,59,92,.055),rgba(0,59,92,0) 68%);
  transform:scaleX(0);transform-origin:left;transition:transform 240ms cubic-bezier(.22,1,.36,1);}
@media(hover:hover){
  .mega-pillar>.mega-group:hover::before{transform:scaleY(1);}
  .mega-pillar>.mega-group:hover::after{transform:scaleX(1);}
  .mega-pillar>.mega-group:hover>.mega-group__cat{transform:translateX(3px);}
  .mega-pillar>.mega-group:hover>.mega-group__cat::after{opacity:1;transform:translateX(0);}
}
.mega-group__cat{position:relative;transition:transform 200ms cubic-bezier(.22,1,.36,1),color 140ms ease;}
/* 3 · monospace šípka sa vysunie sprava */
.mega-group__cat::after{content:'→';position:absolute;right:0;top:50%;margin-top:-9px;
  font-family:var(--mono,monospace);font-size:12px;font-weight:700;color:var(--pil);
  opacity:0;transform:translateX(-6px);transition:opacity 180ms ease,transform 200ms cubic-bezier(.22,1,.36,1);}
.mega-group__caps a{position:relative;transition:transform 180ms cubic-bezier(.22,1,.36,1),color 140ms ease;}
@media(hover:hover){.mega-group__caps a:hover{transform:translateX(3px);}}
/* 4 · pri otvorení menu prejde stĺpcom jednorazový skenovací riadok */
.mega-pillar{position:relative;}
.mega-pillar>.mega-scan{content:'';position:absolute;left:0;right:0;top:0;height:1px;pointer-events:none;
  background:linear-gradient(90deg,rgba(0,59,92,0),var(--pil),rgba(0,59,92,0));opacity:0;}
.mega-menu[data-open] .mega-pillar>.mega-scan{animation:megaScan 720ms cubic-bezier(.4,0,.3,1) forwards;}
.mega-menu[data-open] .mega-pillar:nth-of-type(2)>.mega-scan{animation-delay:90ms;}
.mega-menu[data-open] .mega-pillar:nth-of-type(3)>.mega-scan{animation-delay:180ms;}
@keyframes megaScan{0%{top:0;opacity:0;}14%{opacity:.85;}86%{opacity:.5;}100%{top:100%;opacity:0;}}
/* 5 · segment — iný materiál, teda iná reakcia: nadvihne sa celý blok */
.mega-seg{transition:transform 200ms cubic-bezier(.22,1,.36,1),box-shadow 200ms ease;}
@media(hover:hover){
  .mega-seg:hover{transform:translateY(-2px);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 6px 18px rgba(9,30,45,.12)!important;}
}
.mega-seg__list a{transition:transform 180ms cubic-bezier(.22,1,.36,1),color 140ms ease;}
@media(hover:hover){.mega-seg__list a:hover{transform:translateX(3px);}}
@media(prefers-reduced-motion:reduce){
  .mega-pillar>.mega-group::before,.mega-pillar>.mega-group::after,
  .mega-group__cat,.mega-group__cat::after,.mega-group__caps a,.mega-seg,.mega-seg__list a{
    transition:none!important;animation:none!important;transform:none!important;}
  .mega-pillar>.mega-scan{animation:none!important;opacity:0!important;}
  .mega-pillar>.mega-group:hover::before{transform:scaleY(1)!important;}
  .mega-pillar>.mega-group:hover::after{transform:scaleX(1)!important;}
}


.mega-seg__grp{margin-bottom:6px;}
.mega-seg .mega-group__cat{font-size:12.5px!important;color:#003B5C!important;}
.mega-seg .mega-group__caps{padding-left:10px!important;margin-top:2px!important;}
.mega-seg .mega-group__caps a{font-size:11px!important;min-height:24px!important;}
.mega-seg__list{margin-top:8px!important;padding-top:8px!important;border-top:1px solid rgba(0,59,92,.14);}


/* ══ Segment „Produkty pre mestá a obce“ — pás na celú šírku pod D1+D2+D3 ══════
   Predtým bol vnorený v stĺpci D3, ktorý tým narástol na 860 px a celé mega menu
   sa muselo skrolovať. Skin pásu (podklad #DFE7EC, navy ľavý pruh) ostáva taký,
   aký bol schválený — mení sa len usporiadanie a rytmus.
   Dotykové ciele odkazov sa neskracujú, zostávajú ≥ 24 px (WCAG 2.2 · 2.5.8).  */

.mega-seg--wide{
  grid-column:1 / -1;
  display:grid;grid-template-columns:minmax(250px,360px) 1fr;gap:8px 30px;align-items:end;
  margin-top:2px!important;padding:10px 16px 10px 14px!important;
}
.mega-seg--wide .mega-seg__head{min-width:0;}
.mega-seg--wide .mega-seg__desc{font-size:11px!important;line-height:1.4;margin:2px 0 5px!important;max-width:52ch;}
.mega-seg--wide .mega-pillar__all{margin-top:2px!important;white-space:normal;padding-left:0!important;}
.mega-seg__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px;min-width:0;align-items:end;}
.mega-seg--wide .mega-seg__grp{margin-bottom:0;min-width:0;}
.mega-seg--wide .mega-group{margin-top:0;padding-top:0;border-top:none;}
.mega-seg--wide .mega-seg__list{margin-top:0!important;padding-top:0!important;border-top:none!important;}
.mega-seg--wide .mega-group__caps{padding-left:10px!important;margin-top:2px!important;}
/* štyri odkazy v skupine „Dôkaz o vykonaných prácach“ do dvoch stĺpcov — pás tak
   nerastie do výšky a všetky položky sú viditeľné naraz */
.mega-seg--wide .mega-seg__grp:first-child .mega-group__caps{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;}
.mega-seg__collabel{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:#3A5060;margin:0 0 1px;}

/* ── kompaktnejší rytmus panela, aby sa zmestil bez skrolovania ───────────── */
.mega-menu{padding:18px 30px 12px;max-height:min(900px,calc(100svh - 64px));}
.mega-menu__grid{gap:18px 26px!important;align-items:start;}
.mega-pillar{padding-top:8px!important;}
.mega-pillar__head{padding:6px 12px 7px 0!important;}
.mega-pillar>.mega-group{margin-top:6px;padding-top:6px;}
.mega-pillar__all{margin-top:7px!important;}

@media(max-width:940px){
  .mega-seg--wide{grid-template-columns:1fr;}
}
@media(max-width:820px){
  .mega-seg__cols,.mega-seg--wide .mega-seg__grp:first-child .mega-group__caps{grid-template-columns:1fr;}
}


/* ══════════════════════════════════════════════════════════════════════════
   v14 · VRSTVA ODLÍŠENIA OD MAXNETWORK
   Pridané 10. 8. 2026. Nemení pôvodné pravidlá — iba ich prepisuje, takže
   sa dá odstrániť zmazaním tohto jedného bloku a vznikne späť v13.
   Nedotýka sa palety, písiem ani textového rezu.
   ══════════════════════════════════════════════════════════════════════════ */

/* 1 · Popisky nad nadpismi — preč mono, verzálky, prestrk a vodorovná čiara.
      Namiesto čiary malý štvorček v divíznej farbe. */
.hero__eyebrow,.page-hero__eyebrow,.s-tag,.cta-block__eyebrow,.qsub__eyebrow{
  font-family:var(--font)!important;
  font-size:13px!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-transform:none!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}
.hero__eyebrow::before,.page-hero__eyebrow::before,.s-tag::before,
.cta-block__eyebrow::before,.qsub__eyebrow::before{
  content:''!important;
  display:block!important;
  width:9px!important;height:9px!important;
  min-width:9px!important;
  border-radius:2px!important;
  background:currentColor!important;
  opacity:1!important;
  margin:0!important;
  flex:none!important;
}

/* 2 · Čísla sekcií — z mono kódu sa stáva obrysová redakčná číslica,
      gradientová linka pod nadpisom sa mení na tenkú jednofarebnú. */
.pgs h2.rule-draw::before{
  font-family:var(--font)!important;
  font-size:26px!important;
  font-weight:800!important;
  letter-spacing:-.01em!important;
  line-height:1!important;
  color:transparent!important;
  -webkit-text-stroke:1.3px var(--acc-txt,var(--teal));
  text-stroke:1.3px var(--acc-txt,var(--teal));
  margin-bottom:10px!important;
  opacity:.9;
}
.rule-draw::after{
  width:48px!important;
  height:1px!important;
  border-radius:0!important;
  background:var(--acc-txt,var(--teal))!important;
  opacity:.55;
  margin-top:16px!important;
}

/* 3 · Technológie — pilulky sa rušia. Zoznam v bežnom reze s oddeľovačmi. */
.chips{display:block!important;line-height:2!important;}
.chips span{
  font-family:var(--font)!important;
  font-size:14px!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-transform:none!important;
  padding:0!important;
  border:none!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  color:var(--text)!important;
  display:inline!important;
}
.chips span+span::before{
  content:'·\200B';   /* ZWSP = miesto na zalomenie riadku (D-71) */
  margin:0 9px;
  color:var(--hairline);
  font-weight:400;
}

/* 4 · Karty — farebný pruh ide zhora doľava, biela plocha sa tónuje. */
.hub-card{
  background:var(--soft)!important;
  border:none!important;
  border-left:3px solid var(--hub-acc,var(--teal))!important;
  border-radius:0 12px 12px 0!important;
  box-shadow:0 1px 3px rgba(9,30,45,.05)!important;
}
.hub-card:hover{box-shadow:0 3px 10px rgba(9,30,45,.09)!important;}
.hub-card--d1{--hub-acc:var(--teal);}
.hub-card--d2{--hub-acc:var(--green);}
.hub-card--d3{--hub-acc:var(--yellow);}
.cap-card{
  border-top:none!important;
  border-left:3px solid var(--cap-acc,var(--teal))!important;
  border-radius:0 12px 12px 0!important;
}
/* štítok segmentu na karte prestáva byť mono verzálkový rámček */
.cap-card__sector{
  font-family:var(--font)!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-transform:none!important;
  border:none!important;
  padding:0!important;
  margin-bottom:14px!important;
}

/* 5 · Hero nadpis — dôraz nesie rez písma, nie farba. */
.hero__h1 em,.page-hero__h1 em{
  color:inherit!important;
  font-weight:400!important;
  opacity:.66;
}

/* 6 · Pás certifikátov pod hero — preč zvislé vlásočnicové deliče a mono meta.
      Namiesto jedného pásu so stĺpcami samostatné dlaždice s medzerou. */
.proofstrip__inner{
  background:transparent!important;
  gap:10px!important;
}
.pcert{
  background:var(--canvas)!important;
  border:1px solid var(--hairline)!important;
  border-right:1px solid var(--hairline)!important;
  border-bottom:1px solid var(--hairline)!important;
  border-radius:8px!important;
  padding:16px 18px!important;
}
.pcert:first-child,.pcert:last-child,
.pcert:nth-child(2),.pcert:nth-child(3),.pcert:nth-child(4){
  padding-left:18px!important;
  padding-right:18px!important;
}
.pcert::before{left:0!important;right:0!important;border-radius:8px 8px 0 0;}
.proofstrip__lead,.pcert__id,.pcert__meta{
  font-family:var(--font)!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.proofstrip__lead{font-size:13px!important;font-weight:700!important;}
.pcert__id{font-size:13px!important;font-weight:800!important;}
.pcert__meta{font-size:11px!important;}

.cta-block__hours{opacity:.7;font-size:.9em;white-space:nowrap;}
.footer__hours{display:block;font-size:11px;color:var(--on-dark-dim,#C7D3D9);opacity:.72;margin-top:2px;letter-spacing:0;}


/* ══ koniec vrstvy odlíšenia v14 ══════════════════════════════════════════ */

/* 3b · Tabuľka technológií — nahrádza pilulky tam, kde má obsah skupiny.
      Tvar preberá z tabuľky, ktorú Qintec už používa na D2. */
.techtbl{
  display:grid;gap:1px;background:var(--hairline);
  border:1px solid var(--hairline);border-radius:8px;overflow:hidden;
  margin:16px 0 4px;max-width:760px;
}
.techtbl__r{
  background:var(--canvas);padding:9px 14px;
  display:grid;grid-template-columns:186px 1fr;gap:14px;align-items:baseline;
}
.techtbl dt{font-size:13.5px;font-weight:700;color:var(--navy);margin:0;}
.techtbl dd{font-size:13.5px;color:var(--muted);margin:0;font-variant-numeric:tabular-nums;}
@media(max-width:640px){
  .techtbl__r{grid-template-columns:1fr;gap:2px;padding:10px 13px;}
  .techtbl dt{font-size:13px;} .techtbl dd{font-size:13px;}
}

/* ══ v14-A · výmena mono písma. Manrope sa nemení. ══ */

:root{--mono:'Azeret Mono','Azeret Mono Fallback',ui-monospace,monospace!important;}
/* dorovnanie šírky v miestach, kde je mono natesno */
.qha__hint,.qha__nname,.qha__nstat,.qha__k{font-size:9px!important;letter-spacing:.02em!important;}
.footer__ico,.footer__cert{letter-spacing:.02em!important;}


/* ── D-80.5 · kotvy, scroll-spy, oddelenie sekcií, návrat na začiatok ── */
html{scroll-padding-top:56px}
main [id]{scroll-margin-top:56px}

/* sekcie sa opticky oddelia — symetrické odsadenie a jemná linka */
main > section.pgs{padding-top:72px;padding-bottom:72px;border-top:1px solid var(--hairline,#D3DEE4)}
main > section.pgs:first-of-type{border-top:0}
main > section.pgs--soft,
main > section[class*="--dark"],
main > section[style*="background"]{border-top:0}

/* onpage navigácia — aktívna položka (scroll-spy) */
.onpage a{transition:color 160ms ease}
.onpage li{position:relative}
.onpage a[aria-current="true"]{color:var(--acc-txt,#00707B);font-weight:800}
.onpage a[aria-current="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;
  background:currentColor;border-radius:2px}
/* Na širokej obrazovke je linka pod aktívnou položkou 6 px pod pruhom a pruh ju odreže
   (overflow-y:hidden) — nevidno ju, len zväčšuje scrollHeight. Skrytá, aby nič nepretekalo. */
@media(min-width:1180px){.onpage a[aria-current="true"]::after{display:none}}
@media(prefers-reduced-motion:reduce){.onpage a{transition:none}}

/* návrat na začiatok */
.to-top{position:fixed;right:20px;bottom:20px;width:44px;height:44px;display:none;
  align-items:center;justify-content:center;background:#003B5C;color:#fff;border-radius:9999px;
  text-decoration:none;box-shadow:0 2px 6px rgba(0,26,42,.28),0 12px 24px -14px rgba(0,59,92,.6);
  z-index:60;bottom:calc(20px + env(safe-area-inset-bottom,0px))}
.to-top svg{width:18px;height:18px;display:block}
.to-top.is-on{display:flex}
.to-top:focus-visible{outline:2px solid #7BD9E4;outline-offset:3px}
.to-top:hover{background:#004E68}
@media(max-width:720px){.to-top{right:14px;width:44px;height:44px;
  bottom:calc(14px + env(safe-area-inset-bottom,0px))}}
@media print{.to-top{display:none!important}}


/* Bezpečné globálne pravidlá: `.pgs--dark` je tmavý z definície a `.kbb`
   existuje len na prepracovaných podstránkach. Pás `.pgs--dokaz` sem
   nepatrí — na jednej stránke je tmavý, na inej svetlý, takže plošné
   pravidlo by inde prevrátilo farby (namerané na proxmox a skolenia). */
main .pgs.pgs--dark p.qsek{color:#A9E38C !important;}
main[data-accent="teal"] .pgs.pgs--dark p.qsek{color:#7FD8E2 !important;}
main[data-accent="yellow"] .pgs.pgs--dark p.qsek{color:#FFD97A !important;}


/* ── zelený akcent na svetlom podklade: 4,2 : 1 → 6,0 : 1 ─────────── */
main[data-accent="green"] .pgs p.qsek{color:#2E6B21 !important;}
/* ── tmavé plochy: akcent vo svetlom odtieni ──────────────────────── */
main[data-accent] .hwdark p.qsek, main[data-accent] .hwdark--2 p.qsek,
main[data-accent] .vdark p.qsek, main[data-accent] .mdark p.qsek,
main[data-accent] .mcen p.qsek, main[data-accent] .dx-dark p.qsek,
main[data-accent] .sxa p.qsek, main[data-accent] .kbb p.qsek,
main[data-accent] .pgs--dark p.qsek{color:#A9E38C !important;}
main[data-accent="teal"] .pgs--dark p.qsek,
main[data-accent="teal"] .sxa p.qsek{color:#7FD8E2 !important;}
main[data-accent="yellow"] .pgs--dark p.qsek,
main[data-accent="yellow"] .sxa p.qsek{color:#FFD97A !important;}
/* Odkazy na tmavých plochách — len text priamo v kontajneri.
   Karty vnútri tmavých pásov sú svetlé, tam by svetlozelený odkaz spadol. */
main .hwdark > .container > p a, main .hwdark--2 > .container > p a,
main .vdark > .container > p a, main .mdark > .container > p a,
main .mcen > .container > p a, main .dx-dark > .container > p a,
main .pgs--dark > .container > p a,
main .vpl__k--tm a, main .hwkarta--tm a, main .sxa a{color:#A9E38C !important;}


/* zalomenie: nadpisy vyrovnané, odseky bez osamoteného slova na konci */
h1,h2,h3,.cta-block__h2,.mega-pillar__title{text-wrap:balance;}
p,li,dd,.kbc span,.iamc__d,.cmp__d{text-wrap:pretty;}


/* pásmo v tmavom CTA bloku — .cta-block nie je .pgs, preto naň nemierilo
   pravidlo pre pásmo sekcie a text ostal v základnej tmavej farbe */
main .cta-block p.qsek{color:#A9E38C !important;}
main[data-accent="teal"] .cta-block p.qsek{color:#7FD8E2 !important;}
main[data-accent="yellow"] .cta-block p.qsek{color:#FFD97A !important;}
main[data-accent="navy"] .cta-block p.qsek{color:#8FB8CE !important;}


/* jedna položka = jedno tlačidlo; žiadny druhý podčiarknutý prvok vedľa */
.nav__dvoj{display:inline-flex; align-items:center; gap:0;}
.nav__dvoj .nav__link--trigger{gap:5px;}
.nav__dvoj .nav__link--trigger .nav__arrow-icon{margin-left:1px;}
.eulg__mdv{width:min(100%,320px); height:auto; display:block;
  border:1px solid var(--hairline); border-radius:6px; background:#fff;
  padding:10px 14px;}


/* žiadne podčiarknutie pri prejdení myšou — mení sa len farba */
.nav__link:hover, .nav__link--trigger:hover{
  text-decoration:none !important; opacity:1; color:var(--navy);}
.nav__link--label:hover{text-decoration:none !important;}
/* otvorená položka je označená linkou pod sebou, nie hoverom */
.nav__link--trigger[aria-expanded="true"]{
  color:var(--navy); text-decoration:underline;
  text-decoration-color:var(--teal); text-underline-offset:6px;
  text-decoration-thickness:2px;}
/* šípka sa otočí a stmavne spolu s položkou */
.nav__link--trigger .nav__arrow-icon{transition:transform 180ms ease, opacity 140ms ease;}
.nav__link--trigger:hover .nav__arrow-icon{opacity:1;}
/* mostík pod položkou, aby kurzor prešiel do panela bez zatvorenia */
@media(min-width:1000px) and (hover:hover){
  .nav__item--has-sub::after, .nav__item:has(.nav__link--trigger)::after{
    content:""; position:absolute; left:0; right:0; top:100%; height:14px;}
}


/* ── žiadne podčiarknutia v hornej navigácii ani v mega menu ─────────────── */
.nav__link, .nav__link:hover, .nav__link:focus,
.nav__link--trigger, .nav__link--trigger:hover,
.nav__link--trigger[aria-expanded="true"],
.nav__link--label, .nav__link--label:hover,
.mega-menu a, .mega-pillar__title, .mega-pillar__links a,
.mega-pillar__all, .mega-seg__list a{
  text-decoration:none !important;}
/* linka pod položkou preč — stav ukazuje farba a šípka */
.nav__link::after, .nav__link:hover::after,
.nav__link--trigger[aria-expanded="true"]::after{
  display:none !important;}

/* ── klikateľná plocha: farba + nižšia podfarbená ploška ─────────────────── */
/* Ploška nesiaha cez celú výšku lišty (64 px), ale má 34 px a je vycentrovaná —
   inak pôsobí ako blok cez celú hlavičku. Kreslí ju ::before v samostatnej
   vrstve (isolation), takže text ostáva nad ňou. */
.nav__link{background:transparent !important;position:relative;isolation:isolate;
  transition:color 140ms ease,opacity 140ms ease;}
.nav__link::before{content:"";position:absolute;left:2px;right:2px;top:50%;
  height:34px;transform:translateY(-50%);border-radius:8px;background:transparent;
  transition:background 140ms ease;z-index:-1;}
.nav__link:hover::before, .nav__link:focus-visible::before{
  background:rgba(0,59,92,.07);}
.nav__link--trigger[aria-expanded="true"]::before{background:rgba(0,59,92,.09);}
.nav__link:hover, .nav__link:focus-visible,
.nav__link--trigger[aria-expanded="true"]{
  color:var(--navy,#003B5C) !important;opacity:1 !important;}

/* ── v mega menu ostáva podčiarknutie odkazov (na želanie zadávateľky) ───── */
.mega-menu a:hover, .mega-pillar__links a:hover, .mega-pillar__title:hover,
.mega-pillar__all:hover, .mega-seg__list a:hover{
  color:var(--navy,#003B5C) !important;
  text-decoration:underline !important;text-underline-offset:3px;
  text-decoration-thickness:1.5px;}


/* prepínač jazyka: rovnaká výška aj plocha pre zapnutý aj vypnutý jazyk */
.nav__lang{height:24px;align-items:center;}
.nav__lang-item{min-height:24px;display:inline-flex;align-items:center;
  justify-content:center;line-height:1;}
.nav__utility{row-gap:6px;}
/* väčší odstup pod sekciou „Čo do riadenia prístupov patrí" */
section[aria-labelledby="i-co"]{padding-bottom:56px !important;}
/* ISO certifikáty na stiahnutie */
.iso-dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;
  margin-top:18px;}
.iso-dl a{display:flex;align-items:center;gap:10px;min-height:52px;
  padding:12px 16px;border:1px solid var(--hairline,#D3DEE4);border-radius:12px;
  background:#fff;text-decoration:none;color:var(--navy,#003B5C);font-weight:700;
  font-size:14.5px;transition:border-color 160ms ease,transform 160ms ease;}
.iso-dl a:hover{border-color:#00707B;transform:translateY(-2px);}
.iso-dl a:focus-visible{outline:2px solid #00707B;outline-offset:3px;}
.iso-dl .iso-dl__v{margin-left:auto;font-family:var(--mono,monospace);
  font-size:11.5px;font-weight:700;color:#4B5C66;white-space:nowrap;}
.iso-dl .iso-dl__off{display:flex;align-items:center;gap:10px;min-height:52px;
  padding:12px 16px;border:1px dashed var(--hairline,#D3DEE4);border-radius:12px;
  background:var(--soft,#F4F7F9);color:#4B5C66;font-weight:700;font-size:14.5px;}
@media(max-width:900px){.iso-dl{grid-template-columns:minmax(0,1fr);}}


/* WCAG 2.5.8 — dotykové ciele aspoň 24×24 px */
.qdok a{display:inline-flex;align-items:center;justify-content:center;
  min-width:34px;min-height:28px;padding:0 4px;}
.qdok{display:inline-flex;align-items:center;gap:4px;}
.tline__l{display:inline-flex;align-items:center;min-height:26px;}
.cmp__go{display:inline-flex;align-items:center;min-height:26px;}
.qfk__more{display:inline-flex;align-items:center;min-height:26px;}
.kcl__det>summary{min-height:26px;display:flex;align-items:center;}
.ofrm .of-check input{width:24px !important;height:24px !important;
  flex:0 0 24px !important;}

.vb{display:inline-block;font:700 9.5px/1 'IBM Plex Mono',monospace;letter-spacing:.05em;padding:3px 6px;border-radius:5px;vertical-align:2px;white-space:nowrap;margin-left:6px}.vb--warn{background:#FFF3D6;color:#7A5A00;border:1px solid #EFD08A}.vb--block{background:#FBE4E4;color:#8C1D1D;border:1px solid #EFB9B9}
.n1{fill:#003b5c}.n2{fill:#ffc845}.n2,.n3,.n4{fill-rule:evenodd}.n3{fill:#007c89}.n5,.n4{fill:#4a9b37}
.f1{fill:#fff}.f2{fill:#ffc845}.f2,.f3,.f4{fill-rule:evenodd}.f3{fill:#5AC8D4}.f5,.f4{fill:#6DC15A}
.mega-group{margin-top:10px;padding-top:10px;border-top:1px solid var(--hairline);}.mega-pillar>.mega-group:first-of-type{margin-top:18px;padding-top:0;border-top:none;}.mega-group__cat{display:block;font-size:13px;font-weight:700;color:#1A2638;text-decoration:none;padding:3px 0;line-height:1.3;letter-spacing:-.01em;transition:color 120ms;}.mega-group__cat:hover{color:var(--navy);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}.mega-group__cat:focus-visible{outline:2px solid var(--navy);outline-offset:2px;border-radius:2px;}.mega-group__caps{list-style:none;margin:3px 0 0;padding-left:10px;}.mega-group__caps a{display:block;font-size:11.5px;font-weight:400;color:#3A5060;text-decoration:none;padding:2px 0;min-height:26px;line-height:1.35;transition:color 120ms;}.mega-group__caps a:hover{color:var(--navy);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;}.mega-group__caps a:focus-visible{outline:2px solid var(--navy);outline-offset:2px;border-radius:2px;}.mob-cat{display:flex;align-items:center;min-height:44px;padding:0 24px;font-size:13px;font-weight:700;color:#1A2638;text-decoration:none;background:rgba(0,0,0,.025);border-top:1px solid var(--hairline);transition:background 120ms;width:100%;}.mob-cat:hover,.mob-cat:focus-visible{background:var(--soft);color:var(--navy);outline:none;}.mob-cap{display:flex;align-items:center;min-height:44px;padding:0 40px;font-size:12px;font-weight:400;color:#3A5060;text-decoration:none;transition:background 120ms;}.mob-cap:hover,.mob-cap:focus-visible{background:var(--soft);color:var(--navy);outline:none;}

/* ═══ Mapa pracovísk (D-65) v2 — vlastná statická SVG, bez externých requestov ═══ */
.qmap-wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:34px;align-items:start;margin-top:26px;}
.qmap-fig{position:relative;margin:0;border:1px solid #D3DEE4;border-radius:14px;overflow:hidden;background:#F1F6F8;}
.qmap-fig svg{display:block;width:100%;height:auto;}
.qmap-fig figcaption{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#7E919C;padding:9px 14px;border-top:1px solid #E1E9ED;background:#fff;}
.qmap-graticule path{stroke:#E7EEF1;stroke-width:1;fill:none;}
.qmap-city,.qmap-city--sec,.qmap-meta,.qmap-ref{paint-order:stroke;stroke:#F1F6F8;stroke-width:3.2px;stroke-linejoin:round;}
.qmap-mini .qmap-city,.qmap-mini .qmap-city--sec,.qmap-mini .qmap-meta{stroke:#FFFFFF;}
.qmap-city{font-family:var(--font);font-size:19px;font-weight:800;fill:#003B5C;}
.qmap-city--sec{font-size:16px;font-weight:700;fill:#2F4A5A;}
.qmap-meta{font-family:var(--mono);font-size:10.5px;font-weight:700;fill:#5E727D;letter-spacing:.05em;}
.qmap-ref{font-family:var(--font);font-size:12.5px;font-weight:700;fill:#7E919C;}
.qmap-pill{font-family:var(--mono);font-size:11px;font-weight:700;fill:#003B5C;letter-spacing:.03em;}
.qmap-scale{font-family:var(--mono);font-size:9px;font-weight:700;fill:#8A9DA8;letter-spacing:.12em;}
.qmap-pulse{transform-box:fill-box;transform-origin:center;animation:qmapPulse 3.6s ease-out infinite;}
@keyframes qmapPulse{0%{transform:scale(.5);opacity:.5}70%{transform:scale(1.45);opacity:0}100%{transform:scale(1.45);opacity:0}}
@media(prefers-reduced-motion:reduce){.qmap-pulse{animation:none;opacity:.22;transform:scale(1)}}
.qsite{background:#fff;border:1px solid #D3DEE4;border-radius:12px;padding:20px 22px;box-shadow:0 2px 8px rgba(0,0,0,.04);}
.qsite + .qsite{margin-top:16px;}
.qsite--main{border-top:3px solid #007C89;}
.qsite--sec{border-top:3px solid #4A9B37;}
.qsite__role{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#8496A0;margin:0 0 6px;}
.qsite__name{font-size:17px;font-weight:800;color:#003B5C;margin:0 0 4px;}
.qsite__addr{font-size:13.5px;line-height:1.65;color:#52636D;font-style:normal;margin:0 0 10px;}
.qsite__what{font-size:13px;line-height:1.65;color:#3E5766;margin:0 0 14px;}
.qsite__acts{display:flex;flex-wrap:wrap;gap:8px;}
.qsite__act{display:inline-flex;align-items:center;min-height:36px;padding:0 13px;border:1px solid #C3D1D9;border-radius:9999px;font-size:12.5px;font-weight:700;color:#003B5C;text-decoration:none;background:#fff;transition:border-color 130ms,background 130ms;}
.qsite__act:hover{border-color:#007C89;background:rgba(0,124,137,.05);}
.qsite__act:focus-visible{outline:2px solid #007C89;outline-offset:2px;}
.qmap-privacy{margin-top:22px;font-size:12.5px;line-height:1.7;color:#52636D;background:#F4F7F9;border:1px solid #DFE7EB;border-left:3px solid #007C89;border-radius:0 10px 10px 0;padding:14px 16px;}
.qmap-privacy b{color:#003B5C;}
.qmap-mini{display:grid;grid-template-columns:300px minmax(0,1fr);gap:30px;align-items:center;margin-top:22px;}
.qmap-mini svg{width:100%;height:auto;}
@media(max-width:900px){.qmap-wrap,.qmap-mini{grid-template-columns:1fr;gap:24px;}}
@media(max-width:640px){.qmap-city{font-size:31px}.qmap-city--sec{font-size:26px}.qmap-meta{font-size:17px}.qmap-ref{font-size:20px}.qmap-pill{font-size:13.5px}.qmap-scale{font-size:13.5px}}


/* ══════════════════════════════════════════════════════════════════════════
   QINTEC v12 — DESIGN LAYER (craft upgrade nad schváleným v9/v11 systémom)
   Obsah, IA, JSON-LD, navigácia a claimy sú nezmenené oproti v11.
   Schválené výnimky (Soňa, 2026-08-07) — pending zápis do 03D:
     X-01  viac tmavých plôch  → sekcia "Priority" sa stáva tmavou kapitolou
     X-02  gradienty / glow / vrstvené tiene → ambient atmosféra + elevation škála
     X-03  bohatšie mikro-interakcie → stavy komponentov, všetko ≤ 260 ms
   Guardraily, ktoré NEBOLI uvoľnené a platia ďalej:
     paleta Qintec · Manrope + IBM Plex Mono · žiadny neon · žltá nikdy ako plná
     plocha ani text na svetlom · max 2 tmavé sekcie za sebou · žiadne loopy,
     parallax ani scroll-jacking · prefers-reduced-motion · WCAG 2.2 AA
   ══════════════════════════════════════════════════════════════════════════ */

:root{
  /* — hĺbková škála (X-02): hairline zostáva prvý signál, tieň druhý — */
  --e1:0 1px 2px rgba(9,30,45,.05),0 0 0 1px var(--hairline);
  --e2:0 2px 4px rgba(9,30,45,.04),0 10px 26px rgba(9,30,45,.075),0 0 0 1px var(--hairline);
  --e3:0 4px 10px rgba(9,30,45,.06),0 22px 52px rgba(9,30,45,.115),0 0 0 1px var(--hairline);
  --ed2:0 2px 6px rgba(0,0,0,.30),0 18px 44px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.055);
  --ed3:0 4px 12px rgba(0,0,0,.34),0 30px 68px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.08);

  /* — tmavá kapitola (X-01) — */
  --chapter:#08202F;
  --chapter-card:#0E2A3C;
  --chapter-line:rgba(255,255,255,.09);
  --on-chapter:#EEF4F7;
  --on-chapter-dim:#AFC4CF;

  /* — akcenty pre TEXT na svetlom podklade (WCAG 4.5:1) —
       pôvodné --teal/--green/#C9971F sú UI/rail farby, nie textové —  */
  --teal-txt:#00707B;    /* 5.83:1 na bielej */
  --green-txt:#3A8129;   /* 4.83:1 na bielej */
  --yellow-txt:#7A5800;  /* 6.51:1 na bielej — hodnota z build rulesetu */

  /* — časovanie — */
  --t-fast:130ms; --t-base:200ms; --t-slow:260ms;
  --ease:cubic-bezier(.22,1,.36,1);
}

/* ── 0. KONTRASTNÉ OPRAVY zdedené z v11 (WCAG 2.2 AA — 1.4.3 / 1.4.11) ───── */
/* mono eyebrow na tmavom: --teal (#007C89) dával 3.2–3.5:1 → teal-light 8.8:1 */
.hero__eyebrow,.cta-block__eyebrow{color:var(--teal-light);}
.hero__eyebrow::before,.cta-block__eyebrow::before{background:var(--teal-light);}
/* mono eyebrow na svetlom tónovanom podklade: 4.39:1 → 5.2:1 */
.ucases__eyebrow{color:var(--teal-txt);}
.ucases__eyebrow::before{background:var(--teal);}
/* use-case akcenty: text dostáva tmavšiu variantu, 3px rail ostáva farebný */
.ucases .uc-band{--uca-txt:var(--teal-txt);}
.ucases .uc-card--d2{--uca-txt:var(--green-txt);}
.ucases .uc-card--d3{--uca-txt:var(--yellow-txt);--uca:#9E7409;}
.ucases .uc-band__eyebrow,.ucases .uc-band__facts strong,.ucases .uc-cta{color:var(--uca-txt);}
.ucases .uc-cta:focus-visible{outline-color:var(--uca-txt);}

/* ── 1. TYPOGRAFIA — rozhodnejšia škála, tesnejší tracking v displayi ─────── */
.hero__h1{font-size:clamp(36px,4.6vw,57px);line-height:1.07;letter-spacing:-.038em;}
.hero__perex{font-size:17px;line-height:1.68;max-width:46ch;color:#D2DEE4;}
.hero__eyebrow{font-size:10px;letter-spacing:.22em;margin-bottom:26px;}

.s-intro__h2{font-size:clamp(30px,3.7vw,48px);line-height:1.05;letter-spacing:-.034em;}
.s-intro__p{font-size:17.5px;line-height:1.72;max-width:60ch;}
.cap-header h2{font-size:clamp(26px,2.9vw,36px);line-height:1.1;letter-spacing:-.026em;}
.uc-band__h3{font-size:clamp(24px,2.7vw,36px);line-height:1.1;letter-spacing:-.028em;}
.uc-card__h3{font-size:20px;line-height:1.2;letter-spacing:-.018em;}
.cta-block__h2{font-size:clamp(30px,4.4vw,54px);line-height:1.04;letter-spacing:-.04em;}
.cta-block__p{max-width:52ch;}
.div-title{font-size:22px;line-height:1.14;letter-spacing:-.024em;}
.div-body{font-size:14.5px;line-height:1.65;}
.cap-card__title{font-size:18px;line-height:1.26;letter-spacing:-.016em;}
.cap-card__body{font-size:14px;line-height:1.66;}

/* mono labely — jednotný rytmus naprieč sekciami */
.s-tag,.ucases__eyebrow,.cta-block__eyebrow,.hero__eyebrow{font-size:10px;letter-spacing:.2em;}

/* tabulárne číslice všade, kde ide o technické čísla */
.pcert__id,.pcert__meta,.uc-band__facts strong,.div-tech span,.footer__ico{font-variant-numeric:tabular-nums;}

/* ── 2. RYTMUS — čistý 8px raster sekcií ─────────────────────────────────── */
.s-intro{padding:112px 0 0;}
.divisions{margin-top:64px;padding-bottom:96px;}
.capabilities{padding:112px 0;}
.cap-header{margin-bottom:56px;}
.ucases{padding:112px 0 120px;}
.cta-block{padding:128px 0;}
.container{padding:0 clamp(24px,4vw,52px);}

/* ── 3. HERO — atmosféra bez neónu (X-02) ────────────────────────────────── */
/* Hero rastie s obsahom. v11 mal pevnú výšku 72svh/max 720px — pri väčšom H1
   sa spodok obsahu orezával (overflow:hidden). */
.hero{height:auto;min-height:min(78svh,700px);max-height:none;}
.hero__inner{padding:clamp(64px,7.5vh,92px) 0;}

/* Ambient glow leží POD stmavovacím veilom (z-index 1 < 2), takže nezosvetľuje
   plochu pod textom — kontrast H1/perexu ostáva nedotknutý. */
.hero::after{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(56% 74% at 6% 30%,rgba(0,124,137,.16) 0%,rgba(0,124,137,0) 62%),
    radial-gradient(44% 58% at 96% 106%,rgba(74,155,55,.10) 0%,rgba(74,155,55,0) 60%);
  mix-blend-mode:screen;
}
/* Veil zosilnený na ľavej strane — text sedí na garantovane tmavom podklade. */
.hero__veil{
  background:
    linear-gradient(to right,#05161F 0%,rgba(5,22,31,.95) 18%,rgba(6,24,36,.80) 34%,rgba(7,28,43,.34) 54%,rgba(7,28,43,0) 74%),
    linear-gradient(to bottom,rgba(7,28,43,.24) 0%,rgba(7,28,43,0) 16%,rgba(7,28,43,0) 74%,rgba(7,28,43,.42) 100%);
}
.hero__eyebrow::before{width:32px;}

/* CTA tlačidlá — presnejší tvar, čitateľný stlačený stav */
.btn-primary,.btn-cta-p,.btn-ghost,.btn-cta-s{border-radius:3px;}
.btn-primary{padding:14px 30px;box-shadow:0 1px 0 rgba(0,0,0,.14);}
.btn-ghost{border-color:rgba(255,255,255,.24);backdrop-filter:blur(2px);}
@media(hover:hover){
  .btn-ghost:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.42);}
  .btn-cta-s:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.4);}
}
.btn-primary:active,.btn-cta-p:active,.btn-ghost:active,.btn-cta-s:active{transform:translateY(1px);}

/* ── 4. PROOFSTRIP — pás dôkazov ako merací prístroj ─────────────────────── */
.proofstrip{background:linear-gradient(180deg,#F7FAFB 0%,var(--soft) 100%);}
.proofstrip__lead{padding:22px 0 2px;}
.pcert{position:relative;padding-top:22px;padding-bottom:22px;transition:background var(--t-base) ease;}
.pcert::before{
  content:'';position:absolute;left:0;right:12px;top:0;height:2px;
  background:var(--teal);transform:scaleX(0);transform-origin:left;
  transition:transform var(--t-slow) var(--ease);
}
.pcert:nth-child(2)::before,.pcert:nth-child(3)::before{left:24px;}
.pcert:last-child::before{left:24px;right:0;}
@media(hover:hover){.pcert:hover::before{transform:scaleX(1);}}
.pcert__id{font-size:10.5px;}
.pcert__name{font-size:12px;color:#4B5C66;}

/* ── 5. DIVÍZNE MODULY — vrstvená hĺbka, akcentový top rule (doc 25 #10) ── */
.div-module{
  border-radius:12px;
  box-shadow:var(--ed2);
  transition:transform var(--t-slow) var(--ease),box-shadow var(--t-slow) var(--ease);
}
.div-module::before{
  content:'';position:absolute;left:0;right:0;top:0;height:3px;z-index:3;
  border-radius:12px 12px 0 0;background:var(--mod-acc,var(--teal));
  transform:scaleX(.18);transform-origin:left;
  transition:transform var(--t-slow) var(--ease);
}
.div-module--it{--mod-acc:var(--teal);}
.div-module--hw{--mod-acc:var(--green);}
.div-module--scada{--mod-acc:var(--yellow);}
.div-module--ai{--mod-acc:var(--yellow);}
.div-visual::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(72% 120% at 22% 0%,rgba(255,255,255,.055) 0%,rgba(255,255,255,0) 70%);
}
.div-content{padding:26px 32px 34px;}
@media(hover:hover){
  .div-module:hover,.div-module:focus-within{transform:translateY(-4px);box-shadow:var(--ed3);}
  .div-module:hover::before,.div-module:focus-within::before{transform:scaleX(1);}
}
.div-link{transition:color var(--t-fast) ease,opacity var(--t-fast) ease;}
.div-link::after{display:inline-block;transition:transform var(--t-base) var(--ease);}
@media(hover:hover){.div-link:hover::after{transform:translateX(4px);}}
.div-tech span{border-radius:2px;}

/* ── 6. PRIORITY — tmavá kapitola (X-01) ─────────────────────────────────── */
.capabilities{
  position:relative;overflow:hidden;
  background:
    radial-gradient(52% 72% at 6% 4%,rgba(0,124,137,.16) 0%,rgba(0,124,137,0) 60%),
    radial-gradient(46% 66% at 98% 100%,rgba(74,155,55,.11) 0%,rgba(74,155,55,0) 62%),
    linear-gradient(168deg,#0A2434 0%,var(--chapter) 58%,#061A27 100%);
  border-top:1px solid var(--chapter-line);
  border-bottom:1px solid var(--chapter-line);
}
.capabilities::before{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:radial-gradient(78% 82% at 50% 30%,#000 0%,transparent 78%);
          mask-image:radial-gradient(78% 82% at 50% 30%,#000 0%,transparent 78%);
}
.capabilities > .container{position:relative;z-index:1;}
.capabilities .s-tag{color:var(--teal-light);}
.capabilities .cap-header h2{color:var(--on-chapter);}
.capabilities .ph-tag{color:var(--teal-light);}
.capabilities .ph-meta{color:var(--on-chapter-dim);}
.capabilities .ph-lorem{color:#93A9B5;}

.cap-grid{gap:16px;}
.capabilities .cap-card{
  position:relative;background:var(--chapter-card);border-radius:12px;
  padding:34px 30px 36px;
  box-shadow:var(--ed2);
  border-top:3px solid var(--cap-acc,var(--teal));
  transition:transform var(--t-slow) var(--ease),box-shadow var(--t-slow) var(--ease),background var(--t-slow) ease;
}
.capabilities .cap-card:has(.cap-card__sector--green){--cap-acc:var(--green);}
.capabilities .cap-card:has(.cap-card__sector--yellow){--cap-acc:var(--yellow);}
.capabilities .cap-card__sector{
  color:var(--on-chapter-dim)!important;border-color:rgba(255,255,255,.18);
  border-radius:2px;font-size:9px;letter-spacing:.12em;
}
.capabilities .cap-card__sector--green{color:var(--green-light)!important;border-color:rgba(109,193,90,.34);}
.capabilities .cap-card__sector--yellow{color:var(--yellow)!important;border-color:rgba(255,200,69,.34);}
.capabilities .cap-card__title{color:var(--on-chapter);}
.capabilities .cap-card__body{color:var(--on-chapter-dim);}
.capabilities .cap-card__link{
  color:var(--teal-light);display:inline-flex;align-items:center;gap:7px;
  transition:color var(--t-fast) ease;
}
.capabilities .cap-card__link::after{content:'→';display:inline-block;transition:transform var(--t-base) var(--ease);}
@media(hover:hover){
  .capabilities .cap-card:hover{transform:translateY(-4px);background:#123245;box-shadow:var(--ed3);}
  .capabilities .cap-card:hover .cap-card__link{color:#8FE0EA;}
  .capabilities .cap-card:hover .cap-card__link::after{transform:translateX(4px);}
}

/* ── 7. USE CASES — editorial pás, jemná hĺbka ───────────────────────────── */
.ucases{background:linear-gradient(180deg,#EDF2F6 0%,#E6EDF2 100%);}
.ucases .uc-band,.ucases .uc-card{border-radius:14px;background:var(--canvas);box-shadow:var(--e2);
  transition:box-shadow var(--t-slow) var(--ease),transform var(--t-slow) var(--ease);}
.uc-band{position:relative;}
.uc-band::before,.uc-card::before{
  content:'';position:absolute;left:0;top:0;width:3px;height:100%;z-index:2;
  background:var(--uca);border-radius:14px 0 0 14px;opacity:.9;
}
.uc-card{position:relative;}
.uc-card::before{width:100%;height:3px;border-radius:14px 14px 0 0;}
@media(hover:hover){.uc-card:hover,.uc-band:hover{box-shadow:var(--e3);transform:translateY(-3px);}}
.ucases .uc-ph{box-shadow:inset 0 0 0 1px rgba(13,39,54,.06),inset 4px 4px 12px rgba(13,39,54,.06),inset -4px -4px 12px rgba(255,255,255,.75);}
.uc-band__facts strong{font-size:15px;}
.uc-band__p,.uc-card__p{color:#3A4C57;}

/* ── 8. CTA — hlbšia atmosféra, jeden filled CTA (doc 25 #7) ─────────────── */
.cta-block{
  background:
    radial-gradient(58% 76% at 14% 0%,rgba(0,124,137,.22) 0%,rgba(0,124,137,0) 60%),
    radial-gradient(50% 70% at 92% 104%,rgba(74,155,55,.14) 0%,rgba(74,155,55,0) 62%),
    linear-gradient(166deg,#0A2434 0%,var(--navy-deep) 56%,#04141F 100%);
}
.cta-block__h2{margin-bottom:20px;}
.cta-block__p{color:#C3D2DA;}
.btn-cta-p{box-shadow:0 2px 10px rgba(0,0,0,.22);}

/* ── 9. FOOTER — čitateľnejšia päta (kontrast pod 4.5:1 bol v11 problém) ── */
.footer{background:linear-gradient(180deg,#04141F 0%,#02101A 100%);}
.footer__tagline{color:#93A5AE;}
.footer__cert{color:#7C8F99;}
.footer__nav-title{color:#8CA0AA;}
.footer__nav-links a{color:#BCCBD3;transition:color var(--t-fast) ease;}
.footer__addr{color:#9AACB5;}
.footer__addr strong{color:#CFDBE1;}
.footer__ico{color:#8DA0A9;}
.footer__llinks a{color:#9AACB5;}
.footer__copy{color:#93A5AE;}
.footer__dot{color:#5D6E77;}
.footer__social a{color:#9AACB5;border-color:rgba(255,255,255,.20);}

/* ── 10. FOCUS — viditeľný na svetlom aj tmavom (WCAG 2.4.11 / 2.4.13) ──── */
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:2px;}
.hero :focus-visible,.capabilities :focus-visible,.cta-block :focus-visible,.footer :focus-visible,
.div-module :focus-visible{outline:2px solid #7BD9E4;outline-offset:3px;box-shadow:0 0 0 5px rgba(7,28,43,.85);}

/* ── 11. NAVIGÁCIA ───────────────────────────────────────────────────────
   Horná lišta aj mega-menu bežia na v12 treatmente:
   sklenený podklad hlavičky, podčiarknutie ako stavový signál,
   mega-menu a sub-menu na jednotnej elevation škále (--e3). ─────────────── */
.nav{background:rgba(255,255,255,.94);backdrop-filter:saturate(1.5) blur(12px);}
.nav__link{position:relative;}
.nav__link::after{
  content:'';position:absolute;left:11px;right:11px;bottom:16px;height:2px;
  background:var(--teal);transform:scaleX(0);transform-origin:left;
  transition:transform var(--t-base) var(--ease);
}
@media(hover:hover){.nav__link:hover::after{transform:scaleX(1);}}
.nav__link--trigger[aria-expanded="true"]{text-decoration:none;}
.nav__link--trigger[aria-expanded="true"]::after{transform:scaleX(1);}
.mega-menu,.sub-menu{box-shadow:var(--e3);}

/* ── 12. REDUCED MOTION — všetko doplnkové vypnuté, nič sa neskryje ─────── */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .div-module,.capabilities .cap-card,.uc-card,.uc-band,.pcert,.nav__link::after,
  .div-module::before,.cap-card__link::after,.div-link::after,.uc-cta::after{
    transition:none!important;animation:none!important;
  }
  .div-module::before,.pcert::before,.nav__link::after{transform:none!important;}
  .div-module:hover,.capabilities .cap-card:hover,.uc-card:hover,.uc-band:hover{transform:none!important;}
  .btn-primary:active,.btn-cta-p:active,.btn-ghost:active,.btn-cta-s:active{transform:none!important;}
}

/* ── 13. RESPONZÍVNE DOLADENIE ───────────────────────────────────────────── */
@media(max-width:960px){
  .s-intro{padding-top:88px;}
  .capabilities,.ucases{padding:88px 0;}
  .cta-block{padding:96px 0;}
  .hero__inner{padding:64px 0;}
  .cap-grid{gap:12px;}
}
@media(max-width:640px){
  .hero{min-height:0;}
  .hero__h1{font-size:clamp(30px,8.2vw,40px);}
  .s-intro{padding-top:72px;}
  .capabilities,.ucases{padding:72px 0;}
  .cta-block{padding:80px 0;}
  .capabilities .cap-card{padding:28px 24px 30px;}
  .div-content{padding:22px 24px 28px;}
}

/* ══════════════════════════════════════════════════════════════════════════
   14. PODSTRÁNKY — page-hero, on-page nav, číslované sekcie, karty
   Homepage tieto selektory nemá; homepage sekcie (.hero, .capabilities,
   .ucases, .div-module, .proofstrip) zas neexistujú na podstránkach,
   takže jeden layer obsluhuje oba typy bez kolízie.
   ══════════════════════════════════════════════════════════════════════════ */

/* — kontrast: --acc2 pre zelenú (3,48:1) a žltú (2,65:1) nespĺňal 4,5:1 — */
main[data-accent="teal"]{--acc-txt:var(--teal-txt);}
main[data-accent="green"]{--acc-txt:var(--green-txt);}
main[data-accent="yellow"]{--acc-txt:var(--yellow-txt);}
main[data-accent] .page-hero__eyebrow,
main[data-accent] .hub-card__num,
main[data-accent] .onpage .n,
main[data-accent] .pgs h2.rule-draw::before{color:var(--acc-txt);}
main[data-accent] :focus-visible{outline-color:var(--acc-txt);}
main[data-accent] .hub-card--d2 .hub-card__num{color:var(--green-txt);}
main[data-accent] .hub-card--d3 .hub-card__num{color:var(--yellow-txt);}
.breadcrumbs a{color:var(--teal-txt);}
/* v tmavom page-hero ostáva svetlý akcent (--acc), ten kontrast spĺňa */
main[data-accent] .page-hero--dark .page-hero__eyebrow{color:var(--acc);}

/* — tmavý page-hero: rovnaká atmosféra ako hero na homepage — */
.page-hero--dark{
  background:
    radial-gradient(54% 76% at 8% 26%,rgba(0,124,137,.20) 0%,rgba(0,124,137,0) 62%),
    radial-gradient(44% 62% at 94% 106%,rgba(74,155,55,.12) 0%,rgba(74,155,55,0) 60%),
    linear-gradient(150deg,#08202F 0%,#0C2E45 60%,#061926 100%);
  padding:clamp(64px,8vh,88px) 0 clamp(56px,7vh,76px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.page-hero--dark h1{font-size:clamp(30px,3.9vw,48px);line-height:1.06;letter-spacing:-.032em;}
.page-hero--dark .page-hero__perex{font-size:17px;line-height:1.7;color:#C6D5DD;max-width:62ch;}
.page-hero__eyebrow{font-size:10px;letter-spacing:.18em;}

/* — on-page nav: lepivý orientačný pás — */
.onpage{background:rgba(255,255,255,.95);backdrop-filter:saturate(1.4) blur(10px);
  box-shadow:0 1px 0 var(--hairline);}
.onpage a{transition:color var(--t-fast) ease,border-color var(--t-fast) ease;}

/* — rytmus sekcií na 8px raster — */
.pgs{padding:96px 0 16px;}
.pgs--soft{padding:104px 0;margin-top:96px;}
.pgs h2{font-size:clamp(25px,2.9vw,36px);line-height:1.12;letter-spacing:-.026em;}
.pgs p{font-size:16px;line-height:1.75;max-width:68ch;}
.pgs li{font-size:15px;line-height:1.72;}
main[data-accent] .pgs h2.rule-draw::before{font-size:11.5px;letter-spacing:.22em;margin-bottom:14px;}

/* — hub karty: rovnaká hĺbková logika ako divízne moduly — */
main[data-accent] .hub-card{
  border-radius:12px;
  box-shadow:0 2px 4px rgba(9,30,45,.04),0 10px 26px rgba(9,30,45,.075);
  transition:transform var(--t-slow) var(--ease),box-shadow var(--t-slow) var(--ease);
}
@media(hover:hover){
  main[data-accent] .hub-card:hover{transform:translateY(-4px);
    box-shadow:0 4px 10px rgba(9,30,45,.06),0 22px 52px rgba(9,30,45,.115);}
}
.hub-card__title{font-size:19px;line-height:1.24;letter-spacing:-.016em;}
.hub-card__body{font-size:14px;line-height:1.68;}
.hub-card__link{transition:color var(--t-fast) ease;}
.rel-grid{gap:20px;}

/* — drobné komponenty — */
.chips span{border-radius:2px;}
.note-int{border-radius:8px;}
.faq-d summary{transition:color var(--t-fast) ease;}
.faq-d summary::after{display:inline-block;transition:transform var(--t-base) var(--ease);}
.faq-d[open] summary::after{transform:rotate(180deg);}

@media(prefers-reduced-motion:reduce){
  main[data-accent] .hub-card,.onpage a,.faq-d summary,.faq-d summary::after{
    transition:none!important;animation:none!important;}
  main[data-accent] .hub-card:hover{transform:none!important;}
  .faq-d[open] summary::after{transform:none!important;}
}

@media(max-width:960px){
  .pgs{padding:72px 0 12px;}
  .pgs--soft{padding:80px 0;margin-top:72px;}
  .page-hero--dark{padding:56px 0 48px;}
}
@media(max-width:640px){
  .pgs{padding:56px 0 10px;}
  .pgs--soft{padding:64px 0;margin-top:56px;}
  .page-hero--dark{padding:44px 0 40px;}
  .page-hero--dark h1{font-size:clamp(26px,7.4vw,34px);}
}

/* — ďalšie kontrastné opravy nájdené auditom podstránok (axe serious) — */
.note-int .ph-tag{color:var(--teal-txt);}      /* 4,39 → 5,18 na tónovanom podklade */
figcaption,.qmap-fig figcaption{color:var(--muted);}   /* 3,27 → 6,24 na bielej */
.vav-itms,.vav-band .vav-itms{color:#9FB2BC;}          /* 3,04 → 7,91 na navy #071C2B */

/* — široké tabuľky: skrolovacia oblasť dostupná z klávesnice (WCAG 1.4.10 + 2.1.1) —
     v11/v12 mali .ctab display:block (strata sémantiky tabuľky, neostrolovateľné
     klávesnicou) a .cert-table vôbec žiadne riešenie → pretekala pri 390 px.     */
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;}
.tscroll:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:2px;}
.tscroll .ctab,.tscroll .cert-table{display:table;}


/* ═══ MIESTO PRE OBRÁZOK ═══════════════════════════════════════════════
   Tri veľkosti: pri texte (340 px, vždy vpravo), stredná (560 px) a plná
   šírka. Plnú dostane len to, kde je detail celý zmysel obrázka. */
.imgph{margin:0 0 6px;}
.imgph__box{position:relative;aspect-ratio:var(--ar,16/9);
  border:1px dashed #A9BCC6;border-radius:9px;
  background:#F7FAFB repeating-linear-gradient(45deg,transparent 0 14px,rgba(138,160,172,.055) 14px 28px);
  display:flex;align-items:center;justify-content:center;padding:26px 22px 34px;
  transition:border-color 240ms ease,box-shadow 240ms ease;}
.imgph:hover .imgph__box{border-color:var(--teal,#007C89);box-shadow:0 8px 24px rgba(9,30,45,.07);}
.imgph__box::before,.imgph__box::after{content:'';position:absolute;width:15px;height:15px;
  border:2px solid #C3D1D9;transition:border-color 240ms ease,transform 240ms cubic-bezier(.22,1,.36,1);}
.imgph__box::before{left:10px;top:10px;border-right:none;border-bottom:none;}
.imgph__box::after{right:10px;bottom:10px;border-left:none;border-top:none;}
.imgph:hover .imgph__box::before{border-color:var(--teal,#007C89);transform:translate(-2px,-2px);}
.imgph:hover .imgph__box::after{border-color:var(--teal,#007C89);transform:translate(2px,2px);}
.imgph__t{font-size:14.5px;font-weight:800;color:var(--navy);margin:0;text-align:center;
  line-height:1.35;letter-spacing:-.01em;max-width:34ch;}
.imgph__tag{position:absolute;left:13px;bottom:11px;display:flex;align-items:center;gap:6px;
  font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:#8AA0AC;
  transition:color 240ms ease;}
.imgph:hover .imgph__tag{color:var(--teal-txt,#00707B);}
.imgph__cap{margin:8px 0 0;border-left:2px solid #E0E7EB;padding-left:11px;}
.imgph__l{list-style:none;margin:0 0 6px;padding:0;}
.imgph__l li{font-size:12px;line-height:1.5;color:var(--muted);padding-left:13px;position:relative;
  margin-bottom:2px;}
.imgph__l li::before{content:'';position:absolute;left:0;top:7px;width:4px;height:4px;border-radius:1px;
  background:#B9C8D1;transition:background 200ms ease;}
.imgph:hover .imgph__l li::before{background:var(--teal,#007C89);}
.imgph__alt{font-family:var(--mono);font-size:9.5px;line-height:1.55;color:#93A6B1;margin:5px 0 0;}
.imgph--mid{max-width:560px;margin:22px 0 10px;}
.imgph--full{margin:24px 0 12px;}
.imgph--full .imgph__t{font-size:16px;}

/* obrázok pri texte — vždy vpravo, nikdy striedavo (NN/g: zigzag brzdí čítanie) */
.imgrow{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:30px;align-items:start;
  margin:16px 0 6px;}
.imgrow__text>*:first-child{margin-top:0;}
.imgrow__text>*:last-child{margin-bottom:0;}
.imgfloat{float:right;width:340px;margin:6px 0 22px 32px;}
.pgs .container{display:flow-root;}
@media(max-width:900px){
  .imgrow{grid-template-columns:1fr;gap:14px;}
  .imgfloat{float:none;width:auto;max-width:420px;margin:18px 0 20px;}
}
@media(max-width:560px){.imgph__box{aspect-ratio:auto;padding:22px 16px 32px;}}

/* ═══ AUDIT · prístupnosť a mobil ═══════════════════════════════════════
   WCAG 2.2 AA 2.5.8 Target Size — textové CTA mali pod 24 px výšky.
   WCAG 2.2 AA 2.4.11 Focus Not Obscured — kotva sa skrývala pod lepivú hlavičku.
   WCAG 2.1 AA 1.4.10 Reflow — tabuľky pretekali pri 320 px. */
html{scroll-padding-top:88px;}
.hh-card__cta,.div-link,.uc-cta,.cap-card__link,.hub-card__link,.trm-cta,
.pxb__cta,.pxb__alt,.akt__follow,.nav__lang-item,.footer__nav-links a,
.ref-card__link,.qsite__act,.faq-more,.mob-lang__item{
  display:inline-flex;align-items:center;min-height:24px;}
/* .rel tu byt nesmie — je to karta, nie drobny odkaz. display:inline-flex z nej robil
   dvojstlpec: nadpis vlavo, popis vedla neho (D-72). */

/* ── Karty „Súvisiace služby" (.rel) ─────────────────────────────────────── */
.rel{display:block;min-width:0;}
.rel__ico{display:block;width:26px;height:26px;margin:0 0 12px;color:#4A9B37;flex:none;}
.rel b{display:block;font-size:15px;line-height:1.3;text-wrap:balance;}
.rel span{text-wrap:pretty;}
/* stvorica kariet ide do stvorice stlpcov — bez osamoteneho stvrteho v druhom riadku */
@media(min-width:1180px){
  .rel-grid:has(> :nth-child(4):last-child){grid-template-columns:repeat(4,1fr);}
}
@media(max-width:1179px) and (min-width:701px){
  .rel-grid:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,1fr);}
}
@media(pointer:coarse){
  .hh-card__cta,.div-link,.uc-cta,.cap-card__link,.hub-card__link,.trm-cta,
  .pxb__cta,.pxb__alt,.akt__follow,.rel,.footer__nav-links a,.ref-card__link,
  .qsite__act,.mob-lang__item{min-height:44px;}
  .nav__lang-item{min-height:44px;padding:0 6px;}
}

/* ── Hlavička: jazykový prepínač a Firemné údaje ─────────────────────────────
   Pôvodne bol `.nav__fu` bez akéhokoľvek štýlu — prehliadač ho vykresľoval ako
   predvolený modrý podčiarknutý odkaz hneď vedľa podčiarknutého aktívneho SK.
   Dve podčiarknutia vedľa seba si konkurovali. Jazyk je teraz segmentovaný
   ovládač (vzor pre 2 jazyky), Firemné údaje sú pod ním ako tichý mikro-odkaz. */
.nav__utility{flex-direction:column-reverse;align-items:flex-end;gap:3px;}
.nav__lang{background:#EDF2F5;border-radius:999px;padding:2px;gap:0;}
.nav__lang-sep{display:none;}
.nav__lang-item{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.06em;
  padding:3px 9px;border-radius:999px;color:#5F7079;text-decoration:none;}
.nav__lang-item:hover{color:var(--navy);}
.nav__lang-item.is-active{background:var(--navy);color:#fff;text-decoration:none;}
.nav__lang-item.is-active:hover{color:#fff;}
.nav__lang-item--off{opacity:.62;}
.nav__fu{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:#5F7079;text-decoration:none;line-height:1.2;}
.nav__fu:hover{color:var(--teal);}
.nav__fu:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:2px;}
@media(pointer:coarse){
  .nav__lang-item{min-height:28px;padding:0 12px;}
  .nav__fu{min-height:24px;}
}
@media(max-width:760px){
  .ctab,.cert-table,.proj-table{display:block;width:100%;overflow-x:auto;
    -webkit-overflow-scrolling:touch;}
}

.nav__lang-item{min-width:24px;justify-content:center;}
.hh-card__cta{min-height:26px;}
footer a,.footer a{display:inline-flex;align-items:center;min-height:24px;}
@media(pointer:coarse){footer a,.footer a{min-height:44px;}}

/* ═══ ROZLÍŠENIE DIVÍZIÍ ════════════════════════════════════════════════
   Každá divízia má vlastnú farbu, vlastné rozloženie hlavičky sekcie
   a vlastnú kódovanú grafiku v hlavičke stránky. Aby bolo na prvý pohľad
   jasné, v ktorej časti webu človek je. */

/* — 1. farebný pás cez celú šírku nad hlavičkou stránky — */
.page-hero{position:relative;}
.page-hero::before{content:'';position:absolute;left:0;right:0;top:0;height:5px;
  background:linear-gradient(90deg,var(--acc2,#007C89),var(--acc,#5AC8D4) 62%,var(--acc2,#007C89));
  transform-origin:left center;}
@media(prefers-reduced-motion:no-preference){
  .page-hero::before{animation:dbandIn 900ms cubic-bezier(.22,1,.36,1) both;}
}
@keyframes dbandIn{from{transform:scaleX(0);}to{transform:scaleX(1);}}

/* — 2. tmavá hlavička dostane nádych farby divízie — */
main[data-accent] .page-hero--dark{position:relative;overflow:hidden;}
main[data-accent] .page-hero--dark::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 150% at 88% 12%,var(--acc-glow,rgba(90,200,212,.16)),transparent 62%);}
main[data-accent="teal"]{--acc-glow:rgba(90,200,212,.17);}
main[data-accent="green"]{--acc-glow:rgba(109,193,90,.15);}
main[data-accent="yellow"]{--acc-glow:rgba(255,200,69,.14);}
main[data-accent="navy"]{--acc-glow:rgba(120,170,200,.14);}
main[data-accent] .page-hero--dark .container{position:relative;z-index:2;}

/* — 3. kódovaná grafika v hlavičke — */
.page-hero__art{position:absolute;right:0;top:auto;bottom:0;height:88%;width:min(52%,660px);
  z-index:1;pointer-events:none;opacity:.9;transform:none;}
.pa-line{fill:none;stroke:var(--acc,#5AC8D4);stroke-width:1.7;stroke-linecap:round;
  stroke-linejoin:round;opacity:.72;}
.pa-line--soft{stroke-width:.9;opacity:.32;stroke-dasharray:4 9;}
.pa-dot{fill:var(--acc,#5AC8D4);opacity:.9;}
.pa-run{fill:#fff;opacity:.85;}
.pa-bar{fill:none;stroke:var(--acc,#6DC15A);stroke-width:1.2;opacity:.5;}
.pa-led{fill:var(--acc,#6DC15A);opacity:.7;}
.pa-axis{stroke:var(--acc,#FFC845);stroke-width:1;opacity:.35;}
.pa-tick{stroke:var(--acc,#FFC845);stroke-width:1.2;opacity:.6;}
.pa-drop{stroke:var(--acc,#FFC845);stroke-width:1;opacity:.45;stroke-dasharray:3 4;}
.pa-ring{fill:none;stroke:var(--acc,#7FB4CE);stroke-width:1.1;opacity:.4;}
.pa-spoke{stroke:var(--acc,#7FB4CE);stroke-width:1;opacity:.3;}
@media(prefers-reduced-motion:no-preference){
  .pa-line{stroke-dasharray:1;stroke-dashoffset:1;
    animation:paDraw 1500ms cubic-bezier(.3,0,.25,1) forwards;
    animation-delay:calc(240ms + var(--i,0)*220ms);}
  .pa-dot,.pa-led{opacity:0;animation:paIn 420ms ease forwards;
    animation-delay:calc(900ms + var(--i,0)*45ms);}
  .pa-bar{opacity:0;animation:paBar 520ms cubic-bezier(.22,1,.36,1) forwards;
    animation-delay:calc(320ms + var(--i,0)*110ms);}
  .pa-tick,.pa-drop{opacity:0;animation:paIn 380ms ease forwards;
    animation-delay:calc(1100ms + var(--i,0)*70ms);}
  .pa-ring{opacity:0;animation:paRing 700ms cubic-bezier(.22,1,.36,1) forwards;
    animation-delay:calc(300ms + var(--i,0)*130ms);transform-box:fill-box;transform-origin:center;}
  .pa-spoke{opacity:0;animation:paIn 500ms ease forwards;
    animation-delay:calc(900ms + var(--i,0)*90ms);}
  .pa-run{opacity:0;animation:paIn 400ms ease 1700ms forwards;}
}
@keyframes paDraw{to{stroke-dashoffset:0;}}
@keyframes paIn{to{opacity:.7;}}
@keyframes paBar{from{opacity:0;transform:translateX(-14px);}to{opacity:.5;transform:none;}}
@keyframes paRing{from{opacity:0;transform:scale(.86);}to{opacity:.4;transform:none;}}
@media(max-width:900px){.page-hero__art{width:64%;opacity:.5;}}
@media(max-width:640px){.page-hero__art{display:none;}}

/* — 4. iné rozloženie hlavičky sekcie pre každú divíziu — */
main[data-accent] .pgs h2.rule-draw{position:relative;}

/* D1 · teal — číslo nad nadpisom, tenká linka vedľa neho */
main[data-accent="teal"] .pgs h2.rule-draw::before{
  font-size:11.5px;letter-spacing:.24em;margin-bottom:12px;opacity:.95;}

/* D2 · green — číslo do ľavého stĺpca, nadpis odsadený */
@media(min-width:900px){
  main[data-accent="green"] .pgs h2.rule-draw{padding-left:74px;}
  main[data-accent="green"] .pgs h2.rule-draw::before{position:absolute;left:0;top:.34em;
    margin:0;font-size:13px;letter-spacing:.12em;
    border-left:2px solid var(--acc);padding-left:12px;line-height:1;}
  main[data-accent="green"] .pgs>.container>p,
  main[data-accent="green"] .pgs>.container>ul,
  main[data-accent="green"] .pgs>.container>ol{padding-left:74px;}
}

/* D3 · yellow — veľké číslo na okraji, nadpis vedľa neho */
@media(min-width:900px){
  main[data-accent="yellow"] .pgs h2.rule-draw{padding-left:96px;}
  main[data-accent="yellow"] .pgs h2.rule-draw::before{position:absolute;left:0;top:-.08em;
    margin:0;font-size:34px;font-weight:800;letter-spacing:-.02em;line-height:1;opacity:.28;}
}
main[data-accent="yellow"] .pgs h2.rule-draw::after{
  background:linear-gradient(90deg,var(--acc2),var(--acc));width:88px;}

/* Kompetencie a firma · navy — číslo v riadku s nadpisom */
main[data-accent="navy"] .pgs h2.rule-draw::before{
  display:inline-block;margin:0 14px 0 0;font-size:12px;letter-spacing:.18em;
  vertical-align:.22em;opacity:.75;}

/* — 5. obsah stránky dostane farbu divízie — */
main[data-accent] .onpage{border-left:3px solid var(--acc);}
main[data-accent] .onpage a:hover{color:var(--acc-txt);}
main[data-accent] .pgs p a:not([class]),
main[data-accent] .pgs li a:not([class]){color:var(--acc-txt);
  text-underline-offset:3px;text-decoration-thickness:1px;}
main[data-accent] .pgs ul li::marker{color:var(--acc);}
main[data-accent] .faq-d summary::after{color:var(--acc-txt);}
main[data-accent] .imgph:hover .imgph__box{border-color:var(--acc2);}
main[data-accent] .imgph:hover .imgph__l li::before{background:var(--acc);}
main[data-accent] .imgph:hover .imgph__tag{color:var(--acc-txt);}
main[data-accent] .imgph:hover .imgph__box::before,
main[data-accent] .imgph:hover .imgph__box::after{border-color:var(--acc2);}


.qdok{ white-space:nowrap; font-size:12.5px; }
.qdok a{ color:var(--navy,#003B5C); text-decoration:underline; text-underline-offset:3px;
  display:inline-flex; align-items:center; min-height:24px; }
.qdok a:hover{ color:var(--acc-txt,#00707B); }


/* ── v16 · navigácia „Na tejto stránke" ostáva na obrazovke ─────────────────── */
:root{ --hdr-h:65px; --onpage-h:44px; }

.onpage{
  position:sticky; top:var(--hdr-h); z-index:150;
  margin:0; padding:0 0 3px !important;
  background:rgba(255,255,255,.97);
  box-shadow:0 1px 0 var(--hairline,#D3DEE4);
  -webkit-backdrop-filter:saturate(1.4) blur(10px);
  backdrop-filter:saturate(1.4) blur(10px);
}
@supports not (backdrop-filter:blur(1px)){ .onpage{ background:#fff; } }

/* !important je tu zámerne: staršie pravidlo `.onpage .container{flex-wrap:wrap}`
   má rovnakú špecifickosť a keby sa raz dostalo za tento blok, pruh by sa opäť lámal
   do 2–7 riadkov (pri 320 px mal 249 px). Jeden riadok je podmienka, nie preferencia. */
.onpage .container{
  display:flex !important; align-items:center !important; gap:0;
  flex-wrap:nowrap !important; overflow-x:auto; overflow-y:hidden;
  scrollbar-width:none; -ms-overflow-style:none;
  overscroll-behavior-x:contain;
}
.onpage .container::-webkit-scrollbar{ display:none; }

.onpage ul{ display:flex !important; flex-wrap:nowrap !important; gap:2px;
             margin:0; padding:0; list-style:none; }
.onpage li{ flex:0 0 auto; display:flex; align-items:center; gap:6px;
            padding:0 10px; min-height:var(--onpage-h); position:relative; }
/* číslo v odtieni pre TEXT na bielej (--acc-txt), nie v plnom akcente —
   plný akcent D2/D3 na bielej nespĺňa 4,5:1 pri 9 px */
.onpage .n{ font-family:var(--mono); font-size:9px; font-weight:700;
            color:var(--acc-txt,#00707B); }
.onpage a{
  font-size:12.5px; font-weight:700; color:var(--navy,#003B5C);
  text-decoration:none; border-bottom:0; padding:4px 2px;
  white-space:nowrap; display:inline-flex; align-items:center; min-height:32px;
}

/* aktívna sekcia — tónovaná plocha, tučný rez a linka, nie len iná farba */
.onpage li.is-here{
  background:color-mix(in srgb, var(--acc2,#007C89) 14%, transparent);
  border-radius:4px;
}
/* text aktívnej položky je navy — na tónovanej ploche má istý kontrast v každej divízii;
   divíznu farbu nesie samotná plocha a linka pod ňou (D-80.2) */
.onpage li.is-here a,
.onpage li.is-here .n{ color:var(--navy,#003B5C); }
.onpage li.is-here a{ font-weight:800; }
.onpage li.is-here::after{
  content:""; position:absolute; left:10px; right:10px; bottom:0;
  height:3px; background:var(--acc-txt,#00707B); border-radius:2px 2px 0 0;
}

/* ukazovateľ prečítanej časti stránky — spodná hrana pruhu */
.onpage__progress{
  position:absolute; left:0; bottom:0; height:3px; width:0;
  background:var(--acc-txt,#00707B); opacity:.85; pointer-events:none;
  border-radius:0 2px 2px 0;
}

/* náznak, že zoznam pokračuje mimo obrazovku */
.onpage.is-scrollable::before{
  content:""; position:absolute; top:0; right:0; bottom:3px; width:36px;
  pointer-events:none; z-index:2;
  background:linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,.97));
}
.onpage.is-end::before{ display:none; }

@media (max-width:760px){
  .onpage li{ padding:0 8px; }
  .onpage a{ font-size:12px; }
}


/* ── WCAG 2.2 §2.5.8 · dotykové ciele ──────────────────────────────────────
   Cieľ musí mať aspoň 24 × 24 px alebo dostatočný rozostup. Riešime výplňou
   a rozostupom; veľkosť písma sa nemení, takže sadzba zostáva rovnaká. */

/* E-mail a telefón sú vnútri viet, takže sa nesmú stať neroztrhnuteľným blokom —
   výplň zväčší dotykovú plochu bez zásahu do zalamovania riadku. */
a[href^="mailto"], a[href^="tel"]{ padding-block:5px; }
.qcopy{ margin-left:8px !important; }

/* Výnimka: tlačidlo s adresou v odkaze (napr. „Konzultovať…" v páse pred
   pätičkou) NIE je odkaz vnútri vety — pravidlo vyššie mu zrážalo výplň
   zo 16 na 5 px a tlačidlo malo len 32 px. Vraciame vlastnú výplň
   tlačidla a poisťujeme minimálnu výšku dotykového cieľa. */
a[href^="mailto"].btn-cta-p, a[href^="tel"].btn-cta-p,
a[href^="mailto"].btn-primary, a[href^="tel"].btn-primary,
a[href^="mailto"].nav__cta, a[href^="tel"].nav__cta{ padding-block:16px; }
a[href^="mailto"].btn-cta-s, a[href^="tel"].btn-cta-s,
a[href^="mailto"].btn-ghost, a[href^="tel"].btn-ghost{ padding-block:15px; }
a[href^="mailto"][class*="btn"], a[href^="tel"][class*="btn"],
a[href^="mailto"].nav__cta, a[href^="tel"].nav__cta{ min-height:48px; }

/* Samostatný odkaz v položke zoznamu a CTA v karte — cieľ zväčšíme výplňou,
   nie inline-flexom: ten by dlhému odkazu zakázal zalomenie na mobile. */
main li > a:only-child, main p > a:only-child,
main .mkcard__cta, main .sx__odkaz{ padding-block:4px; }

/* Samostatné odkazy a tlačidlá mimo vety — tam je inline-flex bezpečný.
   (Odkazy vnútri vety sú z pravidla 2.5.8 vyňaté, tie sa nechávajú tak.) */
.footer__nav-links a,
.qpr-sec__cta, .qsub__go, .hub-card__link, .fu__more{
  min-height:24px; display:inline-flex; align-items:center;
}

/* jazykový prepínač — šírka bola 17 px */
.mob-lang__item, .nav__lang a, .lang__item{
  min-width:32px; min-height:32px;
  display:inline-flex; align-items:center; justify-content:center;
}

/* omrvinky — výška riadku bola 17 px */
.breadcrumbs a, .breadcrumbs span[aria-current]{
  min-height:24px; display:inline-flex; align-items:center;
}
.breadcrumbs li{ display:inline-flex; align-items:center; }

/* Odznak „Teraz dvíhame / nedvíhame" dopĺňa text JavaScript, takže jeho šírka závisí
   od dennej doby — pri dlhšom znení („otvárame v pondelok o 9:00") pretekal na 320 px
   o 5 px. Dostáva možnosť zalomiť sa a na úzkej obrazovke ide na vlastný riadok. */
.qnow{ max-width:100%; flex-wrap:wrap; }
.qnow__t{ min-width:0; overflow-wrap:anywhere; }
@media (max-width:420px){
  .qnow{ margin-left:0 !important; margin-top:8px; }
}

@media (max-width:760px){
  /* na mobile ide rozostup medzi susedné ciele v riadku, nie okolo bloku */
  .qcopy{ margin-left:10px !important; }
}


/* Vrch sekcie v mega menu je odkaz — nech to aj vyzerá a má dosť veľkú plochu. */
a.mega-pillar__title{ min-height:24px; display:inline-flex; align-items:center; }
a.mega-pillar__title:hover{ text-decoration:underline; text-underline-offset:3px; }


/* Úzke panely mega menu — šírka podľa obsahu, nie podľa najširšieho panela.
   520 px obsah + 2× 31 px odsadenie = 582 px. */
#menu-kompetencie, #menu-vav{ width:min(582px, calc(100vw - 48px)); }


/* Celý vrch panela je jeden cieľ. Odkaz zostáva na názve, plochu mu roztiahne ::after. */
.mega-pillar__head{ position:relative; }
a.mega-pillar__title::after{
  content:""; position:absolute; inset:0; z-index:1;
  border-radius:6px;
}
/* text musí zostať označiteľný myšou aj po roztiahnutí odkazu */
.mega-pillar__head-copy{ position:static; z-index:2; pointer-events:none; }
.mega-pillar__head-copy a{ pointer-events:auto; }

/* vidno, že je to jeden cieľ */
.mega-pillar__head:hover a.mega-pillar__title{ text-decoration:underline; text-underline-offset:3px; }
.mega-pillar__head:has(a.mega-pillar__title:focus-visible){
  outline:2px solid var(--acc2,#007C89); outline-offset:3px; border-radius:6px;
}
.mega-pillar__head:hover{ background:color-mix(in srgb, var(--acc2,#007C89) 6%, transparent);
  border-radius:6px; }


/* 1 · obrys okolo celého panela preč — ostávajú len dve vrstvy tieňa z --e3 */
.mega-menu{
  box-shadow:0 4px 10px rgba(9,30,45,.06), 0 22px 52px rgba(9,30,45,.115) !important;
}

/* 2 · zvislé hairlinky medzi divíziami preč */
.mega-pillar--teal::after,
.mega-pillar--green::after{ display:none !important; }


/* Segment stojí len pod D2 a D3 — pod D1 zostáva voľno.
   Karta má vlastný 4 px rám a 16 px odsadenie; bez kompenzácie by jej text stál
   o 18 px vpravo od stĺpca nad ňou. Záporné okraje zarovnajú text, nie okraj karty. */
.mega-seg--wide{
  grid-column:2 / -1 !important;
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  column-gap:26px !important;
  align-items:start !important;
  margin-left:-18px !important;
  margin-right:-16px !important;
}
.mega-seg--wide .mega-seg__head{ grid-column:1 / -1; }
.mega-seg--wide .mega-seg__cols{
  grid-column:1 / -1;
  grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  column-gap:26px !important;
  align-items:start !important;
  margin-top:8px;
}
/* Dvojstĺpcové podpoložky platia pre oba zoznamy, nielen pre prvý. */
.mega-seg--wide .mega-seg__grp .mega-group__caps{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); column-gap:18px;
}
/* Popis segmentu je teraz v užšom bloku — nech sa neťahá cez celú šírku. */
.mega-seg--wide .mega-seg__desc{ max-width:64ch; }

/* Ikona pri názve segmentu — rovnaký rez ako pri divíziách (24×24, stroke 2, 15 px). */
.mega-seg__title::before{
  content:''; display:inline-block; width:15px; height:15px; margin-right:8px;
  vertical-align:-2px; background-repeat:no-repeat; background-size:contain; opacity:.9;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23003B5C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18'/%3E%3Cpath d='M6 21V10l6-4 6 4v11'/%3E%3Cpath d='M10 21v-6h4v6'/%3E%3C/svg%3E");
}


/* Omrvinky — tichšie: bližšie k hlavičke a o stupeň menšie písmo. */
.breadcrumbs{ margin-top:14px !important; font-size:11px !important; }
.breadcrumbs ol{ gap:6px !important; }
.breadcrumbs li + li::before{ margin-right:6px !important; }

/* Pás nad hero grafikou mal 5 px. Hairline stačí — divízny prechod zostáva. */
.page-hero::before{ height:1px !important; }


/* ── 1a · medzera nad názvami stĺpcov segmentu ──────────────────────────────
   Medzi popisom segmentu a názvami „Dôkaz o vykonaných prácach“ a „Majetok, budovy
   a energie“ stálo 21 px: 5 px pod popisom, 8 px riadkový gap mriežky a 8 px odsadenie
   bloku so stĺpcami. Tri odsadenia nad sebou, hoci ide o jeden celok. Ostáva 10 px. */
.mega-seg--wide{ row-gap:0 !important; }
.mega-seg--wide .mega-seg__desc{ margin-bottom:3px !important; }
.mega-seg--wide .mega-seg__cols{ margin-top:15px !important; }

/* ── 1i · obsah karty na zvislicu podkategórií D2 a D3 ──────────────────────
   Divízie majú vnútri stĺpca ešte 11 px odstupu: stĺpec D2 sa začína na 560 px,
   ale text jeho podkategórií až na 571 px. Karta segmentu tých 11 px nemala,
   takže celý jej obsah stál o 11 px vľavo od textu, ku ktorému patrí — a názov
   segmentu ešte o šírku ikony vpravo, takže v karte boli tri rôzne hrany.

   Rovnakých 11 px dostávajú všetky prvky karty. Mriežka stĺpcov sa nemení, posúva
   sa len text: ľavý stĺpec sadne na text D2 (571 px), pravý na text D3 (953 px). */
.mega-seg--wide .mega-seg__title,
.mega-seg--wide .mega-seg__desc,
.mega-seg--wide .mega-seg__grp .mega-group__cat,
.mega-seg--wide .mega-seg__all{ padding-left:11px !important; }
.mega-seg--wide .mega-seg__grp .mega-group__caps{ padding-left:11px !important; }

/* ── 1b · štítok „Segment“ na pravý okraj, do jednej úrovne s názvom ─────────
   Štítok stál nad názvom a bral mu celý riadok. Vpravo v tej istej úrovni je
   z neho popiska celého pásu, nie krok pred názvom — a pás sa skráti o riadok. */
.mega-seg--wide .mega-seg__head{
  display:grid; grid-template-columns:1fr auto;
  align-items:center; column-gap:14px;
}
.mega-seg--wide .mega-seg__title{ grid-column:1; grid-row:1; }
.mega-seg--wide .mega-seg__eyebrow{
  grid-column:2; grid-row:1; justify-self:end; margin:0 !important;
}
.mega-seg--wide .mega-seg__desc{ grid-column:1 / -1; grid-row:2; }

/* ── 1c · ľavá hrana karty presne tam, kde začína zelená linka D2 ────────────
   Karta mala margin-left:-18px, aby jej text stál pod ľavým okrajom stĺpca D2.
   Text tým sedel, ale hrana karty trčala 18 px vľavo od zelenej linky. Odsadenie
   sa ruší: hrana karty = 542 px = začiatok zelenej linky.

   Text sa tým posunie o 18 px vpravo — a tam po ňom siaha vnútorný odstup karty,
   takže prvý stĺpec sadne presne na text D2. Aby na text D3 sadol aj druhý,
   musí byť medzera medzi stĺpcami 44 px namiesto 26: 26 px medzera mriežky
   + 18 px vnútorný odstup divízie. Vtedy sú oba stĺpce rovnako široké aj pri
   inej šírke panela — hodnota nezávisí od viewportu. */
.mega-seg--wide{ margin-left:0 !important; column-gap:44px !important; }
.mega-seg--wide .mega-seg__cols{ column-gap:44px !important; }

/* ── 1d · pravá hrana karty k pravému koncu žltej linky D3 ───────────────────
   Karta presahovala D3 o 16 px (margin-right:-16px). Odsadenie sa ruší, karta
   končí presne tam, kde D3. Vnútro sa tým zúži o 16 px, čo by druhý stĺpec
   posunulo o 8 px doľava — preto už stĺpce nie sú rovnaké: prvý má šírku divízie
   bez jej vnútorného odstupu, `calc(50% - 14px)`, čo pri každej šírke panela
   vychádza na T − 18 px. Druhý potom začína presne na texte D3. */
.mega-seg--wide{ margin-right:0 !important; }
.mega-seg--wide .mega-seg__cols{
  grid-template-columns:calc(50% - 14px) 1fr !important;
}

/* ── 1j · karta o 220 px užšia zľava, obsah ide s ňou ────────────────────────
   Pravá hrana zostáva na D3, ľavá sa posúva z 542 na 762 px.

   Pri 20 aj 100 px platilo, že prvý stĺpec drží šírku divízie (T − 18 px) a druhý
   tým začínal presne o toľko istého vpravo od textu D3. Pri 200 px sa to zlomí:
   z obsahu ostane 503 px, prvému by pripadlo 337 a druhému len 121. „Majetok,
   budovy a energie“ sa v ňom láme na dva riadky a všetky tri položky tiež — karta
   vyrastie na 257 px. Zvislica k D3 aj tak zaniká, karta pri tomto odsadení
   nezačína pod žiadnou divíziou. Stĺpce sú preto rovnaké: karta má 212 px
   a všetko je na jednom riadku. */
.mega-seg--wide{ margin-left:220px !important; }
.mega-seg--wide .mega-seg__cols{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  /* Pri 298 px ostane na stĺpec 180 px, z toho 169 px na text — a „Dôkaz o vykonaných
     prácach“ potrebuje 171. Medzera 44 px bola odvodená od zvislice k textu D3, ktorá
     pri tomto odsadení už neexistuje, takže je voľná: 30 px stačí a nadpis sa nezlomí. */
  column-gap:30px !important;
}
/* Po vypustení „Zimnej údržby“ majú oba zoznamy presne tri položky. Idú pod seba,
   v jednom stĺpci — dvojstĺpcové rozloženie malo zmysel pri štyroch, pri troch
   nechávalo prázdne miesto a rozhojdávalo rytmus. */
.mega-seg--wide .mega-seg__grp .mega-group__caps{
  display:block !important;
}

/* ── 1 · odkaz na všetky produkty ide na koniec segmentu, cez celú jeho šírku ── */
.mega-seg--wide .mega-seg__all{
  grid-column:1 / -1;
  /* Odstup nad odkazom je rovnaký ako v divíziách nad „Celá divízia…“:
     7 px medzi rámčekmi, teda 16 px medzi textami. Karta mala 10 + 9 = 28 px. */
  margin-top:7px !important;
  padding-top:0 !important;
  border-top:0 !important;   /* linka preč — odstup stačí (zadanie 15. 8. 2026) */
}
/* Odsadenie pod odkazom je rovnaké ako odsadenie nad „Celá divízia…“ v divíziách,
   teda 7 px (margin-top odkazu v stĺpci). Karta mala 10 px. */
.mega-seg--wide{ padding-bottom:7px !important; }

/* ── 1k · divízne stĺpce D1, D2, D3 ─────────────────────────────────────────
   Spodné rohy mali 8 px zaoblenie, hoci stĺpec nemá rám ani plnú plochu — zaoblenie
   sa tak dalo tušiť len na tónovanom prechode. Rohy sú hranaté.

   Linka nad divíziou ide zo 4 na 5 px.

   D3 · zlatá. Žltá z loga (#FFC845) má na bielej kontrast 1,54 : 1 — ako linka je
   prakticky neviditeľná a nespĺňa WCAG 2.2 · 1.4.11 (Non-text Contrast, 3 : 1).
   Prototyp preto už používal stmavenú zlatú #C48B0B, tá však vychádza na 2,98 : 1,
   teda tesne pod hranicou. Nová hodnota #B27E0A drží ten istý odtieň (41,4° oproti
   42,3° loga) a má 3,57 : 1 na bielej a 3,32 : 1 na tónovanom podklade stĺpca.
   Žltá z loga zostáva použiteľná ako plocha pod tmavým textom — navy na nej má
   7,64 : 1. Ako tenká linka na svetlom nie. */
.mega-pillar--teal, .mega-pillar--green, .mega-pillar--yellow{ border-radius:0 !important; }
/* Linka je 5 px vysoká a mala 3 px zaoblenie dokola — spodné rohy sa tým zaobľovali
   proti hranatému stĺpcu pod ňou. Zaoblenie ostáva len hore. */
.mega-pillar::before{ height:5px !important; border-radius:3px 3px 0 0 !important; }

/* ── 2 · pruh „Na tejto stránke" ────────────────────────────────────────────
   Výška položky bola viazaná na --onpage-h, ktorú skript prepisuje nameranou
   výškou pruhu. Každé meranie ju tým zväčšilo. Pevná hodnota slučku ruší;
   dotyková plocha odkazu (32 px) ani WCAG 2.5.8 sa nemenia. */
.onpage li{ min-height:38px !important; }

/* Preč ukazovateľ prečítanej časti stránky aj linka pod aktívnou sekciou
   (zadanie 15. 8. 2026). Aktívnu sekciu naďalej nesie tónovaná plocha a tučnejší
   rez písma — teda nie farba samotná, takže WCAG 1.4.1 platí ďalej. */
.onpage__progress{ display:none !important; }
.onpage li.is-here::after{ display:none !important; }

/* Po výbere sekcie z pruhu skript zaostrí na jej nadpis, aby čítačka obrazovky aj
   klávesnica pokračovali na správnom mieste. Prehliadač okolo neho vykreslil rámček
   (2 px #00707B). Nadpis s `tabindex="-1"` nie je ovládací prvok a v poradí tabulátora
   nie je, takže WCAG 2.2 · 2.4.7 sa naň nevzťahuje — rámček ide preč, zaostrenie
   zostáva. Pravidlo je zámerne obmedzené na `tabindex="-1"`; skutočné tlačidlá
   a odkazy si svoj rámček ponechávajú. */
main [tabindex="-1"]:focus,
main [tabindex="-1"]:focus-visible{ outline:none !important; box-shadow:none !important; }

/* Pod pruhom ostáva len hairline — rovnaká ako pod hlavnou navigáciou (1 px #D3DEE4).
   Pruh mal linky dve: vlastný `border-bottom` a k tomu `box-shadow:0 1px 0` z v16,
   spolu teda 2 px. Tieň ide preč, ostáva rám — presne to, čo má hlavná navigácia.

   Spodné odsadenie 3 px tam zostalo po ukazovateli priebehu a robilo medzeru medzi
   označením aktívnej sekcie a hairlinou; ide preč, plocha sadá priamo na linku.
   Spodné rohy označenia sú preto rovné — zaoblené by pri linke nechávali škáry. */
.onpage{ padding-bottom:0 !important; box-shadow:none !important; }
.onpage li.is-here{ border-radius:4px 4px 0 0 !important; }

/* Prepínač jazyka: aktívna položka mala min-height 32 px pri šírke 32 px, takže
   z pilulky vychádzal kruh. Farebná plocha sa oddeľuje od dotykového cieľa —
   cieľ ostáva 32 × 24 px (WCAG 2.2 · 2.5.8), plocha má 20 px a je zase pilulka. */
.nav__lang-item.is-active{
  min-height:24px !important;
  background:transparent !important;
  position:relative; z-index:0;
}
.nav__lang-item.is-active::before{
  content:''; position:absolute; inset:2px 0; z-index:-1;
  background:var(--navy,#003B5C); border-radius:999px;
}

/* Tlačidlo je celý pruh: číslo a názov sekcie, v ktorej človek je, a šípka vpravo.
   Na širokej obrazovke sa nezobrazuje — tam je celý zoznam v riadku. */
.onpage__tu{
  display:none; width:100%; align-items:center; gap:6px;
  min-height:42px; padding:0 10px; margin:0;
  background:none; border:0; cursor:pointer; text-align:left;
  font-family:inherit; color:var(--navy,#003B5C);
}
.onpage__tu .n{ font-family:var(--mono); font-size:9px; font-weight:700;
                color:var(--acc-txt,#00707B); flex:0 0 auto; }
.onpage__tu-txt{
  font-size:12.5px; font-weight:800; color:var(--navy,#003B5C);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0;
}
.onpage__tu-sip{ flex:0 0 auto; margin-left:auto; width:14px; height:14px;
                 transition:transform 180ms ease; }
.onpage.is-open .onpage__tu-sip{ transform:rotate(180deg); }
.onpage__tu:focus-visible{ outline:2px solid var(--navy,#003B5C); outline-offset:-2px;
                           border-radius:6px; }
@media (prefers-reduced-motion:reduce){ .onpage__tu-sip{ transition:none; } }

/* Hranica je rovnaká ako pri hamburgeri (v26): pod 1180 px je navigácia kompaktná.
   Vodorovne posuvný pruh so sekciami je pri myši v poriadku, na dotyku nie — na
   tablete na šírku potreboval 1588 px a posúval sa. */
@media (max-width:1179px){
  /* karta musí vystúpiť z pruhu von; vodorovné posúvanie tu už netreba */
  .onpage .container{ overflow:visible !important; position:relative; }
  .onpage__tu{ display:flex; }

  /* zbalené: v pruhu je len tlačidlo s aktuálnou sekciou */
  .onpage:not(.is-open) ul{ display:none !important; }

  /* rozbalené: celý zoznam ako karta pod pruhom */
  .onpage.is-open ul{
    position:absolute; top:calc(100% + 4px); left:0; right:0; z-index:4;
    flex-direction:column; flex-wrap:nowrap !important;
    background:#fff; border:1px solid var(--hairline,#D3DEE4); border-radius:12px;
    box-shadow:0 16px 34px rgba(9,30,45,.18);
    padding:5px 0 6px; max-height:66svh; overflow-y:auto; overscroll-behavior:contain;
  }
  .onpage.is-open li{ width:100%; }
}


/* ── 1 · hamburger od 1179 px nadol ─────────────────────────────────────────
   Mega menu potrebuje 680–729 px výšky. Pri 1024 px sa mu obsah rozšíri na 729 px
   a na obrazovke 768 px zostane 702 — panel sa skroluje a segment končí pod
   spodnou hranou. Ponuka otvorená nad obsahom sa skrolovať nemá, takže pod 1180 px
   preberá navigáciu zásuvka. */
@media (max-width:1179px){
  .nav__right{ display:none !important; }
  .nav__mobile-toggle{ display:flex !important; }
  .mobile-nav{ display:block !important; }
}

/* ── 2 · zásuvka sa nikdy neoreže ───────────────────────────────────────────
   `max-height:2400px` orezávalo spodok pri rozbalenej sekcii. Zásuvka je vnútri
   lepivej hlavičky, takže dostáva výšku okna a vlastné skrolovanie. */
.mobile-nav.is-open{
  max-height:calc(100svh - 64px) !important;
  overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
}

/* ── 3 · na tablete obsah v stĺpci, nie cez celú šírku ──────────────────────
   Riadok cez 834 px pre 150 px popisku je prázdna plocha a šípka na jeho konci
   je mimo dosahu palca. Stĺpec 520 px stojí vpravo, pod hamburgerom. */
@media (min-width:600px){
  .mobile-nav__inner{
    max-width:520px; margin-left:auto; margin-right:24px;
    border-left:1px solid var(--hairline,#D3DEE4);
  }
  .mobile-nav{ border-top:1px solid var(--hairline,#D3DEE4); }
}

/* ── 4 · skratky na divízie ─────────────────────────────────────────────────
   Rovnaký tvar ako pilulky v hero na úvodnej stránke, len na svetlom podklade.
   Bodka nesie divíznu farbu, význam nesie text — farba nie je jediný nosič. */
.qnav{
  display:flex; flex-wrap:wrap; gap:8px;
  padding:14px 24px 16px; margin:0 0 4px;
  border-bottom:1px solid var(--hairline,#D3DEE4);
}
.qnav__chip{
  display:inline-flex; align-items:center; gap:9px;
  min-height:44px; padding:0 16px; border-radius:999px;
  border:1px solid var(--hairline,#D3DEE4); background:#fff;
  font-size:13.5px; font-weight:700; line-height:1.2;
  color:var(--navy,#003B5C); text-decoration:none;
  transition:background 120ms, border-color 120ms;
}
.qnav__chip:hover{ background:var(--soft,#F1F6F8); border-color:rgba(0,59,92,.30); }
.qnav__chip:focus-visible{ outline:2px solid var(--navy,#003B5C); outline-offset:2px; }
.qnav__dot{
  width:9px; height:9px; border-radius:50%; flex:0 0 auto;
  background:var(--acc,#003B5C);
}
@media (max-width:599px){
  .qnav{ padding:12px 20px 14px; gap:7px; }
  .qnav__chip{ min-height:48px; font-size:13px; }
}

/* ── 5 · vrchná položka = odkaz + samostatná šípka ──────────────────────────
   Tlačidlo dovtedy len rozbaľovalo; na stránku divízie sa z neho nedalo dostať.
   Odkaz zaberá riadok, šípka má vlastných 52 × 52 px. */
.mob-row{ display:flex; align-items:stretch; }
.mob-row__link{
  flex:1 1 auto; display:flex; align-items:center;
  min-height:52px; padding:0 10px 0 24px;
  font-size:15px; font-weight:700; color:var(--text,#17232B);
  text-decoration:none; letter-spacing:.01em;
  transition:background 120ms, color 120ms;
}
.mob-row__link:hover, .mob-row__link:focus-visible{
  background:var(--soft,#F1F6F8); color:var(--navy,#003B5C); outline:none;
}
.mob-row__link:focus-visible{ outline:2px solid var(--navy,#003B5C); outline-offset:-2px; }
.mob-row > .mob-item__trigger{
  flex:0 0 auto; width:52px; min-width:52px; min-height:52px;
  padding:0 !important; justify-content:center;
  border-left:1px solid var(--hairline,#D3DEE4);
}
.mob-row > .mob-item__trigger:focus-visible{ outline:2px solid var(--navy,#003B5C); outline-offset:-2px; }

/* ── 6 · dotykové ciele na telefóne ─────────────────────────────────────────
   48 px je pohodlný cieľ pre palec; WCAG 2.2 · 2.5.8 žiada 24, toto je nad ním. */
@media (max-width:599px){
  .mob-item, .mob-row__link, .mob-cat, .mob-cap, .mob-sub{ min-height:48px !important; }
  .mob-row > .mob-item__trigger{ width:56px; min-width:56px; min-height:48px; }
}
.mob-lang__item{
  min-height:44px; min-width:44px; padding:0 10px;
  display:inline-flex; align-items:center; justify-content:center;
}
.mob-lang__item:focus-visible{ outline:2px solid var(--navy,#003B5C); outline-offset:2px; border-radius:6px; }


.nav__dvoj{ display:inline-flex; align-items:center; gap:1px; }
.nav__dvoj .nav__link--label{ text-decoration:none; }
.nav__chev{
  min-width:24px; min-height:24px; padding:0 2px;
  display:inline-flex; align-items:center; justify-content:center;
}
/* otvorený panel zvýrazní aj názov — príjemnosť, nie podmienka funkčnosti */
.nav__dvoj:has(.nav__chev[aria-expanded="true"]) .nav__link--label{
  opacity:1; color:var(--navy);
  text-decoration:underline; text-decoration-color:var(--teal);
  text-underline-offset:4px; text-decoration-thickness:2px;
}


/* ── Sekcia 03 · tri malé karty ─────────────────────────────────────────────
   Bez mapy, bez spojnice, bez opisu „čo sa tu robí“ — to všetko je v odseku nad
   nimi. Karta nesie len to, čo si človek odpisuje: adresu, e-mail, číslo a čas.
   Farbu drží bodka a tón podkladu; sídlo tyrkysová, kancelária zelená,
   spojenie navy. */
.qmiesta{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px; margin:28px 0 0;
}
.qm{
  border-radius:14px; padding:20px 22px 22px;
  background:var(--qm-bg,#E6F2F3);
  transition:transform 240ms cubic-bezier(.22,1,.36,1), box-shadow 240ms ease;
}
.qm:hover{ transform:translateY(-3px); box-shadow:0 10px 26px rgba(9,30,45,.08); }
@media (prefers-reduced-motion:reduce){ .qm{ transition:none; } .qm:hover{ transform:none; } }
.qm--sidlo{ --qm-bg:#E6F2F3; --qm-dot:#007C89; }
.qm--kancelaria{ --qm-bg:#EDF5EB; --qm-dot:#4A9B37; }
.qm--spojenie{ --qm-bg:#EAF0F4; --qm-dot:#003B5C; }
.qmiesta .qm__role{
  display:flex; align-items:center; gap:9px;
  font-family:var(--mono); font-size:9.5px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted,#52636D); margin:0 0 7px;
}
.qm__dot{
  width:11px; height:11px; border-radius:50%; flex:0 0 auto;
  background:var(--qm-dot,#007C89);
  box-shadow:0 0 0 4px color-mix(in srgb, var(--qm-dot,#007C89) 18%, transparent);
}
.qmiesta .qm__name{
  font-size:18px; font-weight:800; color:var(--navy,#003B5C);
  line-height:1.22; margin:0 0 10px; letter-spacing:-.015em;
}
.qmiesta .qm__addr{
  font-style:normal; font-size:15px; line-height:1.65;
  color:var(--text,#17232B); margin:0;
}
.qmiesta .qm__r{
  display:flex; align-items:center; gap:9px;
  font-size:15px; line-height:1.5; margin:0 0 4px;
}
.qm__ico{
  width:16px; height:16px; flex:0 0 auto;
  background-repeat:no-repeat; background-position:center; background-size:contain;
}
.qm__ico--mail{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23003B5C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5' width='19' height='14' rx='2.5'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E"); }
.qm__ico--tel{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23003B5C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3h3l1.5 4.5-2 1.5a12 12 0 0 0 6 6l1.5-2L21 14.5v3a2.5 2.5 0 0 1-2.7 2.5A17 17 0 0 1 3.5 5.7 2.5 2.5 0 0 1 6 3z'/%3E%3C/svg%3E"); }
/* `main[data-accent] .pgs p a:not([class])` (0,3,2) prebíja triedu, takže odkaz
   v karte by mal tyrkysovú --acc-txt a na navy podklade len 5,07 : 1. Navy má
   10,4 : 1 a v karte s údajmi je namieste — je to údaj, nie odkaz do textu. */
main[data-accent] .qmiesta .qm__r a,
.qmiesta .qm__r a{
  color:var(--navy,#003B5C) !important; text-decoration:underline; text-underline-offset:3px;
  display:inline-flex; align-items:center; min-height:24px;
}
main[data-accent] .qmiesta .qm__r a:hover,
.qmiesta .qm__r a:hover{ color:var(--acc-txt,#00707B); }
.qmiesta .qm__r a:focus-visible{ outline:2px solid var(--navy,#003B5C); outline-offset:2px; border-radius:3px; }
.qmiesta .qm__cas{
  font-size:13.5px; line-height:1.5; color:var(--muted,#52636D);
  margin:8px 0 0; padding-left:25px;
}

/* Fakturačné údaje ako dvojice kľúč → hodnota, nie ako veta s bodkami. */
.qfakt{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px 24px; margin:26px 0 0; padding-top:20px;
  border-top:1px solid var(--hairline,#D3DEE4);
}
.qfakt--siroke{ grid-column:1 / -1; }
.qfakt dt{
  font-family:var(--mono); font-size:9.5px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted,#52636D); margin:0 0 4px;
}
.qfakt dd{ margin:0; font-size:15px; line-height:1.5; color:var(--text,#17232B); }
.qfakt dd.mono{ font-family:var(--mono); font-size:14px; letter-spacing:.02em; }
.qfakt__viac{ margin:18px 0 0; }

@media (max-width:980px){
  .qfakt{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .qmiesta{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .qm--spojenie{ grid-column:1 / -1; }
}
@media (max-width:640px){
  .qmiesta{ grid-template-columns:1fr; }
  .qm--spojenie{ grid-column:auto; }
  main[data-accent] .qmiesta .qm__r a,
  .qmiesta .qm__r a{ min-height:44px; }
}
/* Záverečná veta sekcie Kvalita a bezpečnosť — nie je to ďalší odsek v poradí,
   je to zhrnutie. Väčší rez a divízna linka vľavo ju od ostatných oddelia. */
.q-zaver{
  margin-top:18px !important; padding-left:14px;
  border-left:3px solid var(--acc,#007C89);
  font-size:16px; font-weight:700; line-height:1.55; color:var(--navy,#003B5C);
}
@media (max-width:599px){ .q-zaver{ font-size:15px; } }


/* Popiska sa centruje rozložením, nie odsadením — výška tlačidla ju drží dotykový
   cieľ, takže odsadenie ju nikdy nevycentruje spoľahlivo. */
.btn-cta-p, .btn-cta-s{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center;
}


/* Telo karty o dva stupne menšie než nadpis — 19 → 14 px (pomer 1,36).
   Riadkovanie 1,6 drží čitateľnosť v úzkom stĺpci karty.
   Farba je `--muted` — vlastná farba webu pre druhoradý text, nie nová hodnota. */
.hub-card__body{
  font-size:14px !important;
  line-height:1.6 !important;
  color:var(--muted,#52636D) !important;
}

/* ── Karta nesie divíznu farbu, nie iba pásik ──────────────────────────────
   Podklad bol pri všetkých kartách rovnaký (--soft #F4F7F9) a divíziu prezrádzal
   len 3 px pásik. Podklad je teraz 10 % divíznej farby na bielej a pásik má 5 px,
   rovnako ako linka nad divíziou v mega menu.

   10 % je najsilnejší tón, ktorý ešte drží všetky tri normy naraz:
   telo 5,46–5,61 : 1 (1.4.3 žiada 4,5) a pásik voči vlastnému podkladu
   3,13–4,33 : 1 (1.4.11 žiada 3). Pri 14 % by zelený pásik spadol na 2,99.

   Nadpis zostáva navy (10,3–10,6 : 1). Divízne farby na nadpis nejdú: zelená
   #3A8129 by na zelenom podklade mala 4,33 : 1, teda pod hranicou 4,5. */
.hub-card{
  background:var(--hub-bg,#E6F2F3) !important;
  border-left-width:5px !important;
}
.hub-card--d1{ --hub-bg:#E6F2F3; }
.hub-card--d2{ --hub-bg:#EDF5EB; }
/* Pásik D3 mal žltú z loga #FFC845 — 1,54 : 1 na podklade, teda pod hranicou
   WCAG 1.4.11. Rovnaká zlatá ako v mega menu. */
.hub-card--d3{ --hub-bg:#F7F2E7; --hub-acc:#B27E0A; }


/* ── Striedanie podkladov ───────────────────────────────────────────────────
   Pás cez celú šírku okna, nie iba pod kontajnerom. Bez novej farby: --soft. */
main .pgs--pas{
  background:var(--soft,#F4F7F9) !important;
  border-top:1px solid var(--hairline,#D3DEE4);
  border-bottom:1px solid var(--hairline,#D3DEE4);
}

/* ── Priestor a typografia ──────────────────────────────────────────────────
   Sekcia 72 → 96 px, nadpis 36 → 42 px. Väčší dych medzi hlavičkou a obsahom. */
main > section.pgs{ padding-top:96px !important; padding-bottom:96px !important; }
main > section.pgs h2.rule-draw{
  font-size:42px !important; line-height:1.08 !important;
  letter-spacing:-.028em !important; margin:0 0 26px !important;
  padding-left:0 !important;
}

/* ── Fólio: linka · „01 · SPOLOČNOSŤ" ──────────────────────────────────────
   Prvá verzia mala obrysovú číslicu 76 px. Zadávateľka na nej ukázala problém:
   taký prvok na webe inde nie je, a práve to robí vizuál nesúrodým. Vzorom je
   homepage — tá pri nadpisoch čísla nemá vôbec a sekciu značí malým mono
   pásmom („VÝROBA · TRACEABILITY A SCADA“).

   Namerané na homepage (`.ucases__eyebrow`): Azeret Mono, 10 px, 700,
   letter-spacing 2 px, verzálky, farba akcentu, odstup 22 px. Fólio berie
   presne tieto hodnoty — nie podobné, tie isté. */
main > section.pgs .qfolio{
  display:flex; align-items:baseline;
  border-top:2px solid var(--sek,#003B5C);
  padding-top:14px; margin:0 0 22px;
}
main > section.pgs .qfolio__n,
main > section.pgs .qfolio__k{
  font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:2px;
  text-transform:uppercase; color:var(--sek-txt,#003B5C); line-height:1;
  -webkit-text-stroke:0; padding:0; user-select:auto;
}
/* Bodka je zapísaná priamo, nie ako `\00B7`. CSS_HLAVA je bežný (nie raw)
   reťazec, takže Python by `\00` prečítal ako osmičkovú escape sekvenciu —
   do CSS by sa dostal znak NUL a za ním text „B7“. Prvý beh to aj vykreslil. */
main > section.pgs .qfolio__n::after{ content:'·'; margin:0 .5em 0 .45em; }
/* pôvodná malá číslica a linka pod nadpisom už rytmus nenesú — nesie ho folio */
main > section.pgs h2.rule-draw::before{ content:none !important; }
main > section.pgs h2.rule-draw::after{ display:none !important; }

@media (max-width:860px){
  main > section.pgs{ padding-top:64px !important; padding-bottom:64px !important; }
  main > section.pgs h2.rule-draw{ font-size:32px !important; margin-bottom:20px !important; }
  main > section.pgs .qfolio{ padding-top:12px; margin-bottom:18px; }
  main > section.pgs .qfolio__n,
  main > section.pgs .qfolio__k{ font-size:9px; letter-spacing:1.6px; }
}


/* ── Časová os je navigácia, nie dekorácia ─────────────────────────────────
   Každý údaj vedie do sekcie, ktorá ho dokazuje. Vzor je ten istý, aký na webe
   používa vrch panela v mega menu: odkaz zostáva na texte, plochu mu roztiahne
   ::after cez celú bunku. */
.tline > div{ position:relative; }

a.tline__l{
  color:var(--navy,#003B5C); text-decoration:none;
  border-bottom:1.5px solid rgba(0,59,92,.60);   /* 3,71 : 1 — 1.4.11 žiada 3 */
  padding-bottom:1px;
  transition:border-color .16s ease;
}
/* Cieľ je celá bunka. Vodorovne sa NEROZŤAHUJE: bunky na seba priamo nadväzujú
   (18 px medzera je vnútri bunky ako padding-right, nie medzi nimi), takže
   akékoľvek záporné odsadenie by cieľové plochy prekrylo a klik pri pravom
   okraji by spustil susednú položku. Sprava sa preto o 10 px zužuje. */
a.tline__l::after{
  content:''; position:absolute; inset:-6px 10px -4px 0;
  z-index:1; border-radius:8px;
}
/* Šípka je vidno aj v pokoji — na dotyku žiadny hover neexistuje. */
.tline__s{
  display:inline-block; margin-left:.42em; font-weight:700; opacity:.70;  /* 4,9 : 1 */
  transition:opacity .16s ease, transform .16s ease;
}

/* farba bodu — zlatá #B27E0A namiesto #FFC845 (1,54 : 1 → 3,57 : 1) */
.tline > div{ --tl-dot:var(--teal,#007C89); }
.tline > div:nth-child(2){ --tl-dot:var(--green,#4A9B37); }
.tline > div:nth-child(3){ --tl-dot:#B27E0A; }
.tline > div:nth-child(4){ --tl-dot:var(--navy,#003B5C); }
.tline > div::before{
  border-color:var(--tl-dot) !important;
  transition:background-color .16s ease;
}

/* Prejdenie myšou: bod sa vyplní, šípka klesne, podčiarknutie zosilnie.
   Iba pri bunkách, ktoré odkaz naozaj majú — `2007` a `2015` sú holý text
   a nesmú sa pri prejdení tváriť, že sa dá kliknúť. */
.tline > div:has(a.tline__l):hover::before{ background:var(--tl-dot); }
.tline > div:hover a.tline__l{ border-bottom-color:var(--navy,#003B5C); }
.tline > div:hover .tline__s{ opacity:1; transform:translateY(2px); }

/* ── Fokus ──────────────────────────────────────────────────────────────────
   Web má globálne pravidlo `a:focus-visible{ outline:…!important }`, ktoré dáva
   rámček každému odkazu. Tu by orámovalo len štvorznakové číslo, hoci kliknuteľná
   je celá bunka — používateľ na klávesnici by nevidel, čo vlastne stlačí.

   Rámček preto berie na seba `::after`, teda presne tá plocha, ktorá je cieľom.
   Rámček a cieľ sú tak tá istá vec, nie dve rôzne. Potlačenie pôvodného rámčeka
   musí byť `!important`, inak sa globálne pravidlo nedá prebiť — je to ten istý
   postup, aký web už používa pri `main [tabindex="-1"]:focus-visible`.
   Nepotrebuje `:has()`, takže platí v každom prehliadači. */
a.tline__l:focus-visible{ outline:none !important; }
a.tline__l:focus-visible::after{
  outline:2px solid var(--teal,#007C89); outline-offset:2px; border-radius:8px;
}

/* Vyplnený bod a plná šípka pri fokuse sú príjemnosť navyše, nie podmienka
   viditeľnosti — preto smú závisieť od :has(). */
@supports (selector(:has(*))){
  .tline > div:has(a.tline__l:focus-visible)::before{ background:var(--tl-dot); }
  .tline > div:has(a.tline__l:focus-visible) .tline__s{ opacity:1; }
}

@media (prefers-reduced-motion:reduce){
  a.tline__l, .tline__s, .tline > div::before{ transition:none !important; }
  .tline > div:hover .tline__s{ transform:none; }
}


/* `min-height` na riadkovom prvku nerobí nič — preto bol cieľ 11,4 px vysoký,
   hoci pravidlo `.nav__fu{min-height:24px}` existuje od v18. `inline-flex` mu
   dá blokovú schránku bez toho, aby sa text posunul alebo zväčšil. */
.nav__fu{
  display:inline-flex !important;
  align-items:center !important;
  min-height:24px !important;
}


/* ── Časová os na tmavom podklade ──────────────────────────────────────────
   `.tline` je len na tejto stránke, takže tmavý variant preň neexistoval.
   Hodnoty sú počítané voči najsvetlejšiemu miestu pozadia (#0C2E45). */
.page-hero--dark .tline dt,
.page-hero--dark a.tline__l{ color:#FFFFFF !important; }          /* 14,07 : 1 */
.page-hero--dark .tline dd{ color:#C7D3D9 !important; }           /*  9,21 : 1 */

.page-hero--dark a.tline__l{
  border-bottom-color:#C7D3D9 !important;                         /*  9,21 : 1 */
}
.page-hero--dark .tline > div:hover a.tline__l{
  border-bottom-color:#FFFFFF !important;
}
.page-hero--dark .tline__s{ color:#C7D3D9; opacity:1; }
.page-hero--dark .tline > div:hover .tline__s{ color:#FFFFFF; }

/* Body: svetlé varianty akcentov — tie isté, aké web na tmavom už používa.
   Zlatá z loga #FFC845 má tu 9,11 : 1; na bielej mala 1,54 a musela sa nahrádzať. */
.page-hero--dark .tline > div:nth-child(1){ --tl-dot:#5AC8D4; }   /*  7,13 : 1 */
.page-hero--dark .tline > div:nth-child(2){ --tl-dot:#6DC15A; }   /*  6,32 : 1 */
.page-hero--dark .tline > div:nth-child(3){ --tl-dot:#FFC845; }   /*  9,11 : 1 */
.page-hero--dark .tline > div:nth-child(4){ --tl-dot:#8FB8CE; }   /*  6,64 : 1 */

/* Body sú PLNÉ (zadanie 17. 8. 2026) — vnútro nesie farbu bodu, nie podklad.
   Kontrasty plných bodov sú tie isté ako obrysov: 6,3–9,1 : 1. */
.page-hero--dark .tline > div::before{ background:var(--tl-dot) !important; }

/* Linka v svetlých akcentoch — základné divízne farby na tmavom zanikali
   (tyrkys #007C89 má na #0C2E45 len 2,84 : 1). Poradie zastávok kopíruje
   farby bodov: tyrkys → zelená → zlatá → oceľová. */
.page-hero--dark .tline::before{
  opacity:.9;
  background:linear-gradient(90deg,#5AC8D4,#6DC15A 45%,#FFC845 72%,#8FB8CE) !important;
}

.page-hero--dark a.tline__l:focus-visible::after{
  outline-color:#7BD9E4 !important;                               /*  8,64 : 1 */
}


/* Riadok s obchodným registrom nechá voľný štvrtý stĺpec pre odkaz. */
.qfakt--siroke{ grid-column:1 / 4 !important; }

/* Odkaz sadá k pravému dolnému rohu bloku, teda na spodok riadku s registrom.
   Do `<dl>` ho vložiť nemožno — `<p>` medzi `<dt>`/`<dd>` nepatrí. */
.qfakt-blok{ position:relative; }
.qfakt-blok .qfakt{ margin-bottom:0; }
.qfakt-blok .qfakt__viac{
  position:absolute; right:0; bottom:0; margin:0; text-align:right;
}

@media (max-width:860px){
  /* V dvojstĺpcovom rozložení by absolútny odkaz ležal na texte registra. */
  .qfakt--siroke{ grid-column:1 / -1 !important; }
  .qfakt-blok .qfakt__viac{ position:static; text-align:left; margin:18px 0 0; }
}


/* ── Animácia časovej osi ──────────────────────────────────────────────────
   Predvolený stav je statický hotový výsledok; animácia sa PRIDÁVA len tomu,
   kto pohyb neobmedzil. */
@media (prefers-reduced-motion: no-preference){

  /* žiara bodu: 55 % pri vzniku, 30 % pri trvalom dychu */
  .page-hero--dark .tline > div{
    --tl-ziara:color-mix(in srgb, var(--tl-dot) 55%, transparent);
    --tl-dych:color-mix(in srgb, var(--tl-dot) 30%, transparent);
  }

  /* linka sa kreslí zľava doprava */
  .page-hero--dark .tline::before{
    animation:tlLinka 1.15s cubic-bezier(.25,.1,.25,1) .15s both;
  }

  /* body naskočia s prestrelením + jeden kruh žiary pri vzniku */
  .page-hero--dark .tline > div::before{
    animation:
      tlBod  .45s cubic-bezier(.34,1.56,.64,1) both,
      tlKruh .75s ease-out both;
  }
  /* trvalý dych len na klikateľných (2., 3., 4. bunka) — fázovo posunutý */
  .page-hero--dark .tline > div:nth-child(n+2)::before{
    animation:
      tlBod  .45s cubic-bezier(.34,1.56,.64,1) both,
      tlKruh .75s ease-out both,
      tlPulz 3.4s ease-in-out infinite;
  }
  /* oneskorenia = čas, keď čelo linky (ease-out) prechádza 0/25/50/75 % */
  .page-hero--dark .tline > div:nth-child(1)::before{ animation-delay:.18s,.33s; }
  .page-hero--dark .tline > div:nth-child(2)::before{ animation-delay:.42s,.57s,2.8s; }
  .page-hero--dark .tline > div:nth-child(3)::before{ animation-delay:.68s,.83s,3.1s; }
  .page-hero--dark .tline > div:nth-child(4)::before{ animation-delay:.98s,1.13s,3.4s; }

  /* popisy nabiehajú tesne za svojím bodom */
  .page-hero--dark .tline dt,
  .page-hero--dark .tline dd{ animation:tlText .5s ease-out both; }
  .page-hero--dark .tline > div:nth-child(1) dt,
  .page-hero--dark .tline > div:nth-child(1) dd{ animation-delay:.3s; }
  .page-hero--dark .tline > div:nth-child(2) dt,
  .page-hero--dark .tline > div:nth-child(2) dd{ animation-delay:.54s; }
  .page-hero--dark .tline > div:nth-child(3) dt,
  .page-hero--dark .tline > div:nth-child(3) dd{ animation-delay:.8s; }
  .page-hero--dark .tline > div:nth-child(4) dt,
  .page-hero--dark .tline > div:nth-child(4) dd{ animation-delay:1.1s; }
}

@keyframes tlLinka{
  from{ clip-path:inset(-4px 100% -4px 0); }
  to{   clip-path:inset(-4px 0 -4px 0); }
}
@keyframes tlBod{
  0%{ transform:scale(0); }
  62%{ transform:scale(1.28); }
  100%{ transform:scale(1); }
}
@keyframes tlKruh{
  from{ box-shadow:0 0 0 0 var(--tl-ziara, rgba(255,255,255,.4)); }
  to{   box-shadow:0 0 0 16px rgba(255,255,255,0); }
}
@keyframes tlText{
  from{ opacity:0; transform:translateY(8px); }
  to{   opacity:1; transform:none; }
}
@keyframes tlPulz{
  0%,100%{ box-shadow:0 0 0 0 rgba(255,255,255,0); }
  45%{ box-shadow:0 0 0 8px var(--tl-dych, rgba(255,255,255,.18)); }
}


/* Fólio bez hornej linky — pásmo sadá na anatómiu homepage; kreslené
   podčiarknutie sa vracia, vo farbe sekcie. Číslo (N0) ide aj tu von —
   nesie ho pruh; fólio nesie len kicker. */
main > section.pgs .qfolio__n{ display:none !important; }
main > section.pgs .qfolio{ border-top:0 !important; padding-top:0 !important; margin-bottom:16px !important; }
main > section.pgs h2.rule-draw::after{
  display:block !important; background:var(--sek-txt,#00707B) !important;
}


/* v78 · súvisiace služby vo farbe cieľa (K1 rail) · biele pásy preč */
.pgs--soft{margin-top:0 !important;}
.rel{border-left:3px solid var(--relc, var(--hairline)) !important;
  border-radius:0 12px 12px 0 !important;}
.rel::before{content:none !important;} /* starý jantárový pás hore — farbu nesie K1 rail */
/* hover zdvih zjednotený na celom webe (R07: karty −3 px) — mali ho len d2/d3 */
.rel{transition:transform 240ms cubic-bezier(.22,1,.36,1),box-shadow 240ms ease;}
.rel:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(9,30,45,.12);}
.rel__ico{color:var(--relt, #00707B) !important;}
@media (min-width: 900px){
  /* raster súvisiacich služieb na VŠETKÝCH stránkach (predtým len zelené) */
  main[data-accent] .rel-grid{margin-left:74px;}
}


/* v89 · perex — zvýraznené pojmy a čitateľné zalomenie */
.page-hero p.page-hero__perex{max-width:56ch;text-wrap:pretty;}
.page-hero--dark p.page-hero__perex strong{color:#EAF3F7;font-weight:700;}
.page-hero:not(.page-hero--dark) p.page-hero__perex strong{color:#003B5C;font-weight:700;}


/* v92 · pás divízie v hero · animácie pri scrolle · raster teal */
.page-hero.page-hero--rail::before{content:"" !important;position:absolute !important;
  left:0 !important;right:auto !important;top:0 !important;bottom:auto !important;
  width:10px !important;height:100% !important;transform:none !important;
  background:linear-gradient(180deg,#5AC8D4,#00707B 62%,rgba(0,0,0,0)) !important;
  z-index:6;opacity:1;pointer-events:none;animation:none !important;}
@media(max-width:760px){.page-hero.page-hero--rail::before{width:6px;}}
@media(min-width:900px){
  main[data-accent="teal"] .pgs h2.rule-draw{padding-left:74px;}
  main[data-accent="teal"] .pgs h2.rule-draw::before{position:absolute;left:0;top:.34em;}
  main[data-accent="teal"] .pgs>.container>p,
  main[data-accent="teal"] .pgs>.container>ul,
  main[data-accent="teal"] .pgs>.container>ol{padding-left:74px;}
  main[data-accent="teal"] .pgs h2.rule-draw:not([data-qn]){padding-left:0;}
}
@media(prefers-reduced-motion:no-preference){
  html.reveal-armed main[data-accent] .pgs .container > p,
  html.reveal-armed main[data-accent] .pgs .container > ul > li,
  html.reveal-armed main[data-accent] .pgs .container > ol:not(.krokrad):not(.kk__list) > li{
    opacity:0;transform:translateY(12px);}
  html.reveal-armed main[data-accent] [data-reveal].is-visible .container > p,
  html.reveal-armed main[data-accent] [data-reveal].is-visible .container > ul > li,
  html.reveal-armed main[data-accent] [data-reveal].is-visible .container > ol:not(.krokrad):not(.kk__list) > li{
    opacity:1;transform:none;
    transition:opacity 520ms ease,transform 520ms cubic-bezier(.22,1,.36,1);}
  html.reveal-armed main[data-accent] [data-reveal].is-visible .container > p:nth-of-type(2){transition-delay:90ms;}
  html.reveal-armed main[data-accent] [data-reveal].is-visible .container > p:nth-of-type(n+3){transition-delay:170ms;}
  html.reveal-armed main[data-accent] [data-reveal].is-visible .container > ul > li:nth-child(2){transition-delay:80ms;}
  html.reveal-armed main[data-accent] [data-reveal].is-visible .container > ul > li:nth-child(3){transition-delay:160ms;}
  html.reveal-armed main[data-accent] [data-reveal].is-visible .container > ul > li:nth-child(n+4){transition-delay:240ms;}
  html.reveal-armed .rel,html.reveal-armed .qpc,html.reveal-armed .hub-card{
    opacity:0;transform:translateY(16px);}
  html.reveal-armed [data-reveal].is-visible .rel,
  html.reveal-armed [data-reveal].is-visible .qpc,
  html.reveal-armed [data-reveal].is-visible .hub-card{opacity:1;transform:none;
    transition:opacity 560ms ease,transform 560ms cubic-bezier(.22,1,.36,1);}
  html.reveal-armed [data-reveal].is-visible .rel:nth-child(2),
  html.reveal-armed [data-reveal].is-visible .qpc:nth-child(2){transition-delay:110ms;}
  html.reveal-armed [data-reveal].is-visible .rel:nth-child(3),
  html.reveal-armed [data-reveal].is-visible .qpc:nth-child(3){transition-delay:220ms;}
  html.reveal-armed [data-reveal].is-visible .rel:nth-child(n+4){transition-delay:300ms;}
}


/* v106 · bez JS sa nič neskrýva — guard chýbal v pravidlách vynorenia.
   Každý selektor má vlastné pravidlo: v jednom zozname by jediný
   neplatný selektor zhodil celé pravidlo. */
html:not(.reveal-armed) .kk__r{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .sx__txt > p{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .sxa{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .techtbl{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .techtbl__r{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .techtbl dd{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .dia{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .d1foto{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .d1uc{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .d1uc__kick{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .d1uc__telo > h3{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .d1uc__telo > p{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .d1pc{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .d1pc > h3{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .d1pc > p{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .qpl__list > li{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .qpl__note{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .qha__node{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .qha__stor{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .qpr__desc{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .chips > span{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .dxfoto{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .d3li__s{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .d3uc{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .qpc{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .pcert{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .div-module{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .div-tech{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .kr__krok{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .dzoz > li{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .qsch__col{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .qst__row{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .hwkarta{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .trow{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .hh-card{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .hh-card__t{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .hh-card__l{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .hh-card__l > li{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) dd{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) svg text{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .rz__side{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .rz__main{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .rz__tech{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .vs__big{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .vs__fill{opacity:1 !important;transform:none !important;visibility:visible !important;}
html:not(.reveal-armed) .div-tech{max-height:none !important;overflow:visible !important;}
