@charset "UTF-8";
/* Rekonstruuju stavby — vzhled veřejného webu podle grafického návrhu (náhled 68). */
:root{
  --blue:#00A6D8;
  --blue-600:#0093C2;
  --navy:#0E2A45;
  --navy-900:#0A2036;
  --ink:#13263A;
  --text:#4A5B6D;
  --muted:#5F6E7E;
  --blue-btn:#0079A6;
  --blue-btn-h:#006A91;
  --blue-text:#0079A6;
  --blue-head:#0090BF;
  --line:#DDE8F0;
  --sky:#E5F4FB;
  --sky-2:#F1F9FD;
  --bg:#FFFFFF;
  --radius-lg:18px;
  --radius:12px;
  --radius-sm:8px;
  --shadow:0 18px 40px -22px rgba(14,42,69,.35);
  --display:"Lexend","Segoe UI","Helvetica Neue",Arial,sans-serif;
  --body:"Open Sans","Segoe UI","Helvetica Neue",Arial,sans-serif;
  --wrap:1520px;
  --pad:clamp(18px,3vw,40px);
  --header-h:84px;
}
*,*::before,*::after{box-sizing:border-box}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + env(safe-area-inset-top,0px))}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
html{overflow-x:clip}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:var(--display);color:var(--ink);margin:0;letter-spacing:-.02em}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.blue{color:var(--blue-head)}
.kontakty .blue,.steps-band .blue{color:#00A6D8}
.eyebrow{font-family:var(--body);font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#5B6B7C;margin-bottom:14px}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:14px;border:0;border-radius:var(--radius-sm);padding:16px 26px;font-family:var(--display);font-weight:500;font-size:16px;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s;white-space:nowrap}
.btn svg{width:16px;height:16px;flex:none}
.btn-primary{background:var(--blue-btn);color:#fff;box-shadow:0 10px 24px -12px rgba(0,121,166,.75)}
.btn-primary:hover{background:var(--blue-btn-h)}
.btn-dark{background:var(--navy);color:#fff}
.btn-dark:hover{background:#163a5c}
.btn-link{background:none;color:var(--ink);padding:16px 6px;font-weight:600}
.btn-link svg{transition:transform .2s}
.btn-link:hover svg{transform:translateX(4px)}
.btn:active{transform:translateY(1px)}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);transition:box-shadow .25s}
.site-header.open{z-index:90}
.site-header.scrolled{box-shadow:0 1px 0 var(--line),0 10px 30px -24px rgba(14,42,69,.5)}
.header-inner{height:var(--header-h);display:flex;align-items:center;gap:40px}
.logo{display:block;flex:none}
.logo img{height:46px;width:auto}
.main-nav{display:flex;gap:clamp(20px,2.2vw,36px);margin-left:auto;margin-right:auto}
.main-nav a{text-decoration:none;font-size:15px;font-weight:500;color:var(--ink);position:relative;padding:6px 0}
.main-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.main-nav a:hover::after,.main-nav a.active::after{transform:scaleX(1)}
.header-cta{padding:14px 24px;font-size:15px}
.main-nav .mobile-cta{display:none}
.burger{display:none;margin-left:auto;width:46px;height:46px;border:1px solid var(--line);border-radius:10px;background:#fff;align-items:center;justify-content:center}
.burger span,.burger span::before,.burger span::after{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;position:relative;transition:transform .25s,background .25s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}
.burger span::before{top:-6px}.burger span::after{top:6px}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}

/* ---------- decorative squares ---------- */
.sq{position:absolute;border-radius:10px;background:linear-gradient(135deg,rgba(0,166,216,.16),rgba(0,166,216,.06));pointer-events:none}

/* ---------- hero ---------- */
.hero{position:relative;padding:clamp(20px,3vh,40px) 0 clamp(36px,5vh,64px);min-height:calc(100svh - var(--header-h));display:flex;align-items:center;background:radial-gradient(1200px 500px at 20% 0%,#F4FAFE 0%,rgba(255,255,255,0) 70%)}
.hero-grid{display:grid;grid-template-columns:30fr 70fr;gap:clamp(24px,3vw,56px);align-items:center;width:100%}
.hero-copy{position:relative;z-index:2}
.hero h1{font-size:clamp(42px,4.5vw,78px);line-height:1;font-weight:700;letter-spacing:-.035em;margin:6px 0 28px}
.hero h1 span{display:block;white-space:nowrap}
.hero-lead{font-size:clamp(17px,1.2vw,19px);line-height:1.6;color:#3E5064;max-width:34ch}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;margin-top:clamp(32px,4vh,52px)}
.hero-actions .btn-primary{padding:17px 26px;font-size:16px}
.hero-actions{flex-direction:column;align-items:flex-start;gap:6px!important}
.hero-actions .btn-link{padding-left:2px}
.hero-squares .sq:nth-child(1){width:34px;height:34px;left:62%;top:-70px}
.hero-squares .sq:nth-child(2){width:62px;height:62px;left:72%;top:-40px}
.hero-squares .sq:nth-child(3){width:36px;height:36px;left:66%;top:40px;opacity:.7}

.hero-visual{position:relative}
.stage{position:relative}
.frame{position:relative;aspect-ratio:3/2;max-height:calc(100svh - var(--header-h) - 96px);width:100%;border-radius:var(--radius-lg);overflow:hidden;background:#dfe9f0;isolation:isolate}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .55s ease,visibility 0s linear .55s}
.slide.is-active{opacity:1;visibility:visible;transition:opacity .55s ease,visibility 0s}
.slide>img{width:100%;height:100%;object-fit:cover}
.notch{position:absolute;background:var(--bg);z-index:4}
.notch-left{left:-1px;bottom:-1px;width:12.2%;height:34%;border-top-right-radius:var(--radius-lg)}
.notch-right{display:none}
.blueprint{position:absolute;left:-118px;bottom:-14px;width:min(240px,18vw);z-index:5;pointer-events:none;opacity:.9}
.detail{position:absolute;right:16px;bottom:16px;width:clamp(160px,19%,230px);z-index:6;margin:0;background:#fff;padding:8px 8px 10px;border-radius:16px;box-shadow:0 24px 48px -20px rgba(14,42,69,.5)}
.detail img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block}
.detail p{font-size:12.5px;line-height:1.4;color:var(--ink);margin:8px 4px 0}
.hero-points{list-style:none;padding:0;margin:clamp(24px,3.5vh,40px) 0 0;display:flex;flex-direction:column;gap:10px;font-size:15px;color:var(--ink);font-weight:500}
.hero-points li{display:flex;align-items:center;gap:9px}
.hero-points li::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--blue)}
.hero-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px;padding-left:16%}
.hero-caption{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#5B6B7C;font-weight:600}
.pager{display:flex;align-items:center;gap:14px}
.pager-count{font-family:var(--display);font-size:14px;color:var(--muted);min-width:56px;text-align:right}
.pager-count strong{color:var(--ink);font-weight:600}
.round-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);transition:border-color .2s,background .2s}
.round-btn:hover{border-color:var(--blue);color:var(--blue)}
.round-btn svg{width:16px;height:16px}

/* ---------- before / after ---------- */
.ba{position:absolute;inset:0;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:ew-resize;--pos:50%}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba-line{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:var(--blue);box-shadow:0 0 0 1px rgba(255,255,255,.35)}
.ba-handle{position:absolute;top:50%;left:var(--pos);width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:var(--blue);border:3px solid #fff;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px -6px rgba(0,0,0,.45);cursor:grab;padding:0}
.ba-handle svg{width:20px;height:20px}
.ba.dragging .ba-handle{cursor:grabbing;transform:scale(1.06)}
.tag-label{position:absolute;top:18px;z-index:3;font-family:var(--display);font-size:13px;font-weight:600;padding:7px 14px;border-radius:7px;letter-spacing:.04em}
.tag-before{left:18px;background:rgba(14,42,69,.88);color:#fff}
.tag-after{right:18px;background:#fff;color:var(--ink)}

/* ---------- benefits strip ---------- */
.benefits{background:var(--sky);margin-top:12px}
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);padding-top:30px;padding-bottom:30px}
.benefit{display:flex;gap:22px;align-items:center;padding:6px clamp(16px,3vw,48px)}
.benefit+.benefit{border-left:1px solid #C9E3F0}
.benefit:first-child{padding-left:clamp(0px,1.6vw,30px)}
.benefit svg{width:58px;height:58px;flex:none;color:var(--blue)}
.benefit h3{font-size:17px;font-weight:600;margin-bottom:4px}
.benefit p{font-size:15px;line-height:1.5;color:var(--text)}

/* ---------- sections ---------- */
.section{padding:clamp(56px,6vw,88px) 0}
.sec-head{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:end;margin-bottom:clamp(28px,3vw,40px)}
.sec-head h2,.h2{font-size:clamp(34px,3.9vw,56px);line-height:1.04;font-weight:700;letter-spacing:-.03em}
.sec-head p{font-size:17px;line-height:1.65;max-width:46ch;padding-bottom:10px;color:#4A5B6D}
.sec-head .lead-top{align-self:start;padding-top:38px}

/* cards */
.cards{display:grid;grid-template-columns:1.16fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:clamp(460px,37vw,540px)}
.card{position:relative;border-radius:var(--radius-lg);overflow:hidden;color:#fff;text-decoration:none;display:block;background:#2b3a48}
.card.big{grid-row:span 2}
.card img{position:absolute;inset:-6% 0;width:100%;height:112%;object-fit:cover;scale:var(--ps,1);transition:scale .7s cubic-bezier(.2,.7,.2,1);will-change:translate;backface-visibility:hidden}
.card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,22,38,0) 30%,rgba(8,22,38,.55) 62%,rgba(8,22,38,.88) 100%)}
.card.big::after{background:linear-gradient(180deg,rgba(8,22,38,0) 48%,rgba(8,22,38,.62) 74%,rgba(8,22,38,.9) 100%)}
.card-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(18px,2vw,30px);padding-right:96px}
.card-num{font-family:var(--display);font-size:15px;opacity:.9}
.card h3{color:#fff;font-size:clamp(22px,1.9vw,28px);font-weight:600;margin:4px 0 8px}
.card p{font-size:15px;line-height:1.5;color:rgba(255,255,255,.88);max-width:44ch}
.card-arrow{position:absolute;right:clamp(16px,1.8vw,26px);bottom:clamp(16px,1.8vw,26px);z-index:2;width:52px;height:52px;border-radius:12px;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}
.card-arrow svg{width:20px;height:20px}
.card:hover{--ps:1.05}
.card:hover .card-arrow{background:var(--blue);color:#fff}

/* approach */
.approach{background:linear-gradient(180deg,#E3F3FB 0%,#EEF8FD 100%);position:relative;overflow:hidden}
.approach-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(30px,4vw,64px);align-items:start}
.approach-visual{position:sticky;top:calc(var(--header-h) + 32px)}
.approach-visual{position:relative;padding-right:9%}
.approach-visual>img{width:100%;aspect-ratio:326/239;object-fit:cover;border-radius:var(--radius-lg)}
.thesis{position:absolute;right:0;top:29%;width:30%;min-width:180px;aspect-ratio:130/143;background:var(--navy);border-radius:var(--radius-lg);padding:clamp(18px,2vw,30px);color:#fff;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow)}
.thesis svg{width:clamp(44px,4.4vw,64px);height:auto}
.thesis p{font-family:var(--display);font-weight:600;font-size:clamp(17px,1.5vw,23px);line-height:1.2;color:#fff}
.approach .sq.a{width:44px;height:44px;left:40%;top:10%;opacity:.7}
.approach .sq.b{width:70px;height:70px;left:43%;top:15%;opacity:.5}
.approach-lead{font-size:17px;line-height:1.65;color:#3E5064;margin:0 0 24px;max-width:52ch}
.approach .h2{margin-bottom:18px;font-size:clamp(28px,2.75vw,42px);line-height:1.1}
.acc{display:flex;flex-direction:column;gap:10px}
.acc-item{background:#fff;border-radius:14px;box-shadow:0 1px 0 rgba(14,42,69,.04),0 12px 30px -24px rgba(14,42,69,.4);transition:box-shadow .2s}
.acc-btn{width:100%;display:flex;align-items:center;gap:28px;padding:20px 26px;background:none;border:0;text-align:left;color:var(--ink)}
.acc-num{font-family:var(--display);font-size:15px;color:#5B6B7C;min-width:22px}
.acc-title{font-family:var(--display);font-weight:600;font-size:17px;flex:1}
.acc-icon{width:22px;height:22px;position:relative;color:var(--blue)}
.acc-icon::before,.acc-icon::after{content:"";position:absolute;left:2px;right:2px;top:50%;height:2px;margin-top:-1px;background:currentColor;border-radius:2px;transition:transform .3s}
.acc-icon::after{transform:rotate(90deg)}
.acc-btn[aria-expanded="true"] .acc-icon::after{transform:rotate(0)}
.acc-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}
.acc-panel>div{overflow:hidden}
.acc-panel p{padding:0 26px 22px 76px;font-size:15px;line-height:1.6;color:var(--text);max-width:62ch}
.acc-item.open .acc-panel{grid-template-rows:1fr}

/* intake */
.intake{margin-top:clamp(40px,5vw,64px);background:#fff;border-radius:22px;padding:clamp(24px,3vw,40px);box-shadow:0 24px 50px -40px rgba(14,42,69,.55);display:grid;grid-template-columns:1fr 2.6fr;gap:clamp(20px,3vw,48px);align-items:start;position:relative;z-index:1}
.intake-head h3{font-size:clamp(22px,1.9vw,28px);font-weight:600;line-height:1.2;margin-bottom:10px}
.intake-head p{font-size:15px;line-height:1.6;margin-bottom:22px}
.intake-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;counter-reset:ik}
.intake-list li{background:var(--sky-2);border-radius:14px;padding:20px 18px;counter-increment:ik;position:relative}
.intake-list li::after{content:counter(ik,decimal-leading-zero);position:absolute;right:16px;top:18px;font-family:var(--display);font-size:13px;color:#8DA3B6}
.intake-list svg{width:30px;height:30px;color:var(--blue);margin-bottom:14px}
.intake-list strong{display:block;font-family:var(--display);font-weight:600;color:var(--ink);font-size:16px;margin-bottom:6px}
.intake-list span{font-size:14px;line-height:1.55;display:block}
.intake-cta{grid-column:2;display:flex;justify-content:flex-end}

/* showcase */
.showcase{display:grid;grid-template-columns:minmax(0,526fr) minmax(0,214fr);gap:10px;align-items:stretch}
.show-left{position:relative;aspect-ratio:526/255;align-self:start;min-width:0}
.show-ba{position:absolute;inset:0;border-radius:var(--radius-lg);overflow:hidden}
.show-living{position:absolute;left:54.2%;top:66.4%;right:0;bottom:0;z-index:4;background:var(--bg);padding:6px 0 0 6px;border-top-left-radius:22px}
.show-living img{width:100%;height:100%;object-fit:cover;border-radius:12px 0 var(--radius-lg) 0;cursor:zoom-in}
.show-right{display:flex;flex-direction:column;justify-content:space-between;gap:8px;padding-left:6px}
.show-panel{padding:2px 0 0 12px}
.show-panel h3{font-size:22px;font-weight:600;margin-bottom:10px}
.show-panel p{font-size:15px;line-height:1.6}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 16px}
.tags span{background:#EEF3F8;color:var(--ink);font-size:13.5px;padding:8px 16px;border-radius:10px}
.show-bath img{width:100%;aspect-ratio:208/85;object-fit:cover;border-radius:12px;cursor:zoom-in}

/* references */
.refs-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.filters button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:10px 16px;font-size:14px;font-weight:500;transition:background .2s,border-color .2s,color .2s}
.filters button:hover{border-color:var(--blue-text);color:var(--blue-text)}
.filters button.is-on{background:var(--navy);border-color:var(--navy);color:#fff}
.refs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(220px,19vw,290px);gap:12px}
.ref{position:relative;border-radius:var(--radius-lg);overflow:hidden;cursor:zoom-in;background:#2b3a48;color:#fff;isolation:isolate}
.ref.r-big{grid-column:span 2;grid-row:span 2}
.ref.r-wide{grid-column:span 2}
.refs-grid.filtered .ref{grid-column:auto;grid-row:auto}
.ref[hidden]{display:none}
.ref img{position:absolute;inset:-6% 0;width:100%;height:112%;object-fit:cover;scale:var(--ps,1);transition:scale .7s cubic-bezier(.2,.7,.2,1),clip-path .6s cubic-bezier(.7,0,.2,1);will-change:translate;backface-visibility:hidden}
.ref .ref-before{clip-path:inset(0 100% 0 0)}
.ref.show-before .ref-before{clip-path:inset(0 0 0 0)}
.ref::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,22,38,0) 45%,rgba(8,22,38,.82) 100%);z-index:1;pointer-events:none}
.ref:hover{--ps:1}
.ref-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(16px,1.6vw,24px)}
.ref-cat{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.06em;background:rgba(14,42,69,.55);padding:5px 10px;border-radius:7px;margin-bottom:10px}
.ref h3{color:#fff;font-size:clamp(18px,1.5vw,22px);font-weight:600;margin-bottom:4px}
.ref.r-big h3{font-size:clamp(22px,2vw,30px)}
.ref p{font-size:14px;color:rgba(255,255,255,.85)}
.ref-toggle{position:absolute;top:16px;right:16px;z-index:3;border:0;background:#fff;color:var(--ink);font-family:var(--display);font-size:13px;font-weight:600;padding:8px 14px;border-radius:9px;box-shadow:0 6px 16px -8px rgba(0,0,0,.5)}
.ref-toggle[aria-pressed="true"]{background:var(--navy);color:#fff}
.refs-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:22px;padding:20px 24px;border:1px solid var(--line);border-radius:16px}
.refs-foot p{font-family:var(--display);font-size:18px;color:var(--ink);font-weight:500}

/* steps */
.steps-band{background:var(--navy);color:#fff;position:relative;overflow:hidden;padding:clamp(48px,5vw,72px) 0 clamp(52px,5vw,76px)}
.steps-band .eyebrow{color:#9FB3C6}
.steps-band h2{color:#fff;font-size:clamp(32px,3.6vw,52px);font-weight:700;letter-spacing:-.03em;position:relative;z-index:2}
.wire{position:absolute;right:-10px;top:-6px;width:min(820px,56vw);height:auto;color:#3B8FC9;opacity:.55;-webkit-mask-image:linear-gradient(180deg,#000 55%,rgba(0,0,0,.35) 75%,transparent 96%);mask-image:linear-gradient(180deg,#000 55%,rgba(0,0,0,.35) 75%,transparent 96%);pointer-events:none}
.steps{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 24px;position:relative;z-index:2}
.steps::before{content:"";position:absolute;left:30px;right:calc((100% - 72px) / 4);top:30px;height:2px;background:linear-gradient(90deg,var(--blue),rgba(0,166,216,.6))}
.step{display:contents}
.step-btn{grid-row:1;display:flex;flex-direction:column;align-items:flex-start;gap:0;text-align:left;background:none;border:0;padding:0 0 6px;color:inherit;cursor:pointer}
.step-num{width:62px;height:62px;border-radius:12px;background:#0089B5;color:#fff;font-family:var(--display);font-size:24px;font-weight:600;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 8px var(--navy);position:relative;z-index:1;transition:box-shadow .3s,transform .3s}
.step-txt{display:block;padding-left:clamp(0px,3.6vw,48px);margin-top:20px}
.step-txt strong{display:block;color:#fff;font-family:var(--display);font-size:18px;font-weight:600;margin-bottom:8px}
.step-txt>span{display:block;color:#C3D1DE;font-size:15px;line-height:1.55;max-width:28ch}
.step-txt em{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-style:normal;font-size:13.5px;font-weight:600;color:#5fd3f5}
.step-txt em .ii{position:relative;width:18px;height:18px;border-radius:5px;border:1.5px solid currentColor}
.step-txt em .ii::before,.step-txt em .ii::after{content:"";position:absolute;left:3px;right:3px;top:50%;height:1.5px;margin-top:-.75px;background:currentColor;transition:transform .3s}
.step-txt em .ii::after{transform:rotate(90deg)}
.step-btn:hover .step-num{transform:translateY(-2px)}
.step-btn[aria-expanded="true"] .step-num{box-shadow:0 0 0 8px var(--navy),0 0 0 11px rgba(0,166,216,.45)}
.step-btn[aria-expanded="true"] em .ii::after{transform:rotate(0)}
.step-panel{grid-row:2;grid-column:1 / -1;display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.2,.7,.2,1)}
.step-panel>div{overflow:hidden}
.step-panel.open{grid-template-rows:1fr}
.step-panel-in{margin-top:22px;display:grid;grid-template-columns:.8fr 1.4fr 1fr;gap:20px 40px;align-items:start;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:26px 28px}
.step-panel-in h3{color:#fff;font-size:22px;font-weight:600;margin-top:4px}
.sp-k{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#9FB3C6;font-weight:600}
.step-panel-in ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.step-panel-in li{display:flex;gap:10px;align-items:flex-start;color:#E3ECF3;font-size:15px;line-height:1.5}
.step-panel-in li svg{width:20px;height:20px;padding:3px;border-radius:6px;background:rgba(0,166,216,.25);color:#5fd3f5;flex:none}
.sp-out{color:#C3D1DE;font-size:15px;line-height:1.55;border-left:2px solid var(--blue);padding-left:16px}
.sp-out strong{display:block;color:#fff;font-family:var(--display);font-weight:600;margin-bottom:4px}
.steps-hint{margin-top:18px;font-size:13.5px;color:#9FB3C6;position:relative;z-index:2}
/* team */
.team-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,3vw,44px);align-items:center}
.team-grid .h2{font-size:clamp(26px,2.3vw,36px);line-height:1.12}
.nowrap-lg{white-space:nowrap}
.disciplines{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 18px 40px -34px rgba(14,42,69,.5);overflow:hidden}
.disc{display:flex;flex-direction:column;gap:14px;text-decoration:none;padding:22px 20px;transition:background .2s}
.disc+.disc{border-left:1px solid var(--line)}
.disc:hover{background:var(--sky-2)}
.disc-logo{height:52px;display:flex;align-items:center}
.disc-logo img{max-height:46px;max-width:100%;width:auto;height:auto}
.wm{display:inline-flex;flex-direction:column;font-family:"Open Sans",var(--body);color:#1E7FC1;line-height:.9;font-size:30px;font-weight:500;letter-spacing:-.01em}
.wm small{font-size:12.5px;font-weight:600;letter-spacing:.02em;margin-bottom:3px}
.disc-txt strong{display:block;font-family:var(--display);font-weight:600;font-size:15px;color:var(--ink);margin-bottom:2px}
.disc-txt span{font-size:13px;line-height:1.45;color:var(--muted);display:block}

/* cta */
.cta{padding:0 0 clamp(30px,3vw,44px)}
.cta-card{position:relative;display:grid;grid-template-columns:36% 1fr;align-items:stretch;background:linear-gradient(90deg,#E8F5FC,#DDF0FA);border-radius:22px;overflow:hidden;min-height:clamp(230px,16vw,260px)}
.cta-photo{position:relative;overflow:hidden;border-radius:22px}
.cta-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:22px}
.cta-body{position:relative;padding:clamp(28px,3vw,44px) clamp(24px,4vw,64px) clamp(28px,3vw,44px) clamp(150px,20vw,290px)}
.cta-cross{position:absolute;left:-60px;top:50%;transform:translateY(-50%);width:clamp(160px,18vw,250px);z-index:2;filter:drop-shadow(0 18px 30px rgba(0,120,170,.25))}
.cta-ghost{position:absolute;border-radius:14px;background:rgba(255,255,255,.4);border:1px solid rgba(255,255,255,.7)}
.cta-ghost.g1{left:-96px;top:12%;width:110px;height:150px}
.cta-ghost.g2{left:15%;top:16%;width:34px;height:34px;background:rgba(0,166,216,.12);border:0}
.cta-body h2{color:var(--blue);font-size:clamp(28px,2.7vw,40px);line-height:1.12;font-weight:700;max-width:16ch}
.cta-body p{font-size:18px;color:var(--ink);margin:12px 0 22px}

/* footer */
.site-footer{border-top:1px solid #EEF2F6}
.footer-inner{display:flex;align-items:center;gap:40px;padding-top:22px;padding-bottom:22px}
.footer-inner .logo img{height:40px}
.footer-nav{display:flex;gap:36px;margin:0 auto}
.footer-nav a,.group-link{font-size:14px;text-decoration:none;color:#3E5064}
.footer-nav a:hover,.group-link:hover{color:var(--blue-text)}
.footer-bottom{border-top:1px solid #EEF2F6;padding:14px 0 18px;font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.footer-bottom a{text-decoration:none;color:var(--muted)}
.footer-bottom a:hover{color:var(--blue-text)}

/* ---------- dialogs ---------- */
dialog{border:0;padding:0;border-radius:20px;max-width:min(680px,calc(100vw - 28px));width:100%;overflow-x:hidden;overscroll-behavior:contain;color:var(--text);box-shadow:0 40px 80px -30px rgba(10,32,54,.6)}
dialog::backdrop{background:rgba(10,32,54,.55);backdrop-filter:blur(3px)}
.dlg-head{display:flex;align-items:flex-start;gap:16px;padding:28px 30px 8px}
.dlg-head h2{font-size:28px;line-height:1.15;font-weight:700}
.dlg-head p{margin-top:6px;font-size:15px}
.dlg-close{margin-left:auto;flex:none}
form.contact{padding:14px 30px 30px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
/* po odeslání se formulář skryje a místo něj je poděkování (display:grid jinak přebije atribut hidden) */
form.contact[hidden]{display:none}
form.contact .field{min-width:0}

.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1 / -1}
.field label{font-size:13.5px;font-weight:600;color:var(--ink)}
.field input,.field select,.field textarea{font:inherit;font-size:15px;color:var(--ink);border:1px solid #CFDCE6;border-radius:10px;padding:12px 14px;background:#fff;transition:border-color .2s,box-shadow .2s;width:100%}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,166,216,.15)}
.field .err{font-size:12.5px;color:#C0392B;min-height:0;display:none}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#D9534F}
.field.invalid .err{display:block}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{font-weight:500;font-size:14px;border:1px solid #CFDCE6;border-radius:10px;padding:9px 14px;cursor:pointer;color:var(--ink);transition:all .2s}
.chips label{position:relative}
.chips input{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;pointer-events:none}
.chips input:checked+span{color:#fff}
.chips label:has(input:checked){background:var(--blue-btn);border-color:var(--blue-btn);color:#fff}
.chips label:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:2px}
.consent{grid-column:1 / -1;display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.5}
.consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--blue);flex:none}
/* zaškrtávátko vlastní kresbou: fajfka po zaškrtnutí vždy bílá (nativní na světle modré kreslí černou) */
.consent input{-webkit-appearance:none;appearance:none;display:inline-grid;place-content:center;margin:2px 0 0;border:2px solid #9fb3c1;border-radius:4px;background:#fff;cursor:pointer;transition:background .15s,border-color .15s}
.consent input:checked{background:var(--blue);border-color:var(--blue)}
.consent input::after{content:"";width:5px;height:10px;margin-top:-2px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(0);transition:transform .15s}
.consent input:checked::after{transform:rotate(45deg) scale(1)}
.consent input:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.consent input:disabled{opacity:.5;cursor:not-allowed}

.consent.invalid{color:#C0392B}
.form-actions{grid-column:1 / -1;display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:4px}
.form-note{font-size:13px;color:var(--muted)}
.success{padding:10px 30px 36px;display:none;text-align:left}
.success.show{display:block}
.success svg{width:56px;height:56px;margin-bottom:14px}
.success h3{font-size:24px;margin-bottom:8px}

.lightbox{max-width:min(1180px,calc(100vw - 28px));background:var(--navy-900);color:#fff}
.lb-stage{position:relative}
.lb-stage img{width:100%;max-height:78vh;object-fit:contain;background:#000}
.lb-bar{display:flex;align-items:center;gap:14px;padding:14px 18px}
.lb-bar p{flex:1;font-size:15px;color:#DCE6EF}
.lightbox .round-btn{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.lightbox .round-btn:hover{border-color:var(--blue);color:var(--blue)}

.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%,140%);background:var(--navy);color:#fff;padding:12px 20px;border-radius:12px;font-size:14px;z-index:90;transition:transform .35s ease;box-shadow:var(--shadow)}
.toast.show{transform:translate(-50%,0)}

/* ---------- load sequence (single orchestrated moment) ---------- */
.js .hero h1 span,.js .hero-lead,.js .hero-actions,.js .eyebrow-hero{opacity:0;transform:translateY(18px)}
.js .hero-visual{opacity:0;transform:scale(.985)}
.loaded .hero h1 span,.loaded .hero-lead,.loaded .hero-actions,.loaded .eyebrow-hero,.loaded .hero-visual{opacity:1;transform:none;transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.loaded .hero h1 span:nth-child(2){transition-delay:.08s}
.loaded .hero h1 span:nth-child(3){transition-delay:.16s}
.loaded .hero-lead{transition-delay:.26s}
.loaded .hero-actions{transition-delay:.34s}
.loaded .hero-visual{transition-delay:.12s}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important}
  html{scroll-behavior:auto}
  .js .hero h1 span,.js .hero-lead,.js .hero-actions,.js .eyebrow-hero,.js .hero-visual{opacity:1;transform:none}
}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .main-nav{gap:28px}
  .disciplines{grid-template-columns:repeat(3,minmax(0,1fr))}
  .disc:nth-child(4){border-left:0}
  .disc:nth-child(n+4){border-top:1px solid var(--line)}
  .team-grid{grid-template-columns:1fr}
  .nowrap-lg{white-space:normal}
}
@media (max-width:980px){
  :root{--header-h:72px}
  .logo img{height:40px}
  .main-nav,.header-cta{display:none}
  .burger{display:inline-flex}
  .site-header.open .main-nav{display:flex;position:absolute;top:var(--header-h);left:0;right:0;flex-direction:column;gap:0;background:#fff;padding:8px var(--pad) 18px;box-shadow:0 20px 30px -20px rgba(14,42,69,.35);margin:0;max-height:calc(100dvh - var(--header-h));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  html.menu-open{overflow:hidden}
  .footer-nav a{padding:10px 0;display:inline-block}
  .footer-bottom nav a{padding:8px 0;display:inline-block}
  .group-link{padding:10px 0;display:inline-block}
  .site-header.open .main-nav a{padding:14px 0;border-bottom:1px solid var(--line);font-size:17px}
  .site-header.open .main-nav a::after{display:none}
  .site-header.open .main-nav .mobile-cta{display:flex;margin-top:16px;justify-content:center}
  .hero-grid{grid-template-columns:1fr}
  .hero{min-height:0}
  .frame{max-height:none}
  .hero-copy{padding-top:18px}
  .hero-actions{flex-direction:row;align-items:center}
  .hero-points{flex-direction:row;flex-wrap:wrap;gap:10px 22px}
  .hero-lead{max-width:44ch}
  .hero-squares{display:none}
  .benefits-grid{grid-template-columns:1fr;padding-top:14px;padding-bottom:14px}
  .benefit{padding:16px 0!important}
  .benefit+.benefit{border-left:0;border-top:1px solid #C9E3F0}
  .sec-head{grid-template-columns:1fr;gap:16px}
  .sec-head .lead-top{padding-top:0}
  .approach-grid{grid-template-columns:1fr}
  .approach-visual{position:relative;top:auto}
  .intake{grid-template-columns:1fr}
  .intake-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .showcase{grid-template-columns:1fr}
  .show-right{padding-left:0}
  .show-panel{padding:8px 0 0}
  .steps{grid-template-columns:1fr;row-gap:0}
  .steps::before{display:none}
  .step-btn{grid-row:auto!important;grid-column:1!important;flex-direction:row;gap:18px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)}
  .step-num{width:52px;height:52px;font-size:19px;box-shadow:none;flex:none}
  .step-btn[aria-expanded="true"] .step-num{box-shadow:0 0 0 3px rgba(0,166,216,.45)}
  .step-txt{padding-left:0;margin-top:0}
  .step-panel{grid-row:auto;grid-column:1}
  .step-panel-in{grid-template-columns:1fr;margin:8px 0 14px;padding:20px}
  .refs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ref.r-wide{grid-column:span 1}
  .wire{opacity:.25;width:80vw}
  .cta-card{grid-template-columns:1fr}
  .cta-photo{height:220px}
  .cta-body{padding:76px 24px 30px 24px}
  .cta-cross{left:auto;right:24px;top:-56px;transform:none;width:118px}
  .cta-ghost{display:none}
  .footer-inner{flex-wrap:wrap;gap:16px 30px}
  .footer-nav{margin:0;order:3;width:100%;flex-wrap:wrap;gap:12px 24px}
}
@media (max-width:640px){
  .hero h1{font-size:clamp(44px,13vw,60px)}
  .hero-actions .btn{width:100%;justify-content:center}
  .hero-actions{gap:6px}
  .hero-meta{padding-left:0;flex-wrap:wrap}
  .detail{width:34%;right:10px;bottom:10px;padding:5px;border-radius:12px}
  .detail img{border-radius:8px}
  .detail p{display:none}
  .blueprint{display:none}
  .tag-label{top:12px;font-size:12px;padding:6px 11px}
  .tag-before{left:12px}.tag-after{right:12px}
  .cards{grid-template-columns:1fr;grid-template-rows:none;height:auto}
  .card{min-height:260px}
  .card.big{grid-row:auto;min-height:340px}
  .approach-visual{padding-right:0;padding-bottom:110px}
  .thesis{top:auto;bottom:0;right:16px;width:62%;aspect-ratio:auto;gap:20px}
  .acc-btn{gap:16px;padding:18px}
  .acc-panel p{padding:0 18px 18px 56px}
  .refs-grid{grid-template-columns:1fr;grid-auto-rows:260px}
  .ref.r-big{grid-column:auto;grid-row:span 1}
  .filters{overflow-x:auto;flex-wrap:nowrap;width:100%;padding-bottom:4px}
  .filters button{white-space:nowrap}
  .intake-list{grid-template-columns:1fr}
  .intake-head .btn{width:100%;justify-content:center}
  .disciplines{grid-template-columns:1fr}
  .disc+.disc{border-left:0;border-top:1px solid var(--line)}
  .disc{flex-direction:row;align-items:center;gap:18px}
  .disc-logo{width:130px;flex:none}
  form.contact{grid-template-columns:1fr;padding:10px 20px 24px}
  .dlg-head{padding:22px 20px 6px}
  .dlg-head h2{font-size:23px}
}

/* ================= 2026 motion layer ================= */
.progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--blue),#5fd3f5);transform-origin:left;transform:scaleX(0);will-change:transform}
.site-header{transition:box-shadow .25s,transform .45s cubic-bezier(.2,.7,.2,1)}
.site-header.hide{transform:translateY(-100%)}

/* aurora behind hero */
.hero{overflow:hidden;isolation:isolate}
.hero::before,.hero::after{content:"";position:absolute;z-index:-1;border-radius:50%;opacity:.6;pointer-events:none;will-change:transform}
.hero::before{width:46vw;height:46vw;left:-12vw;top:-18vw;background:radial-gradient(circle,#BDE9F8 0%,rgba(189,233,248,0) 70%);animation:drift1 22s ease-in-out infinite alternate}
.hero::after{width:34vw;height:34vw;right:-8vw;bottom:-14vw;background:radial-gradient(circle,#D4F1FB 0%,rgba(212,241,251,0) 70%);animation:drift2 26s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate(8vw,6vw) scale(1.1)}}
@keyframes drift2{to{transform:translate(-6vw,-4vw) scale(1.15)}}
.hero-squares .sq{animation:float 7s ease-in-out infinite alternate}
.hero-squares .sq:nth-child(2){animation-duration:9s}.hero-squares .sq:nth-child(3){animation-duration:6s}
@keyframes float{to{translate:0 -14px}}
.hero h1 span{overflow:hidden}

/* ken burns on active slide */
.slide.is-active>img,.slide.is-active .ba img{animation:kb 9s cubic-bezier(.2,.6,.3,1) both}
@keyframes kb{from{transform:scale(1.08)}to{transform:scale(1)}}

/* autoplay progress */
.pager-bar{width:64px;height:3px;border-radius:3px;background:var(--line);overflow:hidden}
.pager-bar .ii{display:block;height:100%;background:var(--blue);transform-origin:left;transform:scaleX(0)}
.pager-bar.run .ii{animation:bar var(--dur,7s) linear forwards}
.pager-bar.paused .ii{animation-play-state:paused}
@keyframes bar{to{transform:scaleX(1)}}

/* drag tooltip on before/after */
.ba-tip{position:absolute;left:0;top:0;z-index:5;pointer-events:none;background:rgba(14,42,69,.86);color:#fff;font-family:var(--display);font-size:12.5px;font-weight:500;padding:7px 12px;border-radius:999px;transform:translate(calc(var(--tx,0px) + 18px),calc(var(--ty,0px) + 14px)) scale(.8);opacity:0;transition:opacity .2s,transform .2s;white-space:nowrap}
.ba:hover .ba-tip{opacity:1;transform:translate(calc(var(--tx,0px) + 18px),calc(var(--ty,0px) + 14px)) scale(1)}
.ba.dragging .ba-tip,.ba.touched .ba-tip{opacity:0}
.ba-handle::before{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid rgba(255,255,255,.7);animation:pulse 2.2s ease-out infinite}
.ba.touched .ba-handle::before{animation:none;opacity:0}
@keyframes pulse{from{transform:scale(.85);opacity:.9}to{transform:scale(1.5);opacity:0}}

/* reveal on scroll */
.js [data-reveal]{opacity:0;transform:translate3d(0,16px,0);transition:opacity .45s cubic-bezier(.2,.7,.2,1),transform .55s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.js [data-reveal="fade"]{transform:none}
.js [data-reveal="scale"]{transform:scale(.985)}
.js [data-reveal].in{opacity:1;transform:none}
.js [data-reveal]:not(.revealed){backface-visibility:hidden}

/* tilt + spotlight */
.js .tilt.in.revealed{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .35s ease-out;transition-delay:0s}
.card::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(420px circle at var(--sx,50%) var(--sy,50%),rgba(255,255,255,.22),rgba(255,255,255,0) 60%)}
.card:hover::before{opacity:1}

/* marquee */
.marquee{overflow:hidden;padding:clamp(18px,2.4vw,30px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;user-select:none}
.marquee-track{display:flex;width:max-content;will-change:transform}
.marquee-group{display:flex;align-items:center;gap:clamp(22px,2.6vw,44px);padding-right:clamp(22px,2.6vw,44px)}
.marquee span{font-family:var(--display);font-weight:600;font-size:clamp(30px,4.2vw,64px);letter-spacing:-.03em;color:var(--ink);white-space:nowrap;line-height:1.1}
.marquee span.o{color:#A9C3D4}
.marquee svg{width:clamp(22px,2.4vw,36px);height:auto;flex:none}
.marquee .kp{width:clamp(22px,2.4vw,36px);aspect-ratio:1;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 98 98'%3E%3Cg fill='%2300A6D8'%3E%3Crect x='34' width='30' height='30' rx='7'/%3E%3Crect y='34' width='30' height='30' rx='7'/%3E%3Crect x='34' y='34' width='30' height='30' rx='7'/%3E%3Crect x='68' y='34' width='30' height='30' rx='7'/%3E%3Crect x='34' y='68' width='30' height='30' rx='7'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}

/* CTA cross assembles */
.cta-cross svg rect{transform-box:fill-box;transform-origin:center;transition:transform 1.1s cubic-bezier(.2,.8,.2,1),opacity .8s}
.js .cta-card:not(.in) .cta-cross rect{opacity:0}
.js .cta-card:not(.in) .cta-cross rect:nth-child(1){transform:translate(-40%,-160%) rotate(-25deg)}
.js .cta-card:not(.in) .cta-cross rect:nth-child(2){transform:translate(-180%,30%) rotate(20deg)}
.js .cta-card:not(.in) .cta-cross rect:nth-child(3){transform:scale(.3)}
.js .cta-card:not(.in) .cta-cross rect:nth-child(4){transform:translate(170%,-40%) rotate(30deg)}
.js .cta-card:not(.in) .cta-cross rect:nth-child(5){transform:translate(40%,170%) rotate(-20deg)}
.cta-cross svg rect:nth-child(1){transition-delay:.15s}.cta-cross svg rect:nth-child(2){transition-delay:.25s}.cta-cross svg rect:nth-child(4){transition-delay:.35s}.cta-cross svg rect:nth-child(5){transition-delay:.45s}

/* magnetic */

/* back to top + mobile CTA */
.to-top{position:fixed;right:clamp(14px,2vw,28px);bottom:calc(clamp(14px,2vw,28px) + env(safe-area-inset-bottom,0px));z-index:60;width:54px;height:54px;border-radius:50%;border:0;background:#fff;color:var(--ink);box-shadow:0 14px 30px -14px rgba(14,42,69,.55);display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(16px) scale(.9);pointer-events:none;transition:opacity .3s,transform .3s,bottom .3s}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top svg.ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.to-top svg.ring circle{fill:none;stroke-width:2.5}
.to-top svg.arrow{width:18px;height:18px}
.m-cta{display:none}
@media (max-width:980px){
  .m-cta{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:55;justify-content:center;transform:translateY(140%);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
  .m-cta.show{transform:none}
  .m-cta .btn{width:100%;justify-content:center;box-shadow:0 16px 34px -12px rgba(0,120,170,.6)}
  body.mcta-on .to-top{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}
::view-transition-group(*){animation-duration:.5s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}

@media (prefers-reduced-motion:reduce){
  .js [data-reveal]{opacity:1;transform:none}
  .hero::before,.hero::after,.hero-squares .sq{animation:none}
  .js .cta-card:not(.in) .cta-cross rect{opacity:1;transform:none}
  .ba-handle::before{display:none}
  .js .step:not(.lit) .step-num{background:var(--blue);color:#fff;transform:none}
  .js .step:not(.lit) h3,.js .step:not(.lit) p{opacity:1}
  .steps::after{transform:scaleX(1)}
}

/* ================= pricing ================= */
.pricing{background:linear-gradient(180deg,#fff 0%,#F3FAFE 100%)}
.price-side{display:flex;flex-direction:column;gap:18px;align-items:flex-start;padding-bottom:6px}
.price-side p{font-size:17px;line-height:1.65;max-width:46ch}
.vat-note{display:inline-flex;align-items:center;gap:8px;font-size:14px!important;font-weight:600;color:var(--ink);background:#E5F4FB;border-radius:10px;padding:9px 14px}
.vat{position:relative;display:inline-flex;background:#EAF2F8;border-radius:12px;padding:4px}
.vat button{position:relative;z-index:1;border:0;background:none;padding:10px 18px;font-size:14px;font-weight:600;color:#5B6B7C;border-radius:9px;transition:color .3s;min-width:120px}
.vat button.is-on{color:var(--ink)}
.vat-pill{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);background:#fff;border-radius:9px;box-shadow:0 4px 12px -6px rgba(14,42,69,.35);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.vat.right .vat-pill{transform:translateX(100%)}
.plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}
.plan{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 24px 24px;transition:border-color .3s,box-shadow .3s}
.plan:hover{border-color:#BFE3F2;box-shadow:0 26px 50px -36px rgba(14,42,69,.5)}
.plan h3{font-size:20px;font-weight:600;margin-bottom:6px}
.p-desc{font-size:14.5px;min-height:44px}
.p-price{margin-top:18px;display:flex;align-items:baseline;gap:6px;color:var(--ink)}
.p-price strong{font-family:var(--display);font-size:clamp(32px,2.6vw,42px);font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.p-from,.p-cur{font-size:15px;font-weight:600;color:#5B6B7C}
.p-custom{font-size:clamp(28px,2.2vw,34px)!important}
.p-unit{font-size:13px;color:var(--muted);margin-bottom:20px}
.p-list{list-style:none;margin:0 0 24px;padding:18px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:11px;flex:1}
.p-list li{position:relative;padding-left:28px;font-size:14.5px;line-height:1.45;color:var(--ink)}
.p-list li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:5px;background:#E5F4FB url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.3l2.6 2.6L13 6.4' fill='none' stroke='%2300A6D8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.plan .btn{justify-content:center;width:100%}
.plan.feat .p-badge{color:#fff}
.btn-outline{background:#fff;color:var(--ink);border:1.5px solid #CFDCE6}
.btn-outline:hover{border-color:var(--blue-text);color:var(--blue-text)}
.btn-light{background:#fff;color:var(--navy)}
.btn-light:hover{background:#E5F4FB}
.plan.feat{border:2px solid var(--blue);box-shadow:0 30px 60px -34px rgba(0,166,216,.55);transform:translateY(-8px)}
.p-badge{position:absolute;top:-13px;left:24px;background:var(--blue-btn);color:#fff;font-size:12px;font-weight:600;padding:5px 12px;border-radius:999px;letter-spacing:.02em}
.plan.dark{background:var(--navy);border-color:var(--navy);color:#C3D1DE}
.plan.dark h3,.plan.dark .p-price,.plan.dark .p-list li{color:#fff}
.plan.dark .p-unit{color:#9FB3C6}
.plan.dark .p-list{border-color:rgba(255,255,255,.12)}
.plan.dark .p-list li::before{background-color:rgba(0,166,216,.2)}
.extras{margin-top:28px;display:grid;grid-template-columns:1fr 2.4fr;gap:10px 40px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 28px}
.extras h3{font-size:20px;font-weight:600}
.x-list{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.x-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px dashed #D5E2EC;font-size:15px;color:var(--ink)}
.x-p{white-space:nowrap;color:#5B6B7C}.x-p strong{color:var(--ink);font-variant-numeric:tabular-nums}
.x-note{grid-column:2;font-size:13px;color:var(--muted);margin-top:6px}

/* ================= contacts ================= */
.kontakty{position:relative;overflow:hidden;background:var(--navy);color:#C3D1DE;padding:clamp(64px,7vw,110px) 0;isolation:isolate}
.k-bg{position:absolute;inset:0;z-index:-2}
.k-bg img{width:100%;height:100%;object-fit:cover;opacity:.16;filter:grayscale(.3)}
.kontakty::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(900px 500px at 85% 10%,rgba(0,166,216,.32),transparent 60%),linear-gradient(90deg,var(--navy) 35%,rgba(14,42,69,.82))}
.k-info{position:relative}
.k-cross{width:clamp(56px,4.4vw,72px);margin-bottom:clamp(22px,2.4vw,32px);pointer-events:none}
.k-cross svg{display:block;width:100%;height:auto;overflow:visible}
.k-cross rect{transform-box:fill-box;transform-origin:center;transition:transform 1.2s cubic-bezier(.2,.8,.2,1),opacity .8s}
.js .kontakty:not(.in) .k-cross rect{opacity:0}
.js .kontakty:not(.in) .k-cross rect:nth-child(1){transform:translate(-60%,-160%) rotate(-25deg)}
.js .kontakty:not(.in) .k-cross rect:nth-child(2){transform:translate(-180%,40%) rotate(20deg)}
.js .kontakty:not(.in) .k-cross rect:nth-child(3){transform:scale(.3)}
.js .kontakty:not(.in) .k-cross rect:nth-child(4){transform:translate(170%,-40%) rotate(30deg)}
.js .kontakty:not(.in) .k-cross rect:nth-child(5){transform:translate(40%,170%) rotate(-20deg)}
.k-cross rect:nth-child(2){transition-delay:.1s}.k-cross rect:nth-child(4){transition-delay:.2s}.k-cross rect:nth-child(5){transition-delay:.3s}
.k-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(30px,4vw,72px);align-items:stretch}
.k-info{display:flex;flex-direction:column}
.k-info .k-tiles{margin-top:auto}
.k-form-card{display:flex;flex-direction:column}
.k-form-card .contact-inline{flex:1;grid-template-rows:auto auto auto 1fr auto auto}
.k-form-card .contact-inline .field:has(textarea){display:flex;flex-direction:column}
.k-form-card .contact-inline textarea{flex:1;min-height:120px}
.kontakty .eyebrow{color:#9FB3C6}
.kontakty h2{color:#fff;font-size:clamp(36px,4.2vw,64px);line-height:1.04;font-weight:700;letter-spacing:-.035em;max-width:14ch}
.k-lead{font-size:18px;line-height:1.6;color:#C3D1DE;margin:20px 0 34px;max-width:44ch}
.k-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.k-tile{display:flex;align-items:flex-start;gap:16px;padding:20px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);text-decoration:none;color:#fff;transition:background .25s,border-color .25s,transform .25s;position:relative}
a.k-tile:hover,.k-tile.big:hover{background:rgba(0,166,216,.16);border-color:rgba(0,166,216,.5)}
.k-tile.big{grid-column:1 / -1;align-items:center;padding:22px 24px}
.k-mail{display:flex;align-items:center;gap:16px;text-decoration:none;color:#fff;flex:1;min-width:0}
.k-ico{width:48px;height:48px;border-radius:13px;background:var(--blue);display:flex;align-items:center;justify-content:center;flex:none;color:#fff}
.k-ico svg{width:22px;height:22px}
.k-tile small{display:block;font-size:13px;color:#9FB3C6;margin-bottom:2px}
.k-tile strong{font-family:var(--display);font-weight:600;font-size:17px;line-height:1.35;display:block;word-break:break-word}
.k-tile.big strong{font-size:clamp(22px,2.2vw,32px);letter-spacing:-.02em}
.k-tile em{font-style:normal;display:inline-block;margin-top:6px;font-size:13px;color:#5fd3f5;font-weight:600}
.k-tile em.plain{color:#9FB3C6;font-weight:400}
.k-copy{margin-left:auto;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;border-radius:10px;padding:9px 13px;font-size:13px;flex:none}
.k-copy svg{width:16px;height:16px}
.k-copy:hover{border-color:var(--blue)}
.k-copy.done{background:var(--blue);border-color:var(--blue)}
.k-form-card{background:#fff;border-radius:24px;padding:clamp(24px,2.6vw,38px);color:var(--text);box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.k-form-card h3{font-size:26px;font-weight:700}
.k-form-sub{font-size:15px;margin:6px 0 4px}
.contact-inline{padding:14px 0 0!important}
.k-form-card .success{padding:24px 0 0}
.svc-chip{grid-column:1 / -1;display:flex;align-items:center;gap:8px;background:#E5F4FB;border-radius:10px;padding:10px 14px;font-size:14px;color:var(--ink)}
.svc-chip[hidden]{display:none}
.svc-x{margin-left:auto;border:0;background:none;font-size:20px;line-height:1;color:var(--muted);padding:0 4px}
.header-cta svg,.mobile-cta svg,.m-cta svg{width:16px;height:16px}
@media (max-width:1180px){
  .plans{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}
  .plan.feat{transform:none}
  .extras{grid-template-columns:1fr}
  .x-note{grid-column:1}
  .k-grid{grid-template-columns:1fr}
  .k-cross{width:56px}
}
@media (max-width:640px){
  .plans{grid-template-columns:1fr}
  .x-list{grid-template-columns:1fr}
  .k-tiles{grid-template-columns:1fr}
  .k-form-card .contact-inline{grid-template-rows:none}
  div.k-tile.big{flex-direction:column;align-items:stretch}
  .k-mail{flex:none}
  .k-copy{margin-left:64px;align-self:flex-start}
  .k-tile.big strong{font-size:clamp(14px,4.4vw,18px)}
  .k-tile strong{word-break:normal;overflow-wrap:anywhere}
  .vat button{min-width:0}
}

/* ================= nav dropdown ================= */
.nav-dd{position:relative}
.dd-btn{display:flex;align-items:center;gap:6px;border:0;background:none;padding:6px 0;font-size:15px;font-weight:500;color:var(--ink)}
.dd-btn svg{width:12px;height:12px;transition:transform .25s}
.dd-btn.active{color:var(--blue-text)}
.dd-menu{position:absolute;top:calc(100% + 14px);left:50%;width:380px;background:#fff;border-radius:18px;padding:10px;box-shadow:0 30px 60px -24px rgba(14,42,69,.45),0 0 0 1px var(--line);opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .2s,transform .25s cubic-bezier(.2,.7,.2,1),visibility 0s .25s;z-index:5}
.dd-menu::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.nav-dd:hover .dd-menu,.nav-dd:focus-within .dd-menu,.nav-dd.open .dd-menu{opacity:1;visibility:visible;transform:translate(-50%,0);transition-delay:0s}
.nav-dd:hover .dd-btn svg,.nav-dd.open .dd-btn svg{transform:rotate(180deg)}
.main-nav .dd-item{display:flex;align-items:center;gap:14px;padding:10px;border-radius:12px;text-decoration:none}
.main-nav .dd-item::after,.main-nav .dd-all::after{display:none}
.dd-item:hover{background:var(--sky-2)}
.dd-item img{width:64px;height:48px;object-fit:cover;border-radius:9px;flex:none}
.dd-item strong{display:block;font-family:var(--display);font-weight:600;font-size:15px;color:var(--ink)}
.dd-item small{display:block;font-size:13px;color:var(--muted);font-weight:400}
.main-nav .dd-all{display:flex;align-items:center;justify-content:space-between;margin-top:6px;padding:12px 14px;border-top:1px solid var(--line);font-size:14px;font-weight:600;color:var(--blue-text)}
.dd-all svg{width:16px;height:16px}

/* ================= service subpages ================= */
[data-page][hidden]{display:none!important}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13.5px;color:var(--muted);margin-bottom:clamp(20px,3vw,36px)}
.crumbs a{text-decoration:none;color:var(--text)}.crumbs a:hover{color:var(--blue-text)}
.crumbs strong{color:var(--ink);font-weight:600}
.sp-hero{position:relative;padding:clamp(24px,3vw,40px) 0 clamp(40px,5vw,72px);background:radial-gradient(900px 420px at 10% 0%,#EAF7FD 0%,rgba(255,255,255,0) 70%)}
.sp-hero-grid{display:grid;grid-template-columns:38fr 62fr;gap:clamp(28px,4vw,64px);align-items:center}
.sp-hero h1{font-size:clamp(38px,4.2vw,68px);line-height:1.02;font-weight:700;letter-spacing:-.035em;margin-bottom:22px}
.sp-lead{font-size:clamp(17px,1.25vw,19px);line-height:1.6;color:#3E5064;max-width:44ch}
.sp-actions{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin:30px 0 26px}
.sp-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.sp-checks li{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:500;color:var(--ink)}
.sp-checks svg{width:20px;height:20px;padding:3px;border-radius:6px;background:#E5F4FB;color:var(--blue);flex:none}
.sp-frame{position:relative;aspect-ratio:3/2;border-radius:22px;overflow:hidden;background:#dfe9f0;box-shadow:0 40px 70px -46px rgba(14,42,69,.6)}
.sp-frame>img{width:100%;height:100%;object-fit:cover}
[data-page]:not([hidden]) .sp-kb{animation:kb 9s cubic-bezier(.2,.6,.3,1) both}
.sp-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sp-tile{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 24px}
.sp-ico{width:52px;height:52px;border-radius:14px;background:#E5F4FB;color:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.sp-ico svg{width:28px;height:28px}
.sp-tile h3{font-size:19px;font-weight:600;margin-bottom:8px}
.sp-tile p{font-size:15px;line-height:1.55}
.sp-situ{background:linear-gradient(180deg,#E3F3FB,#EEF8FD)}
.sp-situ-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(28px,4vw,64px);align-items:start}
.sp-situ-lead{font-size:17px;line-height:1.65;margin-top:18px;max-width:40ch}
.sp-situ .h2{font-size:clamp(30px,3.2vw,48px)}
.sp-situ-list{display:flex;flex-direction:column;gap:12px}
.sp-situ-card{background:#fff;border-radius:18px;padding:24px 26px 24px 70px;position:relative;box-shadow:0 18px 40px -34px rgba(14,42,69,.5)}
.sp-situ-card::before{content:"";position:absolute;left:24px;top:26px;width:26px;height:26px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 98 98'%3E%3Cg fill='%2300A6D8'%3E%3Crect x='34' y='0' width='30' height='30' rx='6'/%3E%3Crect x='0' y='34' width='30' height='30' rx='6'/%3E%3Crect x='34' y='34' width='30' height='30' rx='6'/%3E%3Crect x='68' y='34' width='30' height='30' rx='6'/%3E%3Crect x='34' y='68' width='30' height='30' rx='6'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
.sp-situ-card h3{font-size:19px;font-weight:600;margin-bottom:6px}
.sp-situ-card p{font-size:15px;line-height:1.55}
.sp-proc-wrap{padding:clamp(56px,6vw,88px) 0 0}
.sp-proc{background:var(--navy);border-radius:24px;padding:clamp(28px,3.4vw,48px);color:#C3D1DE;display:grid;grid-template-columns:.8fr 2fr;gap:clamp(24px,3vw,48px);align-items:center;position:relative;overflow:hidden}
.sp-proc .eyebrow{color:#9FB3C6}
.sp-proc h2{color:#fff;font-size:clamp(26px,2.4vw,36px);font-weight:700;line-height:1.1}
.sp-proc ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:x}
.sp-proc li span{display:inline-flex;width:44px;height:44px;border-radius:11px;background:var(--blue-btn);color:#fff;font-family:var(--display);font-weight:500;align-items:center;justify-content:center;margin-bottom:14px}
.sp-proc li strong{display:block;color:#fff;font-family:var(--display);font-weight:600;font-size:16px;margin-bottom:6px}
.sp-proc li p{font-size:14px;line-height:1.5}
.sp-ref-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sp-ref-grid .ref{height:clamp(260px,24vw,360px)}
.sp-ref-grid.one{grid-template-columns:1fr}
.sp-ref-grid.one .ref{height:clamp(300px,34vw,480px)}
.sp-refs{padding-bottom:0}
.sp-bottom-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(28px,4vw,64px);align-items:start}
.sp-bottom .h2{font-size:clamp(28px,2.8vw,42px);margin-bottom:22px}
.sp-price-card{display:grid;grid-template-columns:1fr auto;gap:12px 20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 24px;margin-bottom:12px}
.sp-price-card h3{font-size:18px;font-weight:600;margin-bottom:4px}
.sp-price-card p{font-size:14.5px;line-height:1.5}
.sp-pr{text-align:right;color:#5B6B7C;font-size:13px;white-space:nowrap}
.sp-pr strong{font-family:var(--display);font-size:28px;font-weight:600;color:var(--ink);letter-spacing:-.02em}
.sp-price-card .btn{grid-column:1 / -1;justify-content:center}
.sp-faq .acc-num{color:var(--blue-text);font-weight:600}
.sp-others{padding:0 0 clamp(56px,6vw,88px)}
.sp-other-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sp-other-card{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;height:200px;border-radius:20px;overflow:hidden;padding:24px;text-decoration:none;color:#fff;isolation:isolate}
.sp-other-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:scale .7s cubic-bezier(.2,.7,.2,1)}
.sp-other-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,22,38,.85),rgba(8,22,38,.25))}
.sp-other-card:hover img{scale:1.05}
.sp-other-card small{display:block;font-size:13px;color:#C3D1DE}
.sp-other-card strong{font-family:var(--display);font-size:clamp(24px,2.2vw,32px);font-weight:600;letter-spacing:-.02em}
.sp-other-card .ii{width:52px;height:52px;border-radius:12px;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;flex:none;transition:background .2s,color .2s}
.sp-other-card:hover .ii{background:var(--blue);color:#fff}
.sp-other-card .ii svg{width:20px;height:20px}
::view-transition-old(root),::view-transition-new(root){animation-duration:.35s}
@media (max-width:1180px){
  .sp-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sp-proc{grid-template-columns:1fr}
}
@media (max-width:980px){
  .nav-dd{width:100%}
  .dd-btn{width:100%;justify-content:space-between;padding:14px 0;font-size:17px;border-bottom:1px solid var(--line)}
  .dd-menu{position:static;width:auto;transform:none;box-shadow:none;padding:4px 0 8px;display:none;opacity:1;visibility:visible;transition:none;border-radius:0}
  .nav-dd.open .dd-menu{display:block;transform:none}
  .nav-dd:hover .dd-menu{transform:none}
  .site-header.open .main-nav .dd-item{border-bottom:0;padding:10px 0}
  .site-header.open .main-nav .dd-all{border-bottom:1px solid var(--line);padding:12px 0}
  .sp-hero-grid,.sp-situ-grid,.sp-bottom-grid{grid-template-columns:1fr}
  .sp-hero-media{order:-1}
  .sp-proc ol{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sp-ref-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .sp-tiles,.sp-ref-grid,.sp-other-grid{grid-template-columns:1fr}
  .sp-proc ol{grid-template-columns:1fr}
  .sp-price-card{grid-template-columns:1fr}
  .sp-pr{text-align:left}
  .sp-actions .btn-primary{width:100%;justify-content:center}
  .sp-other-card{height:150px}
}

/* ================= reference detail ================= */
.ref-go{position:absolute;right:16px;bottom:16px;z-index:3;width:44px;height:44px;border-radius:12px;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s,transform .3s}
.ref-go svg{width:16px;height:16px}
.ref:hover .ref-go{background:var(--blue);color:#fff}
.ref-body{padding-right:76px}
.ref{cursor:pointer}
.rd{padding:clamp(24px,3vw,40px) 0 clamp(56px,6vw,88px);background:radial-gradient(900px 420px at 10% 0%,#EAF7FD 0%,rgba(255,255,255,0) 70%)}
.rd-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,64px);align-items:end;margin-bottom:clamp(24px,3vw,40px)}
.rd h1{font-size:clamp(38px,4.6vw,72px);line-height:1.02;font-weight:700;letter-spacing:-.035em}
.rd-lead{font-size:clamp(17px,1.3vw,20px);line-height:1.6;color:#3E5064;max-width:48ch;padding-bottom:8px}
.rd-frame{position:relative;aspect-ratio:16/9;max-height:78vh;width:100%;border-radius:24px;overflow:hidden;background:#dfe9f0;box-shadow:0 50px 90px -60px rgba(14,42,69,.7)}
.rd-frame>img{width:100%;height:100%;object-fit:cover}
.rd-body{display:grid;grid-template-columns:1.7fr 1fr;gap:clamp(24px,4vw,64px);margin-top:clamp(36px,4vw,60px);align-items:start}
.rd-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px)}
.rd-col h2{font-size:clamp(22px,1.9vw,28px);font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:12px}
.rd-col h2::before{content:"";width:12px;height:12px;border-radius:3px;background:var(--blue);flex:none}
.rd-col:first-child h2::before{background:#A9C3D4}
.rd-col p{font-size:16.5px;line-height:1.7}
.rd-side{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 24px;box-shadow:0 30px 60px -48px rgba(14,42,69,.55);position:sticky;top:calc(var(--header-h) + 24px)}
.rd-side h3{font-size:20px;font-weight:600;margin-bottom:14px}
.rd-scope{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:10px}
.rd-scope li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--ink);line-height:1.45}
.rd-scope svg{width:20px;height:20px;padding:3px;border-radius:6px;background:#E5F4FB;color:var(--blue);flex:none}
.rd-meta{margin:0 0 22px;padding:16px 0 0;border-top:1px solid var(--line);display:grid;gap:10px}
.rd-meta div{display:flex;justify-content:space-between;gap:12px;font-size:14.5px}
.rd-meta dt{color:var(--muted)}.rd-meta dd{margin:0;color:var(--ink);font-weight:600}
.rd-meta a{color:var(--blue-text);text-decoration:none}
.rd-side .btn{width:100%;justify-content:center}
.rd-gallery-wrap{margin-top:clamp(48px,5vw,80px)}
.rd-h{font-size:clamp(26px,2.4vw,36px);font-weight:700;margin-bottom:20px}
.rd-gallery{display:grid;gap:12px}
.rd-gallery.g1{grid-template-columns:1fr}.rd-gallery.g2{grid-template-columns:1fr 1fr}.rd-gallery.g3{grid-template-columns:repeat(3,1fr)}.rd-gallery.g4{grid-template-columns:repeat(4,1fr)}
.rd-gallery figure{margin:0}
.rd-zoom{display:block;width:100%;padding:0;border:0;border-radius:16px;overflow:hidden;cursor:zoom-in;background:#dfe9f0}
.rd-zoom img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:scale .6s cubic-bezier(.2,.7,.2,1)}
.rd-gallery.g1 .rd-zoom img{aspect-ratio:21/9}
.rd-zoom:hover img{scale:1.04}
.rd-gallery figcaption{font-size:13.5px;color:var(--muted);margin-top:8px}
.rd-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:clamp(48px,5vw,72px)}
.rd-nav-card{display:flex;align-items:center;gap:16px;padding:12px;border:1px solid var(--line);border-radius:18px;text-decoration:none;background:#fff;transition:border-color .25s,box-shadow .25s}
.rd-nav-card:hover{border-color:#BFE3F2;box-shadow:0 24px 44px -34px rgba(14,42,69,.5)}
.rd-nav-card img{width:110px;height:76px;object-fit:cover;border-radius:12px;flex:none}
.rd-nav-card small{display:block;font-size:13px;color:var(--muted)}
.rd-nav-card strong{font-family:var(--display);font-weight:600;font-size:18px;color:var(--ink)}
.rd-nav-card.next{flex-direction:row-reverse;text-align:right}
.rd-back{margin-top:18px}
.rd-back svg{width:18px;height:18px}
@media (max-width:980px){
  .rd-head,.rd-body,.rd-cols{grid-template-columns:1fr}
  .rd-side{position:static}
  .rd-frame{aspect-ratio:4/3}
  .rd-gallery.g3,.rd-gallery.g4{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .rd-gallery.g2,.rd-gallery.g3,.rd-gallery.g4,.rd-nav{grid-template-columns:1fr}
  .rd-nav-card.next{flex-direction:row;text-align:left}
}

/* ================= cookies ================= */
.cookie-bar{position:fixed;left:50%;bottom:calc(clamp(12px,2vw,24px) + env(safe-area-inset-bottom,0px));z-index:80;width:min(760px,calc(100vw - 24px));background:#fff;border-radius:16px;padding:26px 30px 28px;box-shadow:0 30px 80px -24px rgba(10,32,54,.5),0 0 0 1px var(--line);transform:translate(-50%,24px);opacity:0;transition:transform .5s cubic-bezier(.2,.7,.2,1),opacity .4s}
.cookie-bar.show{transform:translate(-50%,0);opacity:1}
.cookie-bar[hidden]{display:none}
.cb-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.cb-head h2{font-size:21px;font-weight:600;letter-spacing:-.01em;padding-top:6px}
.cb-close{width:38px;height:38px;flex:none;border-radius:50%;border:0;background:#EEF3F8;color:var(--ink);display:flex;align-items:center;justify-content:center;transition:background .2s}
.cb-close:hover{background:#E1EBF3}
.cb-close svg{width:14px;height:14px}
.cookie-bar p{font-size:15px;line-height:1.75;color:#3E5064}
.cookie-bar p a{color:var(--blue-text)}
.cb-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}
.cb-actions .btn{justify-content:center;padding:14px 16px;font-size:15px;box-shadow:none}
body.cookie-open .to-top,body.cookie-open .m-cta{opacity:0!important;pointer-events:none!important}
.cs-list{padding:8px 30px 4px;display:flex;flex-direction:column;gap:10px}
.cs-item{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.cs-item strong{font-family:var(--display);font-weight:600;color:var(--ink);font-size:16px}
.cs-item p{font-size:13.5px;line-height:1.5;margin-top:3px}
.switch{position:relative;flex:none;width:50px;height:30px;cursor:pointer}
.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.switch span{position:absolute;inset:0;border-radius:999px;background:#CFDCE6;transition:background .25s}
.switch span::after{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.switch input:checked+span{background:var(--blue)}
.switch input:checked+span::after{transform:translateX(20px)}
.switch input:focus-visible+span{outline:3px solid var(--blue);outline-offset:2px}
.switch.is-locked{opacity:.6;cursor:not-allowed}
.cs-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding:18px 30px 6px}
.cs-foot{padding:6px 30px 24px;font-size:13.5px;text-align:right}
.policy{padding:4px 30px 30px;font-size:15px;line-height:1.65;max-height:min(70vh,640px);overflow-y:auto}
.policy h3{font-size:17px;font-weight:600;margin:18px 0 6px}
.policy h3:first-child{margin-top:4px}
.cp-table{width:100%;border-collapse:collapse;font-size:14px;margin:6px 0}
.cp-table th,.cp-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.cp-table th{font-weight:600;color:var(--ink);background:var(--sky-2)}
@media (max-width:640px){
  .cookie-bar{padding:20px 20px 22px}
  .cookie-bar p{font-size:14px;line-height:1.6}
  .cb-actions{grid-template-columns:1fr}
  .cs-list{padding:8px 20px 4px}.cs-actions{padding:16px 20px 6px}.cs-actions .btn{flex:1 1 100%;justify-content:center}.cs-foot{padding:6px 20px 20px}.policy{padding:4px 20px 24px}
}

/* ================= legal pages ================= */
.lg{padding:clamp(24px,3vw,40px) 0 clamp(56px,6vw,96px);background:radial-gradient(900px 420px at 10% 0%,#EAF7FD 0%,rgba(255,255,255,0) 70%)}
.lg-head{max-width:820px;margin-bottom:clamp(28px,4vw,56px)}
.lg h1{font-size:clamp(36px,4vw,60px);line-height:1.04;font-weight:700;letter-spacing:-.035em;margin-bottom:16px}
.lg-lead{font-size:clamp(17px,1.3vw,20px);line-height:1.6;color:#3E5064;max-width:56ch}
.lg-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:start}
.lg-toc{position:sticky;top:calc(var(--header-h) + 28px);border-left:2px solid var(--line);padding-left:18px}
.lg-toc p{font-family:var(--display);font-weight:600;color:var(--ink);margin-bottom:10px}
.lg-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;counter-reset:tc}
.lg-toc li{counter-increment:tc}
.lg-toc a{text-decoration:none;font-size:14.5px;color:var(--text);display:flex;gap:10px}
.lg-toc a::before{content:counter(tc,decimal-leading-zero);font-family:var(--display);font-size:12.5px;color:#9FB3C6;padding-top:2px}
.lg-toc a:hover,.lg-toc a.on{color:var(--blue-text)}
.lg-body{max-width:760px}
.lg-sec{padding:0 0 30px;margin-bottom:30px;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--header-h) + 24px)}
.lg-sec:last-child{border-bottom:0}
.lg-sec h2{font-size:clamp(22px,1.9vw,28px);font-weight:600;margin-bottom:14px}
.lg-sec p,.lg-sec li{font-size:16px;line-height:1.75;color:#3E5064}
.lg-sec p+p{margin-top:12px}
.lg-sec ul{margin:10px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.lg-sec li::marker{color:var(--blue)}
.lg-sec a{color:var(--blue-text)}
.lg-sec strong{color:var(--ink)}
.lg-sec .cp-table{margin-top:6px}
.lg-sec .btn{margin-top:8px}
.consent a{color:var(--blue-text)}
@media (max-width:980px){.lg-grid{grid-template-columns:1fr}.lg-toc{position:static}}

/* ================= page loader (logo) ================= */
html.is-loading{overflow:hidden}
html:not(.js) #loader{display:none}
#loader{--lh:clamp(84px,10vw,136px);position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:radial-gradient(1100px 620px at 50% 45%,#F4FBFE 0%,#E3F3FB 55%,#D3ECF8 100%);transition:opacity .8s cubic-bezier(.4,0,.2,1)}
#loader.out{opacity:0;pointer-events:none}
.ld-box{display:flex;flex-direction:column;align-items:center;transition:transform .9s cubic-bezier(.22,1,.36,1),filter .8s ease}
#loader.out .ld-box{transform:scale(1.06);filter:blur(2px)}
.ld-logo{display:flex;align-items:center;height:var(--lh)}
.ld-x{height:100%;width:auto;flex:none;overflow:visible}
.ld-x rect{transform-box:fill-box;transform-origin:center;opacity:0;transform:scale(.6);animation:ldPop .9s cubic-bezier(.22,1,.36,1) forwards}
.ld-x rect:nth-child(3){animation-delay:.05s}.ld-x rect:nth-child(1){animation-delay:.18s}.ld-x rect:nth-child(4){animation-delay:.28s}.ld-x rect:nth-child(5){animation-delay:.38s}.ld-x rect:nth-child(2){animation-delay:.48s}
@keyframes ldPop{to{opacity:1;transform:none}}
.ld-word{height:100%;width:calc(var(--lh) * 2.9);overflow:hidden;opacity:0;transform:translateX(-14px);-webkit-mask-image:linear-gradient(90deg,#000 40%,transparent 60%);mask-image:linear-gradient(90deg,#000 40%,transparent 60%);-webkit-mask-size:250% 100%;mask-size:250% 100%;-webkit-mask-position:100% 0;mask-position:100% 0;animation:ldWord 1.1s cubic-bezier(.22,1,.36,1) .7s forwards}
.ld-word img{height:100%;width:auto;max-width:none;margin-left:calc(var(--lh) * -.99)}
@keyframes ldWord{to{opacity:1;transform:none;-webkit-mask-position:0 0;mask-position:0 0}}
@media (prefers-reduced-motion:reduce){#loader{display:none}html.is-loading{overflow:auto}}

/* footer group logos */
.footer-group{border-top:1px solid #E3ECF2;padding:26px 0 30px}
.footer-group .eyebrow{color:var(--blue-text);margin-bottom:18px}
.fg-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 28px}
.fg-logos a{display:block;transition:opacity .2s}
.fg-logos a:hover{opacity:.75}
.fg-logos img{height:52px;width:auto;display:block}
@media (max-width:980px){.fg-logos{justify-content:flex-start;gap:22px 34px}}
@media (max-width:640px){.fg-logos{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;align-items:center}.fg-logos img{height:auto;max-width:100%;max-height:40px}}

.price-note{margin-top:22px;font-size:13.5px;color:var(--muted);text-align:center}
@media (max-width:980px){
  .btn-primary,.m-cta .btn,.hero-actions .btn-primary{box-shadow:none!important}
  .hero-visual{order:-1}
  .notch-left{display:none}
  .hero-copy{padding-top:6px}
  .hero-grid{gap:24px}
}

.team-lead{margin-top:16px;font-size:16px;line-height:1.65;color:#3E5064;max-width:44ch}
@media (max-width:1180px){.team-lead{max-width:60ch}}

/* hero frame with real cut-outs (v45) */
.notch{display:none!important}
.frame.cut{border-radius:0}
.hero-visual .detail{right:0;bottom:0;width:clamp(150px,17%,210px);background:none;padding:0;border-radius:0;box-shadow:none}
.hero-visual .detail img{border-radius:14px;box-shadow:0 18px 36px -22px rgba(14,42,69,.55)}
.hero-visual .detail p{color:var(--text);font-size:12.5px;line-height:1.4;margin:9px 2px 0}
@media (max-width:640px){.hero-visual .detail{display:none}}

/* ===== v46: orientační ceník ===== */
.pc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pc{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}
.pc-photo{position:relative;aspect-ratio:16/10;background:#dfe9f0;overflow:hidden}
.pc-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .45s ease}
.pc-photo .pc-b{opacity:0}
.pc.show-before .pc-b{opacity:1}
.pc-cat{position:absolute;z-index:4;pointer-events:none;left:14px;bottom:14px;background:rgba(14,42,69,.82);color:#fff;font-size:12px;font-weight:600;letter-spacing:.04em;padding:6px 11px;border-radius:7px}
.pc-toggle{position:absolute;top:14px;right:14px;display:inline-flex;border:0;padding:3px;border-radius:10px;background:rgba(255,255,255,.92);box-shadow:0 6px 16px -8px rgba(0,0,0,.45);font-family:var(--display);font-size:13px;font-weight:600}
.pc-toggle span{padding:6px 11px;border-radius:8px;color:var(--ink);transition:background .25s,color .25s}
.pc-toggle .on-po,.pc.show-before .pc-toggle .on-pred{background:var(--navy);color:#fff}
.pc.show-before .pc-toggle .on-po{background:none;color:var(--ink)}
.pc-body{display:flex;flex-direction:column;flex:1;padding:22px 22px 22px}
.pc-body h3{font-size:21px;font-weight:600;margin-bottom:12px}
.pc-meta{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.pc-meta li{background:#EEF3F8;color:var(--ink);font-size:13px;padding:6px 11px;border-radius:8px}
.pc-k{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#5B6B7C;margin-bottom:10px}
.pc-works{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:8px;flex:1}
.pc-works li{display:flex;gap:9px;align-items:flex-start;font-size:14.5px;line-height:1.45;color:var(--ink)}
.pc-works svg{width:18px;height:18px;padding:3px;border-radius:5px;background:#E5F4FB;color:var(--blue-text,#0079A6);flex:none;margin-top:1px}
.pc-price{border-top:1px solid var(--line);padding-top:16px;margin-bottom:16px;display:flex;flex-direction:column;gap:3px}
.pc-lbl{font-size:13px;color:var(--muted)}
.pc-val{font-family:var(--display);font-size:clamp(20px,1.7vw,24px);font-weight:600;color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.pc-ex{font-size:12.5px;color:var(--muted)}
.pc .btn{justify-content:center;width:100%}
.pc-strip{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:20px 40px;flex-wrap:wrap;background:var(--navy);color:#C3D1DE;border-radius:20px;padding:24px 28px}
.pc-strip h3{color:#fff;font-size:20px;font-weight:600;margin-bottom:6px}
.pc-strip p{font-size:15px;line-height:1.6;max-width:62ch}
.pc-strip-cta{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.pc-strip-cta small{display:block;font-size:13px;color:#9FB3C6}
.pc-strip-cta strong{font-family:var(--display);font-size:22px;font-weight:600;color:#fff}
.spr{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.spr span{font-size:12.5px}
.spr-v{font-style:normal;white-space:nowrap;font-family:var(--display);font-size:20px;font-weight:600;color:var(--ink)}
.spr-v strong{font-size:inherit!important}
.spr-v span{font-size:inherit}
.spc .btn{grid-column:1 / -1;justify-content:center}
.group-more{margin-top:clamp(28px,3vw,44px);padding-top:26px;border-top:1px solid #E3ECF2}
.group-more .eyebrow{color:var(--blue-text,#0079A6);margin-bottom:18px}
.site-footer{border-top:1px solid #EEF2F6}
.site-footer .footer-bottom{border-top:0}
@media (max-width:1180px){.pc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.pc-grid{grid-template-columns:1fr}.pc-strip{padding:22px 20px}.pc-strip-cta .btn{width:100%;justify-content:center}.spr{align-items:flex-start}}
.pc-photo .ba-handle{width:40px;height:40px;margin:-20px 0 0 -20px}
.pc-photo .tag-label{top:12px;font-size:12px;padding:5px 10px}
.pc-photo .tag-before{left:12px}.pc-photo .tag-after{right:12px}

.photo-note{display:flex;align-items:flex-start;gap:12px;margin:22px 0 4px;padding:14px 18px;border-radius:14px;background:#FFF6E0;border:1px solid #F1D48A;color:#5A4410;font-size:14.5px;line-height:1.55}
.photo-note svg{width:22px;height:22px;flex:none;color:#B07D00;margin-top:1px}
.photo-note strong{color:#3F2F05}
.rd .photo-note{margin-bottom:18px}
.hero-meta{position:relative}
.hero-illu{position:absolute;left:0;top:calc(100% + 4px);font-size:11.5px;color:var(--muted);letter-spacing:.02em}
.foot-illu{flex-basis:100%;order:3;font-size:12.5px}
.show-ba>img,.rd-frame>img,.sp-frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sp-frame,.rd-frame{position:relative}
@media (max-width:980px){.hero-illu{position:static;display:block;margin-top:6px}}

.hero{flex-direction:column;justify-content:center}
.k-note{position:relative;margin-top:clamp(44px,5vw,72px);border-top:1px solid rgba(255,255,255,.2);padding-top:clamp(22px,2.4vw,32px)}
.k-note .photo-note.k-note-p{margin:0;padding:0;background:none;border:0;border-radius:0;color:#fff;font-size:clamp(15px,1.1vw,17px);line-height:1.6;align-items:center}
.k-note .photo-note.k-note-p strong{color:#fff}
.k-note .photo-note.k-note-p svg{color:#fff;width:24px;height:24px;margin-top:0}
.kontakty{padding-bottom:clamp(24px,2.4vw,34px)}
.k-tile.big:has(.k-mail){container-type:inline-size}
.k-tile.big strong.k-mail-b span{white-space:nowrap}
.k-tile.big strong.k-mail-b{font-size:clamp(16px,3.5cqi,28px);overflow-wrap:normal;word-break:normal;hyphens:none}
@media (max-width:640px){.k-tile.big strong.k-mail-b{font-size:clamp(14px,5.2cqi,18px)}}
@media (max-width:640px){.k-note .photo-note.k-note-p{align-items:flex-start}.k-note .photo-note.k-note-p svg{margin-top:2px}}

.wire .b{stroke-width:1.6}.wire .m{stroke-width:1.15}.wire .d{stroke-width:.75}.wire .t{stroke-width:.5;opacity:.75}.wire .c{stroke-width:.6;stroke-dasharray:4 3;opacity:.8}.wire .g{stroke-width:.35;opacity:.28}.wire .h{stroke-width:.5;opacity:.6}.wire text{fill:currentColor;stroke:none;font:500 9px "Open Sans",Arial,sans-serif;letter-spacing:.04em}.wire .ttl{font-size:10px;letter-spacing:.14em}

/* =====================================================================
   WebPages CMS — doplňky k návrhu (verze 87)
   Písma lokálně, třídy místo stylů v HTML, prvky stránek ze správy.
   ===================================================================== */
@font-face{font-family:"Lexend";src:url("/fonts/lexend.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Open Sans";src:url("/fonts/opensans.woff2") format("woff2");font-weight:300 800;font-stretch:75% 100%;font-style:normal;font-display:swap}

/* ořez fotografií (pevné volby ze správy) */
.op-vys{object-position:50% 40%}.op-vyse{object-position:50% 35%}.op-nahore{object-position:50% 28%}
.op-vys45{object-position:50% 45%}.op-niz{object-position:50% 60%}.op-vlevo{object-position:30% 50%}.op-vpravo{object-position:70% 50%}

/* dříve styly přímo v HTML */
#promeny{padding-bottom:0}
#o-nas{padding-bottom:clamp(30px,3vw,44px)}
.steps .step:nth-child(1) .step-btn{grid-column:1}.steps .step:nth-child(2) .step-btn{grid-column:2}
.steps .step:nth-child(3) .step-btn{grid-column:3}.steps .step:nth-child(4) .step-btn{grid-column:4}
.steps .step:nth-child(5) .step-btn{grid-column:5}.steps .step:nth-child(6) .step-btn{grid-column:6}
.success-zavrit{margin-top:22px}
.lightbox .pager-count{color:#9FB3C6}.lightbox .pager-count strong{color:#fff}
@media (min-width:981px) and (max-width:1080px){.main-nav a[href$="#o-nas"]{display:none}}

/* přeskočit na obsah */
.preskocit{position:absolute;left:12px;top:-60px;z-index:400;background:var(--navy);color:#fff;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;transition:top .2s}
.preskocit:focus{top:12px}

/* ---------------------------------------------------- prvky stránek */
.prvky{padding:clamp(40px,4.6vw,72px) 0}
.prvky.pozadi-svetle{background:linear-gradient(180deg,#E3F3FB 0%,#EEF8FD 100%)}
.prvky + .prvky:not(.pozadi-svetle){padding-top:0}
.prvky .wrap > *{max-width:820px}
.prvky .wrap > .pr-siroky{max-width:none}
.prvky .stred{text-align:center;margin-left:auto;margin-right:auto}
.pr{margin:0 0 clamp(18px,2vw,26px)}
.pr:last-child{margin-bottom:0}
.pr-nadpis{font-size:clamp(26px,2.6vw,40px);line-height:1.1;font-weight:700;letter-spacing:-.03em;margin-top:clamp(10px,1.4vw,20px)}
.pr-nadpis.barva-modra,.barva-modra .pr-h{color:var(--blue-head)}
.pr-nadpis.barva-tmava,.barva-tmava .pr-h{color:var(--navy)}
.pr-h{font-size:clamp(22px,1.9vw,28px);font-weight:600;margin-bottom:14px;letter-spacing:-.02em}
.pr-text p{font-size:16.5px;line-height:1.75;color:#3E5064}
.pr-text p + p{margin-top:12px}
.pr-text.drobne p{font-size:14px;color:var(--muted)}
.pr-text.perex p{font-size:clamp(18px,1.4vw,21px);line-height:1.6;color:var(--ink)}
.pr-text a,.pr-odrazky a,.pr-dotazy a,.pr-upozorneni a,.pr-dvojice a{color:var(--blue-text)}
.pr-odrazky ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.pr-odrazky li{display:flex;gap:10px;align-items:flex-start;font-size:16px;line-height:1.55;color:var(--ink)}
.pr-odrazky li svg{width:20px;height:20px;padding:3px;border-radius:6px;background:#E5F4FB;color:var(--blue);flex:none;margin-top:2px}
.pr-obrazek img{width:100%;border-radius:var(--radius-lg);aspect-ratio:3/2;object-fit:cover}
.pr-obrazek figcaption,.pr-fotopas figcaption{font-size:13.5px;color:var(--muted);margin-top:8px}
.pr-obrazek{margin-left:0;margin-right:0}
.pr-citace{margin:0;border-left:3px solid var(--blue);padding:4px 0 4px 22px}
.pr-citace p{font-family:var(--display);font-size:clamp(19px,1.6vw,24px);line-height:1.45;color:var(--ink);font-weight:500}
.pr-citace figcaption{margin-top:10px;font-size:14px;color:var(--muted);font-weight:600}
.pr-dvojice{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;max-width:none!important}
.pr-dvojice.vlevo .pr-dvojice-foto{order:-1}
.pr-dvojice-foto img{width:100%;border-radius:var(--radius-lg);aspect-ratio:4/3;object-fit:cover}
.pr-dvojice p{font-size:16.5px;line-height:1.75;color:#3E5064}
.pr-dvojice p + p{margin-top:12px}
.pr-postup ol{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:pp}
.pr-postup li{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:start;counter-increment:pp}
.pr-postup li::before{content:counter(pp,decimal-leading-zero);width:52px;height:52px;border-radius:12px;background:var(--blue-btn);color:#fff;font-family:var(--display);font-weight:600;font-size:18px;display:flex;align-items:center;justify-content:center}
.pr-postup strong{display:block;font-family:var(--display);font-weight:600;color:var(--ink);font-size:18px;margin:4px 0 4px}
.pr-postup p{font-size:15.5px;line-height:1.6}
.pr-dotazy .acc-panel p{padding-left:76px}
.pr-upozorneni{display:flex;gap:14px;align-items:flex-start;padding:20px 24px;border-radius:16px;background:#FFF6E0;border:1px solid #F1D48A;color:#5A4410}
.pr-upozorneni svg{width:24px;height:24px;flex:none;color:#B07D00;margin-top:2px}
.pr-upozorneni strong{display:block;color:#3F2F05;font-family:var(--display);font-size:17px;margin-bottom:4px}
.pr-upozorneni p{font-size:15.5px;line-height:1.6}
.pr-galerie{max-width:none!important}
.pr-galerie .rd-gallery{margin-top:4px}
.pr-video .video-ram,.pr-videoslider .video-ram{position:relative;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;background:#0A2036}
.video-ram iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pr-video figcaption{font-size:13.5px;color:var(--muted);margin-top:8px}
.pr-videoslider .video-rada{display:grid;grid-auto-flow:column;grid-auto-columns:min(100%,720px);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
.pr-videoslider .video-ram{scroll-snap-align:start}
.pr-html{max-width:none!important}
.pr-osoby{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;max-width:none!important}
.pr-osoba{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 22px}
.pr-osoba strong{display:block;font-family:var(--display);font-weight:600;color:var(--ink);font-size:18px}
.pr-osoba span{display:block;font-size:14px;color:var(--muted);margin:2px 0 12px}
.pr-osoba a{display:block;color:var(--blue-text);text-decoration:none;font-size:15px;line-height:1.7}
.pr-odpocet{display:flex;flex-direction:column;gap:10px}
.pr-odpocet .od-cisla{display:flex;gap:10px;flex-wrap:wrap}
.pr-odpocet .od-cisla span{min-width:92px;background:var(--navy);color:#fff;border-radius:14px;padding:14px 16px;text-align:center}
.pr-odpocet .od-cisla strong{display:block;font-family:var(--display);font-size:34px;font-weight:600;line-height:1}
.pr-odpocet .od-cisla small{font-size:12px;color:#9FB3C6;letter-spacing:.12em;text-transform:uppercase}
.pr-ikony{display:grid;gap:12px;max-width:none!important}
.pr-ikony.sl-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pr-ikony.sl-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pr-ikony.sl-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pr-ikony > div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 22px}
.pr-ikony .sp-ico{margin-bottom:14px}
.pr-ikony strong{display:block;font-family:var(--display);font-weight:600;color:var(--ink);font-size:18px;margin-bottom:6px}
.pr-ikony p{font-size:15px;line-height:1.55}
.pr-tabulka{overflow-x:auto}
.pr-odkaz{display:flex;flex-wrap:wrap}
.stred .pr-odkaz,.pr-odkaz.stred{justify-content:center}
.pr-fotopas{margin:0}
.pr-fotopas img{width:100%;height:clamp(260px,42vw,620px);object-fit:cover;display:block}
.pr-fotopas figcaption{padding:10px var(--pad) 0;max-width:var(--wrap);margin:0 auto}
.pr-vyzva{padding:clamp(40px,4.6vw,72px) 0}
.pr-vyzva .vz-karta{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:24px 48px;background:var(--navy);color:#C3D1DE;border-radius:24px;padding:clamp(28px,3.4vw,48px)}
.pr-vyzva h2{color:#fff;font-size:clamp(28px,2.8vw,44px);line-height:1.08;font-weight:700;letter-spacing:-.03em}
.pr-vyzva .blue{color:#00A6D8}
.pr-vyzva p{font-size:17px;line-height:1.6;margin-bottom:20px;max-width:46ch}
.vlaska{display:block;height:3px;margin-top:22px;border-radius:3px;overflow:hidden;background:var(--line);position:relative;max-width:820px}
.vlaska::after{content:"";position:absolute;top:0;bottom:0;width:30%;border-radius:3px;background:var(--blue);animation:vlaska var(--vr,6s) linear infinite}
.vlaska.b-tmava::after{background:var(--navy)}.vlaska.b-azurova::after{background:#5fd3f5}
@keyframes vlaska{from{left:-30%}to{left:100%}}
@media (max-width:980px){
  .pr-dvojice,.pr-vyzva .vz-karta{grid-template-columns:1fr}
  .pr-dvojice.vlevo .pr-dvojice-foto{order:0}
  .pr-ikony.sl-3,.pr-ikony.sl-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .pr-ikony.sl-2,.pr-ikony.sl-3,.pr-ikony.sl-4{grid-template-columns:1fr}
  .pr-dotazy .acc-panel p{padding-left:56px}
}

/* stránka 404 */
.chyba404{padding:clamp(40px,7vw,110px) 0;background:radial-gradient(900px 420px at 10% 0%,#EAF7FD 0%,rgba(255,255,255,0) 70%)}
.chyba404 h1{font-size:clamp(36px,4vw,60px);line-height:1.04;font-weight:700;letter-spacing:-.035em;margin-bottom:16px}
.chyba404 p{font-size:18px;line-height:1.6;max-width:52ch;margin-bottom:28px}

/* odeslání formuláře — chyba ze serveru */
.form-chyba{grid-column:1 / -1;font-size:14px;color:#C0392B;background:#FDECEA;border-radius:10px;padding:10px 14px}
.form-chyba[hidden]{display:none}
.past{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
/* kresby opakovaných ikon (viz ikonaWebu v inc/jadro.php) — na stránce nejsou vidět */
.ikony-sprite{position:absolute;width:0;height:0;overflow:hidden}
/* kresba „drát“ v pásu Jak pracujeme je obrázek img/drat.svg (nastavení postup_kresba; dřív vložená do stránky, 12 kB) */
/* Text a fotografie bez vybrané fotky: text přes celou šířku (dřív půlka a vedle rozbitý obrázek) */
.pr-dvojice.bez-foto{grid-template-columns:1fr}
