@font-face{font-family:'Jost';font-weight:100 900;font-style:normal;font-display:swap;src:url(fonts/jost-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:'Jost';font-weight:100 900;font-style:normal;font-display:swap;src:url(fonts/jost-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:'Plex';font-weight:400 700;font-style:normal;font-display:swap;src:url(fonts/plex-sans-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:'Plex';font-weight:400 700;font-style:normal;font-display:swap;src:url(fonts/plex-sans-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:'Doto';font-weight:100 900;font-style:normal;font-display:swap;src:url(fonts/doto-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:'Doto';font-weight:100 900;font-style:normal;font-display:swap;src:url(fonts/doto-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{
  --kobalt:#1136c4;--kobalt-d:#0c2896;--kobalt-s:#2a50dc;--noc:#050c2e;
  --voda:#27b7f5;--voda-s:#9ee3ff;
  --smalt:#f4f6f3;--smalt-2:#e6ebe8;
  --chrom:#c9d2d8;--chrom-d:#8d99a1;
  --inkoust:#0a1330;--inkoust2:#36405e;
  --ponozka:#e5352b;--led:#63e2ff;--led-ok:#62f0ab;--led-ne:#ff7468;
  --nad:'Jost','Century Gothic',system-ui,sans-serif;
  --txt:'Plex','IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --tec:'Doto','Plex',ui-monospace,monospace;
  --gut:clamp(1rem,3.34vw,3.5rem);--panel:5.25rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--panel) + 1rem);scrollbar-color:var(--kobalt) var(--smalt)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--smalt);color:var(--inkoust);font:400 1.1875rem/1.5 var(--txt);overflow-x:clip}
::selection{background:var(--kobalt);color:#fff}
svg{display:block}
h1,h2,h3,p,ul,ol,figure,table,address{margin:0;font-style:normal}
ul,ol{padding:0;list-style:none}
a{color:inherit}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
:focus-visible{outline:3px solid var(--kobalt);outline-offset:3px;border-radius:.4rem}
.cenik :focus-visible,.kontakt :focus-visible,.pata :focus-visible,.program :focus-visible{outline-color:var(--led)}
.skip{position:fixed;left:1rem;top:-5rem;z-index:80;background:var(--noc);color:#fff;padding:.8rem 1.2rem;border-radius:999px;text-decoration:none}
.skip:focus{top:.6rem}

/* ---------- tlačítka: kulatá jako všechno na pračce ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.25rem;padding:.55rem 1.5rem;border:2px solid transparent;border-radius:999px;font:700 1.1875rem/1.1 var(--nad);text-decoration:none;cursor:pointer;transition:background-color .16s,color .16s,transform .14s,box-shadow .16s;white-space:nowrap}
.btn:active{transform:translateY(1px) scale(.985)}
.btn-main{background:var(--kobalt);color:#fff;box-shadow:0 2px 0 var(--kobalt-d)}
.btn-main:hover{background:var(--kobalt-d)}
.btn-line{background:transparent;color:var(--inkoust);border-color:var(--inkoust)}
.btn-line:hover{background:var(--inkoust);color:#fff}
.btn-sm{min-height:2.9rem;padding:.4rem 1.15rem;font-size:1.0625rem}
.btn-lg{min-height:3.75rem;padding:.65rem 1.7rem;font-size:1.3125rem}
.ico{width:1.1em;height:1.1em;fill:currentColor;flex:none}

/* ---------- ovládací panel pračky: drží nahoře po celou dobu ---------- */
.panel{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--panel);display:flex;align-items:center;gap:clamp(.75rem,2vw,2.25rem);padding:0 var(--gut);background:linear-gradient(180deg,#fdfefe 0,#ebeff1 45%,#d4dce0 52%,#e8edee 100%);box-shadow:inset 0 -1px 0 #fff,0 1px 0 var(--chrom-d),0 16px 30px -22px rgba(6,18,58,.6)}
.znak{display:flex;align-items:center;gap:.7rem;color:var(--inkoust);text-decoration:none;flex:none}
.znak-o{width:3.1rem;height:3.1rem;flex:none}
.znak-t{display:flex;flex-direction:column;gap:.1rem}
.znak-n{font:800 1.75rem/1 var(--nad);letter-spacing:-.01em}
.znak-s{font-size:.9375rem;line-height:1.1;color:var(--inkoust2)}
.menu{display:flex;gap:clamp(1rem,2.4vw,2.4rem);margin-left:auto}
.menu a{position:relative;padding:.6rem 0;font:600 1.1875rem/1 var(--nad);text-decoration:none}
.menu a::after{content:'';position:absolute;left:0;right:0;bottom:.15rem;height:3px;border-radius:3px;background:var(--kobalt);transform:scaleX(0);transform-origin:0 50%;transition:transform .18s}
.menu a:hover::after,.menu a:focus-visible::after{transform:scaleX(1)}
.mini{display:flex;align-items:center;gap:.65rem;padding:.6rem 1.05rem;border-radius:999px;background:var(--noc);color:var(--led);box-shadow:inset 0 2px 7px #000,0 1px 0 #fff;flex:none}
.mini-t{font:900 1.3125rem/1 var(--tec);white-space:nowrap}
.led-t{width:.8rem;height:.8rem;border-radius:50%;background:#3b4566;flex:none}
[data-stav=open] .led-t{background:var(--led-ok);box-shadow:0 0 10px var(--led-ok)}
[data-stav=closed] .led-t,[data-stav=special] .led-t{background:var(--led-ne);box-shadow:0 0 10px var(--led-ne)}

/* ---------- scéna: hotová kompozice je základ, živá verze přidá třídu .ziva ---------- */
.scena{position:relative;background:var(--smalt)}
.jeviste{position:relative;background:var(--smalt)}
.prvni{position:relative;height:100vh;height:100svh;min-height:35rem;overflow:hidden}
.uvod{position:absolute;z-index:2;left:var(--gut);top:calc(var(--panel) + clamp(1.25rem,6.4vh,4.5rem))}
h1{font:800 clamp(3rem,5.7vw,7.6rem)/.98 var(--nad);letter-spacing:-.018em;color:var(--kobalt);white-space:nowrap}
.lede{margin-top:clamp(.8rem,2.4vh,1.4rem);max-width:28rem;font-size:clamp(1.1875rem,1.5vw,1.5rem);line-height:1.4}
.cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:clamp(1rem,3vh,1.75rem)}
.alt-tel{margin-top:.6rem}
.fake{font-size:1.0625rem;color:var(--inkoust2)}

.stroj-misto{position:absolute;inset:0}
.stroj{--d:min(122vh,74vw);position:absolute;width:var(--d);height:var(--d);left:43vw;top:calc(59% - var(--d)/2);perspective:2800px}
.stin-stroj{position:absolute;inset:-1.2%;border-radius:50%;background:radial-gradient(closest-side,rgba(6,18,58,.34) 91%,rgba(6,18,58,0) 100%);transform:translate(1.2%,1.9%)}
.tesneni{position:absolute;inset:8.5%;border-radius:50%;background:#080c1c;box-shadow:inset 0 0 0 3px #272f52}
.vana{position:absolute;inset:10.4%;border-radius:50%;overflow:hidden;isolation:isolate;background:#050d33}
.buben{position:absolute;inset:0;width:100%;height:100%}
.rozmaz{position:absolute;inset:0;opacity:0;will-change:opacity;border-radius:50%;background:radial-gradient(closest-side,#0b2692 0 47%,#1138c2 47.6% 52%,#0d2ba0 56%,#1a44d0 62%,#102fae 68%,#2455e0 76%,#143ac0 84%,#2f66ec 92%,#1c49d6 100%)}
.pradlo{position:absolute;inset:0}
.kus{position:absolute;left:50%;top:50%;width:31%;height:31%;margin:-15.5% 0 0 -15.5%;overflow:visible}
.prstenec{position:absolute;inset:0;opacity:0;will-change:transform,opacity;border-radius:50%;background:conic-gradient(from 0deg,#e5352b,#f7f9f6 9%,#ffc928 21%,#f7f9f6 30%,#ff8a6b 42%,#f7f9f6 53%,#e5352b 64%,#ffc928 74%,#f7f9f6 86%,#e5352b);-webkit-mask:radial-gradient(closest-side,transparent 63%,#000 74%,#000 92%,transparent 100%);mask:radial-gradient(closest-side,transparent 63%,#000 74%,#000 92%,transparent 100%)}
.voda{position:absolute;left:-14%;width:128%;top:50%;height:150%;transform:translate3d(0,5.6%,0)}
.vlna{position:absolute;left:0;top:0;width:200%;height:100%;max-width:none}
.v1{opacity:.46}.v2{opacity:.34}
.bublina{position:absolute;left:50%;top:50%;width:3.2%;height:3.2%;margin:-1.6% 0 0 -1.6%;border-radius:50%;border:2px solid rgba(255,255,255,.8);opacity:0;visibility:hidden}
.stin-vana{position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 1px #000,inset 0 0 7vmin rgba(2,8,40,.8)}
.dvirka{position:absolute;inset:0;transform-origin:96.5% 50%}
.ram{position:absolute;inset:0;border-radius:50%;background:radial-gradient(closest-side,transparent 79%,rgba(255,255,255,.9) 79.5%,rgba(255,255,255,0) 81%,rgba(255,255,255,0) 96%,rgba(6,18,58,.35) 98%,rgba(255,255,255,.75) 100%),conic-gradient(from 212deg,#fdfefe 0,#b4bfc6 8%,#eff3f4 17%,#87939c 29%,#d6dee2 39%,#fff 49%,#a0adb5 60%,#e9eef0 71%,#7c8892 83%,#dde3e6 92%,#fdfefe 100%);-webkit-mask:radial-gradient(closest-side,transparent 78.9%,#000 79.2%);mask:radial-gradient(closest-side,transparent 78.9%,#000 79.2%)}
.sklo{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ryti{font:700 25px var(--nad);letter-spacing:.235em;fill:#4f5c66}
.madlo{position:absolute;left:-1.6%;top:42.5%;width:5.4%;height:15%;border-radius:999px;background:linear-gradient(90deg,#7c8892,#fdfefe 38%,#c6cfd5 60%,#8d99a1);box-shadow:0 .5vmin 1.4vmin rgba(6,18,58,.35)}
.porthole{display:none;position:absolute;inset:10.4%;border-radius:50%;border:0;padding:0;background:none;cursor:pointer}
.ziva .porthole{display:block}

.kapitoly{position:relative;z-index:3}
.kap{padding:clamp(3rem,7vw,6rem) var(--gut)}
.kap-1{background:var(--smalt)}
.kap-2{background:var(--voda)}
.kap-3{background:var(--noc);color:#fff}
.kap-4{background:var(--smalt)}
.kap h2{font:800 clamp(4.2rem,min(11.2vw,24vh),13rem)/.96 var(--nad);letter-spacing:-.022em}
.kap>p{margin-top:.9rem;max-width:24ch;font:500 clamp(1.4rem,2.2vw,2.3rem)/1.22 var(--nad)}
.kap-1 h2,.kap-4 h2{color:var(--kobalt)}
.kap-3 h2{font-size:min(14.3vw,30vh);white-space:nowrap}
.duchove{display:none}
.displej{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem 1.6rem;align-items:center;max-width:40rem;margin-top:clamp(1rem,3vh,2rem);padding:1.15rem 1.7rem 1.2rem;border-radius:2.2rem;background:var(--noc);color:#fff;box-shadow:inset 0 3px 12px #000,0 1px 0 #fff}
.digits{font:900 clamp(3.4rem,6vw,5.75rem)/1 var(--tec);color:var(--led);white-space:nowrap}
.dlabel{margin-top:.2rem;font:500 1.0625rem/1.2 var(--txt);color:#b9c6e6}
.status-h{font:700 clamp(1.5rem,2.2vw,2.15rem)/1.12 var(--nad)}
.status-s{margin-top:.3rem;font-size:1.0625rem;line-height:1.3;color:#c5d0ea}
.leds{grid-column:1/-1;display:flex;gap:1.4rem}
.led{display:flex;align-items:center;gap:.5rem;font:600 1.0625rem/1 var(--nad);color:#b9c6e6}
.led::before{content:'';width:.75rem;height:.75rem;border-radius:50%;background:#2c3556}
[data-stav=open] .led-open{color:#fff}
[data-stav=open] .led-open::before{background:var(--led-ok);box-shadow:0 0 10px var(--led-ok)}
[data-stav=closed] .led-closed,[data-stav=special] .led-closed{color:#fff}
[data-stav=closed] .led-closed::before,[data-stav=special] .led-closed::before{background:var(--led-ne);box-shadow:0 0 10px var(--led-ne)}
.dc{display:inline-block;position:relative;width:.34em;height:.72em;vertical-align:baseline}
.dc::before,.dc::after{content:'';position:absolute;left:50%;width:.13em;height:.13em;margin-left:-.065em;border-radius:2px;background:currentColor}
.dc::before{top:.17em}
.dc::after{top:.45em}

.program{display:none}
.clona{display:none}
.clona-konec{display:block;position:relative;z-index:3;padding:clamp(3rem,6vw,5.5rem) var(--gut) 0;background:var(--kobalt);color:#fff}
.clona-konec h2{font:800 14.9vw/.94 var(--nad);letter-spacing:-.024em;white-space:nowrap}
.cen-veta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem clamp(1.5rem,4vw,4rem);align-items:start;margin-top:clamp(.75rem,2.4vh,1.5rem)}
.cen-veta p{font-size:clamp(1.1875rem,1.5vw,1.45rem);line-height:1.4;color:#e7edff}
.cen-veta .cen-pozn{font:700 clamp(1.5rem,2.5vw,2.5rem)/1.12 var(--nad);color:#fff}
.kotva{display:block;height:0}

/* živá scéna: pódium stojí a scroll žene program */
.ziva .scena{height:500vh;height:500svh}
/* pódium má velký viewport, ať se pod ním po schování adresního řádku telefonu neobjeví pruh; rozložení počítá z malého */
.ziva .jeviste{position:sticky;top:0;height:100vh;height:100lvh;overflow:hidden;overflow:clip}
.ziva .prvni{position:absolute;left:0;right:0;top:0;height:100vh;height:100svh;min-height:0;overflow:visible;z-index:2}
.ziva .vana{transform:translateZ(0)}
.ziva .stroj{will-change:transform}
.ziva .buben,.ziva .kus,.ziva .voda,.ziva .vlna{will-change:transform}
.ziva .clona{display:block;position:absolute;inset:0;visibility:hidden}
.clona-voda{background:var(--voda)}
.clona-noc{background:var(--noc)}
.clona-smalt{background:var(--smalt)}
.ziva .clona-konec{display:flex;flex-direction:column;justify-content:flex-end;visibility:visible;z-index:6;padding:var(--panel) var(--gut) clamp(1.5rem,5.4vh,3.5rem);padding-bottom:calc(clamp(1.5rem,5.4vh,3.5rem) + 100lvh - 100svh);clip-path:circle(0 at 70% 55%)}
.clona-konec h2:focus{outline:0}
.ziva .kapitoly{position:absolute;left:0;right:0;top:0;height:100vh;height:100svh;pointer-events:none}
.ziva .kap{position:absolute;padding:0;background:none;opacity:0;will-change:transform,opacity}
.ziva .kap-1{left:var(--gut);top:calc(var(--panel) + 22vh);width:44vw}
.ziva .kap-2{left:52vw;top:calc(var(--panel) + 22vh);width:45vw}
.ziva .kap-3{left:0;right:0;top:calc(var(--panel) + 28vh);display:flex;flex-direction:column;align-items:center;color:#fff}
.ziva .kap-3 h2{position:relative;z-index:2}
.ziva .kap-3>p{position:relative;z-index:2;max-width:none;margin-top:1.4rem;padding:.7rem 1.5rem;border-radius:999px;background:var(--noc);text-align:center}
.ziva .duchove{display:block;position:absolute;left:0;right:0;top:0;height:1em;font:800 min(14.3vw,30vh)/.96 var(--nad);letter-spacing:-.022em;color:var(--voda-s);text-align:center}
.duch{position:absolute;left:0;right:0;top:0;opacity:0;will-change:transform,opacity;white-space:nowrap}
.ziva .kap-4{left:var(--gut);top:calc(var(--panel) + 7vh);width:44.5vw}
.ziva .program{display:flex;align-items:center;gap:.4rem;position:absolute;z-index:4;left:var(--gut);bottom:clamp(.8rem,2.4vh,1.5rem);bottom:calc(clamp(.8rem,2.4vh,1.5rem) + 100lvh - 100svh);padding:.35rem;border-radius:999px;background:var(--noc);color:#fff;box-shadow:0 12px 26px -14px rgba(6,18,58,.8)}
.start{display:inline-flex;align-items:center;gap:.55rem;min-height:2.75rem;padding:.3rem 1.1rem .3rem .9rem;border:0;border-radius:999px;background:var(--kobalt);color:#fff;font:700 1.0625rem/1 var(--nad);cursor:pointer;transition:background-color .16s}
.start:hover{background:var(--kobalt-s)}
.start-z{width:0;height:0;border-left:.62rem solid currentColor;border-top:.42rem solid transparent;border-bottom:.42rem solid transparent}
.bezi .start-z{width:.7rem;height:.8rem;border:0;background:linear-gradient(90deg,currentColor 36%,transparent 36% 64%,currentColor 64%)}
.program ol{display:flex;gap:.1rem}
.program a{display:flex;align-items:center;gap:.45rem;min-height:2.75rem;padding:.3rem .8rem;border-radius:999px;font:600 1.0625rem/1 var(--nad);color:#b9c6e6;text-decoration:none;pointer-events:auto;transition:color .16s}
.program a:hover{color:#fff}
.program a i{width:.6rem;height:.6rem;border-radius:50%;background:#2c3556;transition:background-color .2s}
.program .is-za a i{background:var(--voda)}
.program .is-on a{color:#fff}
.program .is-on a i{background:var(--led);box-shadow:0 0 10px var(--led)}

/* ---------- ceník: volič programů ---------- */
.cenik{position:relative;overflow:hidden;background:var(--kobalt);color:#fff;padding:clamp(2.5rem,4.4vw,4rem) var(--gut) clamp(3.5rem,6.4vw,6rem)}
.volic{position:relative}
.rady h3{font:700 clamp(1.3rem,1.8vw,1.75rem)/1 var(--nad);color:var(--voda-s)}
.rada{display:flex;align-items:baseline;gap:.9rem}
.co{font:500 clamp(1.25rem,1.75vw,1.75rem)/1.2 var(--nad);transition:color .16s}
.rada:hover .co{color:var(--voda-s)}
.tecky{flex:1;min-width:1.5rem;height:.5rem;background:radial-gradient(circle,rgba(255,255,255,.42) 0 .17rem,transparent .19rem) 0 50%/.8rem .5rem repeat-x}
.kolik{flex:none;font:800 clamp(1.75rem,3vw,3rem)/1 var(--nad);letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap}
.knofl{display:none}
@media (min-width:1180px){
  .rady h3,.rada{height:68px;padding-left:calc((var(--o) - 70)*1px)}
  .rady h3{display:flex;align-items:flex-end;padding-bottom:.7rem}
  .rada{align-items:center}
  .knofl{display:block;position:absolute;left:calc(-70px - 410px);top:50%;width:820px;height:820px;margin-top:-410px}
  .kn-ryski{position:absolute;inset:0;width:100%;height:100%;opacity:.8}
  .kn-telo{position:absolute;inset:11.5%;border-radius:50%;background:radial-gradient(closest-side,transparent 86%,rgba(6,18,58,.45) 87%,rgba(6,18,58,0) 89%),repeating-conic-gradient(#d6dee2 0 1.5deg,#8d99a1 1.5deg 3deg);box-shadow:0 26px 44px -18px rgba(3,10,48,.75)}
  .kn-telo::before{content:'';position:absolute;inset:8%;border-radius:50%;background:conic-gradient(from 212deg,#fdfefe 0,#b4bfc6 8%,#eff3f4 17%,#87939c 29%,#d6dee2 39%,#fff 49%,#a0adb5 60%,#e9eef0 71%,#7c8892 83%,#dde3e6 92%,#fdfefe 100%);box-shadow:0 0 0 2px rgba(255,255,255,.7)}
  .kn-rys{position:absolute;inset:0;transform:rotate(112deg);transition:transform .38s cubic-bezier(.3,.7,.2,1)}
  .kn-rys::before{content:'';position:absolute;left:50%;top:9.5%;width:3%;height:24%;margin-left:-1.5%;border-radius:999px;background:var(--ponozka)}
}

/* ---------- co opravujeme: obří slova, voda stoupá v písmenech ---------- */
.opravy{background:var(--smalt);padding:clamp(3.5rem,7vw,6.5rem) var(--gut)}
.op-hlava{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 2rem}
.op-hlava h2{font:800 clamp(2.25rem,3.6vw,3.6rem)/1.02 var(--nad);letter-spacing:-.012em}
.op-hlava p{font-size:clamp(1.1875rem,1.6vw,1.5rem);color:var(--inkoust2)}
.op-seznam{margin-top:clamp(1.5rem,3.4vw,3rem)}
.op-seznam li{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(0,1fr);gap:.2rem 2.5rem;align-items:center;padding:clamp(.4rem,1vw,.9rem) 0}
.op-seznam h3{font:800 clamp(3.2rem,8.9vw,11rem)/1.04 var(--nad);letter-spacing:-.024em;color:var(--kobalt);white-space:nowrap}
.op-seznam p{font:500 clamp(1.3rem,2.05vw,2.15rem)/1.2 var(--nad)}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .op-seznam h3{background:linear-gradient(0deg,var(--voda) 50%,var(--kobalt) 50%) 0 0/100% 200%;-webkit-background-clip:text;background-clip:text;color:transparent;transition:background-position .5s cubic-bezier(.3,.7,.2,1)}
  .op-seznam li:hover h3{background-position:0 100%}
}
.op-pozn{margin-top:clamp(1.25rem,2.6vw,2.25rem);font-size:clamp(1.1875rem,1.6vw,1.5rem);color:var(--inkoust2)}

/* ---------- než zavoláte: typový štítek ---------- */
.priprava{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,8fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(3.5rem,7vw,6.5rem) var(--gut);background:linear-gradient(180deg,#dbe2e6,#c2cbd2)}
.pr-hlava h2{font:800 clamp(3rem,6.5vw,7.5rem)/.98 var(--nad);letter-spacing:-.02em}
.pr-hlava p{margin-top:1rem;max-width:28rem;font-size:clamp(1.1875rem,1.5vw,1.45rem);line-height:1.4}
.stitek{position:relative;padding:clamp(1.1rem,2.4vw,2.2rem);border-radius:1.6rem;background:linear-gradient(135deg,#fbfcfc,#e2e8ea 36%,#f6f8f8 52%,#d3dbdf);box-shadow:0 34px 50px -34px rgba(6,18,58,.7),inset 0 0 0 2px #fff,0 0 0 1px var(--chrom-d)}
.stitek::before,.stitek::after{content:'';position:absolute;top:1rem;width:.85rem;height:.85rem;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#7c8892 70%)}
.stitek::before{left:1rem}
.stitek::after{right:1rem}
.st-titul{display:flex;justify-content:space-between;gap:1rem;padding:0 1.4rem .9rem;font:900 clamp(1.15rem,1.6vw,1.5rem)/1 var(--tec)}
.st-pole{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;border-radius:.9rem;overflow:hidden;background:var(--inkoust)}
.st-pole li{padding:clamp(.9rem,1.7vw,1.5rem);background:linear-gradient(135deg,#f8faf9,#e8edee)}
.sp-a{grid-column:span 2}.sp-b{grid-column:span 4}.sp-c{grid-column:span 4}.sp-d{grid-column:span 2}
.st-pole h3{font:800 clamp(1.5rem,2.3vw,2.4rem)/1.05 var(--nad);letter-spacing:-.01em}
.st-pole p{margin-top:.45rem;font-size:clamp(1.0625rem,1.25vw,1.2rem);line-height:1.38}
.st-kod{width:min(22rem,70%);height:2.4rem;margin-top:1rem}

/* ---------- objednat: voda až nahoru ---------- */
.objednat{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem);align-items:start;padding:clamp(3.5rem,7vw,6.5rem) var(--gut);background:var(--voda)}
.hladina{position:absolute;left:0;top:calc(-1*clamp(1rem,2.6vw,2.5rem) + 1px);width:100%;height:clamp(1rem,2.6vw,2.5rem)}
.ob-hlava{position:sticky;top:calc(var(--panel) + 2rem)}
.ob-hlava h2{font:800 clamp(3rem,7.4vw,8.6rem)/.96 var(--nad);letter-spacing:-.022em}
.ob-hlava p{margin-top:1rem;max-width:27rem;font:500 clamp(1.25rem,1.75vw,1.75rem)/1.3 var(--nad)}
.ob-hlava .ob-pozn{font:400 1.1875rem/1.4 var(--txt)}
.form{padding:clamp(1.15rem,3vw,2.75rem);border-radius:2.4rem;background:var(--smalt);box-shadow:0 34px 60px -40px rgba(6,18,58,.8)}
.form-fs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1.4rem;min-width:0;margin:0;padding:0;border:0}
.field{display:flex;flex-direction:column;gap:.4rem;min-width:0}
.f-cela{grid-column:1/-1}
.label{font:700 1.25rem/1.2 var(--nad)}
.req{color:var(--kobalt)}
.hint{font-size:1.0625rem;line-height:1.35;color:var(--inkoust2)}
.err{font-size:1.0625rem;font-weight:600;line-height:1.35}
.err::before{content:'Chyba: ';font-weight:700;color:#bf1f17}
input[type=text],input[type=tel],textarea{width:100%;min-height:3.75rem;padding:.7rem 1.2rem;border:2px solid #6a7792;border-radius:1.3rem;background:#fff;color:var(--inkoust);caret-color:var(--kobalt);font:500 1.1875rem/1.4 var(--txt);transition:border-color .16s}
textarea{min-height:9rem;resize:vertical}
input:hover,textarea:hover{border-color:var(--kobalt)}
input:focus-visible,textarea:focus-visible{outline:3px solid var(--kobalt);outline-offset:1px;border-color:var(--kobalt);border-radius:1.3rem}
input,textarea,.pill{scroll-margin-top:7rem}
[aria-invalid=true]{border-color:var(--ponozka)!important;box-shadow:0 0 0 2px var(--ponozka)}
.pills{display:flex;flex-wrap:wrap;gap:.6rem;border-radius:999px}
.pills[aria-invalid=true]{box-shadow:none}
.pills[aria-invalid=true] .pill span{border-color:var(--ponozka)}
.pill{position:relative}
.pill input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.pill span{display:inline-flex;align-items:center;gap:.6rem;min-height:3.4rem;padding:.4rem 1.35rem;border:2px solid var(--inkoust);border-radius:999px;background:#fff;font:600 1.1875rem/1 var(--nad);transition:background-color .16s,color .16s,border-color .16s}
.pill span::before{content:'';width:.75rem;height:.75rem;border-radius:50%;background:var(--chrom);box-shadow:inset 0 1px 2px rgba(6,18,58,.5)}
.pill:hover span{border-color:var(--kobalt);color:var(--kobalt)}
.pill input:checked+span{background:var(--noc);border-color:var(--noc);color:#fff}
.pill input:checked+span::before{background:var(--led);box-shadow:0 0 9px var(--led)}
.pill input:focus-visible+span{outline:3px solid var(--kobalt);outline-offset:3px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form .btn{grid-column:1/-1;justify-self:start}
.form-ns{margin-bottom:1rem;padding:.9rem 1.2rem;border-radius:1.2rem;background:var(--smalt-2)}
.result{margin-top:1.2rem;padding:1.1rem 1.3rem;border-radius:1.4rem;background:var(--noc);color:#fff}
.result h3{font:700 1.5rem/1.15 var(--nad)}
.result p{margin-top:.4rem}

/* ---------- kontakt: velký displej s hodinami ---------- */
.kontakt{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2.5rem,6vw,6rem);padding:clamp(3.5rem,7vw,6.5rem) var(--gut);background:var(--noc);color:#fff}
.ko-levy h2{font:800 clamp(3rem,6.5vw,7.5rem)/.98 var(--nad);letter-spacing:-.02em}
.addr{margin-top:1.3rem;font:500 clamp(1.3rem,1.8vw,1.75rem)/1.28 var(--nad)}
.addr strong{font-weight:800}
.phones{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
.kontakt .btn-main{background:var(--voda);color:var(--noc);box-shadow:none}
.kontakt .btn-main:hover{background:var(--voda-s)}
.kontakt .btn-line{color:#fff;border-color:#fff}
.kontakt .btn-line:hover{background:#fff;color:var(--noc)}
.kontakt .fake{color:#c5d0ea}
.hours-h{font:700 clamp(1.5rem,2.2vw,2.15rem)/1.1 var(--nad);color:var(--voda-s)}
.hours{width:100%;margin-top:.8rem;border-collapse:collapse}
.hours th{padding:.7rem 1rem .7rem 0;font:500 clamp(1.25rem,1.9vw,1.9rem)/1.15 var(--nad);text-align:left}
.hours td{padding:.7rem 0;text-align:right;white-space:nowrap}
.digits-sm,.hours .closed{font:900 clamp(2.15rem,4.5vw,4.5rem)/1 var(--tec);color:var(--led)}
.hours .closed{color:#8b97ba}
.hours tr.is-today th{font-weight:800}
.hours tr.is-today th::after{content:' · dnes';font-weight:500;color:var(--led-ok)}
.hours tr.is-today .digits-sm,.hours tr.is-today .closed{color:var(--led-ok)}
.soon{margin-top:1.4rem;padding:1.1rem 1.5rem;border-radius:1.6rem;background:#0e1a4a}
.soon h3{font:700 1.375rem/1.1 var(--nad);color:var(--led-ne)}
.soon ul{margin-top:.4rem;font-size:1.125rem}
.ko-pozn{margin-top:1.2rem;font-size:1.0625rem;color:#c5d0ea}

/* ---------- závěr ---------- */
.zaver{position:relative;overflow:hidden;padding:clamp(7rem,12.5vw,14rem) var(--gut) clamp(3.5rem,7vw,6rem);background:var(--smalt)}
.sprt{position:absolute;left:0;top:clamp(1.5rem,3.4vw,3rem);width:100%;height:clamp(3rem,6.2vw,5.6rem)}
.visi{position:absolute;left:62vw;top:clamp(2.4rem,5.2vw,5.6rem);width:clamp(6.5rem,17.4vw,21rem);transform-origin:50% 0;transition:transform .5s cubic-bezier(.3,.7,.2,1)}
.visi:hover{transform:rotate(-5deg)}
.kolicek{position:absolute;left:50%;top:-1.4rem;width:clamp(1rem,2.2vw,2rem);margin-left:-3%;z-index:2}
.ponozka{width:100%;height:auto;overflow:visible;transform:rotate(-4deg)}
#h-zaver{position:relative;font:800 clamp(3rem,9.68vw,12rem)/1 var(--nad);letter-spacing:-.026em;color:var(--kobalt)}
.z-a,.z-b{display:block}
.z-zlom{display:block}
.z-b{color:var(--ponozka)}
.za-spodek{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem 3rem;align-items:end;margin-top:clamp(1.75rem,4vw,3.5rem)}
.za-veta{max-width:26rem;font:500 clamp(1.3rem,1.9vw,1.9rem)/1.25 var(--nad)}
.za-spodek .cta{margin-top:0}

/* ---------- patička ---------- */
.pata{overflow:hidden;padding:clamp(2rem,4vw,3.5rem) var(--gut) clamp(1.5rem,2.4vw,2.25rem);background:var(--kobalt);color:#fff}
.pata-znak{font:800 25vw/.84 var(--nad);letter-spacing:-.03em;color:var(--kobalt-s);text-align:center;margin-bottom:clamp(1.25rem,2.6vw,2.25rem);white-space:nowrap}
.pata-radek{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:.5rem 2.5rem;align-items:baseline;font-size:1.0625rem}
.pata-zpet{font:700 1.1875rem/1.2 var(--nad);text-underline-offset:.2em}
.pata-zpet:hover{color:var(--voda-s)}

/* ---------- vysvětlení ukázky ---------- */
.pop{max-width:min(28rem,calc(100vw - 2rem));padding:1.6rem 1.6rem 1.7rem;border:0;border-radius:2rem;color:var(--inkoust);background:var(--smalt);box-shadow:0 30px 60px -20px rgba(5,12,46,.7)}
.pop::backdrop{background:rgba(5,12,46,.66)}
.pop h2{margin:0 0 .7rem;font:800 clamp(1.6rem,6vw,2rem)/1.05 var(--nad)}
.pop p{margin:0 0 1.25rem;font-size:1.0625rem}
.pop .btn{width:100%}
.pop-fb{position:fixed;left:50%;top:50%;z-index:60;width:min(28rem,calc(100vw - 2rem));margin:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}
.pop-fb:not(.is-open){display:none}
.pop-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:rgba(5,12,46,.66)}
.pop-bg:not(.is-open){display:none}

/* ---------- tablet a telefon: samostatná kompozice ---------- */
@media (max-width:1399px){
  .uvod .cta{flex-direction:column;align-items:flex-start}
}
@media (max-width:1179px){
  .znak-s{display:none}
  .lede{max-width:35vw}
  .rada{padding:.7rem 0}
  .rady h3{padding:1.5rem 0 .3rem}
  .rady h3:first-child{padding-top:0}
  .menu{gap:1rem}
}
@media (max-width:1020px){
  .menu{display:none}
  .mini{margin-left:auto}
  .znak-s{display:none}
}
@media (max-width:859px){
  :root{--panel:4.25rem}
  .znak-o{width:2.6rem;height:2.6rem}
  .znak-n{font-size:1.5rem}
  .mini{padding:.45rem .75rem;gap:.5rem;margin-left:auto}
  .mini-t{display:flex;flex-direction:column;gap:.18rem;font-size:.9375rem}
  .led-t{width:.65rem;height:.65rem}
  .panel .btn-sm{width:3rem;min-height:3rem;padding:0;gap:0;font-size:0;flex:none}
  .panel .btn-sm .ico{width:1.3rem;height:1.3rem}
  .cen-veta{grid-template-columns:minmax(0,1fr)}
  .rada{display:block}
  .co{display:block}
  .tecky{display:none}
  .kolik{display:block;margin-top:.2rem;font-size:clamp(2rem,8.4vw,3rem)}
  .op-seznam li{grid-template-columns:minmax(0,1fr)}
  .op-seznam h3{font-size:clamp(3rem,13.6vw,6.5rem)}
  .priprava,.objednat,.kontakt{grid-template-columns:minmax(0,1fr)}
  .ob-hlava{position:static}
  .sp-a,.sp-b,.sp-c,.sp-d{grid-column:1/-1}
  .st-titul{padding:0 1.4rem .7rem;font-size:.9375rem;white-space:nowrap}
  .form-fs{grid-template-columns:minmax(0,1fr)}
  .form .btn{justify-self:stretch}
  .phones .btn{width:100%}
  .phones li{flex:1 1 100%}
  .hours th{font-size:1.25rem}
  .digits-sm,.hours .closed{font-size:clamp(1.8rem,8.4vw,3.2rem)}
  .zaver{padding-top:clamp(13rem,56vw,20rem)}
  #h-zaver{font-size:clamp(2.75rem,12.8vw,6.5rem)}
  .z-zlom{display:inline}
  .visi{left:auto;width:clamp(9rem,38vw,15rem);right:clamp(1.5rem,14vw,7rem);top:clamp(3rem,10vw,5.5rem)}
  .za-spodek{grid-template-columns:minmax(0,1fr)}
  .zaver .cta .btn{flex:1 1 100%}
  .pata-radek{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:599px),(max-aspect-ratio:1/1){
  .prvni{display:flex;flex-direction:column}
  .uvod{position:relative;left:auto;top:auto;padding:calc(var(--panel) + 1rem) var(--gut) 0}
  h1{font-size:clamp(2.75rem,13.4vw,6rem)}
  .lede{max-width:34rem;font-size:clamp(1.1875rem,3vw,1.5rem);line-height:1.34}
  .cta{margin-top:.9rem}
  .uvod .cta{align-items:stretch}
  .stroj-misto{position:relative;flex:1 1 auto;min-height:0}
  .stroj{--d:max(142vw,70vh);left:calc(62vw - var(--d)/2);top:.6rem}
  .ziva .stroj-misto{position:relative}
  .kap h2{font-size:clamp(4rem,19vw,9rem)}
  .kap-3 h2{font-size:14vw}
  .kap>p{font-size:clamp(1.375rem,5.4vw,2.2rem)}
  .ziva .kap-1,.ziva .kap-2,.ziva .kap-4{left:var(--gut);right:var(--gut);width:auto;top:calc(var(--panel) + 1rem)}
  .ziva .kap-3{top:calc(var(--panel) + 1.2rem)}
  .ziva .kap-3>p{margin-top:.5rem;max-width:calc(100vw - 2*var(--gut));padding:.5rem 1.1rem;border-radius:1.6rem}
  .ziva .duchove{font-size:14vw}
  .displej{grid-template-columns:auto minmax(0,1fr);gap:.2rem 1rem;margin-top:.8rem;padding:.8rem 1.15rem .9rem;border-radius:1.8rem}
  .digits{font-size:2.9rem}
  .dlabel{font-size:.9375rem}
  .status-h{font-size:1.3rem}
  .status-s{font-size:.9375rem}
  .leds{display:none}
  .ziva .program{left:50%;transform:translateX(-50%);bottom:.75rem;bottom:calc(.75rem + 100lvh - 100svh);padding:.25rem}
  .lede{max-width:34rem}
  .start{padding:.3rem .9rem .3rem .8rem;font-size:1rem;white-space:nowrap}
  .jeviste:not([data-k='0']) .start span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .jeviste:not([data-k='0']) .start{width:2.75rem;padding:0;justify-content:center;gap:0}
  .program li:not(.is-on) span{display:none}
  .program a{padding:.3rem .55rem;white-space:nowrap}
}
@media (max-width:370px){
  .mini-t{font-size:.875rem}
  .start{font-size:.9375rem}
}
@media (max-height:700px) and (max-width:859px){
  .lede{display:none}
}
@media (max-height:620px) and (min-width:600px) and (min-aspect-ratio:1/1){
  :root{--panel:3.6rem}
  .znak-o{width:2.4rem;height:2.4rem}
  .znak-n{font-size:1.4rem}
  .panel .btn-sm{min-height:2.5rem}
  .mini{padding:.35rem .8rem}
  .lede,.alt-tel{display:none}
  .uvod{top:calc(var(--panel) + .8rem)}
  .uvod .cta{margin-top:.7rem}
  .uvod .btn-lg{min-height:2.9rem;font-size:1.0625rem}
  .ziva .program{display:none}
  .displej{margin-top:.5rem;padding:.5rem 1rem}
  .digits{font-size:2.6rem}
  .leds,.dlabel{display:none}
  .kap>p{margin-top:.4rem}
  .kap-4>p{display:none}
  .ziva .kap-1,.ziva .kap-2{top:calc(var(--panel) + 12vh)}
  .ziva .kap-4{top:calc(var(--panel) + .6rem)}
  .ziva .kap-3{top:calc(var(--panel) + 14vh)}
}
@media (forced-colors:active){.btn,.pill span{border:2px solid ButtonText}}
/* volič: levý okraj řádků po kruhu kolem knoflíku */
.ar0{--o:332}.ar1{--o:395}.ar2{--o:440}.ar3{--o:470}.ar4{--o:489}.ar5{--o:499}.ar6{--o:499}.ar7{--o:489}.ar8{--o:470}.ar9{--o:440}.ar10{--o:395}.ar11{--o:332}
.kus-0{transform:translate(-48.4%,-3.2%) rotate(-24deg)}.kus-1{transform:translate(9.7%,-64.5%) rotate(14deg)}.kus-2{transform:translate(48.4%,3.2%) rotate(32deg)}.kus-3{transform:translate(-83.9%,-58.1%) rotate(-12deg)}.kus-4{transform:translate(-6.5%,48.4%) rotate(-8deg)}.kus-5{transform:translate(74.2%,-35.5%) rotate(46deg)}
/* FORMA-POLISH (generuje vizitka/tools/ukazky-polish.py) */
:where(input,textarea){caret-color:#0b7f86}
: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 #0b7f86;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 */
