/* GumiFloor – podstránky (port rawstructure.framer.website: /about, /services, /projects, /projects/x, /journal/x). Třídy s předponou x-, ať se nepřekrývají s úvodem. */
:root{--x-out:1px var(--ac)}
.x-links{left:50%!important;transform:translateX(calc(-50% - 25px))}
.links a.cur{color:var(--ac)}
/* úzký tablet: vystředěné menu naráželo do tlačítka → menu hned za logo */
@media (min-width:810px) and (max-width:999.98px){.links.x-links{left:176px!important;transform:none;gap:28px}}
.x-mm{display:none}
.x-row{display:grid;grid-template-columns:320px minmax(0,1fr);max-width:1320px;margin:0 auto}
.x-l{color:var(--ac)}
.x-vse{display:inline-flex;align-items:center;gap:8px;margin-right:16px;color:var(--mut);transition:color .25s var(--e44)}
.x-vse svg{width:16px;height:16px}.x-vse:hover{color:var(--tx)}
.ctrl .arr{align-items:center}

/* ---------- Cover (detail podlahy / reference) ---------- */
.x-cover{position:relative;height:100vh;min-height:640px;max-height:1000px;padding:140px var(--pad) 56px;display:flex;align-items:flex-end;overflow:hidden;background:var(--bg)}
.x-cover-img{position:absolute;inset:0}
.x-cover-img img{width:100%;height:100%;object-fit:cover}
.x-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,14,13,.35) 0%,rgba(14,14,13,.1) 35%,rgba(14,14,13,.92) 100%)}
.x-cover-in{position:relative;z-index:1;width:100%;max-width:1320px;margin:0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.x-back{display:inline-flex;align-items:center;gap:10px;color:var(--tx);transform-origin:left center;transition:transform .5s var(--spr2)}
.x-back svg{width:18px;height:18px;color:var(--ac)}
.x-back:hover{transform:translateX(-8px) scale(1.1)}
.x-kat{color:var(--ac)}
.x-cover h1,.x-ah h1{position:relative;left:auto;top:auto;white-space:normal;line-height:.92}
.x-cover-in.x-m h1{font-size:112px}
.x-cover-in.x-s h1{font-size:84px;line-height:.96}
html:not(.go) .x-cover h1 .c{filter:blur(8px);transform:translateY(140px) rotate(10deg)}
.go .x-cover h1 .c{transition:opacity .5s ease,filter 1s cubic-bezier(.22,1,.36,1),transform 1s linear(0,.32 12%,.7 26%,.93 42%,1.01 58%,1.005 76%,1);transition-delay:calc(.2s + var(--i)*.03s)}

/* ---------- Spec Sheet ---------- */
.x-specs{padding:0 var(--pad)}
.x-specgrid{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));max-width:1320px;margin:0 auto;border-left:1px solid var(--ln);border-bottom:1px solid var(--ln)}
.x-specgrid>div{display:flex;flex-direction:column;gap:12px;padding:24px 20px;border-right:1px solid var(--ln)}
.x-specgrid .mono{font-size:11px;color:var(--mut)}
.x-specgrid .v{font-size:17px;line-height:1.3;font-weight:600}

/* ---------- Summary + Body ---------- */
.x-sum{padding:140px var(--pad) 80px}
.x-big{font:400 64px/.98 Anton;letter-spacing:-.04em;text-transform:uppercase;max-width:1000px}
.x-body{padding:60px var(--pad) 120px}
.x-prose{max-width:760px}
.x-prose>*+*{margin-top:20px}
.x-prose h2{font:400 64px/.98 Anton;letter-spacing:-.04em;text-transform:uppercase}
.x-prose h3{font:400 36px/1.04 Anton;letter-spacing:-.04em;text-transform:uppercase}
.x-prose *+h2,.x-prose *+h3{margin-top:56px}
.x-prose p{font-size:22px;line-height:1.45;letter-spacing:-.01em}
.x-prose ul,.x-prose ol{display:flex;flex-direction:column;gap:10px;padding-left:0;list-style:none;font-size:18px;line-height:1.5;color:var(--tx)}
.x-prose li{position:relative;padding-left:22px}
.x-prose li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;background:var(--ac)}
.x-prose ol{counter-reset:x}
.x-prose a{color:var(--ac);text-decoration:underline;text-underline-offset:3px}
.x-bod b{display:block;font:500 12px/1.4 Mono;letter-spacing:.08em;text-transform:uppercase;color:var(--ac);margin-bottom:8px}
.x-par{border-bottom:1px solid var(--ln)}
.x-par>div{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;padding:16px 0;border-top:1px solid var(--ln);transition:background-color .3s var(--e44)}
.x-par>div:hover{background:var(--card2)}
.x-par dt{font:500 11px/1.5 Mono;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);padding-top:3px}
.x-par dd{font-size:17px;line-height:1.4;font-weight:600}
.x-tabw{overflow-x:auto}
.x-tab{width:100%;border-collapse:collapse;font-size:15px}
.x-tab td{padding:12px 14px 12px 0;border-top:1px solid var(--ln);vertical-align:top}
.x-var{padding-top:40px}
.x-cta{padding:0 var(--pad) 120px}
.x-cta .x-row>div{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:32px;background:var(--card2);border:1px solid var(--ln)}
.x-cta-t{font-size:22px;line-height:1.45;letter-spacing:-.01em;max-width:520px}

/* ---------- Gallery ---------- */
.x-galsec{padding:40px var(--pad) 140px}
.x-gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1320px;margin:0 auto}
.x-gi{display:block;height:420px;overflow:hidden;background:var(--card2)}
.x-gi img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .7s var(--ease2),filter .7s var(--ease2)}
.x-gi:hover img,.x-gi:focus-visible img{transform:scale(1.06);filter:grayscale(0)}

/* ---------- Next ---------- */
.x-next{display:block;padding:100px var(--pad) 120px;background:var(--ac);color:var(--bg)}
.x-next-in{max-width:1320px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.x-next-top{display:flex;justify-content:space-between;align-items:center;height:40px}
.x-next-top svg{width:40px;height:40px;animation:x-nudge 1.2s cubic-bezier(.45,0,.55,1) infinite alternate}
@keyframes x-nudge{to{transform:translateX(10px)}}
.x-next-t{font:400 150px/.92 Anton;letter-spacing:-.01em;text-transform:uppercase;transition:transform .5s var(--spr2);transform-origin:left center}
.x-next-t.x-m{font-size:112px}.x-next-t.x-s{font-size:84px;line-height:.96}
.x-next:hover .x-next-t{transform:translateX(16px)}

/* ---------- Reference: archiv ---------- */
.x-arch{padding:40px var(--pad) 160px}
.x-fb{display:flex;flex-wrap:wrap;gap:10px;max-width:1320px;margin:0 auto;padding-bottom:56px}
.x-f{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid var(--ln);background:var(--bg);color:var(--tx);font:500 12px/1.4 Mono;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background-color .3s var(--e44),color .3s var(--e44),border-color .3s var(--e44)}
.x-f i{width:6px;height:6px;background:var(--mut);transition:background-color .3s var(--e44)}
.x-f:hover{border-color:var(--tx)}
.x-f.on{background:var(--ac);border-color:var(--ac);color:var(--bg)}
.x-f.on i{width:8px;height:8px;background:var(--bg)}
.x-f:focus-visible{outline:2px solid var(--tx);outline-offset:3px}
.x-pg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:96px 32px;max-width:1320px;margin:0 auto}
.pc.x-pi{width:auto;user-select:auto}
.x-pi[hidden]{display:none}
.x-pi .md img{pointer-events:auto}

/* ---------- Podlahy: Service Blocks ---------- */
.x-sbs{padding:80px var(--pad) 160px}
.x-sbl{display:flex;flex-direction:column;gap:24px;max-width:1320px;margin:0 auto}
.x-sb{position:sticky;top:110px;display:flex;gap:48px;min-height:520px;padding:40px;background:var(--card2);border:1px solid var(--ln)}
.x-sb-img{flex:1 0 0;min-width:0;min-height:440px;overflow:hidden;background:var(--bg)}
.x-sb-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .7s var(--ease2),filter .7s var(--ease2)}
.x-sb:hover .x-sb-img img{transform:scale(1.06);filter:grayscale(0)}
.x-sb-copy{flex:1 0 0;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:28px}
.x-sb-top{display:flex;justify-content:space-between;align-items:flex-start;width:100%}
.x-sb-n{font:400 96px/.9 Anton;color:transparent;-webkit-text-stroke:var(--x-out)}
.x-sb-ic{width:24px;height:24px;color:var(--ac);animation:x-rot 8s linear infinite}
@keyframes x-rot{to{transform:rotate(360deg)}}
.x-sb h2{font:400 64px/.98 Anton;letter-spacing:-.04em;text-transform:uppercase}
.x-sb h2 a{transition:color .45s var(--e)}
.x-sb h2 a:hover{color:var(--ac)}
.x-sb-sub{color:var(--ac)}
.x-sb-lead{font-size:22px;line-height:1.45;letter-spacing:-.01em}
.x-sb-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:auto}
.x-tags{display:inline-flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--ln);font-size:11px;color:var(--tx)}
.x-tags i{flex:none;width:6px;height:6px;background:var(--ac)}
.x-more{display:inline-flex;align-items:center;gap:8px;padding:12px 14px;background:var(--ac);color:var(--bg);font-size:11px;transition:background-color .3s var(--e44)}
.x-more svg{width:16px;height:16px;transition:transform .4s var(--ease2)}
.x-more:hover{background:var(--tx)}.x-more:hover svg{transform:translate(2px,-2px)}

/* ---------- Spec Table ---------- */
.x-spt{border-bottom:1px solid var(--ln)}
.x-sp{display:grid;grid-template-columns:60px minmax(0,1fr) auto 260px;align-items:center;gap:32px;padding:24px 16px;border-top:1px solid var(--ln);transition:transform .3s var(--e44),background-color .3s var(--e44),color .3s var(--e44)}
.x-sp .n,.x-sp .d{color:var(--mut);transition:color .3s var(--e44)}
.x-sp .d{font-size:11px;text-align:right}
.x-sp h4{font:600 22px/1.25 Geist,system-ui,sans-serif;letter-spacing:-.01em}
.x-sp .v{font:400 40px/1 Anton;text-align:right;white-space:nowrap}
.x-sp:hover{transform:scale(1.1);background:var(--ac);color:var(--bg);position:relative;z-index:2}
.x-sp:hover .n,.x-sp:hover .d{color:var(--bg)}

/* ---------- FAQ ---------- */
.x-faq-row{display:grid;grid-template-columns:400px minmax(0,1fr);gap:40px 100px;align-items:start}
.x-faq-h{display:flex;flex-direction:column;gap:20px;position:sticky;top:120px}
.x-qs{border-bottom:1px solid var(--ln)}
.x-q{border-top:1px solid var(--ln)}
.x-q-row{display:flex;justify-content:space-between;align-items:center;gap:24px;width:100%;padding:28px 0;border:0;background:transparent;color:var(--tx);text-align:left;cursor:pointer;font:600 22px/1.3 Geist,system-ui,sans-serif;letter-spacing:-.01em}
.x-tg{position:relative;flex:none;width:44px;height:44px;border:1px solid var(--ln);transition:transform .4s var(--ease2),background-color .3s var(--e44),border-color .3s var(--e44)}
.x-tg::before,.x-tg::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:1.5px;margin:-.75px 0 0 -8px;background:var(--tx);transition:background-color .3s var(--e44)}
.x-tg::after{transform:rotate(90deg)}
.x-q.open .x-tg{transform:rotate(45deg);background:var(--ac);border-color:var(--ac)}
.x-q.open .x-tg::before,.x-q.open .x-tg::after{background:var(--bg)}
.x-q-row:hover .x-tg{border-color:var(--tx)}
.x-q-row:focus-visible{outline:2px solid var(--ac);outline-offset:-2px}
.x-q-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease2)}
.x-q.open .x-q-a{grid-template-rows:1fr}
.x-q-a p{overflow:hidden;padding-right:68px;font-size:16px;line-height:1.6;letter-spacing:-.02em;color:var(--mut)}
.x-q.open .x-q-a p{padding-bottom:28px}

/* ---------- O nás ---------- */
.x-plate{position:relative;height:680px;overflow:hidden;background:var(--card2)}
.x-plate-img{position:absolute;left:0;right:0;top:-120px;height:920px}
.x-plate-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);will-change:transform}
.x-cap{position:absolute;left:40px;bottom:32px;padding:10px 14px;background:var(--ac);color:var(--bg);font-size:11px}
.x-story{padding:160px var(--pad)}
.x-story-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:80px;max-width:1320px;margin:0 auto;align-items:start}
.x-sticky{position:sticky;top:120px;display:flex;flex-direction:column;gap:20px}
.x-copy{display:flex;flex-direction:column;gap:28px;padding-top:12px}
.x-copy p{font-size:16px;line-height:1.6;letter-spacing:-.02em;color:var(--mut)}
.x-copy p.l{font-size:22px;line-height:1.45;letter-spacing:-.01em;color:var(--tx)}
.x-tl{border-bottom:1px solid var(--ln)}
.x-ms{display:grid;grid-template-columns:280px 20px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:40px;padding:32px 0;border-top:1px solid var(--ln)}
.x-ms.up.on{transition:opacity 1s var(--ease2) var(--dl,0s),transform 1s var(--ease2) var(--dl,0s)}
.x-ms.done{transition:transform .3s var(--e44),background-color .3s var(--e44)!important}
.x-ms.done:hover{transform:scale(1.1);background:var(--card2);position:relative;z-index:2}
.x-yr{font:400 88px/.9 Anton;color:transparent;-webkit-text-stroke:var(--x-out)}
.x-node{width:20px;height:20px;background:var(--ac);transform:rotate(45deg) scale(.85);animation:x-pulse 1.1s cubic-bezier(.45,0,.55,1) infinite alternate}
@keyframes x-pulse{to{transform:rotate(45deg) scale(1.2)}}
.x-ms h3{font:400 36px/1 Anton;letter-spacing:-.04em;text-transform:uppercase}
.x-ms p:last-child{font-size:16px;line-height:1.6;letter-spacing:-.02em;color:var(--mut)}
/* karty hodnot = šablona /about (lKJrL…): ikona 40 nahoře, text hned pod ní (nadpisy v jedné rovině); hover scale 1.1 rotateX −10° rotateY 12° BEZ perspektivy, pružina bounce .25 / .6 s (změřeno: překmit 2,3 %, vrchol 0,3 s) */
:root{--spr-val:linear(0,0.064,0.206,0.376,0.54,0.683,0.797,0.883,0.943,0.983,1.006,1.018,1.023,1.023,1.02,1.016,1.012,1.009,1.006,1.003,1.002,1.001,1)}
.x-vals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.x-val{display:flex;flex-direction:column;justify-content:flex-start;gap:80px;padding:28px;background:var(--card2);border:1px solid var(--ln)}
.x-val.up.on{transition:opacity 1s var(--ease2) var(--dl,0s),transform 1s var(--ease2) var(--dl,0s)}
.x-val.done{transition:transform .55s var(--spr-val),background-color .55s var(--spr-val),color .55s var(--spr-val)!important}
.x-val svg{flex:none;width:40px;height:40px;color:var(--tx);transition:color .55s var(--spr-val)}
.x-val>div{display:flex;flex-direction:column;gap:12px}
.x-val h3{font:400 36px/1 Anton;letter-spacing:-.04em;text-transform:uppercase}
.x-val p{font-size:15px;line-height:1.55;color:rgba(246,244,240,.72);transition:color .55s var(--spr-val)}
.x-val.done:hover{transform:scale(1.1) rotateX(-10deg) rotateY(12deg);background:var(--ac);color:var(--bg)}
.x-val.done:hover svg,.x-val.done:hover p{color:var(--bg)}
.x-band{background:var(--ac);padding:0;overflow:hidden}
.paska.x-pb{position:relative;left:auto;width:auto;margin:0;height:96px;padding:0;font-size:40px;color:var(--bg);background:transparent;transform:none;cursor:auto}
.paska.x-pb .trk{gap:48px}
.paska.x-pb svg{width:32px;height:32px}

/* ---------- právní texty (Article) ---------- */
.x-ah{position:relative;padding:170px var(--pad) 64px;overflow:hidden}
.x-ah-in{position:relative;z-index:1;max-width:960px;margin:0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:28px}
.x-meta{display:flex;flex-wrap:wrap;gap:10px 20px;color:var(--mut)}
.x-meta span:first-child{color:var(--ac)}
.x-ah h1.x-h1a{font:400 96px/.92 Anton;letter-spacing:-.04em}
.x-ab{padding:96px var(--pad) 140px;border-top:1px solid var(--ln)}
.x-art{max-width:720px;margin:0 auto}
.x-art p{font-size:17px;line-height:1.65;letter-spacing:0;color:rgba(246,244,240,.86)}
.x-art ul,.x-art ol{font-size:17px;line-height:1.65;color:rgba(246,244,240,.86)}
.x-art h2{font-size:48px}.x-art h3{font-size:30px}

/* ---------- lightbox ---------- */
/* zvětšení fotky: pozadí se prolne, fotka vyroste z náhledu; přepnutí = stejný wipe jako přechod stránek (nová se odkryje ze strany, stará uhne a zhasne) */
.x-lb{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:rgba(14,14,13,.94);opacity:0;visibility:hidden;transition:opacity .35s var(--e44),visibility 0s .35s}
.x-lb.on{opacity:1;visibility:visible;transition:opacity .35s var(--e44)}
.x-lb-st{position:relative;width:92vw;height:88vh}
.x-lb-st img{position:absolute;inset:0;margin:auto;max-width:100%;max-height:100%;object-fit:contain;transition:transform .35s var(--e44)}
.x-lb:not(.on) .x-lb-st img{transform:scale(.96)}
.x-lb button{position:absolute;width:56px;height:56px;border:1px solid var(--ln);background:var(--bg);color:var(--tx);display:grid;place-items:center;cursor:pointer;transition:background-color .3s var(--e44),color .3s var(--e44),border-color .3s var(--e44)}
.x-lb button:hover{background:var(--ac);color:var(--bg);border-color:var(--ac)}
.x-lb button svg{width:22px;height:22px}
.x-lb .x-lb-x{right:24px;top:24px}.x-lb .x-lb-p{left:24px;top:50%;margin-top:-28px}.x-lb .x-lb-n{right:24px;top:50%;margin-top:-28px}
.x-lb .x-lb-c{position:absolute;left:24px;bottom:24px;color:var(--mut)}

@media (max-width:1199.98px){
  .x-row{grid-template-columns:1fr;gap:20px}
  .x-sb{position:relative;top:auto;flex-direction:column;gap:28px;padding:36px}
  .x-sb-img{flex:none;height:360px;min-height:0}
  .x-faq-row,.x-story-row{grid-template-columns:1fr;gap:40px}
  .x-faq-h,.x-sticky{position:static}
  .x-vals{grid-template-columns:repeat(2,minmax(0,1fr))}
  .x-ms{grid-template-columns:140px 20px minmax(0,1fr);gap:24px}
  .x-ms p:last-child{grid-column:3}
  .x-yr{font-size:64px}
  .x-sp{grid-template-columns:40px minmax(0,1fr) 200px}
  .x-sp .d{display:none}
  .x-cover-in h1,.x-next-t{font-size:96px!important}
  .x-cover-in.x-s h1,.x-next-t.x-s{font-size:64px!important}
  .x-gi{height:300px}
  .x-specgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .x-specgrid>div{border-top:1px solid var(--ln)}
  .x-specgrid{border-bottom:0}
}
@media (max-width:809.98px){
  .x-mm{position:fixed;left:0;right:0;top:72px;z-index:19;display:flex;flex-direction:column;padding:8px 20px 24px;background:rgba(14,14,13,.97);border-bottom:1px solid var(--ln);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .x-mm[hidden]{display:none}
  .x-mm a{padding:16px 0;border-bottom:1px solid var(--ln);font:400 34px/1 Anton;text-transform:uppercase}
  .x-mm a.cur{color:var(--ac)}
  .x-mm a.x-mm-cta{margin-top:20px;padding:18px 20px;border:0;background:var(--ac);color:var(--bg);font:600 13px/1 Mono;letter-spacing:.06em}
  .burger[aria-expanded=true] i{background:transparent;box-shadow:none;position:relative}
  .burger[aria-expanded=true] i::before,.burger[aria-expanded=true] i::after{content:"";position:absolute;left:0;top:0;width:18px;height:1.5px;background:var(--tx);transform:rotate(45deg)}
  .burger[aria-expanded=true] i::after{transform:rotate(-45deg)}
  .x-vse{display:none}
  .x-cover{height:auto;min-height:78vh;padding:120px 20px 32px}
  .x-cover-in{gap:16px}
  .x-cover-in h1,.x-next-t{font-size:clamp(44px,13vw,64px)!important;line-height:1!important}
  .x-cover-in.x-s h1,.x-next-t.x-s{font-size:clamp(34px,9.5vw,48px)!important}
  .x-specs{padding:0 20px}
  .x-specgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .x-specgrid>div{padding:18px 14px}
  .x-sum{padding:72px 20px 40px}
  .x-big{font-size:34px;line-height:1.04}
  .x-body{padding:40px 20px 72px}
  .x-prose h2{font-size:40px}.x-prose h3{font-size:28px}
  .x-prose p{font-size:18px}.x-prose ul,.x-prose ol{font-size:16px}
  .x-par>div{grid-template-columns:1fr;gap:4px}
  .x-cta{padding:0 20px 72px}
  .x-cta .x-row>div{flex-direction:column;align-items:flex-start;padding:24px}
  .x-cta-t{font-size:18px}
  .x-galsec{padding:24px 20px 88px}
  .x-gal{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .x-gi{height:44vw}
  .x-next{padding:64px 20px 72px}
  .x-arch{padding:24px 20px 96px}
  .x-fb{padding-bottom:36px;gap:8px}
  .x-f{padding:10px 14px}
  .x-pg{grid-template-columns:1fr;gap:48px}
  .pc.x-pi .md{height:96vw}
  .x-sbs{padding:40px 20px 96px}
  .x-sbl{gap:16px}
  .x-sb{padding:20px;gap:20px;min-height:0}
  .x-sb-img{height:56vw}
  .x-sb-copy{gap:16px}
  .x-sb-n{font-size:64px}
  .x-sb h2{font-size:38px}
  .x-sb-lead{font-size:17px}
  .x-sp{grid-template-columns:28px minmax(0,1fr);gap:8px 14px;padding:18px 0}
  .x-sp .v{grid-column:2;text-align:left;font-size:30px}
  .x-sp h4{font-size:18px}
  .x-sp:hover{transform:none}
  .x-q-row{font-size:18px;padding:22px 0}
  .x-q-a p{padding-right:0}
  .x-plate{height:60vh}
  .x-plate-img{top:-60px;height:calc(60vh + 120px)}
  .x-cap{left:20px;bottom:20px;right:20px}
  .x-story{padding:88px 20px}
  .x-copy p.l{font-size:18px}
  .x-ms{grid-template-columns:64px 14px minmax(0,1fr);gap:8px 16px;padding:22px 0}
  .x-yr{font-size:44px}
  .x-node{width:14px;height:14px}
  .x-ms h3{font-size:26px}
  .x-ms.done:hover,.x-val.done:hover{transform:none}
  .x-vals{grid-template-columns:1fr}
  .x-val{min-height:0;gap:40px}
  .x-val h3{font-size:30px}
  .paska.x-pb{font-size:26px;height:64px}.paska.x-pb svg{width:22px;height:22px}
  .x-ah{padding:128px 20px 48px}
  .x-ah h1.x-h1a{font-size:44px;line-height:1}
  .x-ab{padding:56px 20px 88px}
  .x-lb button{width:44px;height:44px}
  .x-lb .x-lb-x{right:12px;top:12px}.x-lb .x-lb-p{left:12px}.x-lb .x-lb-n{right:12px}
}
@media (prefers-reduced-motion:reduce){
  .x-node,.x-sb-ic,.x-next-top svg{animation:none}
  .x-ms,.x-val,.x-sp,.x-back,.x-next-t,.x-q-a,.x-tg{transition:none!important}
  .x-val.done:hover,.x-ms.done:hover,.x-sp:hover{transform:none}
}
@media (max-width:809.98px){
  .stats .row{grid-template-columns:minmax(0,1fr)}
  .sg{min-width:0}
  .st .v.sm{font-size:52px}
}
/* produktové snímky na bílém pozadí: světlá destička, celý výrobek */
.x-gi.x-w{background:#EDEAE4}
.x-gi.x-w img{object-fit:contain;padding:28px;filter:none;mix-blend-mode:multiply}
.x-gi.x-w:hover img{transform:scale(1.04)}
.pin h1 .w,.x-cover h1 .w{display:inline-block;white-space:nowrap}

/* ---- přechod mezi stránkami = šablona (script_main: global enter wipe 180° / .9 s, exit opacity .4 + y −60 / .7 s, ease .76,0,.24,1) ---- */
@view-transition{navigation:auto}
@property --vt-wipe{syntax:'<number>';initial-value:0;inherits:false}
@keyframes vt-exit{0%{opacity:1;transform:translate(0,0)}100%{opacity:.4;transform:translate(0,-60px)}}
@keyframes vt-enter{0%{--vt-wipe:0}100%{--vt-wipe:1}}
::view-transition-old(*),::view-transition-new(*){mix-blend-mode:normal;backface-visibility:hidden}
::view-transition-old(root){animation:vt-exit .7s cubic-bezier(.76,0,.24,1) both}
::view-transition-new(root){animation:vt-enter .9s cubic-bezier(.76,0,.24,1) both;-webkit-mask-image:linear-gradient(270deg,#000 calc(100% * var(--vt-wipe)),transparent calc(100% * var(--vt-wipe)));mask-image:linear-gradient(270deg,#000 calc(100% * var(--vt-wipe)),transparent calc(100% * var(--vt-wipe)))}
/* náhrada tam, kde prohlížeč přechod mezi dokumenty neumí (Firefox, otevření ze souboru): tmavá plocha přejede zprava, stará stránka uhne */
.x-wipe{position:fixed;inset:0;z-index:999;background:var(--bg);clip-path:inset(0 0 0 100%);pointer-events:none}
.x-leave .x-wipe{clip-path:inset(0);transition:clip-path .7s cubic-bezier(.76,0,.24,1)}
.x-leave main,.x-leave footer{opacity:.4;transform:translateY(-60px);transition:opacity .7s cubic-bezier(.76,0,.24,1),transform .7s cubic-bezier(.76,0,.24,1)}
@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.x-lb,.x-lb-st img{transition:none}}

/* animované logo v hlavičce (díly se skládají v sub.js) */
.x-lg{overflow:visible}.x-lg g,.x-lg path{transform-box:fill-box;transform-origin:50% 50%}.x-lg path{fill:currentColor}

/* ===== v29 – poptávkový formulář podle zadání klienta (6 oddílů) ===== */
.kf-lead{margin-top:-12px;font-size:16px;line-height:1.55;color:var(--mut)}
.kf-lead b,.kf-l>.mono b{color:var(--ac);font-weight:500}
.kf-sec{display:flex;flex-direction:column;gap:28px;min-width:0;margin:0;padding:32px 0 0;border:0;border-top:1px solid var(--ln)}
.kf-s{display:flex;align-items:baseline;gap:16px;float:left;width:100%;padding:0}
.kf-s .mono{flex:none;width:24px;font-size:12px;color:var(--ac)}
.kf-st{font:600 22px/1.25 Geist,system-ui,sans-serif;letter-spacing:-.01em}
.kf-g{display:flex;flex-direction:column;gap:12px;min-width:0}
.kf-g>.mono{font-size:11px;color:var(--mut)}
.kf-g>.mono em{font-style:normal;opacity:.7}.kf-g>.mono em::before{content:"· ";}
.kf-cs{display:flex;flex-wrap:wrap;gap:8px}
.kf-c{position:relative;display:block;max-width:100%;cursor:pointer}
.kf-c input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.kf-c span{display:flex;align-items:center;gap:12px;min-height:48px;padding:11px 16px 11px 14px;border:1px solid var(--ln);font-size:16px;line-height:1.35;letter-spacing:-.01em;transition:background-color .25s var(--e44),border-color .25s var(--e44),color .25s var(--e44)}
.kf-c i{flex:none;width:10px;height:10px;border:1px solid var(--mut);transition:background-color .25s var(--e44),border-color .25s var(--e44),transform .25s var(--e44)}
.kf-c input[type=radio]+span i{border-radius:50%}
.kf-c:hover span{border-color:var(--tx)}
.kf-c input:checked+span{background:var(--ac);border-color:var(--ac);color:var(--bg)}
.kf-c input:checked+span i{background:var(--bg);border-color:var(--bg);transform:scale(.8)}
.kf-c input:focus-visible+span{outline:2px solid var(--tx);outline-offset:2px}
.kf input.kf-x{flex:1 1 220px;width:auto;min-width:0;height:48px;padding:0 4px;font-size:16px}
.kf input.kf-x[hidden]{display:none}
.kf-u{position:relative;display:block}
.kf-u input{padding-right:44px!important}
.kf-u i{position:absolute;right:4px;bottom:17px;font:500 12px/1 Mono;font-style:normal;letter-spacing:.08em;color:var(--mut)}
.kf-fr{display:flex;align-items:center;gap:20px}
.kf-add{flex:none;display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 18px 0 14px;border:1px dashed var(--mut);background:transparent;color:var(--tx);font:500 12px/1 Mono;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:border-color .25s var(--e44),color .25s var(--e44)}
.kf-add svg{width:16px;height:16px;color:var(--ac)}
.kf-add:hover{border-color:var(--ac)}
.kf-add:focus-visible{outline:2px solid var(--tx);outline-offset:2px}
.kf-add[disabled]{opacity:.45;cursor:not-allowed}
.kf-fn{font-size:13px;line-height:1.5;color:var(--mut)}
.kf-fl{display:flex;flex-direction:column;gap:6px}
.kf-fl:empty{display:none}
.kf-fi{display:flex;align-items:center;gap:12px;padding:10px 8px 10px 14px;border:1px solid var(--ln);font-size:15px}
.kf-fi b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}
.kf-fi small{flex:none;font:500 11px/1 Mono;letter-spacing:.08em;color:var(--mut)}
.kf-fi button{flex:none;width:32px;height:32px;border:0;background:transparent;color:var(--mut);font-size:20px;line-height:1;cursor:pointer}
.kf-fi button:hover,.kf-fi button:focus-visible{color:var(--tx)}
.kf-fi input{display:none}
.kf-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media (min-width:1200px) and (min-height:1000px){.ks{position:sticky;top:104px}}
@media (max-width:809.98px){
  .kf-sec{gap:22px;padding-top:24px}
  .kf-st{font-size:19px}
  .kf-c span{font-size:15px}
  .kf-fr{flex-direction:column;align-items:flex-start;gap:10px}
}
@media (prefers-reduced-motion:reduce){.kf-c span,.kf-c i,.kf-add{transition:none}}

/* ===== v32 – opravy portu podle měření šablony (7. 10.) ===== */
/* (03) Postup = Floor Stack: flex + gap místo spodního okraje karet → na konci se všech 5 karet sejde v jedné rovině a odjedou spolu
   (dřív karty 1–4 odjížděly o 40 px výš a dřív, než 5. karta dosedla); rámeček bez vlivu na rozměry; hover fotky .8 s jako šablona */
.stack{display:flex;flex-direction:column;gap:40px}
.fc{margin-bottom:0;overflow:clip;border:0;box-shadow:inset 0 0 0 1px var(--ln)}
.fc:nth-child(1){z-index:1}.fc:nth-child(2){z-index:2}.fc:nth-child(3){z-index:3}.fc:nth-child(4){z-index:4}.fc:nth-child(5){z-index:5}
.fc .num{margin-top:0}
.fc .ph img{transition:transform .8s cubic-bezier(.22,1,.36,1)}
/* tablet šablony (810–1199): karta na výšku 720, fotka vyplní zbytek, lepení 96 + 20·n */
@media (min-width:810px) and (max-width:1199.98px){
  .stack{gap:28px}
  .fc{display:flex;flex-direction:column;gap:28px;height:720px;padding:32px}
  .fc:nth-child(1){top:96px!important}.fc:nth-child(2){top:116px!important}.fc:nth-child(3){top:136px!important}.fc:nth-child(4){top:156px!important}.fc:nth-child(5){top:176px!important}
  .fc .copy{flex:none;justify-content:flex-start;gap:20px}
  .fc .num{font-size:120px}
  .fc h3{font-size:52px}
  .fc .ph{flex:1 0 0;min-height:0}
}
/* mobil šablony (<810): karta 600, lepení 84 + 14·n */
@media (max-width:809.98px){
  .stack{gap:20px}
  .fc{display:flex;flex-direction:column;gap:20px;height:600px;padding:20px}
  .fc:nth-child(1){top:84px!important}.fc:nth-child(2){top:98px!important}.fc:nth-child(3){top:112px!important}.fc:nth-child(4){top:126px!important}.fc:nth-child(5){top:140px!important}
  .fc .copy{flex:none;justify-content:flex-start;gap:14px}
  .fc .num{font-size:80px;margin-top:0}
  .fc h3{font-size:38px}
  .fc p{font-size:15px}
  .fc .ph{flex:1 0 0;height:auto;min-height:0}
}
/* Podlahy = Service List: všechny bloky stejně vysoké (šablona 520; naše texty jsou delší) → na konci odjedou v jedné rovině */
@media (min-width:1200px){.x-sb{min-height:552px}}

/* ===== v33 – Podlahy: bloky = Service Block šablony /services (z kódu bundlu x5c16WW…, 7. 10.) ===== */
/* blok: při najetí scale 1.1 + pozadí rgb(35,34,31), .3 s [.44,0,.56,1]; fotka se při najetí nehýbe (dřív zoom 1.06) */
.x-sb{overflow:clip;border:0;box-shadow:inset 0 0 0 1px var(--ln);transition:transform .3s cubic-bezier(.44,0,.56,1),background-color .3s cubic-bezier(.44,0,.56,1)}
.x-sb:hover{transform:scale(1.1);background-color:rgb(35,34,31)}
/* ROZHODNUTÍ UŽIVATELE (odchylka od šablony): fotka se při najetí na blok zbarví – stejným tempem, jakým jde blok dopředu */
.x-sb-img img{filter:grayscale(1);transform:none;transition:filter .3s cubic-bezier(.44,0,.56,1)}
.x-sb:hover .x-sb-img img{filter:grayscale(0);transform:none}
/* fotka: při prvním zobrazení (30 procent ve výřezu) odzoomuje z 1,35 na 1 za 1,6 s [.22,1,.36,1], jen jednou */
html.x-zoom .x-sb-img:not(.x-zin) img{transform:scale(1.35)}
html.x-zoom .x-sb-img.x-zin img{transform:none;transition:transform 1.6s cubic-bezier(.22,1,.36,1),filter .3s cubic-bezier(.44,0,.56,1)}
/* ikona 32 px: otočí se o čtvrt otáčky pružinou s překmitem na 94° (změřeno v šabloně po 0,1 s: 28, 72, 92, 94, 92, 90), pak 1 s stojí; cyklus 1,8 s */
.x-sb-ic{width:32px;height:32px;animation:x-q 1.8s infinite}
@keyframes x-q{0%{transform:rotate(0);animation-timing-function:linear(0,.31 14%,.8 29%,1.022 43%,1.044 57%,1.022 71%,1 86%,1)}38.9%,100%{transform:rotate(90deg)}}
/* tablet (810–1199): blok na výšku, lepí se na 96 px (dřív se nelepil vůbec) */
@media (min-width:810px) and (max-width:1199.98px){
  .x-sb{position:sticky;top:96px;padding:28px;gap:28px}
  .x-sb-n{font-size:72px}
  .x-sb h2{font-size:52px}
  .x-sb-lead{font-size:20px}
  .x-sb-row .x-tags{flex:1 1 100%}
}
/* mobil (<810): lepí se na 84 px, fotka 240 */
@media (max-width:809.98px){
  .x-sbl{gap:24px}
  .x-sb{position:sticky;top:84px;padding:20px;gap:20px}
  .x-sb:hover{transform:none}
  .x-sb-img{height:240px}
  .x-sb-copy{gap:28px}
  .x-sb-n{font-size:56px}
  .x-sb-lead{font-size:18px}
  .x-sb-row .x-tags{flex:1 1 100%}
}
.x-nost .x-sb{position:relative;top:auto}
@media (prefers-reduced-motion:reduce){.x-sb,.x-sb-ic{transition:none;animation:none}.x-sb:hover{transform:none}html.x-zoom .x-sb-img img{transform:none!important;transition:none!important}}

/* ===== v34 – detail podlahy: fotky u svého provedení (struktura starého webu) + samostatný oddíl „Vlastní logo“ ===== */
.x-prose .x-ig{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:28px}
.x-prose .x-ig+*{margin-top:56px}
.x-ig .x-gi{height:auto;aspect-ratio:4/3}
.x-ig .x-gi.x-w img{padding:14px}
/* loga: barevně (jde o barvy log), dvě velké dlaždice, vlastní hlavička */
.x-logo{padding-top:120px;padding-bottom:140px;border-top:1px solid var(--ln);background:var(--card1)}
.x-logo .head{max-width:1320px;margin:0 auto 40px}
.x-logo-in{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;max-width:1320px;margin:0 auto 48px;padding-left:320px}
.x-logo-t{max-width:560px;font-size:22px;line-height:1.45;letter-spacing:-.01em}
.x-logo-c{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--ln);font-size:11px;white-space:nowrap}
.x-logo-c i{flex:none;width:6px;height:6px;background:var(--ac)}
.x-lgal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:300px;grid-auto-flow:dense;gap:16px;max-width:1320px;margin:0 auto}
.x-lgal .x-gi{height:auto}
.x-lgal .x-gi img{filter:none}
.x-lg-b{grid-column:span 2;grid-row:span 2}
@media (max-width:1199.98px){
  .x-logo-in{padding-left:0;flex-direction:column;align-items:flex-start}
  .x-lgal{grid-auto-rows:220px}
  .x-logo-c{white-space:normal}
}
@media (max-width:809.98px){
  .x-prose .x-ig{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .x-logo{padding-top:72px;padding-bottom:88px}
  .x-lgal{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:42vw;gap:10px}
}

/* ===== v35 – detail podlahy ve struktuře starého webu: oddíly, poznámky, dlaždice s titulkem ===== */
.x-prose.x-odd h3{margin-top:72px;padding-top:40px;border-top:1px solid var(--ln)}
.x-prose.x-odd>h3:first-child{margin-top:0;padding-top:0;border-top:0}
.x-prose.x-odd h3+p{font-size:20px;color:rgba(246,244,240,.82)}
.x-prose .x-note{position:relative;margin-top:28px;padding:18px 20px 18px 24px;background:var(--card2);font-size:18px;line-height:1.5}
.x-prose .x-note::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ac)}
.x-prose .x-note+.x-note{margin-top:10px}
.x-prose .x-ig.x-igc{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.x-igc .x-gi{position:relative;aspect-ratio:1/1}
.x-igc .x-gi img,.x-igc .x-gi:hover img{filter:none}
.x-igc .x-gi span{position:absolute;left:0;right:0;bottom:0;padding:28px 12px 12px;background:linear-gradient(transparent,rgba(14,14,13,.92));font-size:11px;line-height:1.4;color:var(--tx)}
.x-prose .x-ig.x-igf{grid-template-columns:repeat(3,minmax(0,1fr))}
.x-prose .x-ig.x-ig1{grid-template-columns:minmax(0,1fr)}
.x-ig1 .x-gi{aspect-ratio:16/9}
.x-prose .x-ig.x-igs{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.x-igs .x-gi{aspect-ratio:1/1}
.x-igs .x-gi.x-w img{padding:10px}
@media (max-width:809.98px){
  .x-prose.x-odd h3{margin-top:48px;padding-top:28px}
  .x-prose .x-ig.x-igc,.x-prose .x-ig.x-igf{grid-template-columns:repeat(2,minmax(0,1fr))}
  .x-prose .x-ig.x-igs{grid-template-columns:repeat(4,minmax(0,1fr))}
  .x-prose .x-note{font-size:16px}
}

/* ===== v36 – katalog kolekcí (Vinylové podlahy) + pásy fotek podle počtu ===== */
.x-prose .x-ig.x-ign{grid-template-columns:repeat(var(--n),minmax(0,1fr))}
.x-ign .x-gi{aspect-ratio:1/1}
.x-igd .x-gi{aspect-ratio:1/1}
.x-prose.x-barva .x-ig img,.x-prose.x-barva .x-ig .x-gi:hover img{filter:none}
.x-prose h4.x-sub{margin-top:36px;font:600 18px/1.3 Geist,system-ui,sans-serif;letter-spacing:-.01em;color:var(--ac)}
.x-prose h4.x-sub+.x-par{margin-top:12px}
.x-prose .x-dost{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:11px;line-height:1.5;color:var(--mut)}
.x-prose .x-dost i{flex:none;width:6px;height:6px;background:var(--ac)}
.x-knav{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.x-knav a{display:inline-flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--ln);font-size:11px;line-height:1.4;color:var(--tx);text-decoration:none;transition:background-color .25s var(--e44),border-color .25s var(--e44),color .25s var(--e44)}
.x-knav a i{flex:none;width:6px;height:6px;background:var(--ac);transition:background-color .25s var(--e44)}
.x-knav a:hover,.x-knav a:focus-visible{background:var(--ac);border-color:var(--ac);color:var(--bg);outline:0}
.x-knav a:hover i,.x-knav a:focus-visible i{background:var(--bg)}
.x-prose h3[id]{scroll-margin-top:110px}
.x-par dd{white-space:normal}
@media (max-width:809.98px){
  .x-prose .x-ig.x-ign{grid-template-columns:repeat(3,minmax(0,1fr))}
  .x-prose .x-ig.x-igd{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){.x-knav a,.x-knav a i{transition:none}}
/* nadpis kolekce, na kterou se dojelo z rozcestníku: žlutá linka se jednou protáhne */
.x-prose h3[id]{position:relative}
.x-prose h3.x-tady::after{content:"";position:absolute;left:0;top:-1px;width:100%;height:2px;background:var(--ac);transform-origin:left;animation:x-tady 1.4s cubic-bezier(.22,1,.36,1) both}
@keyframes x-tady{0%{transform:scaleX(0);opacity:1}60%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
@media (prefers-reduced-motion:reduce){.x-prose h3.x-tady::after{animation:none;opacity:0}}
/* Podlahy – nadpis bloku při najetí NEžloutne (šablona /services barvu nadpisu nemění; byla to naše odchylka) */
.x-sb h2 a,.x-sb h2 a:hover{color:inherit;transition:none}
/* Úvod – karty „Krok za krokem“: fotka se při najetí na kartu zbarví (rozhodnutí uživatele: fotky se při najetí vždy zbarví), stejné tempo jako bloky na Podlahách */
.fc .ph img{transition:transform .8s cubic-bezier(.22,1,.36,1),filter .3s cubic-bezier(.44,0,.56,1)}
.fc:hover .ph img{filter:contrast(1) grayscale(0)}
@media (prefers-reduced-motion:reduce){.fc .ph img{transition:none}}

/* ===== v38 – patička: velké logo žluté (přání klienta), při najetí se jednou přehraje animace ===== */
.giant{color:var(--ac)}
.giant svg{cursor:default}
.giant.x-volno{overflow:visible}

/* ===== v39 – řádkování nadpisů podle diakritiky (viz diak39.js) ===== */
.x-dw{display:inline-block}
/* jen slova a písmena uvnitř měřeného nadpisu – třídy .w/.c používají i jiné prvky (výplň tlačítka .btn .w, pásek .paska.w, kurzor .cursor .c) */
.x-mer-h .w,.x-mer-h .c,.x-mer-h .x-dw{transform:none!important;transition:none!important}
.hero h1 .w{display:inline-block;white-space:nowrap}

/* =====================================================================================================
   v41 – RESPONZIVITA PODLE ŠABLONY (Raw Structure). Hodnoty z kódu šablony: pravidla v @media bundlů
   (tablet 810–1199,98 px, mobil < 810 px) + měření živé šablony na 1000 a 390 px (scratchpad tcss.py, ttext.py, trees.py).
   Typografická škála šablony: h1 160→112→64 (u nás 150→105→60) · h2 96→72→48 · h3/statement 64→52→38 ·
   perex 22→20→18 · text 16→16→15 · okraje sekcí 140/40/160 → 112/32/120 → 88/20/96.
   ===================================================================================================== */

/* ---------- mobilní menu = výsuvný panel pod lištou (šablona: nav „Phone Open“, výška 72 → 561 za ~.52 s) ---------- */
.x-dr{display:none}
@media (max-width:809.98px){
  .x-dr{position:fixed;left:0;right:0;top:72px;z-index:19;display:grid;grid-template-rows:0fr;background:#0E0E0D;transition:grid-template-rows .52s var(--e),visibility 0s .52s;visibility:hidden}
  .x-dr.open{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .52s var(--e),visibility 0s}
  .x-dr-in{min-height:0;overflow:hidden}
  .x-dr-pad{display:flex;flex-direction:column;padding:8px 20px 28px;border-bottom:1px solid var(--ln);max-height:calc(100dvh - 72px);overflow-y:auto}
  .x-dr-r{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--ln);color:var(--tx)}
  .x-dr-r .i{flex:none;width:20px;font:500 12px/1 Mono;letter-spacing:.08em;color:var(--ac)}
  .x-dr-r .l{flex:1;min-width:0;font:400 40px/1 Anton;text-transform:uppercase}
  .x-dr-r svg{flex:none;width:20px;height:20px;color:var(--mut)}
  .x-dr-r.cur .l{color:var(--ac)}
  .x-dr-cta{padding:24px 0 20px}
  .x-dr-m{font:500 11px/1.5 Mono;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
  .nav.x-open{background:#0E0E0D;backdrop-filter:none;-webkit-backdrop-filter:none}
  .burger.x-bg[aria-expanded=true]{border-color:var(--ln)}
  .burger.x-bg[aria-expanded=true] i{background:transparent;box-shadow:none;position:relative}
  .burger.x-bg[aria-expanded=true] i::before,.burger.x-bg[aria-expanded=true] i::after{content:"";position:absolute;left:0;top:0;width:18px;height:1.5px;background:var(--ac);transform:rotate(45deg)}
  .burger.x-bg[aria-expanded=true] i::after{transform:rotate(-45deg)}
}
@media (prefers-reduced-motion:reduce){.x-dr,.x-dr.open{transition:none}}

/* =============================== TABLET 810–1199,98 =============================== */
@media (min-width:810px) and (max-width:1199.98px){
  :root{--pad:32px}
  /* lišta: logo vlevo, odkazy vpravo (mezera 28), bez tlačítka */
  .nav .btn{display:none}
  .links.x-links{position:static!important;left:auto!important;transform:none!important;margin-left:auto;gap:28px}
  .ruler{display:none}
  /* hero v toku: okraje 112/32/40, mezery 36 */
  .hero{height:auto;min-height:0}
  .in{height:auto;padding:112px 32px 40px;display:flex;flex-direction:column;gap:36px}
  .meta,.pas,.hero h1,.spod{position:relative;left:auto;right:auto;top:auto}
  .pas{height:240px;gap:10px}
  .pas .f:nth-child(1){height:120px!important}.pas .f:nth-child(2){height:184px!important}.pas .f:nth-child(3){height:240px!important}
  .pas .f:nth-child(4){height:208px!important}.pas .f:nth-child(5){height:152px!important}.pas .f:nth-child(6){height:200px!important}
  .f.a p{font-size:20px}
  .hero h1{white-space:normal}
  .spod{flex-direction:column;align-items:flex-start;gap:28px}
  .lead{width:500px;max-width:100%;font-size:20px}
  .dim{left:32px}
  /* pásky: 240 vysoké, pruh 72, písmo 36, ikona 26 */
  .pasky{height:240px;padding:48px 0}
  .paska{height:72px;font-size:36px}.paska .trk{gap:28px}.paska svg{width:26px;height:26px}
  .paska.y{top:64px}.paska.w{top:112px}
  /* statement */
  .stmt{padding:120px 32px 110px}
  .stmt .row{grid-template-columns:1fr;gap:24px}
  .stmt .big{font-size:52px}
  .logos{grid-template-columns:1fr;gap:24px;margin-top:80px}
  /* sekce */
  .sec,.stats{padding:112px 32px 120px}
  .head{grid-template-columns:1fr;gap:20px;margin-bottom:48px}
  /* druhy podlah: řádek 180, číslo 56 + 20, název 44, bez popisku */
  .si .n{width:76px}
  .si .t{font-size:44px}
  .si .sh{display:none}
  .si .im{margin:0 16px}
  .si .ar{width:52px;height:52px}
  /* reference */
  .prj{padding:112px 0 120px}
  .hook{left:520px}
  .ctrl{padding:0 32px 8px;height:64px}
  .gal{gap:20px;padding:24px 32px 16px;scroll-padding-left:32px}
  /* čísla: kostka nad mřížkou */
  .stats .row{grid-template-columns:1fr;gap:24px}
  .scene{height:400px}
  /* výkres */
  .stage .cp{left:32px;width:746px;max-width:calc(100% - 64px);bottom:40px}
  .stage h2{font-size:72px}
  /* co dostanete: karty pod sebou */
  .q3{grid-template-columns:1fr;gap:16px}
  .qc{min-height:0}
  .qc blockquote{margin-top:40px}
  .qc.done:hover,.qc.a.done:hover{transform:none}
  /* patička */
  .foot{padding:110px 32px 28px}
  .fcta{flex-direction:column;align-items:flex-start;gap:36px}
  .fg{grid-template-columns:1fr 1fr;gap:40px 32px;margin-top:72px}
  .giant{margin:72px 0}
  .bar{flex-wrap:wrap}
}

/* =============================== MOBIL < 810 =============================== */
@media (max-width:809.98px){
  /* hero: okraje 96/20/32, mezery 28; fotky 84/129/168/146 */
  .in{padding:96px 20px 32px;gap:28px}
  .meta{gap:8px}
  .pas{margin-top:0;height:170px;gap:6px}
  .pas .f:nth-child(1){height:84px!important}.pas .f:nth-child(2){height:129px!important}.pas .f:nth-child(3){height:168px!important}.pas .f:nth-child(4){height:146px!important}
  .f.a{padding:14px}.f.a svg{width:28px;height:28px}.f.a p{font-size:13px}
  .hero h1{margin-top:0;font-size:60px;line-height:1.04}
  .spod{margin-top:0;gap:24px}
  .lead{font-size:18px}
  .akce{flex-direction:row;flex-wrap:wrap;gap:10px}
  /* pásky 184 */
  .pasky{height:184px;padding:36px 0}
  .paska.y{top:44px}.paska.w{top:84px}
  /* statement 96/20/88 */
  .stmt{padding:96px 20px 88px}
  .logos{margin-top:64px;gap:20px}
  .head{gap:16px}
  /* druhy podlah: řádek 84, číslo 18 + 14, název 30, šipka 40 */
  .si{height:auto;min-height:84px;padding:22px 0;flex-wrap:nowrap;gap:0}
  .si .n{width:32px}
  .si .t{font-size:30px}
  .si .ar{width:40px;height:40px;margin-left:14px}.si .ar svg{width:18px;height:18px}
  /* reference: karta 300 × 380, název 26, šipky 48 */
  .prj{padding:88px 0 96px}
  .hook{left:210px}
  .ctrl{padding:0 20px 8px;height:56px}
  .ctrl button{width:48px;height:48px}
  .gal{gap:16px;padding:24px 20px 16px}
  .pc{width:300px}.pc .md{height:380px}
  .pc .pm{margin-top:14px}
  /* čísla: mezera 8, kostka 320, karty pod sebou 24/18 */
  .stats .row{gap:8px}
  .scene{height:320px}
  .st{padding:24px}
  .st .v{margin-top:18px;font-size:clamp(64px,24.6vw,96px)}.st .v.sm{font-size:clamp(52px,18.5vw,72px)}
  .st p{margin-top:18px;font-size:15px}
  /* výkres: dráha 1440, popisek pod nadpisem */
  .bpr{height:1440px}
  .stage .cp{left:20px;right:auto;width:calc(100% - 40px);bottom:32px;gap:12px}
  .stage h2{font-size:52px;line-height:.9}
  /* co dostanete */
  .q3{gap:14px}
  .qc{min-height:0;padding:24px}
  .qc blockquote{margin-top:40px;font-size:18px}
  /* text 15 */
  .fc p,.x-val p{font-size:15px}
  /* patička 88/20/24 */
  .foot{padding:88px 20px 24px}
  .fcta{gap:32px}
  .fg{gap:36px;margin-top:56px}
  .giant{margin:56px 0}
  .bar{gap:10px}
}

/* ---------- loga klientů: na tabletu a mobilu běžící pás jako v šabloně (Logo Ticker, mezera 64 / 40) ---------- */
@media (max-width:1199.98px){
  .logos ul.x-tick{flex-wrap:nowrap!important;justify-content:flex-start!important;gap:0!important;width:max-content;animation:x-tick var(--tt,30s) linear infinite}
  .logos .x-tw{overflow:clip;min-width:0;max-width:100%}
  .logos ul.x-tick li{flex:none;padding-right:64px}
  .logos .lg{height:28px}.logos .lg.t{height:40px}
}
@media (max-width:809.98px){.logos ul.x-tick li{padding-right:40px}}
@keyframes x-tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.logos ul.x-tick{animation:none}}

/* =============================== PODSTRÁNKY – TABLET 810–1199,98 =============================== */
@media (min-width:810px) and (max-width:1199.98px){
  /* úvod stránky (Page Intro): 150/32/80, perex 20 */
  .pin{padding:150px 32px 80px}
  .pin-in{gap:24px}
  .pin-lead{font-size:20px}
  /* O nás */
  .x-plate{height:520px}
  .x-cap{left:32px}
  .x-story{padding:112px 32px 120px}
  .x-story-row{grid-template-columns:1fr;gap:40px}
  .x-copy p.l{font-size:20px}
  .x-ms{grid-template-columns:160px 20px minmax(0,1fr);gap:24px;padding:32px 0}
  .x-ms p:last-child{display:none}          /* šablona na tabletu popis milníku neukazuje */
  .x-yr{font-size:56px}
  .x-ms h3,.x-val h3{font-size:30px}
  .x-vals{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* Podlahy (Service Blocks 48/32/120, Spec Table, FAQ) */
  .x-sbs{padding:48px 32px 120px}
  .x-sb{padding:28px;gap:28px}
  .x-sb h2{font-size:52px}
  .x-sb-lead{font-size:20px}
  .x-sp{grid-template-columns:60px minmax(0,1fr) auto;gap:32px;padding:20px 8px}
  .x-sp h4{font-size:20px}
  .x-sp .v{font-size:32px}
  .x-faq-row{grid-template-columns:1fr;gap:40px}
  /* Reference (Projects Archive 32/32/120, mřížka 2 × s mezerou 64/20) */
  .x-arch{padding:32px 32px 120px}
  .x-fb{padding-bottom:40px}
  .x-pg{gap:64px 20px}
  /* detail (Cover 90vh/620, Spec 3 sloupce, Summary/Body/Gallery 96/32/64, Next 80/32/96) */
  .x-cover{height:90vh;min-height:620px;max-height:none;padding:120px 32px 48px}
  .x-cover-in h1{font-size:105px!important}
  .x-cover-in.x-m h1{font-size:84px!important}
  .x-cover-in.x-s h1{font-size:64px!important}
  .x-next-t{font-size:105px!important}.x-next-t.x-m{font-size:84px!important}.x-next-t.x-s{font-size:64px!important}
  .x-specs{padding:0 32px}
  .x-sum{padding:96px 32px 64px}
  .x-big{font-size:52px}
  .x-body{padding:96px 32px 64px}
  .x-prose h2{font-size:52px}.x-prose h3{font-size:30px}
  .x-prose p{font-size:20px}
  .x-galsec{padding:96px 32px 64px}
  .x-gal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .x-gi{height:320px}
  .x-logo{padding-top:96px;padding-bottom:96px}
  .x-cta{padding:0 32px 96px}
  .x-next{padding:80px 32px 96px}
  /* Kontakt (32/32/120, sloupce pod sebou, mezera 24) */
  .kt{padding:32px 32px 120px}
  .kf-head h2{font-size:30px}
  .kc h3,.kf-st{font-size:20px}
  /* právní texty (Article: 150/32/56, tělo 72/32/110) */
  .x-ah{padding:150px 32px 56px}
  .x-ah h1.x-h1a{font-size:72px}
  .x-ab{padding:72px 32px 110px}
}

/* =============================== PODSTRÁNKY – MOBIL < 810 =============================== */
@media (max-width:809.98px){
  .pin h1{font-size:60px;line-height:1.04}
  .pin-in{gap:20px}
  .pin-lead{font-size:18px}
  /* O nás */
  .x-plate{height:420px}
  .x-plate-img{top:-120px;height:920px}
  .x-story{padding:88px 20px 96px}
  .x-story-row{gap:32px}
  .x-copy p{font-size:15px}
  .x-ms{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:24px 0}
  .x-ms .x-node{display:none}
  .x-yr{font-size:56px}
  .x-ms h3,.x-val h3{font-size:26px}
  .x-ms p:last-child{font-size:15px}
  .x-vals{gap:12px}
  /* Podlahy */
  .x-sb h2{font-size:38px}
  .x-sp{display:flex;align-items:center;gap:16px;padding:18px 0}
  .x-sp .n{display:none}
  .x-sp h4{flex:1;min-width:0;font-size:18px}
  .x-sp .v{flex:none;font-size:26px;text-align:right}
  .x-faq-row{gap:32px}
  .x-q-row{font-size:22px}
  .x-q-a p{font-size:15px}
  /* Reference: karta přes celou šířku, fotka 580 jako v šabloně */
  .x-fb{padding-bottom:32px}
  .pc.x-pi{width:100%}
  .pc.x-pi .md{height:580px}
  .pc.x-pi h3{font-size:36px}
  /* detail */
  .x-cover{height:85vh;min-height:560px;padding:110px 20px 40px}
  .x-sum{padding:72px 20px 48px}
  .x-row{gap:16px}
  .x-big{font-size:38px;line-height:.98}
  .x-body{padding:72px 20px 48px}
  .x-prose h2{font-size:38px}.x-prose h3{font-size:26px}
  .x-galsec{padding:72px 20px 48px}
  .x-gal{grid-template-columns:1fr;gap:12px}
  .x-gi{height:260px}
  .x-cta{padding:0 20px 48px}
  /* Kontakt */
  .kf-head h2{font-size:26px}
  .kc h3,.kf-st{font-size:18px}
  .kc p{font-size:15px}
  /* právní texty */
  .x-ah{padding:120px 20px 40px}
  .x-ah h1.x-h1a{font-size:48px;line-height:.92}
  .x-art h2{font-size:38px}.x-art h3{font-size:26px}
}

/* ---------- dotyková zařízení: efekty „při najetí“, které prvek zvětšují nebo natáčejí, se po klepnutí nezasekávají
   (v šabloně se whileHover na dotyku nespouští); zbarvení fotek po klepnutí zůstává ---------- */
@media (hover:none){
  .x-sb:hover,.st:hover,.qc.done:hover,.qc.a.done:hover,.jr:hover,.x-sp:hover,.x-val.done:hover,.x-ms.done:hover,.kc.done:hover,a.v:hover{transform:none}
  .x-sp:hover{background:transparent;color:inherit}.x-sp:hover .n,.x-sp:hover .d{color:var(--mut)}
  .fc .ph:hover img,.f:hover img,.x-gi:hover img,.pc:hover .md img{transform:none}
  .si:hover .im{width:0}
  .si:hover .ar{transform:none}
}

/* ---------- dotyk: fotka se zbarví, když na ni přijde řada (třídu .x-bar dává resp41.js; na zařízeních s myší se nepoužije) ---------- */
.x-dotyk .fc .ph img,.x-dotyk .x-sb-img img,.x-dotyk .f img,.x-dotyk .pc .md img,.x-dotyk .x-gi img,.x-dotyk .jr .th img,.x-dotyk .x-plate-img img{transition:filter 1.2s cubic-bezier(.44,0,.56,1) .15s}
.x-dotyk .fc.x-bar .ph img,.x-dotyk .x-sb.x-bar .x-sb-img img,.x-dotyk .f.x-bar img,.x-dotyk .pc .md.x-bar img,.x-dotyk .x-gi.x-bar img,.x-dotyk .jr .th.x-bar img,.x-dotyk .x-plate.x-bar .x-plate-img img{filter:grayscale(0)!important}
@media (prefers-reduced-motion:reduce){.x-dotyk img{transition:none!important}}
/* karty „Krok za krokem“ i bloky na Podlahách se na mobilu a tabletu LEPÍ a zajíždějí pod sebe jako v šabloně (Floor Card 84 + 14·n / 96 + 20·n, Service Block 84 / 96).
   Bloky na Podlahách jsou u nás vyšší než v šabloně (delší texty + řádek s odkazem); kdyby byl blok vyšší než výřez, přilepí se o to výš,
   aby byl vidět i jeho spodek s odkazem (--xh = výška bloku, nastavuje fix33.js; svh = výška výřezu bez vysouvání adresního řádku). */
@media (min-width:810px) and (max-width:1199.98px){.x-sb{position:sticky;top:96px;top:min(96px,calc(100svh - var(--xh,0px) - 12px))}}
@media (max-width:809.98px){.x-sb{position:sticky;top:84px;top:min(84px,calc(100svh - var(--xh,0px) - 12px))}}
.x-nost .x-sb{position:sticky}
/* ROZHODNUTÍ UŽIVATELE (7. 10.): na úvodní stránce jsou fotky na dotykových zařízeních rovnou barevné (bez přechodu z černobílé):
   karty „Krok za krokem“, fotky v heru a karty referencí */
.x-dotyk .stack .fc .ph img,.x-dotyk .pas .f img,.x-dotyk #gal .pc .md img{filter:grayscale(0)!important;transition:none!important}

/* ---------- titulní fotka detailu = Cover Image šablony (bundle tGHZvos…): nástup scale 1,25 → 1 za 2 s [.22,1,.36,1]; při scrollu parallax (speed 70 → posun 0,3 × scroll) ---------- */
.x-cover-img{will-change:transform}
.x-cover-img img{animation:x-cz 2s cubic-bezier(.22,1,.36,1) both}
@keyframes x-cz{from{transform:scale(1.25)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.x-cover-img img{animation:none}}

/* znaménka u čísel v Antonu: zvednout na střed číslic (střed pomlčky a plusu 0,305 em, číslic 0,43 em) */
.st .v .zn{position:relative;top:-.125em}

/* ===== v43: video z veletrhu FIBO v úvodu (přání klienta 11. 10.) – dva návrhy. Pás fotek (.pas) z úvodu vypadl, nahrazuje ho video.
   .xh1 = video přes celou úvodní obrazovku, text dole přes něj (vzor: úvod pobočky na maxfitness.cz)
   .xh2 = text vlevo, video v rámu přirostlé k pravému okraji, vlevo se ztrácí do pozadí (vzor: BondyWonder)
   Video má jen 1280×714: v .xh2 se na běžném monitoru nezvětšuje (zůstává ostré), v .xh1 se roztahuje na celou šířku. ===== */
.xh{height:100svh;min-height:760px}
.xh .in{z-index:2}
.xh-v{display:block;background:var(--card)}
/* ovládání videa: pauza, zvuk, celá obrazovka */
.xh-ct{display:flex;gap:8px;z-index:3}
.xh-b{height:40px;min-width:40px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--ln);background:rgba(14,14,13,.62);color:var(--tx);cursor:pointer;font:600 11px/1 Mono;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .55s var(--e),color .55s var(--e),border-color .55s var(--e)}
.xh-b svg{width:18px;height:18px;flex:none}
.xh-b:hover,.xh-b:focus-visible{background:var(--ac);color:var(--bg);border-color:var(--ac)}
.xh-b:focus-visible{outline:2px solid var(--ac);outline-offset:3px}
.xh-b .x1{display:none}
.xh.stop .xh-pp .x0,.xh.snd .xh-snd .x0{display:none}
.xh.stop .xh-pp .x1,.xh.snd .xh-snd .x1{display:block}
.xh.snd .xh-snd{background:var(--ac);color:var(--bg);border-color:var(--ac)}

/* ---------- návrh 1: video přes celou obrazovku ---------- */
.xh1 .xh-bg{position:absolute;inset:0;overflow:hidden;background:var(--card)}
.xh1 .xh-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* ztmavení: nahoře pod lištou, dole pod textem; střed zůstává čitelný */
.xh1 .xh-sh{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,14,13,.62) 0,rgba(14,14,13,.28) 45%,rgba(14,14,13,0) 70%),linear-gradient(180deg,rgba(14,14,13,.78) 0,rgba(14,14,13,.3) 30%,rgba(14,14,13,.42) 55%,rgba(14,14,13,.95) 100%)}
.xh1 .bp svg{opacity:.55}
.xh1 .xh-ct{position:absolute;right:var(--pad);bottom:20px}
.xh1 .est,.xh1 .meta .scr{color:var(--tx)}

/* ---------- návrh 2: video vpravo ---------- */
.xh2 .xh-bg{position:absolute;z-index:1;right:0;top:80px;bottom:0;width:56%;display:flex;flex-direction:column;justify-content:center}
.xh2 .xh-f{position:relative;aspect-ratio:1280/714;cursor:pointer}
.xh2 .xh-v{width:100%;height:100%;object-fit:cover;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%)}
.xh-c{position:absolute;right:0;width:18px;height:18px;border:solid var(--ac);border-width:0 2px 0 0;pointer-events:none}
.xh-c.a{top:0;border-top-width:2px}
.xh-c.b{bottom:0;border-bottom-width:2px}
.xh-row{display:flex;align-items:flex-end;gap:20px;margin-top:12px;padding-left:30%;padding-right:var(--pad)}
/* pravítko průběhu: dílky po vteřině, klepnutím se přeskočí */
.xh-pr{position:relative;flex:1;height:28px;cursor:pointer;background:repeating-linear-gradient(90deg,var(--tick) 0 1px,transparent 1px calc(100%/21)) left bottom/100% 8px no-repeat}
.xh-pr::before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ln)}
.xh-pr i{position:absolute;left:0;bottom:0;width:100%;height:3px;background:var(--ac);transform:scaleX(var(--t,0));transform-origin:left}
.xh-pr u{position:absolute;left:calc(var(--t,0)*100%);bottom:0;width:1px;height:20px;background:var(--ac)}

/* ---------- široké obrazovky: text ve sloupci u spodního okraje (1) / uprostřed vlevo (2) ---------- */
@media (min-width:1200px){
  .xh .in{display:flex;flex-direction:column;height:100%}
  .xh h1,.xh .spod{position:relative;left:auto;right:auto;top:auto}
  .xh1 .in{justify-content:flex-end;padding:0 var(--pad) 84px}
  .xh1 h1{font-size:120px}
  .xh1 .spod{margin-top:36px}
  .xh2 .in{justify-content:center;padding:150px var(--pad) 40px}
  .xh2 .spod{flex-direction:column;align-items:flex-start;gap:32px;margin-top:36px}
  .xh2 .lead{width:470px;font-size:20px}
}
/* ---------- tablet a mobil: úvod je v toku (pravidla z resp41.css) ---------- */
@media (max-width:1199.98px){
  .xh{height:auto;min-height:0}
  .xh1{min-height:100svh;display:flex;flex-direction:column}
  .xh1 .in{flex:1;justify-content:flex-end;padding-bottom:84px}
  .xh1 .xh-ct{right:auto;left:var(--pad);bottom:24px}
  .xh1 .dim{display:none}
  /* návrh 2: video nahoře přes celou šířku pod lištou, text pod ním */
  .xh2 .xh-bg{position:relative;top:auto;right:auto;bottom:auto;width:auto;margin-top:80px}
  .xh2 .xh-v{-webkit-mask-image:none;mask-image:none}
  .xh2 .xh-row{padding:0 var(--pad)}
  .xh2 .in{padding-top:40px}
  .xh2 .dim{display:none}
}
@media (min-width:810px) and (max-width:1199.98px){
  /* tablet: video nesmí vytlačit nadpis pod okraj obrazovky */
  .xh2 .xh-f{aspect-ratio:auto;height:min(55.8vw,46svh)}
}
@media (max-width:809.98px){
  .xh2 .xh-bg{margin-top:72px}
  .xh2 .in{padding-top:32px}
  .xh-b span{display:none}
  .xh-c{width:12px;height:12px}
}
@media (prefers-reduced-motion:reduce){
  .xh-b{transition:none}
}

/* ===== v42: video z veletrhu FIBO na úvodu (sekce .xv). Šablona Raw Structure video nemá → vlastní sekce v jazyce webu:
   hlavička sekce jako jinde, vlevo ve sloupci popisků (320 px) běžící čas a ovládání, vpravo rám s rohovými značkami,
   do kterého video při scrollu doroste (ozvěna „Výkres → podlaha“) a zbarví se; pod rámem pravítko průběhu. ===== */
.xv{position:relative;padding:140px var(--pad) 160px}
.xv-g{display:grid;grid-template-columns:320px minmax(0,1fr);align-items:stretch}
.xv-m{display:flex;flex-direction:column;justify-content:space-between;padding-right:40px;min-width:0}
.xv-st{display:flex;align-items:center;gap:10px;font:500 12px/1.4 Mono;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.xv-st i{width:8px;height:8px;border-radius:50%;background:var(--mut)}
.xv.play .xv-st{color:var(--tx)}
.xv.play .xv-st i{background:var(--ac);animation:xv-bl 1s steps(2,jump-none) infinite}
@keyframes xv-bl{50%{opacity:.15}}
.xv-tc{display:flex;margin-top:20px;font:400 72px/1 Anton;letter-spacing:0;color:var(--tx);white-space:nowrap}
.xv-tc b{display:inline-block;width:.5em;font-weight:400;text-align:center}
.xv-tc b.s{width:.24em;color:var(--mut)}
.xv-tc b.xf{color:var(--ac)}
.xv-dl{margin-top:28px;border-top:1px solid var(--ln)}
.xv-dl div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--ln);font:400 12px/1.4 Mono;letter-spacing:.08em;text-transform:uppercase}
.xv-dl dt{color:var(--mut)}
.xv-dl dd{color:var(--tx);text-align:right}
.xv-b{display:flex;gap:8px;margin-top:32px}
.xv-b button{height:56px;border:1px solid var(--ln);background:transparent;color:var(--tx);display:inline-flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;font:600 12px/1 Mono;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;transition:background .55s var(--e),color .55s var(--e),border-color .55s var(--e)}
.xv-b button:hover,.xv-b button:focus-visible{background:var(--ac);color:var(--bg);border-color:var(--ac)}
.xv-b button svg{width:22px;height:22px;flex:none}
.xv-snd{flex:1;padding:0 18px}
.xv-snd .x1{display:none}
.xv.snd .xv-snd{background:var(--ac);color:var(--bg);border-color:var(--ac)}
.xv.snd .xv-snd .x0{display:none}
.xv.snd .xv-snd .x1{display:block}
.xv-fs{width:56px}

.xv-r{min-width:0}
.xv-f{position:relative;aspect-ratio:1280/714;box-shadow:inset 0 0 0 1px var(--ln);cursor:pointer}
.xv-w{position:absolute;inset:0;overflow:hidden;transform:scale(var(--s,1));transform-origin:50% 50%;background:var(--card);will-change:transform}
.xv-w video{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .8s cubic-bezier(.22,1,.36,1)}
.xv.on .xv-w video{filter:none}
.xv-c{position:absolute;width:18px;height:18px;border:solid var(--ac);border-width:0;z-index:2;pointer-events:none}
.xv-c.a{top:-1px;left:-1px;border-top-width:2px;border-left-width:2px}
.xv-c.b{top:-1px;right:-1px;border-top-width:2px;border-right-width:2px}
.xv-c.c{bottom:-1px;left:-1px;border-bottom-width:2px;border-left-width:2px}
.xv-c.d{bottom:-1px;right:-1px;border-bottom-width:2px;border-right-width:2px}
.xv-pp{position:absolute;left:50%;top:50%;z-index:2;width:88px;height:88px;margin:-44px 0 0 -44px;display:grid;place-items:center;background:var(--ac);color:var(--bg);opacity:0;transform:scale(.8);transition:opacity .3s,transform .55s var(--e);pointer-events:none}
.xv-pp svg{width:32px;height:32px}
.xv.stop .xv-pp{opacity:1;transform:none}
/* pravítko průběhu: dílky po vteřině, žlutá výplň, klepnutím se přeskočí */
.xv-pr{position:relative;height:28px;margin-top:12px;cursor:pointer;background:repeating-linear-gradient(90deg,var(--tick) 0 1px,transparent 1px calc(100%/21)) left bottom/100% 8px no-repeat}
.xv-pr::before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ln)}
.xv-pr i{position:absolute;left:0;bottom:0;width:100%;height:3px;background:var(--ac);transform:scaleX(var(--t,0));transform-origin:left}
.xv-pr u{position:absolute;left:calc(var(--t,0)*100%);bottom:0;width:1px;height:20px;background:var(--ac)}
.xv:fullscreen,.xv video:fullscreen{filter:none}

@media (min-width:810px) and (max-width:1199.98px){
  .xv{padding:112px 32px 120px}
}
@media (max-width:1199.98px){
  .xv-g{grid-template-columns:1fr}
  .xv-r{order:1}
  .xv-m{order:2;padding:0;margin-top:20px;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px}
  .xv-i{display:flex;align-items:center;gap:20px}
  .xv-tc{margin-top:0;font-size:44px}
  .xv-dl{display:none}
  .xv-b{margin-top:0}
  .xv-snd{flex:none}
}
@media (max-width:809.98px){
  .xv{padding:88px 20px 96px}
  .xv-i{flex-direction:column;align-items:flex-start;gap:8px}
  .xv-tc{font-size:36px}
  .xv-b button{height:48px}
  .xv-fs{width:48px}
  .xv-snd{padding:0 14px}
  .xv-pp{width:64px;height:64px;margin:-32px 0 0 -32px}
  .xv-c{width:12px;height:12px}
}
/* dotyk: na úvodu jsou fotky rovnou barevné (rozhodnutí 7. 10.) – video také */
@media (hover:none){.xv-w video{filter:none}}
@media (prefers-reduced-motion:reduce){
  .xv-w{transform:none}
  .xv-w video{filter:none;transition:none}
  .xv.play .xv-st i{animation:none}
}

/* ===== VARIANTA B – žluté nadpisy (zkouška pro klienta; A = bílé). Jediný rozdíl proti A je tento blok. =====
   Nadpisy v Antonu jsou žluté; kde nadpis při najetí žloutl, teď zbělá; na žlutém podkladu zůstává tmavý. */
h1,h2,h3,.si .t{color:var(--ac)}
.kc h3{color:inherit}                       /* malé titulky karet v Geistu zůstávají bílé */
.stage h2{color:var(--ac)}
.si:hover .t,.si:focus-visible .t{color:var(--tx)}
.pc:hover h3{color:var(--tx)}
.x-val h3{transition:color .55s var(--spr-val)}
.x-val.done:hover h3{color:var(--bg)}
@media (hover:none){.x-val.done:hover h3{color:var(--ac)}}
/* názvy provedení v katalogu byly žluté, aby se odlišily od bílých nadpisů → ve variantě B naopak bílé */
.x-prose h4.x-sub{color:var(--tx)}

/* ===== ŽLUTÁ VARIANTA – úvod s videem (v43): nadpis je žlutý → rohové značky rámu v návrhu 2 bílé, aby žlutá zůstala na nadpisu, tlačítku a průběhu. */
.xh-c{border-color:var(--tx)}

/* ===== VARIANTA B – video (v42): nadpis je žlutý → barvy v sekci se obracejí, aby žlutá zůstala jen na nadpisu, čase a průběhu:
   čas v Antonu žlutý jako nadpisy (setiny bílé), rohové značky rámu bílé. Průběh, tlačítka a stav zůstávají jako v A. */
.xv-tc{color:var(--ac)}
.xv-tc b.xf{color:var(--tx)}
.xv-tc b.s{color:var(--mut)}
.xv-c{border-color:var(--tx)}
/* v44 – úpravy podle klientky (14. 10.) */
/* fotky výrobků na podstránkách podlah rovnou barevné („fotky by měly být hned barevné, vzorník taky“) */
.x-prod .x-gi img,.x-prod .x-gi:hover img{filter:none}
/* Podlahy: „Máte projekt?“ pod tabulkou čísel */
.x-cta2{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1320px;margin:56px auto 0;padding-top:32px;border-top:1px solid var(--ln)}
/* TOP produkt – speciální puzzle a desky s žebrováním */
.tp-prob{padding:140px var(--pad) 40px}
.tp-prob-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;max-width:1320px;margin:0 auto;align-items:start}
.tp-prob .h2{font-size:72px;margin:20px 0 28px}
.tp-lead{font-size:20px;line-height:1.5;max-width:560px;color:var(--tx)}
.tp-use{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px;list-style:none;padding:0}
.tp-use li{display:flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--ln);color:var(--tx);font-size:11px}
.tp-use li i{width:6px;height:6px;background:var(--ac);flex:none}
.tp-sk{margin:0;position:relative}
.tp-sk-ph .x-gi{height:400px}
.tp-sk-ph .x-gi img{filter:none}
.tp-vr{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--ln)}
.tp-vr li{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 20px;border-top:1px solid var(--ln);position:relative}
.tp-vr li::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--ac);opacity:calc(1 - var(--i)*.24)}
.tp-vr-t{font:400 24px/1 Anton;text-transform:uppercase;letter-spacing:-.01em}
.tp-vr-m{color:var(--mut);font-size:11px;white-space:nowrap}
.tp-sk figcaption{margin-top:14px;color:var(--mut);font-size:11px}
.tp-s{padding-top:120px}
.tp-ks{display:flex;flex-direction:column;gap:96px;max-width:1320px;margin:72px auto 0}
.tp-k{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;align-items:start}
.tp-k.tp-r .tp-ph{order:2}
.tp-ph .tp-main{height:560px}
.tp-ph .x-gi img{filter:none}
.tp-mini{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:10px}
.tp-mini .x-gi{height:110px}
.tp-n{color:var(--mut);font-size:11px}
.tp-n b{color:var(--bg);background:var(--ac);padding:3px 8px;margin-left:6px;font-weight:600}
.tp-h{font:400 120px/.9 Anton;text-transform:uppercase;letter-spacing:-.04em;margin:14px 0 22px}
.tp-l{font-size:21px;line-height:1.45;margin-bottom:28px;max-width:560px}
.tp-t{margin-top:24px;font-size:16px;line-height:1.6;color:var(--mut);max-width:560px}
.tp-c .x-par>div{grid-template-columns:140px minmax(0,1fr)}
.tp-nb{padding-top:40px}
.tp-nb-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:56px;max-width:1320px;margin:56px auto 0;align-items:start}
.tp-nb-f{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tp-nb-f .x-gi{height:240px;background:#fff}
.tp-nb-f .x-gi img{object-fit:contain;filter:none}
@media (max-width:1199.98px){
  .tp-prob-in,.tp-k,.tp-nb-in{grid-template-columns:1fr;gap:32px}
  .tp-k.tp-r .tp-ph{order:0}
  .tp-h{font-size:88px}
  .tp-prob .h2{font-size:56px}
}
@media (max-width:809.98px){
  .tp-prob{padding:72px 20px 24px}
  .tp-prob .h2{font-size:40px}
  .tp-lead{font-size:17px}
  .tp-sk-ph .x-gi{height:260px}
  .tp-vr-t{font-size:18px}
  .tp-ks{gap:64px;margin-top:40px}
  .tp-ph .tp-main{height:320px}
  .tp-mini{grid-template-columns:repeat(4,minmax(0,1fr))}
  .tp-mini .x-gi{height:72px}
  .tp-h{font-size:64px}
  .tp-l{font-size:18px}
  .tp-c .x-par>div{grid-template-columns:110px minmax(0,1fr);gap:12px}
  .tp-nb-f .x-gi{height:150px}
  .x-cta2{flex-direction:column;align-items:flex-start}
}
/* v44 návrh 3 úvodu: jako návrh 2, jen video přes celou výšku úvodní obrazovky */
.xh3 .xh-bg{justify-content:flex-start;padding-bottom:28px}
.xh3 .xh-f{aspect-ratio:auto;flex:1;min-height:0}
@media (max-width:1199.98px){.xh3 .xh-f{flex:none;height:min(78vw,62svh)}}
@media (max-width:809.98px){.xh3 .xh-f{height:min(118vw,62svh)}}
/* v45: řádek „Fitness — CrossFit — Stadiony — Hřiště“ vpravo nahoře ležel přímo na videu (šedý na videu = nečitelný) → pod první řádek vlevo */
@media (min-width:810px){.xh3 .meta{flex-direction:column;align-items:flex-start;gap:10px;right:auto}}
/* v45: textový blok úvodu (.in) ležel přes tlačítka videa (pauza, zvuk, celá obrazovka) a bral jim kliknutí → blok propouští klik, odkazy v něm zůstávají klikací */
.xh .in{pointer-events:none}
.xh .in a,.xh .in button{pointer-events:auto}
/* v45 – připomínky z 15.–16. 10. */
/* lišta: Podlahy s podkategoriemi */
.x-dd{position:relative;display:flex;align-items:center}
.x-dd-p{position:absolute;left:50%;top:100%;padding-top:30px;transform:translateX(-50%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s var(--e),visibility 0s .3s}
.x-dd:hover .x-dd-p,.x-dd:focus-within .x-dd-p{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .3s var(--e)}
.x-dd-in{display:grid;grid-template-columns:repeat(2,max-content);gap:40px;padding:28px 32px 30px;background:#0E0E0D;border:1px solid var(--ln);box-shadow:0 24px 60px rgba(0,0,0,.5)}
.x-dd-c{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.x-dd-c p.mono{margin-bottom:4px;color:var(--ac);font:500 11px/1 Mono;letter-spacing:.08em;text-transform:uppercase}
.links .x-dd-c a{font:400 15px/1.25 Geist,system-ui,sans-serif;letter-spacing:-.005em;text-transform:none;color:var(--mut);white-space:nowrap;transition:color .25s var(--e)}
.links .x-dd-c a:hover{color:var(--tx)}
.links .x-dd-c a::after{display:none}
/* mobilní menu: podkategorie pod řádkem Podlahy */
.x-dr-sub{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px;padding:12px 0 18px 36px;border-bottom:1px solid var(--ln)}
.x-dr-sub p.mono{grid-column:1/-1;margin-top:8px;font:500 10px/1 Mono;letter-spacing:.08em;text-transform:uppercase;color:var(--ac)}
.x-dr-sub a{font-size:14px;line-height:1.3;color:var(--mut)}
@media (max-width:420px){.x-dr-sub{grid-template-columns:1fr;padding-left:36px}}
/* Podlahy: blok 01 s odkazy na druhy fitness podlah – kompaktní štítky (seznam pod sebou prodloužil všechny bloky na 880 px a spodek se na notebooku schoval pod další blok) */
.x-sb-pod{display:flex;flex-wrap:wrap;gap:8px;width:100%}
.x-sb-pod a{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--ln);font-size:15px;line-height:1.2;transition:color .3s var(--e),border-color .3s var(--e)}
.x-sb-pod a .mono{font-size:10px;color:var(--ac)}
.x-sb-pod a svg{width:14px;height:14px;flex:none;color:var(--mut);transition:transform .3s var(--e),color .3s var(--e)}
.x-sb-pod a:hover{color:var(--ac);border-color:var(--ac)}
.x-sb-pod a:hover svg{color:var(--ac);transform:translate(2px,-2px)}
/* blok vyšší než výřez se přilepí níž, aby byl vidět celý i se spodními odkazy (tablet a mobil to už mají v resp41) */
@media (min-width:1200px){.x-sb{top:min(110px,calc(100svh - var(--xh,0px) - 12px))}}
/* podstránky fitness: přepínač mezi druhy */
.x-fsub{display:flex;align-items:center;gap:24px;padding:18px var(--pad);border-bottom:1px solid var(--ln);background:var(--bg)}
.x-fsub>p{flex:none;font-size:11px;color:var(--ac)}
.x-fsub-r{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.x-fsub-r::-webkit-scrollbar{display:none}
.x-fsub-r a{flex:none;padding:10px 14px;border:1px solid var(--ln);font-size:11px;white-space:nowrap;transition:border-color .3s var(--e),color .3s var(--e)}
.x-fsub-r a:hover{border-color:var(--ac);color:var(--ac)}
.x-fsub-r a.cur{background:var(--ac);border-color:var(--ac);color:var(--bg)}
@media (max-width:809.98px){.x-fsub{flex-direction:column;align-items:stretch;gap:12px;padding:16px 20px}.x-fsub-r{margin-right:-20px;padding-right:20px}}
/* puzzle: proužek vzorníku pod textem */
.x-strip{margin:20px 0 28px}
.x-strip a{display:block;background:#fff}
.x-strip img{display:block;width:100%;height:auto}
.x-strip figcaption{margin-top:12px;font-size:11px;line-height:1.6;color:var(--mut)}
/* CrossFit: kde naše podlahy najdete */
.x-cfl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}
.x-cfl-i{display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-height:150px;padding:22px;border:1px solid var(--ln)}
.x-cfl-n{font:400 30px/1 Anton;letter-spacing:-.01em;text-transform:uppercase}
.x-cfl-i .mono{font-size:11px;color:var(--mut)}
.x-cfl-b{grid-column:1/-1;min-height:190px;background:var(--ac);border-color:var(--ac);color:var(--bg)}
.x-cfl-b .x-cfl-n{font-size:64px}
.x-cfl-b .mono{color:var(--bg)}
@media (max-width:809.98px){.x-cfl{grid-template-columns:1fr}.x-cfl-b .x-cfl-n{font-size:44px}.x-cfl-i{min-height:0}}
/* speciální puzzle: barvy Performance */
.tp-bar{margin-top:16px;padding-top:28px;border-top:1px solid var(--ln)}
.tp-bar-t{margin-bottom:16px;font-size:11px;color:var(--ac)}
.tp-bar-g{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:10px}
.tp-bar-i{display:flex;flex-direction:column;gap:8px}
.tp-bar-i img{width:100%;aspect-ratio:3/2;object-fit:contain;background:#fff}
.tp-bar-i .mono{font-size:10px;line-height:1.4;color:var(--mut)}
@media (max-width:1199.98px){.tp-bar-g{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:809.98px){.tp-bar-g{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* titulka s videem */
.x-cover-img video{display:block;width:100%;height:100%;object-fit:cover}
/* kostka v Číslech: dvě strany s logem */
.cube .x-clogo{display:grid;place-items:center;background:#0E0E0D;color:var(--ac)}
.cube .x-clogo svg{width:74%;height:auto;fill:currentColor}
html:not(.zm-off) .cube .zm-face{outline:5px solid var(--zm);outline-offset:-5px}
/* v45: Čísla – při počítání se měnila šířka sloupců (1fr = auto minimum podle čísla) a čtvrté číslo přetékalo → pevné sloupce, velikost čísla podle šířky buňky */
.sg{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:809.98px){.sg{grid-template-columns:minmax(0,1fr)}}
@media (min-width:1200px){.stats .row{grid-template-columns:420px minmax(0,1fr)}}
.st{container-type:inline-size}
.st .v{font-size:min(96px,calc(100cqi / 3.3))}
.st .v.sm{font-size:min(80px,calc(100cqi / 6.4))}
/* v45: velký text „(01) Přehled / Zakázka“ na podstránkách žlutě jako ostatní nadpisy v Antonu („barevnost musí dávat smysl“ – uživatel 21. 10.) */
.x-sum .x-big{color:var(--ac)}
/* přepínač fitness podlah: od tabletu položky zalomit (posuvný řádek uřezával první a poslední položku), posouvání jen na mobilu */
@media (min-width:810px){.x-fsub-r{flex-wrap:wrap;overflow:visible}}
/* Podlahy: fotka v bloku nesmí určovat jeho výšku (čtvercová fotka hřiště natáhla blok na 880 px a přes vyrovnání výšek i všechny ostatní) */
@media (min-width:1200px){.x-sb-img{position:relative}.x-sb-img img{position:absolute;inset:0}}
/* v45: jednotné mezery mezi sekcemi úvodu (dřív 260–333 px na počítači, 155–248 px na mobilu): obsah–obsah 280 / 176 px, k pásům přes celou šířku 140 / 88 px */
.stmt,main>.sec,.prj,.xv,.stats{padding-top:140px;padding-bottom:140px}
.foot{padding-top:140px}
@media (max-width:809.98px){.stmt,main>.sec,.prj,.xv,.stats{padding-top:88px;padding-bottom:88px}.foot{padding-top:88px}}
/* Čísla na tabletu (jeden sloupec): kostka měla nad sebou ~100 px prázdna navíc */
@media (min-width:810px) and (max-width:1199.98px){.stats .scene{height:380px}}
/* Odhlučnění v patře na konci speciálních puzzle a na Akustických systémech: pod oddílem 140 px jako mezi ostatními bloky detailu (bylo 40 px – poptávka se lepila pod skladbu) */
.tp-prob{padding-bottom:140px}
.tp-prob+.x-body{padding-top:0}
@media (max-width:809.98px){.tp-prob{padding-bottom:72px}}
/* v46 – připomínky z 21.–22. 10. */
/* popisek galerie (sportovní povrchy, realizace vinylu) */
.x-galh{max-width:1320px;margin:0 auto 20px;font:500 11px/1.5 Mono;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
/* sportovní povrchy: úvodní věta pod nadpisem oddílu */
.x-sp-lead{max-width:760px;margin:-8px 0 48px;font-size:19px;line-height:1.5;color:var(--mut)}
/* rolony: 5 variant v mřížce */
.x-rol-g{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.x-rol-k{display:flex;flex-direction:column;gap:12px;min-width:0}
.x-rol-k .x-gi{display:block;height:auto;aspect-ratio:1;background:#fff;overflow:hidden}
.x-rol-k .x-gi img{width:100%;height:100%;object-fit:contain;filter:none}
.x-rol-n{font-size:11px;color:var(--ac)}
.x-rol-k h3{font:400 26px/1 Anton;letter-spacing:-.01em;text-transform:uppercase}
.x-rol-k .x-par>div{grid-template-columns:1fr;gap:2px;padding:10px 0}
.x-rol-k .x-par dd{font-size:15px}
.x-rol-m{max-width:880px;margin-top:48px}
@media (max-width:1199.98px){.x-rol-g{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:809.98px){.x-rol-g{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.x-rol-k h3{font-size:21px}}
@media (max-width:420px){.x-rol-g{grid-template-columns:1fr}}
/* akustické systémy: velká reference Bílá Labuť */
.x-aku{display:flex;flex-direction:column;gap:18px;margin:8px 0 32px;padding:24px;border:1px solid var(--ac)}
.x-aku .x-bod{margin:0}
.x-aku-f{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.x-aku-f .x-gi{display:block;height:180px;overflow:hidden}
.x-aku-f .x-gi img{width:100%;height:100%;object-fit:cover;filter:none}
.x-aku-a{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;color:var(--ac);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.x-aku-a svg{width:14px;height:14px;transition:transform .3s var(--e)}
.x-aku-a:hover svg{transform:translate(2px,-2px)}
@media (max-width:809.98px){.x-aku{padding:18px}.x-aku-f .x-gi{height:110px}}
/* reference: video (Hokejové centrum Příbram) */
.x-rvid-f{max-width:1320px;margin:0 auto;background:#000;aspect-ratio:16/9}
.x-rvid-f video{display:block;width:100%;height:100%;object-fit:contain}
/* titulka podstránky: řádek nad nadpisem přes celou šířku – diak45.js pak hlídá háčky prvního řádku nadpisu i tam, kde je řádek nad ním krátký („PODLAHY · PRYŽOVÉ ROLONY“ nad Ž) */
.x-cover-in .x-kat{align-self:stretch}
/* Czechia Throwdown 2026 – závody na podlaze (Oktagon, CrossFit podlahy) */
.x-td-g{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(260px,30vw,460px);grid-auto-flow:dense}
.x-td-g .x-gi{display:block;height:100%;aspect-ratio:auto;padding:0;background:none;overflow:hidden}
.x-td-g .x-gi.x-td-w{grid-column:span 2}
.x-td-g .x-gi img{width:100%;height:100%;object-fit:cover;filter:none}
.x-td-c{max-width:1320px;margin:18px auto 0;font-size:11px;color:var(--mut)}
.x-td-c a{color:var(--ac)}
.x-cfl-td{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:10px 24px;align-items:end;transition:border-color .3s var(--e)}
.x-cfl-td:hover{border-color:var(--ac)}
.x-cfl-td .x-td-f{grid-row:1/3;grid-column:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.x-cfl-td .x-td-f img{width:100%;height:150px;object-fit:cover;display:block}
@media (max-width:809.98px){.x-td-g{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:220px}.x-td-g .x-gi.x-td-w{grid-column:1/-1}.x-cfl-td{grid-template-columns:1fr}.x-cfl-td .x-td-f{grid-row:auto;grid-column:auto}.x-cfl-td .x-td-f img{height:90px}}
.x-cfl-td,.x-cfl-td *{text-decoration:none}.x-cfl-td .x-cfl-n{color:var(--ac)}
