@charset "UTF-8";
/* ============================================================================
   UNIQB — NÁVRH B „VÝKRES"
   Světlý web sázený jako výkresová dokumentace a materiálový katalog.
   Čisté CSS, bez knihoven, bez build stepu.
   ========================================================================= */

/* --- 1. TOKENY ----------------------------------------------------------- */
:root {
  /* papír a plochy */
  --paper:#F4F3EF;
  --paper-2:#EEEDE8;
  --paper-3:#E7E5DE;
  --card:#FFFFFF;

  /* inkoust */
  --ink:#12151A;
  --ink-2:#3A4048;
  --ink-3:#666C74;
  --ink-4:#8D9298;

  /* linky */
  --line:#C9C6BE;
  --line-2:#DCD9D1;
  --line-3:#B4B0A6;

  /* výkresová modrá */
  --blue:#1B4BE0;
  --blue-2:#4B72EE;
  --blue-soft:rgba(27,75,224,.10);
  --blue-line:rgba(27,75,224,.26);

  /* kódy linií */
  --k1:#23262B;   /* pěna, antracit */
  --k2:#0A1FD0;   /* profily, ultramarín */
  --k3:#D92E20;   /* izolace, cihlová */
  --ok:#1F7A46;

  /* rytmus */
  --ease:cubic-bezier(.62,.05,0,1);
  --ease-out:cubic-bezier(.16,1,.3,1);

  /* mřížka */
  --gut:clamp(1.05rem, 4.2vw, 4rem);
  --maxw:88rem;
  --sec-y:clamp(4.5rem, 9vh, 9rem);
  --hh:64px;
  --frame:10px;

  /* typografie */
  --f-d:"Archivo Narrow", "Arial Narrow", Arial, system-ui, sans-serif;
  --f-b:"Barlow", system-ui, -apple-system, sans-serif;
  --f-m:"IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;

  --fs-h1:   clamp(2.6rem, 1.1rem + 6.6vw, 7.6rem);
  --fs-h2:   clamp(1.85rem, 1.15rem + 2.9vw, 4.1rem);
  --fs-h3:   clamp(1.35rem, 1.1rem + 1.05vw, 2.15rem);
  --fs-h4:   clamp(1.02rem, .96rem + .3vw, 1.2rem);
  --fs-lead: clamp(1.04rem, .98rem + .34vw, 1.32rem);
  --fs-b:    clamp(.96rem, .94rem + .12vw, 1.045rem);
  --fs-sm:   clamp(.855rem, .84rem + .08vw, .92rem);
  --fs-m:    clamp(.68rem, .665rem + .07vw, .755rem);
}

/* --- 2. RESET ------------------------------------------------------------ */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
body{
  margin:0; background:var(--paper); color:var(--ink-2);
  font:400 var(--fs-b)/1.62 var(--f-b);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg{ display:block; max-width:100%; }
img{ height:auto; }
button,input,select,textarea{ font:inherit; color:inherit; }
button{ background:none; border:0; cursor:pointer; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4,p,figure,blockquote,dl,dd,ol,ul{ margin:0; padding:0; }
ul,ol{ list-style:none; }
table{ border-collapse:collapse; width:100%; }
sup{ font-size:.62em; vertical-align:super; line-height:0; }
::selection{ background:var(--blue); color:#fff; }

.tnum,.mono{ font-variant-numeric:tabular-nums; }
.vh{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
.skip{
  position:fixed; top:.5rem; left:.5rem; z-index:120; padding:.65rem 1rem;
  background:var(--ink); color:var(--paper); font:600 .8rem/1 var(--f-m); letter-spacing:.06em;
  transform:translateY(-160%); transition:transform .25s var(--ease-out);
}
.skip:focus{ transform:none; }

:focus-visible{ outline:2px solid var(--blue); outline-offset:3px; }

/* --- 3. PAPÍR: RASTR A RÁMEČEK LISTU ------------------------------------- */
.raster{
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(to right, var(--blue-soft) 1px, transparent 1px),
    linear-gradient(to bottom, var(--blue-soft) 1px, transparent 1px),
    linear-gradient(to right, rgba(27,75,224,.045) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(27,75,224,.045) 1px, transparent 1px);
  background-size:96px 96px, 96px 96px, 16px 16px, 16px 16px;
  background-position:center top;
  opacity:.9;
  -webkit-mask-image:radial-gradient(circle at 50% 30%, #000 20%, rgba(0,0,0,.55) 100%);
          mask-image:radial-gradient(circle at 50% 30%, #000 20%, rgba(0,0,0,.55) 100%);
}
.sheet{
  position:fixed; z-index:3; pointer-events:none;
  top:calc(var(--hh) + var(--frame)); left:var(--frame); right:var(--frame); bottom:var(--frame);
}
.sheet-b{ position:absolute; background:var(--line); }
.sheet-t { top:0; left:0; right:0; height:1px; }
.sheet-bt{ bottom:0; left:0; right:0; height:1px; }
.sheet-l { top:0; bottom:0; left:0; width:1px; }
.sheet-r { top:0; bottom:0; right:0; width:1px; }
.crn{ position:absolute; width:16px; height:16px; border:0 solid var(--ink-3); }
.crn-tl{ top:-1px; left:-1px; border-top-width:2px; border-left-width:2px; }
.crn-tr{ top:-1px; right:-1px; border-top-width:2px; border-right-width:2px; }
.crn-bl{ bottom:-1px; left:-1px; border-bottom-width:2px; border-left-width:2px; }
.crn-br{ bottom:-1px; right:-1px; border-bottom-width:2px; border-right-width:2px; }
.zn{
  position:absolute; display:flex; align-items:center; justify-content:space-around;
  font:500 9px/1 var(--f-m); letter-spacing:.16em; color:var(--ink-4);
}
.zn i{ display:block; width:1px; height:5px; background:var(--line); }
.zn-t{ top:0; left:0; right:0; height:12px; }
.zn-l,.zn-r{ top:0; bottom:0; width:12px; flex-direction:column; }
.zn-l{ left:0; } .zn-r{ right:0; }
.zn-l i,.zn-r i{ width:5px; height:1px; }
@media (max-width:1180px){ .zn{ display:none; } }
@media (max-width:700px){ .sheet{ --frame:5px; } .crn{ width:10px; height:10px; } }

/* --- 4. PRELOADER: rozkreslení výkresu ----------------------------------- */
.pre{
  position:fixed; inset:0; z-index:200; background:var(--paper);
  display:grid; place-content:center; gap:1.4rem; justify-items:center;
}
.pre-sheet{ position:relative; width:min(78vw, 420px); }
.pre-svg{ width:100%; height:auto; overflow:visible; }
.pre-svg .pl{ stroke:var(--ink); stroke-width:1.2; stroke-dasharray:1400; stroke-dashoffset:1400; }
.pre-svg .pl-2{ stroke:var(--line-3); stroke-width:1; }
.pre-svg .pd path{ stroke:var(--blue); stroke-width:1; fill:none; }
.pre-svg .pd{ opacity:0; }
.pre-svg .pm{ fill:var(--ink); opacity:0; transform-origin:209px 128px; }
.pre-svg .pb{ opacity:0; }
.pre-svg .pb rect,.pre-svg .pb path{ stroke:var(--ink); stroke-width:1; fill:none; }
.pre-tb{
  position:absolute; left:56.7%; right:5.2%; bottom:7.9%; height:22.1%;
  display:grid; grid-template-columns:1fr 1fr; align-content:space-between;
  font:500 clamp(6.5px,1.5vw,9.5px)/1.9 var(--f-m); letter-spacing:.06em; color:var(--ink-3);
  opacity:0; padding:0 .45em; white-space:nowrap;
}
.pre-tb-a{ color:var(--ink); font-weight:600; letter-spacing:.22em; }
.pre-tb-d{ text-align:right; color:var(--blue); font-variant-numeric:tabular-nums; }
.pre-tb-c{ text-align:left; } .pre-tb-b{ text-align:right; }
.pre-cap{
  font:500 var(--fs-m)/1 var(--f-m); letter-spacing:.24em; text-transform:uppercase; color:var(--ink-4);
}
.is-loading{ overflow:hidden; }
html.is-ready .pre{ opacity:0; visibility:hidden; transition:opacity .5s var(--ease-out), visibility 0s .5s; }

@keyframes drawFrame{ to{ stroke-dashoffset:0; } }
@keyframes fadeUp{ from{ opacity:0; transform:translateY(6px);} to{ opacity:1; transform:none; } }
@keyframes popMark{ from{ opacity:0; transform:scale(.86);} to{ opacity:1; transform:none; } }
html:not(.skip-intro) .pre-svg .pl-1{ animation:drawFrame .55s var(--ease-out) forwards; }
html:not(.skip-intro) .pre-svg .pl-2{ animation:drawFrame .55s .16s var(--ease-out) forwards; }
html:not(.skip-intro) .pre-svg .pd-1{ animation:fadeUp .3s .42s var(--ease-out) forwards; }
html:not(.skip-intro) .pre-svg .pd-2{ animation:fadeUp .3s .52s var(--ease-out) forwards; }
html:not(.skip-intro) .pre-svg .pm { animation:popMark .45s .6s var(--ease-out) forwards; }
html:not(.skip-intro) .pre-svg .pb { animation:fadeUp .32s .74s var(--ease-out) forwards; }
html:not(.skip-intro) .pre-tb     { animation:fadeUp .32s .86s var(--ease-out) forwards; }
@media (prefers-reduced-motion:reduce){
  .pre-svg .pl{ stroke-dashoffset:0; } .pre-svg .pd,.pre-svg .pm,.pre-svg .pb,.pre-tb{ opacity:1; }
  html.is-ready .pre{ transition:none; }
}

/* --- 5. HLAVIČKA --------------------------------------------------------- */
.hdr{
  position:fixed; top:0; left:0; right:0; z-index:60; height:var(--hh);
  background:rgba(244,243,239,.86); backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.hdr-in{
  height:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut);
  display:flex; align-items:center; gap:clamp(.8rem,2.4vw,2.4rem);
}
.brand{ display:flex; align-items:center; gap:.6rem; margin-right:auto; }
.brand-mk{ width:20px; height:20px; fill:var(--ink); flex:none; }
.brand-tx{ display:flex; flex-direction:column; line-height:1; }
.brand-tx b{ font:700 1.02rem/1 var(--f-d); letter-spacing:.2em; color:var(--ink); }
.brand-tx i{ font:400 .6rem/1.5 var(--f-m); letter-spacing:.18em; text-transform:uppercase; color:var(--ink-4); font-style:normal; }
.nav{ display:flex; gap:clamp(.7rem,1.7vw,1.6rem); }
.nav a{
  position:relative; font:500 var(--fs-m)/1 var(--f-m); letter-spacing:.12em;
  text-transform:uppercase; color:var(--ink-3); padding:.5rem 0;
}
.nav a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--blue);
  transform:scaleX(0); transform-origin:0 50%; transition:transform .35s var(--ease-out);
}
.nav a.is-active{ color:var(--ink); }
.nav a.is-active::after{ transform:none; }
@media (hover:hover) and (pointer:fine){ .nav a:hover{ color:var(--ink); } .nav a:hover::after{ transform:none; } }
.nav a:focus-visible{ color:var(--ink); }
.hdr-prog{ position:absolute; left:0; right:0; bottom:-1px; height:2px; }
.hdr-prog i{ display:block; height:100%; width:0; background:var(--blue); }
@media (max-width:1020px){ .nav{ display:none; } }
@media (max-width:720px){ .brand-tx i{ display:none; } .brand-tx b{ font-size:1.14rem; } }

.burger{ display:none; width:38px; height:38px; border:1px solid var(--line); position:relative; }
.burger i{ position:absolute; left:10px; right:10px; height:1.5px; background:var(--ink); transition:.3s var(--ease-out); }
.burger i:nth-child(1){ top:13px; } .burger i:nth-child(2){ top:18px; } .burger i:nth-child(3){ top:23px; }
.burger[aria-expanded="true"] i:nth-child(1){ top:18px; transform:rotate(45deg); }
.burger[aria-expanded="true"] i:nth-child(2){ opacity:0; }
.burger[aria-expanded="true"] i:nth-child(3){ top:18px; transform:rotate(-45deg); }
@media (max-width:1020px){ .burger{ display:block; } }
@media (max-width:720px){ .hdr-in .hdr-cta{ display:none; } }

.drawer{
  position:fixed; inset:var(--hh) 0 0; z-index:55; background:var(--paper);
  border-top:1px solid var(--line); overflow-y:auto;
  animation:drawIn .34s var(--ease-out);
}
@keyframes drawIn{ from{ opacity:0; transform:translateY(-10px);} to{ opacity:1; transform:none; } }
.drawer-in{ padding:1.6rem var(--gut) 4rem; display:flex; flex-direction:column; }
.drawer-in a{
  display:flex; align-items:baseline; gap:.9rem; padding:.85rem 0; border-bottom:1px solid var(--line-2);
  font:600 1.35rem/1.15 var(--f-d); text-transform:uppercase; letter-spacing:.02em; color:var(--ink);
}
.drawer-in a b{ font:500 .7rem/1 var(--f-m); color:var(--blue); letter-spacing:.1em; }
.drawer-ft{ margin-top:1.6rem; display:flex; flex-direction:column; gap:.35rem; }
.drawer-ft a{ border:0; font:500 .95rem/1.5 var(--f-m); text-transform:none; color:var(--blue); padding:.2rem 0; }

/* mobilní spodní lišta */
.dock{
  position:fixed; left:0; right:0; bottom:0; z-index:58; display:none;
  grid-template-columns:1fr 1fr; border-top:1px solid var(--line);
  background:rgba(244,243,239,.94); backdrop-filter:blur(8px);
  padding-bottom:env(safe-area-inset-bottom);
}
.dock-a{
  display:flex; align-items:center; justify-content:center; gap:.5rem; padding:.95rem .5rem;
  font:600 .82rem/1 var(--f-m); letter-spacing:.1em; text-transform:uppercase; color:var(--ink);
}
.dock-a .ic{ width:15px; height:15px; }
.dock-a--fill{ background:var(--ink); color:var(--paper); }
@media (max-width:720px){ .dock{ display:grid; } body{ padding-bottom:56px; } }

/* --- 6. OBECNÉ PRVKY ----------------------------------------------------- */
.wrap{ position:relative; z-index:1; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut); }
.mono-lbl{
  font:500 var(--fs-m)/1.4 var(--f-m); letter-spacing:.18em; text-transform:uppercase; color:var(--ink-4);
}
.mono-lbl--r{ text-align:right; }
.mono-lbl--in{ margin-top:1.4rem; margin-bottom:.5rem; color:var(--blue); }

.h1{
  font:700 var(--fs-h1)/1.02 var(--f-d); letter-spacing:-.005em; text-transform:uppercase;
  color:var(--ink); text-wrap:balance;
}
.h2{ font:700 var(--fs-h2)/1.05 var(--f-d); letter-spacing:0; text-transform:uppercase; color:var(--ink); text-wrap:balance; }
.h3{ font:600 var(--fs-h3)/1.14 var(--f-d); text-transform:uppercase; letter-spacing:.005em; color:var(--ink); }
.h4{ font:600 var(--fs-h4)/1.3 var(--f-b); letter-spacing:.005em; color:var(--ink); }
.lead{ font:300 var(--fs-lead)/1.55 var(--f-b); color:var(--ink-2); max-width:56ch; }
.lead--sm{ font-size:clamp(1rem,.96rem + .25vw,1.14rem); max-width:62ch; }
.dense{ font-size:var(--fs-sm); color:var(--ink-3); }
.note{
  margin-top:1rem; font:400 var(--fs-sm)/1.5 var(--f-b); color:var(--ink-4);
  border-left:2px solid var(--line); padding-left:.8rem;
}
.note--in{ margin-top:1.1rem; }

/* rozpad nadpisu */
[data-split] .sp-i{ display:inline-block; opacity:0; transform:translateY(.36em); }
[data-split].is-in .sp-i{
  opacity:1; transform:none;
  transition:opacity .6s var(--ease-out) calc(var(--i)*42ms), transform .7s var(--ease-out) calc(var(--i)*42ms);
}
/* pojistka: když se skript nespustí nebo prohlížeč nepřekreslí, obsah se ukáže sám */
@keyframes revealFallback{ to{ opacity:1; transform:none; } }
[data-reveal]:not(.is-in){ animation:revealFallback 0s linear forwards 2.6s; }
[data-split]:not(.is-in) .sp-i{ animation:revealFallback 0s linear forwards 2.6s; }
[data-reveal]{ opacity:0; transform:translateY(16px); transition:opacity .7s var(--ease-out), transform .7s var(--ease-out); }
[data-reveal].is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  [data-reveal],[data-split] .sp-i{ opacity:1!important; transform:none!important; transition:none!important; }
}

/* tlačítka */
.btn{
  --bg:var(--ink); --fg:var(--paper);
  position:relative; display:inline-flex; align-items:center; gap:.6rem;
  padding:.95rem 1.4rem; background:var(--bg); color:var(--fg);
  font:600 .8rem/1 var(--f-m); letter-spacing:.12em; text-transform:uppercase;
  border:1px solid var(--bg); overflow:hidden; transition:.3s var(--ease-out);
}
.btn .ic{ width:15px; height:15px; flex:none; transition:transform .35s var(--ease-out); }
.btn--line{ --bg:transparent; --fg:var(--ink); border-color:var(--line-3); }
.btn--sm{ padding:.62rem 1rem; font-size:.7rem; }
.btn--big{ padding:1.15rem 1.9rem; font-size:.84rem; }
@media (hover:hover) and (pointer:fine){
  .btn:hover{ --bg:var(--blue); --fg:#fff; border-color:var(--blue); }
  .btn:hover .ic{ transform:translateX(4px); }
  .btn--line:hover{ --bg:var(--ink); --fg:var(--paper); border-color:var(--ink); }
}
.btn:focus-visible{ --bg:var(--blue); --fg:#fff; border-color:var(--blue); }

/* --- 7. KÓTY ------------------------------------------------------------- */
.dim{ display:flex; align-items:center; gap:.55rem; color:var(--blue); font:500 var(--fs-m)/1 var(--f-m); letter-spacing:.1em; }
.dim .dl{ flex:1 1 auto; height:1px; background:currentColor; position:relative; min-width:18px; }
.dim .dl::before{ content:""; position:absolute; top:-3px; width:7px; height:7px; background:currentColor; }
.dim .dl:first-child::before{ left:0; clip-path:polygon(0 50%,100% 0,100% 100%); }
.dim .dl:last-child::before{ right:0; clip-path:polygon(100% 50%,0 0,0 100%); }
.dim .dv{ font-weight:500; white-space:nowrap; }
.dim--v{
  flex-direction:column; position:absolute; top:0; bottom:0; left:-2.1rem; width:1rem;
}
.dim--v .dl{ width:1px; height:auto; flex:1; background:currentColor; min-width:0; }
.dim--v .dl::before{ left:-3px; top:auto; }
.dim--v .dl:first-child::before{ top:0; clip-path:polygon(50% 0,0 100%,100% 100%); }
.dim--v .dl:last-child::before{ bottom:0; top:auto; clip-path:polygon(50% 100%,0 0,100% 0); }
.dim--v .dv{ writing-mode:vertical-rl; padding:.4rem 0; }
.ext{ position:absolute; width:1px; height:14px; background:var(--blue-line); }
.ext-tl{ top:-16px; left:0; } .ext-tr{ top:-16px; right:0; }
.ext-bl{ bottom:-16px; left:0; } .ext-br{ bottom:-16px; right:0; }

/* --- 8. HERO ------------------------------------------------------------- */
.hero{ padding:calc(var(--hh) + clamp(2.6rem,7vh,5.4rem)) 0 clamp(2.5rem,5vh,4rem); position:relative; }
.hero-top{ display:flex; justify-content:space-between; gap:1rem; border-bottom:1px solid var(--line); padding-bottom:.7rem; }
@media (max-width:900px){ .hero-top .mono-lbl--r{ display:none; } }
.hero-grid{
  display:grid; grid-template-columns:minmax(0,1.32fr) minmax(0,1fr);
  gap:clamp(1.6rem,4vw,4rem); align-items:start; padding-top:clamp(2rem,5vh,3.6rem);
}
@media (max-width:940px){ .hero-grid{ grid-template-columns:1fr; } }
.hero-l{ position:relative; }
.hero-h1wrap{ position:relative; margin:1.2rem 0 1.15rem; }
.dim-bot{ opacity:.55; }
.hero-l .lead{ margin-top:1.6rem; }
.cta-row{ display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.8rem; }
@media (max-width:520px){ .cta-row .btn{ width:100%; justify-content:center; } }
@media (max-width:940px){ .dim--v{ display:none; } }

/* detail A */
.det{ background:var(--card); border:1px solid var(--line); position:relative; }
.det-hd{
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:.2rem .6rem;
  padding:.7rem .9rem; border-bottom:1px solid var(--line-2);
  font:600 var(--fs-m)/1 var(--f-m); letter-spacing:.16em; text-transform:uppercase; color:var(--ink);
}
.det-hd .mono{ font-weight:400; color:var(--ink-4); letter-spacing:.1em; text-transform:none; }
.det-img{ position:relative; padding:1.4rem 1.1rem 2.2rem; background:
  repeating-linear-gradient(0deg, transparent 0 15px, rgba(27,75,224,.05) 15px 16px),
  repeating-linear-gradient(90deg, transparent 0 15px, rgba(27,75,224,.05) 15px 16px); }
.det-img img{ width:100%; }
.det-crn{ position:absolute; width:12px; height:12px; border:0 solid var(--blue); }
.det-crn.c1{ top:8px; left:8px; border-top-width:1px; border-left-width:1px; }
.det-crn.c2{ top:8px; right:8px; border-top-width:1px; border-right-width:1px; }
.det-crn.c3{ bottom:8px; left:8px; border-bottom-width:1px; border-left-width:1px; }
.det-crn.c4{ bottom:8px; right:8px; border-bottom-width:1px; border-right-width:1px; }
.bub{
  position:absolute; display:flex; align-items:flex-start; gap:.5rem; max-width:min(15rem,58%);
  font:400 .72rem/1.35 var(--f-b); color:var(--ink-2);
}
.bub b{
  flex:none; width:19px; height:19px; border-radius:50%; border:1px solid var(--blue); color:var(--blue);
  display:grid; place-content:center; font:500 .6rem/1 var(--f-m); background:var(--card);
}
.bub span{ background:rgba(255,255,255,.86); padding:.1rem .3rem; }
.bub-1{ left:1.1rem; bottom:.35rem; }
.bub-2{ right:1.1rem; top:2.4rem; text-align:right; flex-direction:row-reverse; }
.bub-2 span{ text-align:right; }
.det-ft{ display:flex; gap:.9rem; align-items:flex-start; padding:.9rem; border-top:1px solid var(--line-2); background:var(--paper-2); }
.det-mk{ width:26px; height:26px; fill:var(--ink); flex:none; margin-top:.15rem; }
.det-ft p{ font-size:var(--fs-sm); color:var(--ink-3); }

/* fakta */
.facts{
  display:grid; grid-template-columns:repeat(4,1fr); margin-top:clamp(2rem,5vh,3.4rem);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.facts li{ padding:1.1rem 1rem 1.1rem 0; border-right:1px solid var(--line-2); }
.facts li:last-child{ border-right:0; }
.facts li:not(:first-child){ padding-left:1rem; }
.facts b{ display:block; font:700 clamp(1.5rem,1rem + 1.7vw,2.5rem)/1 var(--f-d); color:var(--ink); }
.facts span{ display:block; margin-top:.35rem; font:500 var(--fs-m)/1.3 var(--f-m); letter-spacing:.1em; text-transform:uppercase; color:var(--ink-4); }
@media (max-width:760px){ .facts{ grid-template-columns:repeat(2,1fr); }
  .facts li:nth-child(2n){ border-right:0; } .facts li:nth-child(-n+2){ border-bottom:1px solid var(--line-2); }
  .facts li:nth-child(2n+1){ padding-left:0; } }

/* --- 9. BĚŽÍCÍ PÁS ------------------------------------------------------- */
.belt{
  position:relative; z-index:1; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  background:var(--card); overflow:hidden;
}
.belt-row{ overflow:hidden; }
.mq-track{ display:flex; align-items:center; white-space:nowrap; will-change:transform; }
.bi{
  padding:.95rem 1.1rem; font:600 var(--fs-m)/1 var(--f-m); letter-spacing:.2em;
  text-transform:uppercase; color:var(--ink);
}
.bs{ display:inline-flex; align-items:center; padding:0 .2rem; color:var(--ink-4); }
.bs svg{ width:11px; height:11px; fill:var(--blue); }
.bs.bd{ padding:0 1.1rem; font:400 var(--fs-m)/1 var(--f-m); letter-spacing:.1em; color:var(--ink-4); }

/* --- 10. SEKCE ----------------------------------------------------------- */
.poz{ position:relative; padding:var(--sec-y) 0; border-bottom:1px solid var(--line); }
.poz-hd{ display:grid; grid-template-columns:8.5rem minmax(0,1fr); gap:clamp(1rem,3vw,2.4rem); align-items:start; }
@media (max-width:760px){ .poz-hd{ grid-template-columns:1fr; gap:.7rem; } }
.poz-no{
  font:500 var(--fs-m)/1 var(--f-m); letter-spacing:.2em; text-transform:uppercase; color:var(--blue);
  padding-top:.45rem; position:relative;
}
.poz-no::after{ content:""; position:absolute; left:0; right:1.4rem; top:-.6rem; height:1px; background:var(--blue-line); }
@media (max-width:760px){ .poz-no::after{ right:auto; width:3rem; } }
.poz-hd-tx > .mono-lbl{ margin-bottom:.7rem; }
.poz-hd-tx > .h2{ margin-bottom:.9rem; }

/* --- 11. PROBLÉM --------------------------------------------------------- */
.pcards{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); margin-top:clamp(2rem,5vh,3.4rem); border:1px solid var(--line); }
@media (max-width:820px){ .pcards{ grid-template-columns:1fr; } }
.pcard{ background:var(--card); padding:clamp(1.2rem,2.4vw,1.9rem); position:relative; }
.pcard-no{ font:500 var(--fs-m)/1 var(--f-m); letter-spacing:.18em; color:var(--blue); }
.pcard-fig{ width:100%; height:auto; margin:1rem 0 1.2rem; }
.pcard-fig .s-l{ fill:none; stroke:var(--ink); stroke-width:1.2; }
.pcard-fig .s-f{ fill:var(--paper-3); stroke:var(--ink-3); stroke-width:1; }
.pcard-fig .s-f2{ fill:none; stroke:var(--k3); stroke-width:1.6; }
.pcard-fig .s-a{ fill:none; stroke:var(--blue); stroke-width:1.4; }
.pcard-fig .s-d{ fill:none; stroke:var(--k3); stroke-width:1.6; }
.pcard-fig .s-c{ fill:none; stroke:var(--line-3); stroke-width:1; stroke-dasharray:5 4; }
.pcard h3{ margin-bottom:.4rem; }
.pcard p{ font-size:var(--fs-sm); color:var(--ink-3); }

/* porovnání */
.cmp{ margin-top:clamp(2.4rem,5vh,3.6rem); border:1px solid var(--line); background:var(--card); }
.cmp-hd{ padding:clamp(1rem,2.4vw,1.6rem); border-bottom:1px solid var(--line-2); }
.cmp-hd .h3{ margin-top:.5rem; }
.cmp-stage{ position:relative; overflow:hidden; touch-action:pan-y; cursor:ew-resize; }
.cmp-svg{ display:block; width:100%; height:auto; background:var(--paper-2); }
.cmp-clip{ position:absolute; inset:0; clip-path:inset(0 0 0 52%); }
.cmp-clip .cmp-svg{ background:#fff; }
.cmp-svg .s-l{ fill:none; stroke:var(--ink); stroke-width:1.6; }
.cmp-svg .s-fill-l{ fill:var(--paper-3); stroke:none; }
.cmp-svg .s-c{ fill:none; stroke:var(--line-3); stroke-width:1; stroke-dasharray:6 5; }
.cmp-svg .s-part{ fill:#DDE2EA; stroke:var(--ink-2); stroke-width:1.4; }
.cmp-svg .s-part--bad{ fill:#F2DBD8; stroke:var(--k3); }
.cmp-svg .s-a2{ fill:none; stroke:var(--k3); stroke-width:1.6; }
.cmp-svg .s-spark path{ fill:none; stroke:var(--k3); stroke-width:2; }
.cmp-svg .s-foam rect{ fill:rgba(10,31,208,.13); stroke:var(--k2); stroke-width:1.2; }
.cmp-svg .s-tx{ font:600 15px var(--f-m); letter-spacing:.16em; fill:var(--ink); }
.cmp-svg .s-tx--sm{ font:400 12px var(--f-m); letter-spacing:.08em; fill:var(--ink-4); }
.cmp-handle{ position:absolute; top:0; bottom:0; left:52%; width:2px; background:var(--blue); pointer-events:none; }
.cmp-handle i{
  position:absolute; top:50%; left:50%; width:40px; height:40px; margin:-20px 0 0 -20px;
  border:2px solid var(--blue); border-radius:50%; background:var(--card);
}
.cmp-handle span{
  position:absolute; top:50%; left:50%; width:16px; height:2px; margin:-1px 0 0 -8px; background:var(--blue);
}
.cmp-range{
  position:absolute; inset:auto 0 0; width:100%; height:100%; top:0; opacity:0; margin:0; pointer-events:none;
}
.cmp-stage:has(.cmp-range:focus-visible) .cmp-handle i{ box-shadow:0 0 0 4px rgba(27,75,224,.34); }
.cmp .note{ margin:0; padding:.9rem clamp(1rem,2.4vw,1.6rem); border-left:0; border-top:1px solid var(--line-2); }

/* --- 12. LINIE ----------------------------------------------------------- */
.code-key{
  display:flex; flex-wrap:wrap; gap:.4rem 1.4rem; align-items:center; margin-top:2rem;
  padding:.75rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  font:500 var(--fs-m)/1 var(--f-m); letter-spacing:.14em; text-transform:uppercase; color:var(--ink);
}
.code-key i{ display:inline-block; width:22px; height:9px; background:var(--k); margin-right:.5rem; vertical-align:-1px; }
.code-key-n{ margin-left:auto; color:var(--ink-4); letter-spacing:.08em; text-transform:none; }
@media (max-width:760px){ .code-key-n{ margin-left:0; width:100%; } }

.line{ margin-top:clamp(2.4rem,5vh,4rem); border:1px solid var(--line); background:var(--card); }
.line-bar{ height:6px; background:var(--k); }
.line-in{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); }
@media (max-width:940px){ .line-in{ grid-template-columns:1fr; } }
.line--rev .line-in{ direction:rtl; }
.line--rev .line-in > *{ direction:ltr; }
@media (max-width:940px){ .line--rev .line-in{ direction:ltr; } }
.line-tx{ padding:clamp(1.3rem,3vw,2.6rem); border-right:1px solid var(--line-2); }
.line--rev .line-tx{ border-right:0; border-left:1px solid var(--line-2); }
@media (max-width:940px){ .line-tx{ border:0!important; border-bottom:1px solid var(--line-2)!important; } }
.line-no{ font:500 var(--fs-m)/1 var(--f-m); letter-spacing:.16em; text-transform:uppercase; color:var(--ink-4); margin-bottom:.6rem; }
.line-no b{ display:inline-block; background:var(--k); color:#fff; padding:.3rem .45rem; margin-right:.5rem; letter-spacing:.1em; }
.line-tx > p{ margin-top:.9rem; }
.spec{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--line-2); margin-top:1.4rem; border:1px solid var(--line-2); }
.spec > div{ background:var(--card); padding:.7rem .8rem; }
.spec dt{ font:500 var(--fs-m)/1.3 var(--f-m); letter-spacing:.12em; text-transform:uppercase; color:var(--ink-4); }
.spec dd{ margin-top:.2rem; font:500 .96rem/1.3 var(--f-b); color:var(--ink); }
.chips{ display:flex; flex-wrap:wrap; gap:.4rem; }
.chips li{
  padding:.34rem .6rem; border:1px solid var(--line); font:400 .78rem/1.2 var(--f-b); color:var(--ink-2);
  background:var(--paper-2);
}
.ptab{ margin-top:1.3rem; border-top:1px solid var(--line-2); }
.ptab th,.ptab td{ text-align:left; padding:.6rem .1rem; border-bottom:1px solid var(--line-2); vertical-align:top; }
.ptab th{ font:500 var(--fs-m)/1.5 var(--f-m); letter-spacing:.1em; text-transform:uppercase; color:var(--ink-4); width:44%; }
.ptab td{ font-size:var(--fs-sm); color:var(--ink); }
.badge{
  display:inline-block; padding:.12rem .38rem; font:500 .6rem/1.5 var(--f-m); letter-spacing:.1em;
  text-transform:uppercase; vertical-align:1px; white-space:nowrap;
}
.badge--ok{ background:rgba(31,122,70,.12); color:var(--ok); border:1px solid rgba(31,122,70,.3); }
.badge--or{ background:var(--paper-3); color:var(--ink-3); border:1px solid var(--line); }

.line-im{ padding:clamp(1.1rem,2.6vw,2rem); display:flex; flex-direction:column; gap:1rem; background:var(--paper-2); }
.shot{ background:var(--card); border:1px solid var(--line-2); position:relative; }
.shot img{ width:100%; }
.shot--big img{ aspect-ratio:16/10; object-fit:cover; object-position:center; }
.shot figcaption{
  display:flex; align-items:baseline; gap:.5rem; padding:.55rem .7rem; border-top:1px solid var(--line-2);
  font:400 var(--fs-m)/1.3 var(--f-m); letter-spacing:.06em; color:var(--ink-3);
}
.shot figcaption .mono{ color:var(--blue); letter-spacing:.12em; }
.cap-src{ margin-left:auto; font-style:normal; color:var(--ink-4); white-space:nowrap; }
.shot-pair{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.shot-pair .shot img{ aspect-ratio:4/3; object-fit:cover; }
@media (max-width:460px){ .shot-pair{ grid-template-columns:1fr; } }

/* --- 13. ŘEZ MATERIÁLEM -------------------------------------------------- */
.poz--cut{ padding-bottom:0; }
.cut{ height:280svh; position:relative; margin-top:clamp(2rem,5vh,3.4rem); }
.cut-sticky{
  position:sticky; top:calc(var(--hh) + 14px); height:calc(100svh - var(--hh) - 28px);
  display:flex; flex-direction:column; gap:1rem; padding:0 var(--gut) 1.2rem;
  max-width:var(--maxw); margin-inline:auto;
}
.cut-stage{ position:relative; flex:1; min-height:0; overflow:hidden; border:1px solid var(--line); background:var(--ink); }
.cut-img,.cut-draw img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cut-draw{ position:absolute; inset:0; clip-path:inset(0 100% 0 0); }
.cut-draw img{ filter:grayscale(1) contrast(1.25) brightness(1.16); }
.cut-draw::after{
  content:""; position:absolute; inset:0; background:var(--blue); mix-blend-mode:screen; opacity:.34;
}
.cut-grid{
  position:absolute; inset:0; z-index:2;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.24) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.24) 1px, transparent 1px);
  background-size:44px 44px;
}
.cut-scan{
  position:absolute; top:0; bottom:0; left:0; width:2px; background:#fff; z-index:4;
  box-shadow:0 0 18px rgba(255,255,255,.7);
}
.cut-scan b{
  position:absolute; top:1rem; left:.5rem; padding:.24rem .45rem; background:#fff; color:var(--ink);
  font:600 .62rem/1 var(--f-m); letter-spacing:.18em;
}
.cut-tags{ position:absolute; inset:0; z-index:5; pointer-events:none; }
.ctag{
  position:absolute; left:clamp(1rem,4vw,3rem); display:flex; align-items:center; gap:.6rem;
  padding:.42rem .7rem; background:rgba(255,255,255,.94); color:var(--ink);
  font:400 .78rem/1.2 var(--f-b); opacity:0; transform:translateX(-10px); transition:.45s var(--ease-out);
}
.ctag b{ font:600 .66rem/1 var(--f-m); color:var(--blue); letter-spacing:.1em; }
.ctag.is-on{ opacity:1; transform:none; }
.ctag:nth-child(1){ top:22%; } .ctag:nth-child(2){ top:47%; } .ctag:nth-child(3){ top:72%; }
.cut-hud{
  position:absolute; right:.8rem; bottom:.8rem; z-index:5; display:flex; gap:.6rem; align-items:baseline;
  background:rgba(18,21,26,.72); color:#fff; padding:.4rem .7rem;
  font:500 .66rem/1 var(--f-m); letter-spacing:.14em; text-transform:uppercase;
}
.cut-hud b{ color:var(--blue-2); }
.cut-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); flex:none; }
.cut-steps li{
  background:var(--card); padding:.7rem .8rem; display:flex; gap:.5rem; align-items:baseline;
  font:400 var(--fs-sm)/1.35 var(--f-b); color:var(--ink-4); transition:.35s var(--ease-out);
}
.cut-steps li b{ font:600 .66rem/1 var(--f-m); color:var(--line-3); letter-spacing:.1em; }
.cut-steps li.is-on{ color:var(--ink); background:var(--card); }
.cut-steps li.is-on b{ color:var(--blue); }
@media (max-width:820px){
  .cut{ height:220svh; }
  .cut-steps{ grid-template-columns:1fr 1fr; }
  .ctag{ font-size:.7rem; }
}
@media (prefers-reduced-motion:reduce){
  .cut{ height:auto; } .cut-sticky{ position:static; height:auto; }
  .cut-stage{ aspect-ratio:16/9; } .cut-draw{ clip-path:inset(0 50% 0 0); }
  .ctag{ opacity:1; transform:none; } .cut-steps li{ color:var(--ink); }
}

/* --- 14. TABULKA MATERIÁLŮ ----------------------------------------------- */
.tools-bar{ display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between; margin-top:clamp(1.8rem,4vh,2.8rem); }
.filt{ display:flex; flex-wrap:wrap; gap:.4rem; }
.fchip{
  --k:var(--ink-4);
  display:inline-flex; align-items:center; gap:.45rem; padding:.52rem .85rem; border:1px solid var(--line);
  background:var(--card); font:500 var(--fs-m)/1 var(--f-m); letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink-3); transition:.25s var(--ease-out);
}
.fchip::before{ content:""; width:9px; height:9px; background:var(--k); }
.fchip.is-on{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
@media (hover:hover) and (pointer:fine){ .fchip:hover{ border-color:var(--ink-3); color:var(--ink); } .fchip.is-on:hover{ color:var(--paper); } }
.fsearch input{
  width:min(20rem,68vw); padding:.6rem .8rem; border:1px solid var(--line); background:var(--card);
  font:400 var(--fs-sm)/1.3 var(--f-b); color:var(--ink);
}
.fsearch input::placeholder{ color:var(--ink-4); }
.tab-wrap{ margin-top:1.2rem; border:1px solid var(--line); background:var(--card); overflow-x:auto; }
.mtab{ min-width:52rem; }
.mtab th,.mtab td{ text-align:left; padding:.62rem .85rem; border-bottom:1px solid var(--line-2); font-size:var(--fs-sm); }
.mtab thead th{ position:sticky; top:0; background:var(--paper-2); border-bottom:1px solid var(--line); padding:0; z-index:2; }
.sortb{
  display:flex; align-items:baseline; gap:.35rem; width:100%; padding:.7rem .85rem;
  font:500 var(--fs-m)/1.2 var(--f-m); letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3);
}
.sortb .u{ font-style:normal; font-size:.9em; color:var(--ink-4); letter-spacing:.06em; }
.sortb .ic{ width:11px; height:11px; margin-left:auto; opacity:.28; transition:.25s var(--ease-out); }
.sortb[data-dir="asc"] .ic{ opacity:1; transform:rotate(180deg); color:var(--blue); }
.sortb[data-dir="desc"] .ic{ opacity:1; color:var(--blue); }
@media (hover:hover) and (pointer:fine){ .sortb:hover{ color:var(--ink); } .sortb:hover .ic{ opacity:.7; } }
.mtab tbody tr{ transition:background .2s; }
@media (hover:hover) and (pointer:fine){ .mtab tbody tr:hover{ background:var(--paper-2); } }
.mtab td.c-ozn{ font:500 .82rem/1.3 var(--f-m); color:var(--ink); letter-spacing:.06em; white-space:nowrap; }
.mtab td.c-lin{ white-space:nowrap; }
.lin-k{ display:inline-flex; align-items:center; gap:.4rem; font:500 var(--fs-m)/1 var(--f-m); letter-spacing:.1em; color:var(--ink-3); }
.lin-k i{ width:9px; height:9px; background:var(--k); }
.mtab td.c-num{ font-variant-numeric:tabular-nums; color:var(--ink); white-space:nowrap; }
.mtab td.c-bar span{ display:inline-flex; align-items:center; gap:.35rem; }
.dotc{ width:11px; height:11px; border:1px solid rgba(0,0,0,.16); background:var(--c); flex:none; }
.tab-empty{ padding:1.4rem; font-size:var(--fs-sm); color:var(--ink-3); }
.tab-legend{ display:grid; gap:.5rem; margin-top:1rem; }
.tab-legend p{ font-size:var(--fs-sm); color:var(--ink-3); }

/* --- 15. NÁSTROJE -------------------------------------------------------- */
.calcs{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(1.2rem,2.6vw,2rem); margin-top:clamp(2rem,5vh,3.2rem); align-items:start; }
@media (max-width:1000px){ .calcs{ grid-template-columns:1fr; } }
.calc{ border:1px solid var(--line); background:var(--card); }
.calc-hd{ padding:clamp(1.1rem,2.4vw,1.7rem); border-bottom:1px solid var(--line-2); }
.calc-hd .h3{ margin:.5rem 0 .4rem; }
.calc-sub{ font-size:var(--fs-sm); color:var(--ink-3); }
.calc-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
@media (max-width:640px){ .calc-grid{ grid-template-columns:1fr; } }
.calc-in{ grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-2); border-bottom:1px solid var(--line-2); }
@media (max-width:640px){ .calc-in{ grid-template-columns:repeat(2,1fr); } }
.fld{ background:var(--card); padding:.7rem .85rem; }
.fld label{ display:flex; align-items:baseline; gap:.4rem; font:500 var(--fs-m)/1.3 var(--f-m); letter-spacing:.1em; text-transform:uppercase; color:var(--ink-4); }
.fld .u{ font-style:normal; color:var(--blue); }
.fld input[type=number],.fld select{
  width:100%; margin-top:.3rem; padding:.35rem 0; border:0; border-bottom:1px solid var(--line);
  background:transparent; font:500 1.05rem/1.3 var(--f-m); color:var(--ink); font-variant-numeric:tabular-nums;
  -webkit-appearance:none; appearance:none; border-radius:0;
}
.fld select{ background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%231B4BE0' stroke-width='1.5'/%3E%3C/svg%3E") right center/13px no-repeat; }
.fld input:focus,.fld select:focus{ outline:0; border-bottom-color:var(--blue); }
.fld input:focus-visible,.fld select:focus-visible{ outline:2px solid var(--blue); outline-offset:2px; }
.fld--wide{ grid-column:1/-1; }

.pal{ padding:clamp(1rem,2.4vw,1.6rem); border-right:1px solid var(--line-2); background:var(--paper-2); }
@media (max-width:640px){ .pal{ border-right:0; border-bottom:1px solid var(--line-2); } }
.pal figcaption{ margin-bottom:1.4rem; }
.pal-svg{ width:100%; height:auto; overflow:visible; }
.pal-svg .p-out{ fill:#fff; stroke:var(--ink); stroke-width:6; }
.pal-svg .p-cell{ fill:rgba(27,75,224,.14); stroke:var(--k2); stroke-width:4; }
.pal-svg .p-dim path{ fill:none; stroke:var(--blue); stroke-width:4; }
.pal-svg .p-dim text{ font:500 42px var(--f-m); fill:var(--blue); }
.calc-out{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line-2); align-content:start; }
.ov{ background:var(--card); padding:.8rem .9rem; }
.ov span{ display:block; font:500 var(--fs-m)/1.3 var(--f-m); letter-spacing:.1em; text-transform:uppercase; color:var(--ink-4); }
.ov b{ display:block; margin-top:.2rem; font:600 1.15rem/1.2 var(--f-d); color:var(--ink); }
.ov--big{ background:var(--ink); }
.ov--big span{ color:rgba(244,243,239,.6); }
.ov--big b{ color:var(--paper); font-size:1.7rem; }
.calc-note{ grid-column:1/-1; background:var(--card); padding:.8rem .9rem; font-size:.8rem; line-height:1.5; color:var(--ink-4); }

.rcalc{ padding:clamp(1.1rem,2.4vw,1.7rem); }
.formula{
  display:flex; align-items:center; gap:.65rem; padding:1rem; background:var(--paper-2);
  border:1px solid var(--line-2); font:500 1.05rem/1 var(--f-m); color:var(--ink);
}
.formula > b{ font:700 1.3rem/1 var(--f-d); color:var(--blue); }
.frac{ display:inline-flex; flex-direction:column; text-align:center; line-height:1.25; }
.frac-t{ font-style:normal; border-bottom:1.5px solid var(--ink); padding:0 .3rem .1rem; }
.frac-b{ font-style:normal; padding:.1rem .3rem 0; }
.fq{ color:var(--ink-4); }
.formula > b:last-child{ margin-left:auto; font:700 1.5rem/1 var(--f-d); color:var(--ink); }
.rcalc .fld{ padding:1.2rem 0 0; }
.rng{ -webkit-appearance:none; appearance:none; width:100%; height:26px; background:transparent; margin:.4rem 0 0; }
.rng::-webkit-slider-runnable-track{ height:2px; background:var(--line-3); }
.rng::-moz-range-track{ height:2px; background:var(--line-3); }
.rng::-webkit-slider-thumb{
  -webkit-appearance:none; width:20px; height:20px; margin-top:-9px; background:var(--card);
  border:2px solid var(--blue); border-radius:50%; cursor:pointer;
}
.rng::-moz-range-thumb{ width:18px; height:18px; background:var(--card); border:2px solid var(--blue); border-radius:50%; cursor:pointer; }
.rng-out{ display:block; font:500 .85rem/1 var(--f-m); color:var(--blue); }
.rbar{ position:relative; height:8px; background:var(--paper-3); margin:1.6rem 0 2.2rem; border:1px solid var(--line-2); }
.rbar-fill{ height:100%; background:var(--blue); width:10%; transition:width .18s linear; }
.rbar-mk{ position:absolute; top:100%; transform:translateX(-50%); font:400 .64rem/2 var(--f-m); color:var(--ink-4); white-space:nowrap; }
.rbar-mk i{ position:absolute; left:50%; top:-9px; width:1px; height:8px; background:var(--line-3); }
.rres{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line-2); border:1px solid var(--line-2); }

.temp{ padding:clamp(1.1rem,2.4vw,1.7rem); border-top:1px solid var(--line-2); background:var(--paper-2); }
.temp .h4{ margin:.5rem 0 1.6rem; }
.temp-bar{ position:relative; height:12px; background:linear-gradient(90deg,#7FA6E8,#DDE2EA 34%,#F0E0C0 62%,#E08A45 82%,#C4392B); border:1px solid var(--line); }
.temp-zone{ position:absolute; top:-1px; bottom:-1px; left:12.5%; right:20.83%; border-left:1.5px solid var(--ink); border-right:1.5px solid var(--ink); background:rgba(255,255,255,.16); }
.temp-mark{ position:absolute; top:100%; font:500 .64rem/2.2 var(--f-m); color:var(--ink-3); white-space:nowrap; }
.temp-mark i{ position:absolute; left:0; top:-12px; width:1px; height:11px; background:var(--ink-3); }
.temp-mark--a{ left:12.5%; } .temp-mark--b{ left:79.17%; transform:translateX(-100%); }
.temp-mark--b i{ left:auto; right:0; }
.temp-cur{ position:absolute; top:-6px; bottom:-6px; left:45.8%; width:2px; background:var(--ink); }
.temp-cur::after{ content:""; position:absolute; top:-5px; left:-4px; border:5px solid transparent; border-top-color:var(--ink); }
.rng--temp{ margin-top:2.4rem; }
.temp-read{ display:flex; flex-wrap:wrap; align-items:baseline; gap:.7rem; margin-top:.4rem; }
.temp-read b{ font:700 1.6rem/1 var(--f-d); color:var(--ink); }
.temp-read span{ font-size:var(--fs-sm); color:var(--ink-3); }
.temp-read.is-out b{ color:var(--k3); }

/* --- 16. VZORKOVNÍK ------------------------------------------------------ */
.sw{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:clamp(1.2rem,2.6vw,2rem); margin-top:clamp(2rem,5vh,3.2rem); align-items:start; }
@media (max-width:820px){ .sw{ grid-template-columns:1fr; } }
.sw-list{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
@media (max-width:400px){ .sw-list{ grid-template-columns:1fr; } }
.swb{
  position:relative; background:var(--card); padding:1rem .9rem 1rem 3.4rem; text-align:left;
  font:500 var(--fs-m)/1 var(--f-m); letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3);
  transition:.25s var(--ease-out);
}
.swb::before{
  content:""; position:absolute; left:.9rem; top:50%; transform:translateY(-50%);
  width:26px; height:26px; background-color:var(--sc,#CCC);
  border:1px solid rgba(0,0,0,.18);
}
.swb.is-on{ background:var(--ink); color:var(--paper); }
@media (hover:hover) and (pointer:fine){ .swb:hover{ color:var(--ink); background:var(--paper-2); } .swb.is-on:hover{ background:var(--ink); color:var(--paper); } }
.sw-view{ border:1px solid var(--line); background:var(--card); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); }
@media (max-width:560px){ .sw-view{ grid-template-columns:1fr; } }
.sw-slab{ position:relative; min-height:15rem; background-color:var(--sc,#C42B23); overflow:hidden; transition:background-color .45s var(--ease-out); }
.sw-cell{
  position:absolute; inset:0; opacity:.35; contain:strict;
  background-image:
    radial-gradient(circle at 25% 25%, rgba(255,255,255,.5) 0 1.5px, transparent 2px),
    radial-gradient(circle at 75% 65%, rgba(0,0,0,.35) 0 1.5px, transparent 2px),
    radial-gradient(circle at 50% 90%, rgba(255,255,255,.35) 0 1px, transparent 1.5px);
  background-size:9px 9px, 13px 13px, 7px 7px;
}
.sw-edge{ position:absolute; left:0; right:0; bottom:0; height:22%; background:linear-gradient(180deg, rgba(0,0,0,.16), rgba(0,0,0,.34)); border-top:1px solid rgba(255,255,255,.25); }
.sw-meta{ padding:clamp(1rem,2.4vw,1.6rem); }
.sw-name{ font:700 clamp(1.4rem,1.1rem + 1vw,2rem)/1.1 var(--f-d); text-transform:uppercase; color:var(--ink); margin:.4rem 0 1rem; }
.sw-dl{ display:grid; gap:1px; background:var(--line-2); border:1px solid var(--line-2); }
.sw-dl > div{ background:var(--card); padding:.55rem .7rem; display:flex; justify-content:space-between; gap:1rem; }
.sw-dl dt{ font:500 var(--fs-m)/1.4 var(--f-m); letter-spacing:.1em; text-transform:uppercase; color:var(--ink-4); }
.sw-dl dd{ font:500 .9rem/1.4 var(--f-m); color:var(--ink); }

/* --- 17. PROCES ---------------------------------------------------------- */
.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:clamp(2rem,5vh,3.2rem); }
@media (max-width:900px){ .steps{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .steps{ grid-template-columns:1fr; } }
.step{ position:relative; background:var(--card); padding:clamp(1.2rem,2.6vw,2rem); }
.step-no{
  font:700 clamp(2rem,1.4rem + 2vw,3.2rem)/1 var(--f-d); color:transparent;
  -webkit-text-stroke:1px var(--line-3); margin-bottom:.8rem;
}
.step h3{ margin-bottom:.35rem; }
.step > p:not(.step-no):not(.step-note){ font-size:var(--fs-sm); color:var(--ink-3); }
.step::after{
  content:""; position:absolute; right:-1px; top:50%; width:9px; height:9px; background:var(--blue);
  clip-path:polygon(0 0,100% 50%,0 100%); transform:translate(50%,-50%); z-index:2;
}
.step:last-child::after{ display:none; }
@media (max-width:900px){ .step:nth-child(2n)::after{ display:none; } }
@media (max-width:560px){ .step::after{ display:none; } }
.step--flag{ background:var(--paper-2); }
.step--flag .step-no{ color:var(--blue); -webkit-text-stroke:0; }
.step-note{
  margin-top:.9rem; padding-top:.8rem; border-top:1px dashed var(--line-3);
  font-size:.82rem; line-height:1.5; color:var(--ink-3);
}
.proc-band{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1rem; }
@media (max-width:820px){ .proc-band{ grid-template-columns:1fr; } }
.band{ position:relative; border:1px solid var(--line); background:var(--card); }
.band img{ width:100%; aspect-ratio:16/10; object-fit:cover; filter:grayscale(.35) contrast(1.04); }
.band figcaption{ padding:.7rem .8rem; font-size:var(--fs-sm); color:var(--ink-3); border-top:1px solid var(--line-2); }
.band figcaption .mono{ display:block; font:500 var(--fs-m)/1.6 var(--f-m); letter-spacing:.14em; text-transform:uppercase; color:var(--blue); }

/* --- 18. ODVĚTVÍ, IZOMETRIE --------------------------------------------- */
.iso{ display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:clamp(1.2rem,2.6vw,2.4rem); margin-top:clamp(2rem,5vh,3.2rem); align-items:stretch; }
@media (max-width:900px){ .iso{ grid-template-columns:1fr; } }
.iso-stage{ border:1px solid var(--line); background:var(--card); padding:1rem; }
.iso-svg{ width:100%; height:auto; }
@media (max-width:900px){
  .iso-stage{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .iso-svg{ width:680px; max-width:none; }
}

.iso-floor path{ fill:none; stroke:var(--line-2); stroke-width:1; }
.iso-floor path:first-child{ fill:var(--paper-2); }
.cube{ cursor:pointer; }
.cube .f-t{ fill:#EDEBE5; stroke:var(--ink); stroke-width:1.2; transition:fill .3s var(--ease-out); }
.cube .f-l{ fill:#D9D6CE; stroke:var(--ink); stroke-width:1.2; transition:fill .3s var(--ease-out); }
.cube .f-r{ fill:#C6C3BA; stroke:var(--ink); stroke-width:1.2; transition:fill .3s var(--ease-out); }
.cube .c-lbl{ font:500 15px var(--f-m); fill:var(--ink-3); letter-spacing:.04em; transition:fill .3s; }
.cube .c-num{ font:600 17px var(--f-m); fill:var(--ink); }
.cube g{ transition:transform .35s var(--ease-out); }
.cube.is-on .f-t{ fill:var(--blue-2); } .cube.is-on .f-l{ fill:var(--blue); } .cube.is-on .f-r{ fill:#12318F; }
.cube.is-on .c-lbl{ fill:var(--ink); font-weight:600; }
.cube.is-on g{ transform:translateY(-9px); }
.cube:focus{ outline:none; }
.cube:focus-visible .f-t{ fill:var(--blue-2); }
.cube:focus-visible g{ transform:translateY(-9px); }
@media (prefers-reduced-motion:reduce){ .cube g,.cube.is-on g{ transform:none; transition:none; } }
.iso-panel{ border:1px solid var(--line); background:var(--card); padding:clamp(1.1rem,2.4vw,1.8rem); display:flex; flex-direction:column; }
.iso-panel .h3{ margin:.5rem 0 .6rem; }
.iso-panel > p{ font-size:var(--fs-sm); color:var(--ink-3); }
.iso-tags{ display:flex; flex-wrap:wrap; gap:.4rem; margin-top:1.1rem; }
.iso-tags li{ padding:.3rem .55rem; border:1px solid var(--line); background:var(--paper-2); font:400 .76rem/1.2 var(--f-b); }
.iso-hint{ margin-top:auto; padding-top:1.4rem; font:400 var(--fs-m)/1.5 var(--f-m); letter-spacing:.06em; color:var(--ink-4); }

/* --- 19. GALERIE --------------------------------------------------------- */
.cms-note{
  display:flex; gap:.9rem; align-items:flex-start; margin-top:clamp(1.6rem,4vh,2.4rem);
  padding:1rem 1.1rem; border:1px solid var(--blue-line); background:rgba(27,75,224,.05);
}
.cms-note .ic{ width:19px; height:19px; color:var(--blue); flex:none; margin-top:.15rem; }
.cms-note p{ font-size:var(--fs-sm); color:var(--ink-2); }
.cms-note b{ color:var(--ink); }
.gal{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:1.4rem; grid-auto-flow:dense; }
@media (max-width:1000px){ .gal{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .gal{ grid-template-columns:1fr; } }
.g{ border:1px solid var(--line); background:var(--card); overflow:hidden; }
.g--w2{ grid-column:span 2; } @media (max-width:520px){ .g--w2{ grid-column:span 1; } }
.g-btn{ display:block; width:100%; position:relative; text-align:left; }
.g img{ width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .6s var(--ease-out), filter .4s; }
.g--tall img{ aspect-ratio:3/4.6; }
.g--w2 img{ aspect-ratio:16/9; }
.g-meta{
  display:flex; align-items:baseline; gap:.5rem; padding:.6rem .75rem; border-top:1px solid var(--line-2);
  font:400 var(--fs-sm)/1.3 var(--f-b); color:var(--ink-2);
}
.g-meta i{ font:500 var(--fs-m)/1 var(--f-m); letter-spacing:.12em; color:var(--blue); font-style:normal; }
@media (hover:hover) and (pointer:fine){ .g-btn:hover img{ transform:scale(1.04); } }
.g-btn:focus-visible{ outline:2px solid var(--blue); outline-offset:-2px; }

/* lightbox */
.lb{ position:fixed; inset:0; z-index:150; display:grid; place-items:center; padding:clamp(1rem,4vw,3rem); }
.lb[hidden]{ display:none; }
.lb-bg{ position:absolute; inset:0; background:rgba(18,21,26,.9); }
.lb-in{ position:relative; max-width:min(66rem,92vw); background:var(--card); border:1px solid var(--line-3); padding:.6rem; }
.lb-in img{ width:100%; max-height:74svh; object-fit:contain; background:var(--paper-2); }
.lb-in figcaption{ padding:.7rem .3rem .2rem; font:400 var(--fs-sm)/1.4 var(--f-b); color:var(--ink-3); }
.lb-x{ position:absolute; top:-42px; right:0; width:32px; height:32px; }
.lb-x i{ position:absolute; top:15px; left:4px; right:4px; height:1.5px; background:#fff; }
.lb-x i:first-child{ transform:rotate(45deg); } .lb-x i:last-child{ transform:rotate(-45deg); }

/* --- 20. CITÁT ----------------------------------------------------------- */
.poz--quote{ position:relative; padding:clamp(4rem,10vh,8rem) 0; overflow:hidden; }
.qbg{ position:absolute; inset:0; z-index:0; }
.qbg img{ width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.1) brightness(1.02); }
.qbg::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(244,243,239,.9), rgba(244,243,239,.78)); }
.quote{ position:relative; background:var(--card); border:1px solid var(--line); padding:clamp(1.6rem,4vw,3.4rem); max-width:60rem; margin-inline:auto; }
.poz-no--in{ position:absolute; top:-.72rem; left:clamp(1.6rem,4vw,3.4rem); background:var(--card); padding:0 .5rem; }
.poz-no--in::after{ display:none; }
.quote-mk{ width:34px; height:34px; fill:var(--blue); margin-bottom:1.2rem; }
.quote blockquote p{
  font:600 clamp(1.28rem,1rem + 1.5vw,2.35rem)/1.22 var(--f-d); color:var(--ink); text-wrap:balance;
}
.quote figcaption{ margin-top:1.6rem; padding-top:1rem; border-top:1px solid var(--line-2); display:flex; flex-wrap:wrap; gap:.2rem 1rem; align-items:baseline; }
.quote figcaption b{ font:600 1rem/1.3 var(--f-b); color:var(--ink); }
.quote figcaption span{ font:400 var(--fs-m)/1.6 var(--f-m); letter-spacing:.12em; text-transform:uppercase; color:var(--ink-4); }
.why{ display:grid; grid-template-columns:repeat(2,1fr); gap:.7rem 1.6rem; margin-top:1.8rem; }
@media (max-width:640px){ .why{ grid-template-columns:1fr; } }
.why li{ position:relative; padding-left:1.5rem; font-size:var(--fs-sm); color:var(--ink-2); }
.why li::before{ content:""; position:absolute; left:0; top:.52em; width:9px; height:9px; background:var(--blue); clip-path:polygon(0 0,100% 50%,0 100%); }

/* --- 21. FAQ ------------------------------------------------------------- */
.faq{ margin-top:clamp(1.8rem,4vh,2.6rem); border-top:1px solid var(--line); }
.fq{ border-bottom:1px solid var(--line); background:transparent; }
.fq summary{
  display:flex; align-items:center; gap:clamp(.8rem,2vw,1.6rem); padding:1.15rem 0; cursor:pointer;
  list-style:none; position:relative;
}
.fq summary::-webkit-details-marker{ display:none; }
.fq-no{ font:500 var(--fs-m)/1 var(--f-m); letter-spacing:.14em; color:var(--blue); flex:none; }
.fq-q{ font:600 clamp(1.02rem,.95rem + .5vw,1.4rem)/1.25 var(--f-d); text-transform:uppercase; color:var(--ink); flex:1; }
.fq-x{ position:relative; width:16px; height:16px; flex:none; }
.fq-x::before,.fq-x::after{ content:""; position:absolute; background:var(--ink); transition:.3s var(--ease-out); }
.fq-x::before{ top:7.5px; left:0; right:0; height:1.5px; }
.fq-x::after{ left:7.5px; top:0; bottom:0; width:1.5px; }
.fq[open] .fq-x::after{ transform:scaleY(0); }
.fq-a{ padding:0 0 1.3rem clamp(2.4rem,6vw,5rem); }
.fq-a p{ font-size:var(--fs-b); color:var(--ink-3); max-width:64ch; }
@media (hover:hover) and (pointer:fine){ .fq summary:hover .fq-q{ color:var(--blue); } }
.fq summary:focus-visible{ outline:2px solid var(--blue); outline-offset:2px; }
@media (prefers-reduced-motion:no-preference){
  .fq[open] .fq-a{ animation:fqIn .34s var(--ease-out); }
  @keyframes fqIn{ from{ opacity:0; transform:translateY(-6px);} to{ opacity:1; transform:none; } }
}

/* --- 22. FORMULÁŘ -------------------------------------------------------- */
.fwrap{ display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:clamp(1.2rem,2.6vw,2rem); margin-top:clamp(2rem,5vh,3.2rem); align-items:start; }
@media (max-width:900px){ .fwrap{ grid-template-columns:1fr; } }
.form{ border:1px solid var(--line); background:var(--card); padding:clamp(1.2rem,3vw,2.4rem); display:grid; gap:1.2rem; }
.f-row{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
@media (max-width:640px){ .f-row{ grid-template-columns:1fr; } }
.f label{ display:flex; align-items:baseline; gap:.5rem; font:500 var(--fs-m)/1.4 var(--f-m); letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); }
.f-no{ font-style:normal; color:var(--blue); }
.req{ margin-left:auto; font-weight:400; color:var(--ink-4); font-size:.9em; letter-spacing:.08em; }
.f input[type=text],.f input[type=email],.f input[type=tel],.f textarea,.f select{
  width:100%; margin-top:.4rem; padding:.62rem 0; border:0; border-bottom:1px solid var(--line-3);
  background:transparent; font:400 1rem/1.45 var(--f-b); color:var(--ink); border-radius:0;
  -webkit-appearance:none; appearance:none;
}
.f select{ background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%231B4BE0' stroke-width='1.5'/%3E%3C/svg%3E") right center/13px no-repeat; }
.f textarea{ resize:vertical; min-height:6rem; }
.f input::placeholder,.f textarea::placeholder{ color:var(--ink-4); }
.f input:focus,.f textarea:focus,.f select:focus{ outline:0; border-bottom-color:var(--blue); }
.f input:focus-visible,.f textarea:focus-visible,.f select:focus-visible{ outline:2px solid var(--blue); outline-offset:3px; }
.f.is-bad input,.f.is-bad textarea{ border-bottom-color:var(--k3); }
.err{ min-height:0; font:400 .76rem/1.5 var(--f-b); color:var(--k3); margin-top:.3rem; }
.file{ position:relative; display:flex; align-items:center; gap:.7rem; margin-top:.5rem; flex-wrap:wrap; }
.file input{ position:absolute; inset:0; opacity:0; width:100%; height:100%; cursor:pointer; }
.file-btn{ display:inline-flex; align-items:center; gap:.5rem; padding:.5rem .8rem; border:1px solid var(--line-3); font:500 var(--fs-m)/1 var(--f-m); letter-spacing:.1em; text-transform:uppercase; }
.file-btn .ic{ width:13px; height:13px; }
.file-nm{ font-size:.8rem; color:var(--ink-4); }
.file input:focus-visible + .file-btn{ outline:2px solid var(--blue); outline-offset:2px; }
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.chk{ display:flex; gap:.7rem; align-items:flex-start; cursor:pointer; text-transform:none; letter-spacing:0; }
.chk input{ position:absolute; opacity:0; width:1px; height:1px; }
.chk-b{ flex:none; width:18px; height:18px; border:1px solid var(--line-3); margin-top:.12rem; position:relative; background:var(--card); }
.chk-b::after{
  content:""; position:absolute; left:4px; top:1px; width:7px; height:12px; border:solid var(--blue);
  border-width:0 2px 2px 0; transform:rotate(45deg) scale(0); transition:transform .2s var(--ease-out);
}
.chk input:checked + .chk-b::after{ transform:rotate(45deg) scale(1); }
.chk input:focus-visible + .chk-b{ outline:2px solid var(--blue); outline-offset:2px; }
.chk span{ font:400 var(--fs-sm)/1.5 var(--f-b); color:var(--ink-2); text-transform:none; letter-spacing:0; }
.f-no--in{ color:var(--blue); font:500 .7rem/1 var(--f-m); }
.f-send{ display:flex; flex-wrap:wrap; gap:1rem 1.4rem; align-items:center; padding-top:.4rem; border-top:1px solid var(--line-2); }
.f-alt{ font-size:var(--fs-sm); color:var(--ink-3); }
.f-alt a{ color:var(--blue); border-bottom:1px solid var(--blue-line); }
.f-status{ font:500 var(--fs-sm)/1.5 var(--f-b); }
.f-status.is-ok{ color:var(--ok); border-left:2px solid var(--ok); padding-left:.8rem; }
.f-status.is-bad{ color:var(--k3); border-left:2px solid var(--k3); padding-left:.8rem; }

.fside{ border:1px solid var(--line); background:var(--paper-2); padding:clamp(1.1rem,2.4vw,1.8rem); }
.fsteps{ display:grid; gap:.6rem; margin-top:.9rem; }
.fsteps li{ display:flex; gap:.7rem; align-items:baseline; font-size:var(--fs-sm); color:var(--ink-2); }
.fsteps li b{ font:500 .68rem/1 var(--f-m); color:var(--blue); flex:none; }
.fside-im{ margin:1.4rem 0; border:1px solid var(--line-2); }
.fside-im img{ width:100%; aspect-ratio:16/9; object-fit:cover; filter:grayscale(.4); }
.fside-kt{ display:grid; gap:.5rem; }
.fside-kt a{ display:flex; align-items:center; gap:.55rem; font:500 .92rem/1.4 var(--f-m); color:var(--ink); }
.fside-kt .ic{ width:15px; height:15px; color:var(--blue); flex:none; }
@media (hover:hover) and (pointer:fine){ .fside-kt a:hover{ color:var(--blue); } }

/* --- 23. KONTAKT --------------------------------------------------------- */
.kt{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:clamp(2rem,5vh,3.2rem); }
@media (max-width:820px){ .kt{ grid-template-columns:1fr; } }
.kt-c{ background:var(--card); padding:clamp(1.2rem,2.6vw,2rem); }
.kt-big{ font:700 clamp(1.3rem,1.1rem + .9vw,1.9rem)/1.15 var(--f-d); text-transform:uppercase; color:var(--ink); margin:.5rem 0 1rem; }
.kt-a{ display:flex; align-items:center; gap:.6rem; padding:.4rem 0; font:500 1rem/1.4 var(--f-m); color:var(--ink); }
.kt-a .ic{ width:15px; height:15px; color:var(--blue); flex:none; }
@media (hover:hover) and (pointer:fine){ .kt-a:hover{ color:var(--blue); } }
.kt-adr{ display:flex; gap:.6rem; margin-top:.6rem; font-size:var(--fs-sm); color:var(--ink-2); }
.kt-adr .ic{ width:15px; height:15px; color:var(--blue); flex:none; margin-top:.2rem; }
.kt-dl{ display:grid; gap:1px; background:var(--line-2); border:1px solid var(--line-2); margin-top:.9rem; }
.kt-dl > div{ background:var(--card); padding:.5rem .7rem; display:flex; justify-content:space-between; gap:1rem; }
.kt-dl dt{ font:500 var(--fs-m)/1.5 var(--f-m); letter-spacing:.1em; text-transform:uppercase; color:var(--ink-4); }
.kt-dl dd{ font:500 .9rem/1.5 var(--f-m); color:var(--ink); }

/* --- 24. PATIČKA A RAZÍTKOVÝ BLOK --------------------------------------- */
.ft{ position:relative; z-index:1; padding:clamp(2.4rem,6vh,4rem) 0 clamp(1.6rem,4vh,2.6rem); background:var(--paper-2); border-top:1px solid var(--line); }
.ft-top{ display:flex; flex-wrap:wrap; gap:1.4rem 2rem; align-items:center; justify-content:space-between; padding-bottom:1.6rem; }
.brand--ft .brand-mk{ width:26px; height:26px; }
.brand--ft .brand-tx b{ font-size:1.25rem; }
.ft-nav{ display:flex; flex-wrap:wrap; gap:.5rem 1.3rem; }
.ft-nav a{ font:500 var(--fs-m)/1.6 var(--f-m); letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); }
@media (hover:hover) and (pointer:fine){ .ft-nav a:hover{ color:var(--blue); } }

.tb{ display:grid; grid-template-columns:repeat(6,1fr); border:1px solid var(--ink-3); background:var(--line); gap:1px; }
.tb-c{ background:var(--card); padding:.6rem .75rem; }
.tb-c--w{ grid-column:span 4; }
.tb-c span{ display:block; font:400 .6rem/1.6 var(--f-m); letter-spacing:.16em; text-transform:uppercase; color:var(--ink-4); }
.tb-c b{ display:block; font:600 .92rem/1.35 var(--f-b); color:var(--ink); }
.tb-c--mk{ grid-column:span 2; display:flex; align-items:center; gap:.7rem; }
.tb-c--mk svg{ width:24px; height:24px; fill:var(--ink); flex:none; }
.tb-c--mk b{ font:700 1rem/1.1 var(--f-d); text-transform:uppercase; letter-spacing:.1em; }
.tb-c--mk i{ display:block; font:400 .6rem/1.6 var(--f-m); letter-spacing:.16em; color:var(--ink-4); font-style:normal; }
@media (max-width:820px){
  .tb{ grid-template-columns:repeat(2,1fr); }
  .tb-c--w{ grid-column:span 2; } .tb-c--mk{ grid-column:span 2; }
}
.ft-bot{ display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; align-items:center; margin-top:1.4rem; font-size:var(--fs-sm); color:var(--ink-4); }
.ft-bot .mono{ font:400 var(--fs-m)/1.6 var(--f-m); letter-spacing:.08em; }
.ft-up{ margin-left:auto; display:inline-flex; align-items:center; gap:.5rem; font:500 var(--fs-m)/1 var(--f-m); letter-spacing:.14em; text-transform:uppercase; color:var(--ink); }
.ic--up{ width:13px; height:13px; transform:rotate(180deg); }
@media (hover:hover) and (pointer:fine){ .ft-up:hover{ color:var(--blue); } }
@media (max-width:640px){ .ft-up{ margin-left:0; } }

/* --- 25. DROBNOSTI ------------------------------------------------------- */
.ic{ width:16px; height:16px; }
@media (max-width:720px){
  :root{ --hh:56px; }
}
