@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:500 800;font-display:swap;src:url(fonts/bricolage-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:'Bricolage Grotesque';font-style:normal;font-weight:500 800;font-display:swap;src:url(fonts/bricolage-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:'Figtree';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/figtree-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:'Figtree';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/figtree-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}

:root{--ink:#16322b;--ink2:#1f4338;--mustard:#f4b73f;--paper:#f6efe0;--paper2:#ece2cc;--mute:#4d5f58;--hlava:calc(1.4rem + 44px);--okraj:1rem}
@media (min-width:900px){:root{--hlava:calc(1.6rem + 44px);--okraj:max(2.5rem,calc(50vw - 44rem))}}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:4.75rem}
body{font:400 1.0625rem/1.6 Figtree,system-ui,sans-serif;background:var(--paper);color:var(--ink);-webkit-text-size-adjust:100%;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,.brand,.foot-name{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;line-height:1.05;letter-spacing:-.01em}
a{color:inherit}
:focus-visible{outline:3px solid var(--mustard);outline-offset:3px;box-shadow:0 0 0 6px var(--ink)}
.skip{position:absolute;left:-999px;top:0;background:var(--mustard);color:var(--ink);padding:.7rem 1rem;z-index:50}
.skip:focus{left:0}
.nw{white-space:nowrap}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
p,li{text-wrap:pretty}
h1,h2,h3{text-wrap:balance}

.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1rem;background:var(--ink);color:var(--paper)}
.brand{display:flex;flex-direction:column;gap:.2rem;font-size:1.6rem;text-decoration:none}
.brand small{font:600 .75rem/1 Figtree,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--mustard)}
.top nav{display:none}
.top-call{background:var(--mustard);color:var(--ink);border:0;font:600 1.0625rem Figtree,system-ui,sans-serif;cursor:pointer;padding:.55rem 1.1rem;border-radius:999px;min-height:44px;display:inline-flex;align-items:center}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.6rem 1.4rem;border-radius:999px;border:2px solid var(--mustard);background:var(--mustard);color:var(--ink);font:600 1.05rem Figtree,sans-serif;text-decoration:none;cursor:pointer;text-align:center;transition:transform .2s,background-color .2s}
.btn:hover{transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--paper)}
.btn-ghost:hover{background:rgba(255,255,255,.08)}
.btn-sm{min-height:46px;background:var(--ink);border-color:var(--ink);color:var(--paper)}
.linkbtn{display:inline;background:none;border:0;padding:0;font:inherit;font-weight:600;color:inherit;text-decoration:underline;text-underline-offset:.2em;cursor:pointer;text-align:left}
.demo-note{flex-basis:100%;font-size:.85rem;color:var(--mute);margin:-.3rem 0 .3rem}
.demo-note-inline{font-size:.85rem;white-space:nowrap}

/* Od 30. 10. 2026 je zdrojem tenhle soubor: bloky HERO-OBRAZ a VYREZ jsou pryč, tools/hero-hlavolam.py ani tools/vyrezy.py na Hlavolam nespouštět.
   ÚVOD „Ostříhejte ho sami“ (30. 10. 2026, místo posuvného hlavolamu). Vrstvy ve .hl-ram odspodu: <picture> se zarostlým
   (největší prvek stránky), plátno s čerstvým střihem, hromádka chloupků, padající chloupky. Strojek jezdí nad rámem.
   Bez JS je přes zarostlého <noscript> obrázek s čerstvým střihem, při omezeném pohybu vybere <picture> rovnou čerstvý střih.
   touch-action:none má jen fotka a jen dokud se dá stříhat (.hl-zive), vedle ní zůstává na telefonu pruh na posouvání palcem. */
.hero{display:grid;overflow:hidden;background:var(--paper);color:var(--ink)}
.hl-scena{--v:clamp(12.25rem,calc(100svh - var(--hlava) - 24.1rem),calc((100vw - 6.25rem) * 4 / 3));position:relative;display:grid;grid-template-columns:calc(var(--v) * .75) minmax(0,1fr);gap:.5rem;padding:.75rem;background:var(--ink)}
.hl-ram{position:relative;margin:0;aspect-ratio:3/4;overflow:hidden;border-radius:6px;background:var(--mustard)}
.hl-ram img,.hl-ram canvas{position:absolute;inset:0;width:100%;height:100%}
.hl-ram img{object-fit:cover}
.hl-ram.hl-zive{touch-action:none;cursor:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.hl-pred{z-index:2}
.hl-pred[hidden]{display:none}
.hl-panel{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;min-width:0;min-height:0;color:var(--paper)}
.hl-panel[hidden]{display:none}
.hl-nazev{display:none}
.hl-napoveda{position:absolute;left:1.15rem;bottom:1.15rem;z-index:2;padding:.35rem .7rem;border-radius:999px;background:var(--ink);color:var(--paper);font:600 .875rem/1.25 Figtree,system-ui,sans-serif;pointer-events:none;opacity:0;transition:opacity .25s}
.hl-napoved .hl-napoveda{opacity:1}
.hl-zacal .hl-napoveda{opacity:0}
.hl-dok{flex:1;min-height:0}
.hl-prubeh{font:600 .8125rem/1.2 Figtree,system-ui,sans-serif;color:#e6dfcc;font-variant-numeric:tabular-nums}
.hl-prubeh span{display:block}
.hl-prubeh b{display:block;font:800 1.25rem/1.1 'Bricolage Grotesque',system-ui,sans-serif;color:var(--mustard);font-variant-numeric:tabular-nums;white-space:nowrap}
.hl-ostrihat{min-height:46px;padding:.3rem 0;border:2px solid var(--mustard);border-radius:999px;background:var(--mustard);color:var(--ink);font:600 .875rem/1 Figtree,system-ui,sans-serif;cursor:pointer;transition:background-color .15s,color .15s}
.hl-ostrihat:hover{background:transparent;color:var(--mustard)}
.hl-scena :focus-visible{box-shadow:none}
.hl-strojek{display:none;position:absolute;left:0;top:0;z-index:3;height:auto;pointer-events:none;transform-origin:50% 0;will-change:transform}
.hl-pripraveno .hl-strojek{display:block}
/* karta po dokončení: na telefonu pod fotkou přes nadpis (fotka i hromádka zůstanou vidět, stav poboček a volání taky, výšku dorovná script.js),
   na počítači v panelu */
.hl-karta{position:absolute;left:0;right:0;top:100%;z-index:4;display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;align-items:start;column-gap:1rem;padding:.25rem 1rem .7rem;background:var(--ink);color:var(--paper)}
.hl-karta[hidden]{display:none}
.hl-k-h{grid-column:1;font:800 1.3rem/1.1 'Bricolage Grotesque',system-ui,sans-serif;color:var(--mustard);margin-bottom:.3rem}
.hl-k-s{grid-column:1;font-weight:600;line-height:1.25}
.hl-k-c{grid-column:1;font-size:1rem;line-height:1.3;font-variant-numeric:tabular-nums;color:#e6dfcc}
.hero .hl-karta .btn{grid-column:2;grid-row:1/3;min-height:46px;padding:.4rem 1.1rem;border-color:var(--mustard);background:var(--mustard);color:var(--ink)}
.hl-znovu{grid-column:2;grid-row:3;justify-self:center;min-height:32px;font-size:1rem}
.hl-klid .hl-napoveda,.hl-klid .hl-prubeh,.hl-klid .hl-ostrihat,.hl-hotovo .hl-prubeh,.hl-hotovo .hl-ostrihat{display:none}
@media (max-width:759.98px){
/* omezený pohyb na telefonu: bez karty přes nadpis, jen přepínač před/po v pruhu vedle fotky */
.hl-klid .hl-karta{position:static;display:block;padding:0;background:none}
.hl-klid .hl-k-h,.hl-klid .hl-k-s,.hl-klid .hl-k-c,.hero .hl-klid .hl-karta .btn{display:none}
.hl-klid .hl-znovu{display:block;width:100%;min-height:46px;font-size:.875rem;line-height:1.2;text-align:center;color:var(--paper)}
}
@media (prefers-reduced-motion:no-preference){.hl-hotovo .hl-karta{animation:hl-karta .3s cubic-bezier(.16,1,.3,1) both}}
@keyframes hl-karta{from{opacity:0;transform:translateY(12px)}}
.hl-bezjs{z-index:1}

.hero-text{padding:.8rem 1rem 1rem}
.hero h1{font-size:clamp(2.6rem,13.5vw,3.5rem);line-height:.92;margin-bottom:.5rem;color:var(--ink);letter-spacing:-.03em}
.hero h1 span{display:block}
.hero h1 span:first-child{font:600 .78rem/1 Figtree,system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-bottom:.45rem}
.sub{font:500 1rem/1.35 Figtree,system-ui,sans-serif;margin-bottom:.7rem}
.cta{display:flex;flex-direction:column;gap:.35rem;max-width:25rem}
.hero .btn{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.hero .demo-note{margin:0;color:var(--mute)}
.open-now{display:grid;width:100%;max-width:25rem;margin:0 0 .7rem;padding:.15rem 0;border:2px solid var(--ink);border-radius:12px;background:#fff9ea;color:var(--ink);box-shadow:4px 4px 0 var(--ink);font-size:.95rem;font-weight:600;line-height:1.3}
.open-now .ln{position:relative;display:flex;flex-wrap:wrap;align-items:center;column-gap:.75rem;min-height:2.75rem;padding:.35rem 2.1rem .35rem .9rem;color:inherit;text-decoration:none}
.open-now .ln+.ln{border-top:1px dashed rgb(22 50 43 / .35)}
.open-now .ln::after{content:"";position:absolute;right:1rem;top:50%;width:.42rem;height:.42rem;border:solid var(--ink);border-width:2px 2px 0 0;transform:translateY(-50%) rotate(45deg)}
.open-now b{display:inline-flex;align-items:center;gap:.55rem;font-weight:700}
.open-now .st{margin-left:auto;text-align:right;color:var(--mute)}
.open-now .is-open .st{color:var(--ink);font-weight:600}
.open-now .ln:hover b{text-decoration:underline;text-underline-offset:.2em}
/* tečka stavu: plná zelená = otevřeno, prázdný kroužek = zavřeno (bez JS žádná, v textu jsou hodiny) */
.open-now .is-open b::before,.open-now .is-shut b::before,.loc-stav.is-open::before,.loc-stav.is-shut::before,.loc-tabs .is-open .tecka,.loc-tabs .is-shut .tecka{content:"";flex:none;display:block;width:.62rem;height:.62rem;border-radius:50%;border:2px solid var(--mute)}
.open-now .is-open b::before,.loc-stav.is-open::before{background:#2c8a4e;border-color:#2c8a4e}
@media (min-width:760px) and (max-width:999.98px){
.hl-scena{--v:clamp(22rem,calc(100svh - var(--hlava) - 22rem),calc((100vw - 13rem) * 4 / 3));justify-content:center;grid-template-columns:calc(var(--v) * .75) 11rem;gap:1.25rem}
.hl-nazev{display:block;font:800 2rem/1 'Bricolage Grotesque',system-ui,sans-serif;color:var(--mustard)}
.hl-napoveda{position:static;padding:0;background:none;font:400 1.0625rem/1.35 Figtree,system-ui,sans-serif;color:#e6dfcc}
.hl-karta{position:static;display:block;padding:.9rem;border-radius:8px;background:var(--paper);color:var(--ink);box-shadow:5px 5px 0 var(--mustard)}
.hl-k-h{color:var(--ink);margin-bottom:.4rem}
.hl-k-c{color:var(--mute)}
.hero .hl-karta .btn{width:100%;margin-top:.6rem;background:var(--ink);border-color:var(--ink);color:var(--paper)}
.hl-znovu{display:block;margin-top:.4rem}
.hero-text{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem;align-items:start;padding:1.2rem 2rem 1.4rem}
.hero h1,.sub{grid-column:1}
.open-now{grid-column:2;grid-row:1/3;margin:0}
.cta{grid-column:1/-1;flex-direction:row;align-items:center;max-width:none;gap:1rem;margin-top:.8rem}
.hero .demo-note{flex-basis:auto}
}
@media (min-width:1000px){
.hero{grid-template-columns:minmax(0,1fr) auto;height:max(34rem,min(calc(100svh - var(--hlava)),60rem))}
.hl-scena{--pad:clamp(1rem,3.2vh,1.75rem);--v:calc(max(34rem,min(100svh - var(--hlava),60rem)) - 2 * var(--pad));grid-column:2;grid-row:1;grid-template-columns:min(calc(var(--v) * .75),42vw) clamp(11rem,15vw,15rem);align-items:center;height:100%;gap:clamp(1.25rem,2.2vw,2.25rem);padding:var(--pad) var(--okraj) var(--pad) clamp(1.25rem,2.4vw,2.5rem)}
.hl-panel{height:min(100%,calc(min(calc(var(--v) * .75),42vw) * 4 / 3));gap:.75rem}
.hl-nazev{display:block;font:800 clamp(2rem,2.9vw,2.75rem)/1 'Bricolage Grotesque',system-ui,sans-serif;letter-spacing:-.015em;color:var(--mustard)}
.hl-napoveda{position:static;padding:0;background:none;font:400 1.0625rem/1.35 Figtree,system-ui,sans-serif;color:#e6dfcc}
.hl-prubeh{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;font-size:1.0625rem}
.hl-prubeh b{font-size:1.75rem}
.hl-ostrihat{min-height:54px;font-size:1.0625rem}
.hl-karta{position:static;display:block;padding:1.1rem 1.05rem 1rem;border-radius:8px;background:var(--paper);color:var(--ink);box-shadow:6px 6px 0 var(--mustard)}
.hl-k-h{font-size:1.5rem;margin-bottom:.55rem;color:var(--ink)}
.hl-k-s{font-size:1.125rem}
.hl-k-c{font-size:1.0625rem;color:var(--mute)}
.hero .hl-karta .btn{width:100%;margin-top:.75rem;min-height:52px;background:var(--ink);border-color:var(--ink);color:var(--paper)}
.hl-znovu{display:block;margin:.6rem 0 0;min-height:32px;font-size:1.0625rem}
.hero-text{grid-column:1;grid-row:1;align-self:center;width:100%;padding:2rem 1.5rem 2rem var(--okraj)}
.hero h1{font-size:clamp(3.4rem,6vw,4.4rem);line-height:.95;margin-bottom:1.1rem}
.hero h1 span:first-child{font:inherit;letter-spacing:inherit;text-transform:none;color:inherit;margin:0}
.sub{font-size:1.1875rem;line-height:1.4;max-width:30rem;margin-bottom:1.5rem}
.open-now{margin-bottom:1.4rem;font-size:1.0625rem}
.cta{gap:.5rem}
.demo-note,.demo-note-inline{font-size:.9375rem}
}

@media (min-width:1200px){.hero h1{font-size:clamp(4.4rem,7vw,7.6rem)}}

/* POBOČKY: hlavní funkce hned pod úvodem – živý stav, hodiny, Zavolat a Objednat online; na telefonu přepínač s posuvným dílkem */
.sec{padding:3.5rem 1rem}
.sec h2{font-size:clamp(2.4rem,10vw,3.4rem);margin-bottom:1.5rem;max-width:20ch}
.pob{background:var(--paper2);border-top:2px solid var(--ink)}
.pob .pob-hlava h2{margin-bottom:.7rem}
.pob-perex{max-width:34rem;margin-bottom:1.5rem;color:var(--mute)}
.pob .cards{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr)}
.pob .loc{background:#fff9ea;border:2px solid var(--ink);border-radius:12px;padding:1.25rem 1.15rem 1.1rem;box-shadow:5px 5px 0 var(--ink)}
.loc p{margin-bottom:.8rem}
.pob .loc h3{font-size:1.9rem;margin-bottom:.4rem}
/* stav v kartě: obyčejný text, který se zalomí, tečka visí vlevo */
.pob .loc-stav{position:relative;font-weight:600;margin-bottom:.6rem}
.pob .loc-stav.is-open,.pob .loc-stav.is-shut{padding-left:1.2rem}
.pob .loc-stav.is-open::before,.pob .loc-stav.is-shut::before{position:absolute;left:0;top:.5em}
.pob .loc-stav.is-shut{color:var(--mute)}
.loc table{border-collapse:collapse;margin:.4rem 0 0;width:100%}
.loc th,.loc td{text-align:left;padding:.4rem .6rem;border-bottom:1px dashed var(--mute);font-weight:400}
.loc th{font-weight:600;width:5rem}
.loc tr.today th,.loc tr.today td{font-weight:800;background:var(--mustard)}
.pob .loc-akce{display:grid;gap:.6rem;margin-top:1.2rem}
.pob .loc-akce .btn{width:100%}
.btn-obj{background:var(--mustard);border-color:var(--ink);color:var(--ink)}
.pob .loc .demo-note{margin:.55rem 0 0}
.loc.is-off{display:none}
/* přepínač poboček (telefon, vytváří ho script.js): tmavý dílek pod vybranou pobočkou se posune */
.pob .loc-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0;margin-bottom:1rem;padding:4px;border:2px solid var(--ink);border-radius:999px;background:#fff9ea}
.pob .loc-tabs::before{content:"";position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:var(--ink);transition:transform .5s cubic-bezier(.77,0,.18,1)}
.pob .loc-tabs[data-i="1"]::before{transform:translateX(100%)}
.pob .loc-tabs button{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;border:0;border-radius:999px;background:none;color:var(--ink);font:600 1.05rem Figtree,system-ui,sans-serif;cursor:pointer;transition:color .3s}
.pob .loc-tabs button[aria-selected="true"]{background:none;color:var(--paper)}
.loc-tabs .is-shut .tecka{border-color:currentColor;opacity:.7}
.loc-tabs .is-open .tecka{background:#3fb06a;border-color:#3fb06a}
@media (min-width:900px){
.sec{padding:5.5rem var(--okraj)}
.sec h2{font-size:clamp(3rem,4.6vw,4.5rem)}
.pob .cards{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.6rem;row-gap:0}
/* řádky obou karet zarovnané: karta = 6 řádků společné mřížky */
@supports (grid-template-rows:subgrid){.pob .loc{display:grid;grid-row:span 6;grid-template-rows:subgrid;row-gap:0;align-content:start}}
}
@media (min-width:1200px){
.pob{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,2.3fr);column-gap:3.5rem;align-items:start}
.pob .pob-hlava h2{max-width:11ch}
}

/* VĚTA: tmavá plocha, která o sekci níž přejde v hřbet hřebenu */
.hero-dal{display:grid;background:var(--ink);color:var(--paper)}
.hd-text{padding:3rem 1rem 2.4rem}
.lead{font:700 clamp(1.7rem,7vw,2.6rem)/1.14 'Bricolage Grotesque',system-ui,sans-serif;letter-spacing:-.02em;text-wrap:balance;margin-bottom:1.6rem}
.hero-photo{margin:0}
.hero-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 38%}
@media (min-width:1000px){
.hero-dal{grid-template-columns:minmax(0,7fr) minmax(0,5fr);min-height:min(44rem,88svh)}
.hd-text{align-self:center;padding:5rem 4rem 5rem var(--okraj)}
.lead{font-size:clamp(2.6rem,4.3vw,4.25rem);line-height:1.08}
.hero-photo{position:relative}
.hero-photo img{position:absolute;inset:0;height:100%;aspect-ratio:auto}
}

/* CENÍK JAKO HŘEBEN (moment 1): tmavá plocha je hřbet, služby jsou zuby. Délka zubu = délka služby v minutách.
   Na počítači visí zuby dolů a jde po nich přejet jako po skutečném hřebenu, na telefonu je hřbet vlevo a zuby jdou doprava. */
.hr{background:var(--paper)}
.hr-hlava{padding:2.6rem 1rem 2rem;background:var(--ink);color:var(--paper)}
.hr-hlava h2{font-size:clamp(2.6rem,11.5vw,3.6rem);line-height:1;color:var(--mustard);margin-bottom:.8rem}
.hr-hlava p{max-width:34rem;color:#e6dfcc}
.z20{--m:20}.z25{--m:25}.z30{--m:30}.z40{--m:40}.z45{--m:45}.z55{--m:55}.z60{--m:60}.z90{--m:90}.z120{--m:120}.z135{--m:135}.z150{--m:150}.z180{--m:180}
.zuby{display:grid;gap:.4rem;list-style:none;margin:0;padding:.4rem 1rem 0 0;border-left:1rem solid var(--ink)}
.zuby button{display:flex;align-items:center;gap:.75rem;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.z-zub{display:flex;flex-direction:column;justify-content:center;flex:none;width:calc(50% + var(--m) * .15%);min-height:3.5rem;padding:.35rem .9rem .35rem .75rem;border-radius:0 1.75rem 1.75rem 0;background:var(--ink);color:var(--paper);transition:background-color .15s,color .15s}
.z-n{font:700 1.03rem/1.15 'Bricolage Grotesque',system-ui,sans-serif}
.z-m{font-size:.875rem;line-height:1.25;color:#cfc8b4;font-variant-numeric:tabular-nums;transition:color .15s}
.z-k{margin-left:auto;font:800 1.06rem/1.1 'Bricolage Grotesque',system-ui,sans-serif;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.zuby button:hover .z-zub,.zuby button:focus-visible .z-zub,.zuby .je-vas .z-zub{background:var(--mustard);color:var(--ink)}
.zuby button:hover .z-m,.zuby button:focus-visible .z-m,.zuby .je-vas .z-m{color:var(--ink)}
.zuby.z-ceka,.zuby.z-jede{overflow:clip}
.zuby.z-ceka li{transform:translateX(-101%)}
.hr-pata{display:grid;gap:.8rem;padding:1.8rem 1rem 3.2rem}
.hr-pata p:first-child{font:700 1.2rem/1.25 'Bricolage Grotesque',system-ui,sans-serif}
.hr-pata .linkbtn{display:inline-block;padding:.5rem 0}
@media (min-width:760px){
.hr-hlava{padding:4rem var(--okraj) 2.6rem}
.hr-hlava h2{font-size:clamp(3.6rem,7.6vw,7rem)}
.zuby{border-left-width:var(--okraj);padding-right:var(--okraj)}
.hr-pata{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:3rem;padding:2.6rem var(--okraj) 5rem}
}
@media (min-width:1200px){
.hr-hlava{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,25rem);align-items:end;gap:3rem;padding:4rem var(--okraj) 2.8rem}
.hr-hlava p{font-size:1.25rem;line-height:1.4;margin-bottom:.4rem}
.zuby{grid-template-columns:repeat(12,minmax(0,1fr));gap:0 clamp(.7rem,1.5vw,1.6rem);align-items:start;padding:0 var(--okraj);border-left:0}
.zuby button{flex-direction:column;align-items:stretch;gap:.65rem}
.z-zub{flex-direction:row;justify-content:space-between;align-items:center;writing-mode:vertical-rl;width:100%;height:calc(13rem + var(--m) * .135rem);min-height:0;padding:1.1rem .25rem 1.25rem;border-radius:0 0 2.4rem 2.4rem;transform-origin:50% 0}
.z-n{flex:1 1 auto;min-height:0;font-size:clamp(1.15rem,1.55vw,1.5rem);line-height:1.08}
.z-m{flex:none;writing-mode:horizontal-tb;font-size:1.0625rem;margin-top:.5rem}
.z-k{margin:0;font-size:clamp(1.06rem,1.45vw,1.35rem);text-align:center}
.zuby.z-ceka li{transform:translateY(-101%)}
}
@media (prefers-reduced-motion:no-preference){.zuby.z-jede li{transition:transform .75s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i) * 40ms)}}

/* SVATEBNÍ DEN (moment 2). Hotová kompozice bez JS a při omezeném pohybu: hořčicová plocha, rozpis dne jako seznam a fotka.
   S JS (.sv-hraje) je pódium připnuté, hodiny běží podle posouvání od ranního česání po poslední tanec a plocha mění barvu po kapitolách. */
.sv{background:var(--mustard);color:var(--ink)}
.sv-pod{position:relative;display:grid;gap:1.8rem;padding:3.5rem 1rem 2rem}
.sv h2{font-size:clamp(2.4rem,10.4vw,3.4rem);line-height:1;max-width:14ch}
.sv-den{display:grid;list-style:none;margin:0;padding:0}
.sv-den li{display:grid;grid-template-columns:5.6rem minmax(0,1fr);gap:.8rem;align-items:baseline;padding:.7rem 0;border-top:3px solid var(--ink);font-size:1.125rem;line-height:1.3}
.sv-den li:last-child{border-bottom:3px solid var(--ink)}
.sv-den time{font:800 1.75rem/1 'Bricolage Grotesque',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.sv-foto{position:relative;margin:0;overflow:hidden}
.sv-foto img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:68% 50%}
.sv-dole{display:grid;gap:1rem;padding:0 1rem 3.5rem}
.sv-dole .btn{background:var(--ink);border-color:var(--ink);color:var(--paper)}
@media (min-width:900px){
.sv-pod{grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-rows:auto 1fr;gap:2.5rem 3.5rem;padding:6rem 0 3rem var(--okraj)}
.sv h2{grid-column:1;font-size:clamp(3.4rem,6.4vw,6rem);max-width:none}
.sv-den{grid-column:1}
.sv-den li{grid-template-columns:10rem minmax(0,1fr);font-size:1.375rem;padding:.9rem 0}
.sv-den time{font-size:2.6rem}
.sv-foto{grid-column:2;grid-row:1/3}
.sv-foto img{height:100%;aspect-ratio:auto}
.sv-dole{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:start;gap:3rem;padding:1.5rem var(--okraj) 6rem;font-size:1.125rem}
}
.sv-hraje .sv-draha{height:400svh}
.sv-hraje .sv-pod{position:sticky;top:var(--hlava);height:calc(100svh - var(--hlava));overflow:hidden;display:flex;flex-direction:column;gap:0;padding:1.4rem 1rem 5.4rem;background:var(--mustard);transition:color .25s}
.sv-hraje .sv-pod.sv-tma{color:var(--paper)}
.sv-nebe{position:absolute;inset:0;background:var(--mustard)}
.sv-nebe i{position:absolute;inset:0;opacity:0;transition:opacity .35s}
.sv-nebe i:nth-child(1){background:var(--paper)}
.sv-nebe i:nth-child(2){background:var(--ink2)}
.sv-nebe i:nth-child(3){background:var(--ink)}
.sv-nebe i.je{opacity:1}
.sv-hraje h2{position:relative;font-size:clamp(1.5rem,6.2vw,1.9rem);max-width:none}
.sv-cas{position:relative;margin:.4rem 0 .1rem;font:800 clamp(5.4rem,33vw,9rem)/.98 'Bricolage Grotesque',system-ui,sans-serif;letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap;will-change:transform}
.sv-hraje .sv-den{position:relative;display:grid}
.sv-hraje .sv-den li{grid-area:1/1;display:block;padding:0;border:0;font:700 clamp(1.3rem,5.4vw,1.6rem)/1.15 'Bricolage Grotesque',system-ui,sans-serif;opacity:0;transform:translateY(10px);transition:opacity .22s,transform .22s}
.sv-hraje .sv-den li.je{opacity:1;transform:none}
.sv-hraje .sv-den time{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.sv-hraje .sv-foto{flex:1;min-height:0;margin:.9rem -1rem 0}
.sv-hraje .sv-foto img{height:100%;aspect-ratio:auto;will-change:transform;transform-origin:62% 50%}
.sv-foto::after{content:"";position:absolute;inset:0;background:var(--ink);opacity:0;transition:opacity .35s;pointer-events:none}
.sv-pod[data-k="3"] .sv-foto::after{opacity:.22}
.sv-pod[data-k="4"] .sv-foto::after{opacity:.42}
.sv-osa{position:absolute;left:1rem;right:1rem;bottom:4.9rem;height:.2rem;background:currentColor;border-radius:2px}
.sv-osa b{position:absolute;top:50%;width:.2rem;height:.7rem;margin-top:-.35rem;background:currentColor}
.sv-osa b:nth-child(1){left:0}.sv-osa b:nth-child(2){left:25%}.sv-osa b:nth-child(3){left:50%}.sv-osa b:nth-child(4){left:75%}.sv-osa b:nth-child(5){left:calc(100% - .2rem)}
.sv-sponka{position:absolute;left:0;top:50%;width:2.4rem;height:.9rem;margin:-.45rem 0 0 -1.2rem;color:inherit;will-change:transform}
.sv-hraje .sv-dole{padding-top:2.4rem;background:var(--ink);color:var(--paper)}
.sv-hraje .sv-dole .btn{background:var(--mustard);border-color:var(--mustard);color:var(--ink)}
@media (min-width:900px){
.sv-hraje .sv-pod{display:grid;grid-template-columns:minmax(0,1fr) 37%;grid-template-rows:auto minmax(0,1fr) auto auto;gap:0 3rem;padding:2.2rem 0 0 var(--okraj)}
.sv-hraje h2{grid-column:1;grid-row:1;font-size:clamp(2.2rem,3.6vw,3.4rem)}
.sv-cas{grid-column:1;grid-row:2;align-self:end;margin:0 0 .4rem;font-size:clamp(9rem,min(23vw,48svh),24rem);line-height:.9}
.sv-hraje .sv-den{grid-column:1;grid-row:3}
.sv-hraje .sv-den li{font-size:clamp(1.9rem,3.2vw,3rem)}
.sv-osa{position:relative;left:auto;right:auto;bottom:auto;grid-column:1;grid-row:4;margin:2.2rem 0 2.6rem}
.sv-hraje .sv-foto{grid-column:2;grid-row:1/-1;margin:-2.2rem 0 0}
.sv-hraje .sv-dole{padding-top:3.5rem}
}

/* PÉČE: fotka přes celou výšku k levému okraji, velký seznam vpravo */
.pc{display:grid;background:var(--paper)}
.pc-foto{margin:0}
.pc-foto img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 30%}
.pc-text{padding:3rem 1rem 3.5rem}
.pc h2{font-size:clamp(2.4rem,10vw,3.4rem);line-height:1;margin-bottom:1.6rem}
.pc article{padding:1.1rem 0 1.2rem;border-top:3px solid var(--ink)}
.pc h3{font-size:clamp(1.55rem,6.4vw,2rem);margin-bottom:.4rem}
@media (min-width:1000px){
.pc{grid-template-columns:minmax(0,46fr) minmax(0,54fr)}
.pc-foto{position:relative}
.pc-foto img{position:absolute;inset:0;height:100%;aspect-ratio:auto}
.pc-text{padding:6.5rem var(--okraj) 6.5rem 4.5rem}
.pc h2{font-size:clamp(3.2rem,5vw,4.75rem);margin-bottom:2.6rem}
.pc article{display:grid;gap:.5rem;padding:1.5rem 0 1.7rem}
.pc h3{font-size:clamp(1.9rem,2.7vw,2.5rem)}
.pc p{font-size:1.125rem}
}

/* TÝM: tmavý pás, obří nadpis přejíždí přes hranu fotky */
.tm{position:relative;display:grid;background:var(--ink);color:var(--paper)}
.tm-text{position:relative;z-index:1;padding:3.2rem 1rem 2.2rem}
.tm h2{font-size:clamp(3rem,14.5vw,4.6rem);line-height:.96;color:var(--mustard);margin-bottom:1.1rem}
.tm p{color:#e6dfcc}
.tm-foto{margin:0}
.tm-foto img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 62%}
@media (min-width:1000px){
.tm{grid-template-columns:minmax(0,62fr) minmax(0,38fr);min-height:min(52rem,100svh)}
.tm-text{align-self:end;padding:6rem 3rem 5.5rem var(--okraj)}
.tm h2{font-size:clamp(5rem,10.4vw,10.5rem);line-height:.9;margin:0 -7rem 2.2rem 0}
.tm p{max-width:38rem;font-size:1.25rem;line-height:1.5}
.tm-foto{position:relative}
.tm-foto img{position:absolute;inset:0;height:100%;aspect-ratio:auto;object-position:50% 50%}
}

/* KONEC: velké sdělení, hlavní akce a vzkaz */
.konec{display:grid;gap:1.6rem;padding:3.5rem 1rem;background:var(--mustard);color:var(--ink)}
.konec h2{font-size:clamp(2.7rem,13vw,4.2rem);line-height:.98;letter-spacing:-.025em}
.konec h2 span{display:block;margin-top:.15em}
.konec-cta{display:grid;gap:.5rem;align-content:start;max-width:25rem}
.konec-cta .btn:first-child{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.konec-cta .btn-obj{background:transparent}
.konec .demo-note{margin:0;color:var(--ink)}
.msg{padding:1.3rem 1.15rem 1.2rem;border:2px solid var(--ink);border-radius:12px;background:var(--paper);box-shadow:6px 6px 0 var(--ink)}
.msg h3{font-size:1.7rem;margin-bottom:.4rem}
.msg label{display:block;font-weight:600;margin:.7rem 0 .2rem}
.msg input,.msg textarea{width:100%;font:inherit;padding:.7rem;border:2px solid var(--ink);border-radius:6px;background:#fff9ea;color:var(--ink)}
.msg .btn{width:100%;margin-top:1rem;background:var(--ink);border-color:var(--ink);color:var(--paper)}
.form-note{margin-top:.7rem;font-weight:600}
.form-note:empty{display:none}
@media (min-width:1000px){
.konec{grid-template-columns:minmax(0,1fr) minmax(0,40rem);gap:3.5rem 5rem;padding:7rem var(--okraj)}
.konec h2{grid-column:1/-1;font-size:clamp(4.4rem,8.6vw,8.4rem);line-height:.94}
.konec-cta{align-self:start}
.konec-cta .btn{font-size:1.1875rem;min-height:60px}
.konec .demo-note{font-size:.95rem;margin-bottom:.4rem}
.msg{display:grid;grid-template-columns:1fr 1fr;gap:.2rem 1rem;padding:1.6rem 1.5rem 1.5rem}
.msg h3{grid-column:1/-1;font-size:2rem}
.msg .pole{min-width:0}
.msg .pole-cele,.msg .btn,.form-note{grid-column:1/-1}
}

/* PATIČKA */
.foot{padding:3rem 1rem calc(6rem + env(safe-area-inset-bottom));background:var(--ink);color:#d9d2bf}
.foot-sl{display:grid;gap:1.6rem}
.foot-h{font:800 1.5rem/1.1 'Bricolage Grotesque',system-ui,sans-serif;color:var(--paper);margin-bottom:.35rem}
.foot nav{display:grid;grid-template-columns:1fr 1fr;gap:.1rem 1rem}
.foot nav a{display:block;padding:.55rem 0;font-weight:600;text-decoration:none}
.foot nav a:hover{color:var(--mustard);text-decoration:underline}
.foot-name{margin:2.4rem 0 1.2rem;font-size:calc((100vw - 2 * var(--okraj)) / 3.88);line-height:.86;letter-spacing:-.035em;color:var(--mustard);white-space:nowrap}
.foot-name small{display:block;margin:0 0 .6rem .15rem;font:600 .875rem/1 Figtree,system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#d9d2bf}
.foot-pata{display:grid;gap:.2rem}
.foot-back{display:inline-block;padding:.5rem 0;font-weight:600;color:var(--mustard)}
@media (min-width:900px){
.foot{padding:4.5rem var(--okraj) 2.2rem}
.foot-sl{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr);gap:2rem}
.foot-name{margin:3.4rem 0 1.6rem}
.foot-pata{display:flex;justify-content:space-between;align-items:baseline;gap:2rem}
}

.sticky{position:fixed;left:.75rem;right:.75rem;bottom:max(.75rem,env(safe-area-inset-bottom));z-index:30;display:flex;gap:.5rem;transform:translateY(calc(100% + 1.5rem));visibility:hidden;transition:transform .35s cubic-bezier(.16,1,.3,1),visibility .35s}
.sticky.is-shown{transform:none;visibility:visible}
.sticky button{flex:1;font:600 1rem Figtree,sans-serif;border:2px solid var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:56px;border-radius:999px;background:var(--mustard);color:var(--ink);box-shadow:0 8px 0 -4px var(--ink)}
.sticky button+button{background:var(--paper)}
.pop{width:min(100% - 2rem,26rem);margin:auto;border:3px solid var(--ink);border-radius:8px;padding:2rem 1.5rem 1.5rem;background:var(--paper);color:var(--ink);box-shadow:8px 8px 0 var(--ink)}
.pop::backdrop{background:rgba(22,50,43,.6)}
.pop h2{font-size:1.8rem;margin-bottom:.75rem}
.pop p{margin-bottom:1rem}
.pop .pop-sub{margin-bottom:1.4rem;color:var(--mute)}
.pop .btn{width:100%}

@media (min-width:900px){
.top{padding:.8rem var(--okraj)}
.top nav{display:flex;flex:1;justify-content:space-evenly;gap:1rem}
.top nav a{text-decoration:none;font-size:1rem;font-weight:500;letter-spacing:.01em}
.top nav a:hover{color:var(--mustard)}
.sticky{display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* FORMA-POLISH (generuje vizitka/tools/ukazky-polish.py) */
::selection{background:#f4b73f;color:#111111}
:where(html){scrollbar-color:#f4b73f #16322b}
:where(input,textarea){caret-color:#f4b73f}
: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 #f4b73f;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}
.sticky{bottom:calc(12px + env(safe-area-inset-bottom))}@media (max-width:899px){.foot{padding-bottom:calc(6rem + env(safe-area-inset-bottom))}}
/* /FORMA-POLISH */
