/* Výfuky Ticho – ukázkový web FORMA (smyšlený podnik). Identita: výfuková trasa (jedna nerezová trubka vede stránkou).
   Paleta „žíhaný nerez“: grafit, nerez, žíhaná modrá (jen na světlém), žíhaná zlatá (jen na grafitu). */
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/barlow-condensed-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/barlow-condensed-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/barlow-condensed-800-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/barlow-condensed-800-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* záložní písmo laděné na Barlow Condensed (rozměry a řádkování), ať text po načtení písma nepřeskočí */
@font-face{font-family:'BC Fallback Narrow';font-weight:600;src:local('Arial Narrow'),local('ArialNarrow');size-adjust:90%;ascent-override:111%;descent-override:22%;line-gap-override:0%}
@font-face{font-family:'BC Fallback Narrow';font-weight:800;src:local('Arial Narrow Bold'),local('ArialNarrow-Bold'),local('Arial Narrow'),local('ArialNarrow');size-adjust:94%;ascent-override:106%;descent-override:21%;line-gap-override:0%}
@font-face{font-family:'BC Fallback Arial';font-weight:600;src:local('Arial'),local('ArialMT'),local('Helvetica');size-adjust:74%;ascent-override:135%;descent-override:27%;line-gap-override:0%}
@font-face{font-family:'BC Fallback Arial';font-weight:800;src:local('Arial Bold'),local('Arial-BoldMT'),local('Arial'),local('Helvetica');size-adjust:78%;ascent-override:128%;descent-override:26%;line-gap-override:0%}

@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/barlow-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/barlow-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/barlow-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/barlow-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --graphite:#17191b;--graphite-2:#1d2124;--graphite-3:#252a2d;--tma:#0f1112;--line-d:#3a4146;
  --steel:#e6e8e8;--steel-d:#c3c9cb;--steel-text:#a9b0b3;--ink-2:#454c50;--klid:#eceeed;
  --blue:#2f4fd0;--gold:#e3a81b;--gold-hi:#f0bd3f;--copper:#d97a35;
  --cond:'Barlow Condensed','BC Fallback Narrow','BC Fallback Arial','Arial Narrow',sans-serif;
  --text:'Barlow',system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --focus:#e6e8e8;
  /* trasa: polohy trubky měří od okraje stránky; --edge je okraj obsahu */
  --edge:max(16px,calc((100% - 1312px) / 2));
  --pw:14px;--r:34px;--rl:24px;--rr:24px;--kat:46px;
  --svit:#2b3033 0,#7d8588 14%,#e4e8e9 32%,#fbfcfc 50%,#e4e8e9 68%,#7d8588 86%,#2b3033 100%;
  --stud:#14171a 0,#343a3e 18%,#4f565b 50%,#343a3e 82%,#14171a 100%;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:4.75rem;background:var(--graphite);overflow-x:clip}
body{margin:0;background:var(--graphite);color:var(--steel);font:400 1.125rem/1.5 var(--text);overflow-x:clip;font-variant-numeric:lining-nums}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration-color:var(--gold);text-underline-offset:.2em;text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px}
::selection{background:var(--gold);color:var(--graphite)}
h1,h2,h3{margin:0;text-wrap:balance;font-family:var(--cond)}
p{margin:0}
.nb{white-space:nowrap}
.sr,.sprite{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.sprite{pointer-events:none}
.skip{position:absolute;left:8px;top:-60px;z-index:100;background:var(--gold);color:var(--graphite);padding:.7rem 1rem;font-weight:600;border-radius:4px;text-decoration:none}
.skip:focus{top:8px}

/* ---------- hlavička ---------- */
.top{position:sticky;top:0;z-index:50;background:var(--graphite);border-bottom:1px solid #2a2f33;transition:transform .4s cubic-bezier(.4,0,.2,1)}
.ticho-ted .top{transform:translateY(-101%)}
.top-in{display:flex;align-items:center;gap:1rem;padding:.5rem var(--edge)}
.brand{display:flex;align-items:center;gap:.6rem;min-height:44px;text-decoration:none;margin-right:auto;min-width:0}
.brand-mark{width:40px;height:24px;flex:none;color:var(--steel)}
.brand-t{display:flex;flex-direction:column;line-height:1.05;min-width:0}
.brand-t b{font:800 1.3rem/1 var(--cond);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.brand-t span{font:600 .82rem/1.2 var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--steel-text);white-space:nowrap}
.nav{display:none}
.nav a{font:600 1.05rem/1 var(--cond);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:.5rem .25rem;white-space:nowrap;transition:color .18s}
.nav a:hover{color:var(--gold)}
.top-stav{display:flex;align-items:center;gap:.5rem}
.ts-z{display:none}
.led{width:12px;height:12px;border-radius:50%;border:2px solid currentColor;flex:none;background:transparent}
[data-druh="otevreno"] .led{background:currentColor}
[data-druh="prestavka"] .led{background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
.top-stav[data-druh="otevreno"],.top-stav[data-druh="prestavka"]{color:var(--gold)}

/* ---------- tlačítka ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:56px;padding:.5rem 1.3rem;border:2px solid transparent;border-radius:6px;font:800 1.3rem/1 var(--cond);letter-spacing:.05em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background-color .18s,color .18s,border-color .18s,transform .14s}
.btn:active{transform:translateY(1px)}
.btn svg{width:1.15em;height:1.15em;flex:none}
.btn-sm{min-height:44px;padding:.4rem .9rem;font-size:1.1rem}
.btn-gold{background:var(--gold);color:var(--graphite);border-color:var(--gold)}
.btn-gold:hover{background:var(--gold-hi);border-color:var(--gold-hi)}
.btn-line{border-color:var(--steel);color:var(--steel)}
.btn-line:hover{background:var(--steel);color:var(--graphite)}
.btn-ink{background:transparent;color:var(--graphite);border-color:var(--graphite)}
.btn-ink:hover{background:var(--graphite);color:var(--klid)}
button.btn{margin:0;-webkit-appearance:none;appearance:none}
button.btn-line{background:transparent}
button.btn-line:hover{background:var(--steel)}
.cta{display:flex;flex-wrap:wrap;gap:.7rem}
.cta .btn{flex:1 1 11rem}

/* ---------- trubka: rovné kusy, ohyby, spoje ---------- */
.trasa{position:relative}
.tr{position:absolute;z-index:2;width:var(--pw);background:linear-gradient(90deg,var(--stud))}
.tr>i{position:absolute;inset:0;display:block;transform-origin:50% 0;background:linear-gradient(90deg,var(--svit));transition:transform .5s cubic-bezier(.2,.7,.2,1)}
/* čelo rozsvícené části: horká fronta v barvách žíhané oceli, jede jen transformem */
.tr>b{position:absolute;left:0;right:0;top:-170px;height:170px;opacity:0;transform-origin:50% 100%;transition:transform .5s cubic-bezier(.2,.7,.2,1),opacity .4s;
  background:linear-gradient(90deg,rgba(12,14,15,.72),transparent 32%,transparent 68%,rgba(12,14,15,.72)),linear-gradient(0deg,#f0bd3f 0,#d97a35 24%,#7d4bb3 58%,rgba(47,79,208,0) 100%)}
.tr.jede>b{opacity:1}
.tr-p{right:calc(var(--rr) - var(--pw) / 2)}
.tr-l{left:calc(var(--rl) - var(--pw) / 2)}
.dil{position:relative}
.dil>.tr,.t-pata>.tr{top:0;bottom:0}
.dil-2>.tr,.dil-6>.tr{bottom:var(--r)}
.dil-3>.tr{top:var(--r)}
.priruba{position:absolute;z-index:3;top:-3px;width:calc(var(--pw) + 22px);height:12px;border-radius:2px;background:linear-gradient(180deg,#f4f7f7,#aab2b6 55%,#596166);box-shadow:0 0 0 1px rgba(12,14,15,.5)}
.pr-p{right:calc(var(--rr) - var(--pw) / 2 - 11px)}
.spoj{position:absolute;z-index:3;left:0;right:0;bottom:calc(var(--r) * -1);height:calc(var(--r) * 2);pointer-events:none}
.sp-h{position:absolute;top:calc(var(--r) - var(--pw) / 2);height:var(--pw);background:linear-gradient(180deg,var(--stud))}
.sp-h>i{position:absolute;inset:0;display:block;transform-origin:100% 50%;background:linear-gradient(180deg,var(--svit));transition:transform .55s cubic-bezier(.45,0,.55,1) .12s}
.spoj-rl .sp-h{left:calc(var(--rl) + var(--r));right:calc(var(--rr) + var(--r))}
.spoj-rc .sp-h{left:calc(50% + var(--r));right:calc(var(--rr) + var(--r))}
.oh{--a:calc(var(--r) - var(--pw) / 2);position:absolute;width:calc(var(--r) + var(--pw) / 2);height:calc(var(--r) + var(--pw) / 2);
  background:radial-gradient(circle at var(--st),transparent calc(var(--a) - .6px),#14171a var(--a),#343a3e calc(var(--a) + var(--pw) * .18),#4f565b calc(var(--a) + var(--pw) * .5),#343a3e calc(var(--a) + var(--pw) * .82),#14171a calc(var(--a) + var(--pw)),transparent calc(var(--a) + var(--pw) + .6px))}
.oh>i{position:absolute;inset:0;display:block;transition:opacity .2s linear;
  background:radial-gradient(circle at var(--st),transparent calc(var(--a) - .6px),#2b3033 var(--a),#7d8588 calc(var(--a) + var(--pw) * .14),#e4e8e9 calc(var(--a) + var(--pw) * .32),#fbfcfc calc(var(--a) + var(--pw) * .5),#e4e8e9 calc(var(--a) + var(--pw) * .68),#7d8588 calc(var(--a) + var(--pw) * .86),#2b3033 calc(var(--a) + var(--pw)),transparent calc(var(--a) + var(--pw) + .6px))}
.oh-1{--st:0 0;top:0;right:calc(var(--rr) - var(--pw) / 2)}
.oh-2{--st:100% 100%;bottom:0}
.oh-2>i{transition-delay:.62s}
.spoj-rl .oh-2{left:calc(var(--rl) - var(--pw) / 2)}
.spoj-rc .oh-2{left:calc(50% - var(--pw) / 2)}
/* poslední ohyb: záslepka schová trubku pódia, dokud ohyb neodjede nahoru */
.spoj-rc::after{content:"";position:absolute;z-index:-1;left:calc(50% - var(--pw) / 2 - 1px);width:calc(var(--pw) + 2px);top:var(--r);height:var(--r);background:var(--tma)}
@media (prefers-reduced-motion:no-preference){
  .tr[data-usek]>i,.sp-h>i{will-change:transform}
  .tr[data-usek]>b{will-change:transform,opacity}
  .oh>i{will-change:opacity}
  .js .tr[data-usek]>i{transform:scaleY(0)}
  .js .spoj:not(.lit) .oh>i{opacity:0}
  .js .spoj:not(.lit) .sp-h>i{transform:scaleX(0)}
  .js .kat:not(.lit){filter:brightness(.45) saturate(.35)}
  .js .tlumic:not(.lit) .kom-v svg{clip-path:inset(-8px 100% -8px 0)}
}

/* ---------- typografie ---------- */
h1{font-size:clamp(3.5rem,16.8vw,5.6rem);line-height:.9;letter-spacing:-.012em;color:var(--steel)}
.h1-a{display:block;font-weight:800}
.h1-b{display:block;font-weight:600;color:var(--steel-d)}
h2{font-weight:600;font-size:clamp(3.4rem,15.6vw,5.2rem);line-height:.92;letter-spacing:-.008em}
.lede{margin-top:.9rem;font-size:1.125rem;line-height:1.42;max-width:36rem;color:var(--steel-d)}
.sub{margin-top:.9rem;max-width:36rem;font-size:1.1875rem;line-height:1.45;color:var(--steel-text)}
.drobne{font-size:1rem;color:var(--steel-text)}
.drobne button,.foot button{display:inline-block;min-height:24px;padding:.2rem 0;border:0;background:none;font:inherit;font-weight:600;color:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:1px;text-underline-offset:.2em;transition:text-decoration-thickness .15s}
.drobne button:hover,.foot button:hover{text-decoration-thickness:3px}
.drobne{line-height:1.8}
.fake{font-size:1rem;color:inherit}

/* hlukoměr na trase */
.db{position:absolute;z-index:3;display:grid;grid-template-columns:auto auto;justify-content:start;align-items:baseline;column-gap:.35rem;font-family:var(--cond);line-height:1}
.db b{font:800 3.4rem/.9 var(--cond);font-variant-numeric:tabular-nums}
.db i{font:600 1.5rem/1 var(--cond);font-style:normal;letter-spacing:.04em}
.db span{grid-column:1 / -1;margin-top:.25rem;font:400 1rem/1.2 var(--text);white-space:nowrap}

/* ---------- 1. úvod ---------- */
.dil-1{display:flex;flex-direction:column;background:var(--graphite)}
.uvod{position:relative;flex:1;overflow:clip;padding:150px calc(var(--rr) + 26px) 1.5rem var(--edge)}
.manifold{display:none}
.manifold-tel{position:absolute;top:0;right:var(--rr);width:340px;height:150px;max-width:none;overflow:visible}
.tr-u{top:148px;bottom:0}
.uvod-t{position:relative;z-index:3}
.puls{stroke-dasharray:15 130;stroke-dashoffset:15;opacity:0;animation:puls .8s cubic-bezier(.35,0,.65,1) both}
.puls.p1{animation-delay:.12s}
.puls.p2{animation-delay:.24s}
.puls.p3{animation-delay:.36s}
@keyframes puls{0%{stroke-dashoffset:15;opacity:.9}80%{opacity:.9}100%{stroke-dashoffset:-100;opacity:0}}
.uvod .cta{margin-top:1.1rem}
.db-1{left:var(--edge);top:98px;display:flex;align-items:baseline;gap:.3rem}
.db-1 b{font-size:2.5rem}
.db-1 i{font-size:1.2rem}
.db-1 span{margin:0 0 0 .3rem}
.db-1 b{color:var(--gold)}

/* ---------- Dnes v dílně: pás přes celou šířku, barvu určuje stav ---------- */
.dnes{--b:var(--graphite-3);--i:var(--steel);--i2:var(--steel-d);position:relative;z-index:4;display:grid;grid-template-columns:minmax(0,1fr);gap:1.1rem;padding:1.4rem var(--edge) 1.5rem;background:var(--b);color:var(--i)}
.dnes[data-druh="otevreno"]{--b:var(--gold);--i:#17191b;--i2:#2a2412}
.dnes[data-druh="prestavka"]{--b:var(--copper);--i:#17191b;--i2:#26180c}
.dnes[data-druh="zavreno"]{--b:var(--blue);--i:#fff;--i2:#dee4ff}
.dnes-lab{display:flex;align-items:center;gap:.55rem;font:800 1.15rem/1 var(--cond);letter-spacing:.12em;text-transform:uppercase}
.dnes-stav{margin-top:.5rem;font:800 clamp(3.8rem,23.4vw,6.2rem)/.86 var(--cond);letter-spacing:.005em;text-transform:uppercase}
.dnes-den{font:600 1.3rem/1.1 var(--cond);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.den-kr{display:none}
@media (max-width:479px){.den-dl{display:none}.den-kr{display:inline}}
.dnes-detail{margin-top:.3rem;color:var(--i2);font-size:1.125rem;line-height:1.35}
.dnes-note{margin-top:.3rem;font-size:1rem;line-height:1.35;color:var(--i2)}
.tl{display:none;position:relative}
.js .tl{display:block}
.tl.is-off{display:none}
.tl-bar{position:relative;height:18px;border-radius:9px;background:linear-gradient(180deg,#59636a 0,#e9eded 30%,#fbfcfc 45%,#9aa2a6 75%,#596166 100%);box-shadow:0 0 0 1px rgba(12,14,15,.35)}
.tl-brk{position:absolute;left:50%;width:12.5%;top:0;bottom:0;background:repeating-linear-gradient(135deg,#17191b 0 3px,#4d555a 3px 6px)}
.tl-now{position:absolute;z-index:2;top:-8px;left:var(--at,0%);width:6px;height:34px;margin-left:-3px;background:var(--i);border-radius:3px;box-shadow:0 0 0 2px var(--b);transition:left .6s cubic-bezier(.2,.7,.2,1)}
.tl-now[hidden]{display:none}
.tl-ticks{position:relative;height:1.2rem;margin:.5rem 0 0;padding:0;list-style:none;font:600 1.05rem/1 var(--cond);letter-spacing:.04em;font-variant-numeric:tabular-nums}
.tl-ticks li{position:absolute;top:0;transform:translateX(-50%)}
.tl-ticks li:nth-child(1){left:0;transform:none}
.tl-ticks li:nth-child(2){left:50%}
.tl-ticks li:nth-child(3){left:62.5%}
.tl-ticks li:nth-child(4){left:auto;right:0;transform:none}
.week,.week-note{display:none}
.js .week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:.8rem 0 0;padding:0;list-style:none}
.js .week-note{display:block;min-height:1.4em;margin-top:.5rem;font-size:1rem;line-height:1.35;color:var(--i2)}
.week li{display:flex;flex-direction:column;align-items:center;gap:.08rem;padding:.42rem 0 .46rem;border-radius:5px;font-family:var(--cond);line-height:1.05;background:rgba(127,127,127,.2);font-variant-numeric:tabular-nums}
.dnes[data-druh="zavreno"] .week li{background:rgba(255,255,255,.14)}
.dnes[data-druh="otevreno"] .week li,.dnes[data-druh="prestavka"] .week li{background:rgba(23,25,27,.13)}
.week .w-d{font-weight:800;font-size:1.15rem;text-transform:uppercase;letter-spacing:.03em}
.week .w-n{font-weight:600;font-size:1rem}
.week .w-h{font-weight:600;font-size:1rem}
.week .w-zav .w-h{color:var(--i2)}
.dnes[data-druh] .week li.w-dnes{background:var(--i);color:var(--b)}
.dnes .week .w-dnes .w-h{color:inherit}

/* ---------- 2. katalyzátor: rozcestník ---------- */
.dil-2{background:var(--steel);color:var(--graphite);--focus:var(--blue);padding:3.6rem var(--edge) calc(var(--r) + 3.2rem)}
.dil-2 .hlava{padding-right:calc(var(--rr) + 26px)}
.dil-2 .sub{color:var(--ink-2)}
.kat{position:absolute;z-index:3;top:1.2rem;right:calc(var(--rr) - var(--kat) / 2);width:var(--kat);height:auto;transition:filter .6s}
.sv-t{font:800 21px var(--cond);letter-spacing:.05em;fill:#2b3033}
.rozc{position:relative;z-index:3;margin-top:1.6rem;display:grid}
.chips{list-style:none;margin:0 calc(var(--rr) + 18px - var(--edge)) 0 0;padding:0;border-top:3px solid var(--graphite)}
.chips li{border-bottom:3px solid var(--graphite)}
.chips a{display:flex;flex-direction:column;justify-content:center;gap:.1rem;min-height:66px;padding:.6rem .1rem;text-decoration:none;transition:background-color .18s,color .18s,padding-left .18s}
.chips b{font:800 1.85rem/1 var(--cond);letter-spacing:.015em;text-transform:uppercase}
.chips span{font-size:1.0625rem;line-height:1.2;color:var(--ink-2);transition:color .18s}
.chips a:hover{background:#d6dada;padding-left:.6rem}
.chips a[aria-current="true"]{background:var(--graphite);color:var(--gold);padding-left:.8rem}
.chips a[aria-current="true"] span{color:var(--steel-d)}
.vysledek{background:var(--graphite);color:var(--steel);padding:1.4rem 1.2rem 1.5rem;scroll-margin-top:4.8rem;--focus:#e6e8e8}
.res+.res{margin-top:1.6rem;padding-top:1.6rem;border-top:1px solid var(--line-d)}
.js .res{display:none}
.js .res.on{display:block;animation:res .22s ease-out}
@keyframes res{from{opacity:0;transform:translateY(6px)}}
.js .res+.res{margin-top:0;padding-top:0;border-top:0}
.res h3{font-weight:600;font-size:3rem;line-height:.95;color:var(--gold)}
.res p{margin-top:.7rem;color:var(--steel-d)}
.res .svc-l{margin-top:1.1rem;font:800 1.05rem/1 var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--steel-text)}
.svc{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.svc li{padding:.34rem .7rem;background:var(--graphite-3);border-radius:4px;font-weight:600;font-size:1.0625rem}
.res .od-nich{margin-top:1rem;color:var(--steel)}
.vysl-akce{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--line-d)}
.vysl-stav{display:flex;align-items:center;gap:.6rem;margin-bottom:.9rem;color:var(--steel-d)}
.vysl-stav b{color:var(--steel);font-weight:600}
.vysl-stav[data-druh="otevreno"] .led,.vysl-stav[data-druh="prestavka"] .led{color:var(--gold)}
.tip-ruka{margin-top:.8rem;font-size:1rem;color:var(--steel-text)}
.db-2{position:static;margin-top:1.4rem;color:var(--graphite)}
.db-2 b{color:var(--blue)}

/* ---------- 3. co opravujeme ---------- */
.dil-3{background:var(--graphite);padding:calc(var(--r) + 3.4rem) var(--edge) 3.6rem calc(var(--rl) + 24px)}
.parts{list-style:none;margin:2rem 0 0;padding:0}
.parts li{padding:1.1rem 0 1.2rem;border-top:1px solid var(--line-d)}
.parts h3{font-weight:600;font-size:2.3rem;line-height:1}
.parts p{margin-top:.4rem;color:var(--steel-text)}

/* ---------- 4. tlumič: ceník po komorách ---------- */
.dil-4{--pt:3.4rem;--mt:2rem;background:var(--blue);color:#fff;--focus:#fff;padding:var(--pt) var(--edge) 0}
.t-hlava{position:relative;padding-left:calc(var(--rl) + 24px - var(--edge))}
.t-hlava>.tr{top:calc(var(--pt) * -1);bottom:calc(var(--mt) * -1 - 4px);left:calc(var(--rl) - var(--edge) - var(--pw) / 2)}
.dil-4 .sub{color:#e4e9ff}
.t-hlava>.tr::after,.t-pata>.tr::before{content:"";position:absolute;z-index:1;left:-9px;right:-9px;height:11px;border-radius:2px;background:linear-gradient(180deg,#f4f7f7,#aab2b6 55%,#596166);box-shadow:0 0 0 1px rgba(12,14,15,.5)}
.t-hlava>.tr::after{bottom:0}
.t-pata>.tr::before{top:13px}
.tlumic{position:relative;z-index:3;margin-top:var(--mt);padding:12px;border-radius:24px;background:linear-gradient(180deg,#59636a 0,#cfd6d8 6%,#f5f7f7 12%,#a9b2b6 40%,#7d8689 62%,#c6ced1 88%,#4d565b 100%);box-shadow:0 22px 46px -20px rgba(6,10,50,.75)}
.tl-jm{position:absolute;left:50%;top:-1px;transform:translate(-50%,-50%);padding:.1rem .8rem;border-radius:3px;background:linear-gradient(180deg,#f5f7f7,#aab2b6);color:#20262a;font:800 1.15rem/1.25 var(--cond);letter-spacing:.14em;text-transform:uppercase}
.komory{list-style:none;margin:0;padding:0;display:grid;background:#101214;border-radius:14px;overflow:hidden}
.komora{position:relative;display:grid;align-content:start;padding:0 1.1rem 1.2rem}
.komora+.komora{border-top:6px solid #8e979b}
.kom-v{height:70px;margin:0 -1.1rem .8rem;border-bottom:2px dotted #4c5459;border-top:2px dotted #4c5459}
.kom-v svg{width:100%;height:100%;overflow:visible}
/* vlna běží komorami zleva doprava: odkrývá ji clip-path, čárkování by se s non-scaling-stroke rozpadlo */
.kom-v path{fill:none;stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.kom-v svg{clip-path:inset(-8px 0 -8px 0);transition:clip-path .46s linear}
.komora:nth-child(2) svg{transition-delay:.46s}
.komora:nth-child(3) svg{transition-delay:.92s}
.komora:nth-child(4) svg{transition-delay:1.38s}
.komora:nth-child(5) svg{transition-delay:1.84s}
.komora h3{font-weight:600;font-size:1.65rem;line-height:1.02;color:var(--steel)}
.kom-p{margin-top:.25rem;font-size:1.0625rem;line-height:1.25;color:var(--steel-text)}
.kom-c{margin-top:.5rem;font:800 3.2rem/.95 var(--cond);color:var(--gold);font-variant-numeric:tabular-nums;white-space:nowrap}
.kom-c small{font:600 1.35rem/1 var(--cond);color:var(--steel-d)}
.t-pata{position:relative;min-height:9rem;padding:1.2rem calc(var(--rr) + 26px - var(--edge)) 2rem 0}
.t-pata>.tr{right:calc(var(--rr) - var(--edge) - var(--pw) / 2);top:-14px;bottom:0}
.t-pata .drobne{color:#e4e9ff}
.db-3{position:static;margin-top:1rem;color:#fff}

/* ---------- 5. koncovky ---------- */
.dil-5{background:var(--steel);color:var(--graphite);overflow:clip;padding:3.6rem calc(var(--rr) + 26px) 3rem var(--edge)}
.dil-5 .sub{color:var(--ink-2)}
.koncovky{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1.4rem}
.k-rada{display:grid;gap:.3rem}
.k-rada svg{width:100%;height:auto;max-height:120px;overflow:visible}
.k-rada b{display:block;font:800 2.4rem/1 var(--cond);text-transform:uppercase;letter-spacing:.01em}
.k-rada span{display:block;margin-top:.15rem;font-size:1.0625rem;color:var(--ink-2)}
.dil-5 .drobne{margin-top:1.6rem;color:var(--ink-2)}

/* ---------- 6. kontakt ---------- */
.dil-6{background:var(--graphite-2);padding:3.6rem calc(var(--rr) + 26px) calc(var(--r) + 3.4rem) var(--edge)}
.kon-grid{display:grid;gap:2.4rem}
.dil-6 h2{font-size:clamp(4rem,21vw,6rem)}
.kon-a .cta{margin-top:1.4rem}
.kon-a .drobne{margin-top:1.1rem}
.kon-b h3{font-weight:600;font-size:2.2rem;line-height:1}
.hodiny{margin:.9rem 0 0}
.hodiny div{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.55rem 0;border-top:1px solid var(--line-d)}
.hodiny div:last-child{border-bottom:1px solid var(--line-d)}
.hodiny dt{color:var(--steel-d)}
.hodiny dd{margin:0;text-align:right;font:600 1.75rem/1 var(--cond);white-space:nowrap;font-variant-numeric:tabular-nums}
.kon-b .drobne{margin-top:.7rem}
/* zakázkový list */
.visit{position:relative;margin-top:2.4rem;padding:1.4rem 1.2rem 1.5rem;background:radial-gradient(circle at 50% 12px,var(--graphite-2) 5px,transparent 5.6px) 22% 0/40px 24px no-repeat,radial-gradient(circle at 50% 12px,var(--graphite-2) 5px,transparent 5.6px) 78% 0/40px 24px no-repeat,#f2f0e9;color:var(--graphite);border-radius:3px;box-shadow:0 18px 34px -18px rgba(0,0,0,.8)}
.visit h3{font-weight:600;font-size:2.4rem;line-height:1}
.visit-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;counter-reset:krok}
.visit-list li{counter-increment:krok;display:grid;grid-template-columns:2.4rem minmax(0,1fr);gap:.5rem;padding:.7rem 0;border-top:2px dotted #a7a79e}
.visit-list li::before{content:counter(krok);font:800 2.2rem/1 var(--cond);color:var(--blue);font-variant-numeric:tabular-nums}
.visit-list p{color:#3b3f42}
.visit-list b{display:block;color:var(--graphite);font-weight:600}

/* ---------- konec: bez skriptu klidná plocha, se skriptem průlet koncovkou ---------- */
.konec{position:relative;background:var(--tma)}
.ko-kruh,.ko-pr,.ko-ram,.ko-veta{display:none}
.ko-plocha{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem;min-height:100vh;min-height:100svh;padding:4rem var(--edge) 3rem;background:var(--klid);color:var(--graphite);text-align:center;--focus:var(--blue)}
.ko-plocha h2{font:400 min(31vw,46svh)/.86 var(--text);letter-spacing:-.035em}
.ko-sub{font-size:clamp(1.35rem,3.4vw,2.1rem);line-height:1.2}
.ko-plocha .cta{justify-content:center;width:100%;max-width:34rem;margin-top:.6rem}
.ko-fake{font-size:1rem;color:var(--ink-2)}
.scena .konec{height:320vh;height:320svh}
.scena .ko-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--tma);transition:background-color .3s}
.ticho-ted .ko-pin{background:var(--klid)}
.scena .ko-plocha{position:absolute;inset:0;min-height:0;background:none;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility 0s linear .7s}
.scena .ko-plocha.ukaz{opacity:1;visibility:visible;transition:opacity .7s ease,visibility 0s}
/* tunel: prstence mají skutečnou velikost na těsno a zmenšují se skriptem, ať jsou ostré i zblízka */
.scena .ko-kruh,.scena .ko-pr,.scena .ko-ram{display:block;position:absolute;left:50%;top:0;width:var(--pr);height:var(--pr);margin:calc(var(--pr) / -2) 0 0 calc(var(--pr) / -2);border-radius:50%;will-change:transform;transform:translateY(var(--us-y,40vh)) scale(.1)}
.konec{--pr:560px}
.ko-kruh{background:var(--klid)}
.ko-pr{background:radial-gradient(closest-side,transparent calc(100% - 13px),#3a4044 calc(100% - 12px),#aab2b6 calc(100% - 7px),#3a4044 calc(100% - 2px),transparent 100%)}
.ko-pr-b{background:radial-gradient(closest-side,transparent calc(100% - 20px),#7d8588 calc(100% - 19px),#aab2b6 calc(100% - 7px),#3a4044 calc(100% - 2px),transparent 100%);-webkit-mask:repeating-conic-gradient(#000 0 3deg,transparent 3deg 7.5deg);mask:repeating-conic-gradient(#000 0 3deg,transparent 3deg 7.5deg)}
.ko-sl{position:absolute;left:50%;bottom:calc(100% - 12px);width:var(--sl,56px);margin-left:calc(var(--sl,56px) / -2);height:900px;background:linear-gradient(90deg,var(--svit))}
.ko-kr{position:absolute;inset:0;border-radius:50%;background:radial-gradient(closest-side,transparent 79.6%,#0c0e0f 80%,transparent 82%,transparent 97.5%,#0c0e0f 100%),conic-gradient(from 18deg,#fbfcfc,#8e979b 11%,#eef1f1 21%,#596166 33%,#fbfcfc 45%,#7d8588 57%,#e4e8e9 69%,#4d565b 81%,#c3c9cb 91%,#fbfcfc);
  -webkit-mask:radial-gradient(closest-side,transparent 79.6%,#000 80%);mask:radial-gradient(closest-side,transparent 79.6%,#000 80%)}
.scena .ko-veta{display:block}
.ko-veta{position:absolute;left:0;right:0;top:calc(var(--us-y,40vh) + var(--us-r,150px) + clamp(1.6rem,4vh,2.8rem));text-align:center;font:600 clamp(3.2rem,14vw,4.6rem)/.92 var(--cond);color:var(--steel)}

/* ---------- patička: stránka je už potichu ---------- */
.foot{background:var(--klid);color:#3b3f42;font-size:1.0625rem}
.foot-in{display:grid;gap:1rem;padding:1.3rem var(--edge) 1.6rem;border-top:1px solid #17191b}
.foot-a{display:flex;align-items:flex-start;gap:.8rem}
.foot-a .brand-mark{color:#17191b;margin-top:.15rem}
.foot b{color:var(--graphite);font-weight:600}
.foot button{color:var(--graphite);font-size:1.25rem;text-decoration-color:var(--blue)}
.foot-back{display:inline-block;min-height:24px;padding:.2rem 0;font-weight:600;color:var(--graphite);text-decoration-color:var(--blue)}
.foot-back:hover{text-decoration-thickness:3px}
.koncept{font-size:1rem;text-wrap:balance}
.foot{--focus:var(--blue)}

/* ---------- vysvětlení ukázky v barvách trasy ---------- */
.pop{max-width:min(26rem,calc(100vw - 2rem));padding:1.4rem 1.3rem 1.3rem;border:3px solid var(--gold);border-radius:12px;background:var(--graphite);color:var(--steel-d);box-shadow:0 30px 60px -20px rgba(0,0,0,.7)}
.pop::backdrop{background:rgba(10,11,12,.7)}
/* bez popover API: okno je skryté, dokud ho skript neotevře třídou (pravidlo s :popover-open starý prohlížeč zahodí celé) */
.pop{display:none}
.pop:popover-open{display:block}
.pop.is-open{display:block;position:fixed;inset:0;z-index:100;height:fit-content;margin:auto;box-shadow:0 0 0 100vmax rgba(10,11,12,.7)}
.pop h2{font-weight:800;font-size:2.2rem;line-height:1;text-transform:uppercase;color:var(--steel);margin-bottom:.7rem}
.pop p{margin:0 0 1.1rem}
.pop .btn{width:100%}

/* ---------- větší displeje ---------- */
@media (min-width:600px){
  .cta .btn{flex:0 1 auto}
  .ko-plocha .cta .btn{flex:0 1 auto}
}
@media (min-width:900px){
  :root{--pw:30px;--r:72px;--rl:calc(var(--edge) + 36px);--rr:calc(var(--edge) + 86px);--kat:170px}
  .nav{display:flex;align-items:center;gap:1.2rem;margin-left:auto}
  .brand{margin-right:0}
  h1{font-size:clamp(5.2rem,10vw,9rem)}
  h2{font-size:clamp(4.6rem,8.6vw,7.8rem)}
  .lede{font-size:1.3125rem}
  .sub{margin-top:1.3rem;font-size:1.3125rem}
  .drobne,.tip-ruka,.dnes-note,.js .week-note,.db span,.fake,.koncept,.ko-fake,.foot{font-size:1.0625rem}
  .week .w-n,.week .w-h{font-size:1.0625rem}
  .dil-1{min-height:calc(100vh - 61px);min-height:calc(100svh - 61px)}
  .uvod{display:flex;align-items:center;padding:clamp(1.6rem,4vh,3rem) var(--edge)}
  .uvod-t{max-width:56%}
  .manifold{display:block;position:absolute;top:0;right:var(--rr);width:auto;height:min(100%,640px,50vw);aspect-ratio:1;max-width:none;overflow:visible}
  .manifold-tel{display:none}
  .tr-u{top:calc(min(100%,640px,50vw) - 4px);bottom:0}
  .db-1{display:grid;left:auto;top:auto;gap:0;right:calc(var(--rr) + 150px);bottom:1.6rem}
  .db-1 b{font-size:4.6rem}
  .db-1 i{font-size:1.5rem}
  .db-1 span{margin:.25rem 0 0}
  .db b{font-size:4.6rem}
  .dnes{grid-template-columns:minmax(0,auto) minmax(0,1fr);column-gap:3rem;padding-block:1.4rem 1.5rem;align-items:end}
  .dnes-stav{font-size:8.6rem}
  .dnes-c{grid-column:1 / -1}
  /* katalyzátor */
  .dil-2{padding:5.4rem calc(var(--rr) + var(--kat) / 2 + 2rem) calc(var(--r) + 4.6rem) var(--edge)}
  .dil-2 .hlava{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;column-gap:3rem;padding-right:0}
  .dil-2 .sub{margin:0 0 .5rem}
  .kat{top:4.4rem}
  .rozc{margin-top:2.6rem;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
  .chips{margin-right:0}
  .chips a{flex-direction:row;align-items:baseline;justify-content:space-between;gap:1rem;min-height:64px;padding:.72rem .9rem .5rem .1rem}
  .chips b{font-size:clamp(1.9rem,2.9vw,2.5rem)}
  .chips span{text-align:right;font-size:1.0625rem}
  .chips a:hover{padding-left:.7rem}
  .chips a[aria-current="true"]{padding-left:.9rem}
  .vysledek{padding:2.2rem 2.2rem 2rem;display:flex;flex-direction:column;justify-content:space-between}
  .res h3{font-size:clamp(3rem,4.6vw,4.2rem)}
  .res p{font-size:1.25rem;line-height:1.4}
  .res .svc-l{font-size:1.1rem}
  .res .od-nich{font-size:1.125rem}
  /* služby */
  .dil-3{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:4rem;align-items:start;padding:calc(var(--r) + 5.2rem) var(--edge) 6rem calc(var(--rl) + 74px)}
  .dil-3 .hlava{position:sticky;top:6.5rem}
  .parts{margin:0}
  .parts li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);column-gap:2rem;align-items:baseline;padding:1.5rem 0 1.6rem}
  .parts li:first-child{border-top:0;padding-top:0}
  .parts h3{font-size:2.8rem}
  .parts p{margin:0;font-size:1.1875rem}
  /* tlumič */
  .dil-4{--pt:5.4rem;--mt:2.6rem}
  .t-hlava{padding-left:calc(var(--rl) + 74px - var(--edge));display:block}
  .t-hlava .hlava{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;column-gap:3rem}
  .dil-4 .sub{margin:0 0 .5rem}
  .tlumic{padding:16px}
  .t-pata{min-height:0;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding:1.4rem calc(var(--rr) + 46px - var(--edge)) 3.2rem 0}
  .db-3{margin:0}
  /* koncovky */
  .dil-5{padding:5.4rem calc(var(--rr) + 60px) 4.4rem var(--edge)}
  .k-rada{grid-template-columns:minmax(0,1fr) 15rem;align-items:center;column-gap:2rem}
  .k-rada svg{max-height:150px}
  .k-rada b{font-size:3.2rem}
  /* kontakt */
  .dil-6{padding:5.4rem calc(var(--rr) + 60px) calc(var(--r) + 5.4rem) var(--edge)}
  .kon-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:4rem;align-items:end}
  .dil-6 h2{font-size:clamp(6rem,12.4vw,11.2rem);line-height:.84}
  .kon-b h3{font-size:2.6rem}
  .hodiny dd{font-size:2.3rem}
  .visit{margin-top:3.4rem;padding:1.6rem 1.7rem 1.6rem 3.4rem;background:radial-gradient(circle at 14px 50%,var(--graphite-2) 5.5px,transparent 6px) 0 26%/30px 30px no-repeat,radial-gradient(circle at 14px 50%,var(--graphite-2) 5.5px,transparent 6px) 0 74%/30px 30px no-repeat,#f2f0e9;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:3rem;align-items:start;transform:rotate(-.5deg)}
  .visit h3{font-size:3rem;max-width:4.5em}
  .visit-list{margin:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem 1.4rem}
  .visit-list li{display:block;padding:0;border-top:0;border-left:2px dotted #a7a79e;padding-left:1rem}
  .visit-list li::before{display:block;margin-bottom:.35rem}
  .ko-veta{font-size:clamp(5rem,10vw,9.4rem)}
  .foot-in{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.2fr);column-gap:3rem;align-items:start}
  .foot-c{text-align:right}
}
@media (min-width:1200px){
  .visit-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 1.4rem}
}
@media (min-width:1100px){
  .dnes{grid-template-columns:minmax(0,auto) minmax(0,16rem) minmax(0,1fr);align-items:center;padding-block:1.2rem 1.3rem}
  .dnes-c{grid-column:auto}
  .komory{grid-template-columns:repeat(5,minmax(0,1fr))}
  .komora{padding:0 1.15rem 1.5rem}
  .komora+.komora{border-top:0;border-left:6px solid #8e979b}
  .kom-v{height:132px;margin:0 -1.15rem 1.15rem}
  .kom-c{font-size:clamp(2.6rem,3.7vw,3.5rem);margin-top:auto;padding-top:1rem}
  .kom-c small{display:block;margin-bottom:.1rem}
  .komora{grid-template-rows:auto auto 1fr auto}
  .tlumic{min-height:0}
}
@media (min-width:1400px){
  .db-2{position:absolute;margin:0;left:calc(100% - var(--rr) + 26px);top:calc(4.4rem + var(--kat) * 3.56 + 1.4rem)}
  .db-2 b{font-size:3.6rem}
  .db-2 i{font-size:1.3rem}
  .db-2 span{white-space:normal;max-width:6em}
}
@media (min-width:1280px){
  .top-stav .ts-d{display:none}
  .top-stav .ts-z{display:inline;font-variant-numeric:tabular-nums}
}
@media (max-width:899px){
  .drobne button,.foot button,.foot-back{display:inline-flex;align-items:center;min-height:44px;padding:0}
}
@media (max-width:389px){
  .brand-t span{letter-spacing:.06em}
  .brand{gap:.45rem}
}
@media (max-width:339px){
  .brand-t span{display:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
/* FORMA-POLISH (generuje vizitka/tools/ukazky-polish.py) */
:where(html){scrollbar-color:#e3a81b #17191b}
:where(input,textarea){caret-color:#e3a81b}
:where(a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible){outline:3px solid #e3a81b;outline-offset:3px}
:where(a){text-underline-offset:.2em}
:where(table,dd,time,data,[class*=cen],[class*=price],[class*=hod],[class*=hours],[class*=doba],[class*=kc]){font-variant-numeric:tabular-nums}
/* /FORMA-POLISH */
