/* hotely.dopplerpromo.cz — finální směr: cinematický tmavý v Doppler barvách */
:root{
  /* Doppler brand: navy #102439 · kobalt #223ca5 · burgund #A72B3A */
  --navy:#102439;        /* brand navy — patička, nadpisy */
  --deep:#FFFFFF;        /* základní plocha stránky */
  --deep-2:#F2F5F9;      /* sekundární plocha — pásy sekcí */
  --kobalt:#223ca5;      /* brand — plné plochy CTA */
  --kobalt-hi:#2A49C4;   /* hover */
  --burg:#A72B3A;        /* brand — plné plochy akcentů */
  --live:#17A34A;        /* dostupnost — jediná barva mimo brand, čte se jako stav */
  --paper:#0E2136;       /* primární text a nadpisy */
  --paper-dim:#4C607A;   /* běžný text */
  --hair:#D5DDE6;
  --hair-s:#E7ECF2;
  --max:1200px;                    /* korporátní šířka, ne přes celou obrazovku */
  --gut:clamp(20px,4vw,44px);
  --sec:clamp(54px,5.6vw,88px);     /* kompaktní vertikální rytmus */
}
*{box-sizing:border-box;margin:0;padding:0}
/* atribut hidden musí přebít jakékoli display v CSS — jinak zůstane prvek vidět */
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--deep)}
body{
  font-family:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--deep);color:var(--paper-dim);
  font-size:18px;line-height:1.62;font-weight:400;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.sec{padding:var(--sec) 0}

/* ——— typografie: lehká a velká ——— */
h1,h2,h3{color:var(--paper);font-weight:600;letter-spacing:-.03em;line-height:1.1;text-wrap:balance}
h1{font-size:clamp(34px,4.2vw,58px);line-height:1.08}
h2{font-size:clamp(27px,3vw,42px)}
h3{font-size:clamp(21px,1.9vw,28px);letter-spacing:-.028em;line-height:1.18}
.eyebrow{
  font-size:12px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;
  color:var(--paper);opacity:.64;display:block;margin-bottom:26px;
}
.lead{font-size:clamp(17px,1.3vw,20px);line-height:1.6;text-wrap:pretty;color:var(--paper-dim);max-width:46ch;font-weight:400}
.lead strong{color:var(--paper);font-weight:500}
p{margin:0 0 18px}
p:last-child{margin-bottom:0}
.hd{margin-bottom:clamp(26px,2.8vw,42px)}
.hd h2{max-width:15ch}
.hd .lead{margin-top:18px;max-width:52ch}
.hd.w h2{max-width:19ch}

/* ——— akce: plné brand plochy ——— */
.act{
  display:inline-flex;align-items:center;gap:11px;
  background:var(--kobalt);color:#fff;text-decoration:none;
  font-weight:500;font-size:17.5px;letter-spacing:-.01em;
  padding:15px 26px;border:0;cursor:pointer;
  transition:background .2s ease,transform .2s ease;
}
.act:hover{background:var(--kobalt-hi);transform:translateY(-2px)}
.act.big{font-size:clamp(17px,1.5vw,19px);padding:19px 32px}
.act.line{background:transparent;color:var(--paper);box-shadow:inset 0 0 0 1px var(--kobalt)}
.act.line .ico{color:var(--kobalt)}
.act.line:hover{box-shadow:inset 0 0 0 2px var(--kobalt);background:rgba(34,60,165,.05)}
.act.burg{background:var(--burg)}
.act.burg:hover{background:#B93142}
.ico{width:17px;height:17px;flex:0 0 auto;display:block;color:inherit}
.act.big .ico{width:19px;height:19px}
.scene-cta .ico{width:16px;height:16px}

/* ——— hlavička ——— */
.top{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.92);backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid var(--hair)}
.top .wrap{display:flex;align-items:center;gap:28px;padding-top:13px;padding-bottom:13px}
.brand{display:flex;align-items:center;gap:16px;text-decoration:none}
.brand img{height:34px;width:auto;display:block}
.brand span{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--paper);opacity:.66;
  padding-left:16px;border-left:1px solid var(--hair);white-space:nowrap}
.topnav{display:flex;gap:30px;margin-left:auto}
.topnav a{font-size:14.5px;font-weight:400;color:var(--paper);opacity:.62;text-decoration:none;transition:opacity .15s;white-space:nowrap}
.topnav a:hover{opacity:1}

/* ——— hero: kompozice bloků ——— */
.hero{padding-top:clamp(26px,2.8vw,44px);padding-bottom:clamp(34px,3.6vw,56px);border-bottom:1px solid var(--hair)}
.hero-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(12px,1.3vw,18px)}
.hb-txt{grid-column:span 6;align-self:center;padding-right:clamp(0px,2.2vw,34px)}
.hb-txt .eyebrow{margin-bottom:18px}
.hb-txt h1{margin-bottom:18px}
.hb-txt h1 em{font-style:normal;color:var(--kobalt)}
.hero-alt{font-size:16px;font-weight:500;color:var(--paper);text-decoration:none;
  border-bottom:1px solid var(--kobalt);padding-bottom:4px;transition:border-color .15s}
.hero-alt:hover{border-bottom-color:var(--paper)}
.hb-txt .lead{max-width:34ch;margin-bottom:26px}
.hb-img{grid-column:span 6;margin:0;overflow:hidden}
.hb-img img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 56%;display:block}
.hero-act{display:flex;gap:24px;flex-wrap:wrap;align-items:center}
.hero-note{margin-top:20px;font-size:14.5px;color:var(--paper-dim);max-width:42ch;line-height:1.6}
.hero-note b{color:var(--paper);font-weight:600}
.hb-f{grid-column:span 3;background:var(--deep-2);padding:20px 22px;display:flex;flex-direction:column;justify-content:center}
.hb-f b{display:block;font-size:clamp(21px,1.9vw,27px);font-weight:600;color:var(--paper);letter-spacing:-.03em;line-height:1.1;margin-bottom:7px}
.hb-f>span{font-size:13.5px;line-height:1.5;color:var(--paper-dim);display:block}

/* ——— provozy: záložky ——— */
.tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(8px,1vw,12px);margin-bottom:clamp(22px,2.4vw,34px)}
.tab{
  appearance:none;background:0;border:0;padding:0;cursor:pointer;
  font:inherit;text-align:left;display:block;
}
.tab img{
  width:100%;aspect-ratio:3/2;object-fit:cover;display:block;background:var(--deep-2);
  outline:2px solid transparent;outline-offset:-2px;opacity:.6;
  transition:opacity .18s,outline-color .18s;
}
.tab span{display:block;font-size:13.5px;font-weight:500;line-height:1.35;color:var(--paper-dim);margin-top:9px;transition:color .18s}
.tab:hover img{opacity:.85}
.tab[aria-selected="true"] img{opacity:1;outline-color:var(--kobalt)}
.tab[aria-selected="true"] span{color:var(--kobalt)}
.panel{display:none}
.panel.is-on{display:block}
html:not(.js) .tabs{display:none}
html:not(.js) .panel{display:block;margin-bottom:clamp(40px,4vw,64px)}
.js .pnl-h{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pnl-h{margin-bottom:18px}
.pnl-fig{margin:0 0 clamp(20px,2.2vw,32px);overflow:hidden}
.pnl-fig img{width:100%;aspect-ratio:21/9;object-fit:cover;display:block}
.pnl-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(26px,3.4vw,60px);align-items:start}
.plist{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}
.plist a{
  font-size:14px;font-weight:400;color:var(--paper);text-decoration:none;
  padding:7px 13px;border:1px solid var(--hair);transition:.16s;letter-spacing:.01em;
}
.plist a:hover{background:var(--paper);color:var(--deep);border-color:var(--paper)}
.pgrp{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--paper);opacity:.6;display:block;margin-bottom:10px}
.scene-cta{display:inline-flex;align-items:center;gap:10px;font-size:15.5px;color:var(--paper);text-decoration:none;border-bottom:1px solid var(--kobalt);padding-bottom:4px;transition:.16s}
.scene-cta:hover{border-color:var(--paper)}
.warn{border-left:2px solid var(--burg);padding-left:18px;font-size:15.5px;color:var(--paper-dim);margin-bottom:22px;line-height:1.6}
.warn b{color:var(--paper);font-weight:600}
.pnl-body .lead{font-size:17px;margin-bottom:22px;max-width:42ch}

/* ——— konverzní pruh ——— */
.strip{background:var(--kobalt)}
.strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:clamp(24px,4vw,60px);padding-top:clamp(32px,3.2vw,48px);padding-bottom:clamp(32px,3.2vw,48px);flex-wrap:wrap}
.strip h3{color:#fff;font-weight:600;max-width:26ch;font-size:clamp(26px,2.7vw,40px)}
.strip p{color:rgba(255,255,255,.82);font-size:17px;max-width:58ch;margin:12px 0 0}
.strip .act{background:#fff;color:var(--kobalt);font-weight:600}
.strip .act:hover{background:#E6ECF7;color:var(--kobalt)}

/* ——— sezóna ——— */
.season{background:var(--deep-2)}
/* okno pro výrobu na míru — září až leden, přes přelom roku */
.ywin{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(4px,.7vw,12px);align-items:center;margin-bottom:11px}
.yw-leden,.yw-zari{position:relative;height:2px;display:block}
/* leden: navazuje zleva a tady končí */
.yw-leden{grid-column:1;
  background:linear-gradient(to left,var(--live) 0%,var(--live) 45%,rgba(23,163,74,0) 100%)}
.yw-leden::after{content:"";position:absolute;right:0;top:-5px;width:2px;height:12px;background:var(--live)}
/* září: tady začíná a pokračuje za okraj */
.yw-zari{grid-column:9 / -1;
  background:linear-gradient(to right,var(--live) 0%,var(--live) 80%,rgba(23,163,74,0) 100%)}
.yw-zari::before{content:"";position:absolute;left:0;top:-5px;width:2px;height:12px;background:var(--live)}
.ywin-l{grid-column:3 / 9;text-align:right;padding-right:10px;font-size:12.5px;line-height:1.3;color:var(--paper-dim)}
.ywin-l b{color:var(--live);font-weight:600}
.chart-note b{color:var(--paper);font-weight:600}

.year{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(4px,.7vw,12px);align-items:end;height:clamp(120px,13vw,170px);margin-bottom:18px}
.mo{position:relative;height:100%;display:flex;align-items:flex-end}
.mo i{display:block;width:100%;background:var(--hair);transition:background .2s}
.mo.pk i{background:var(--kobalt)}
.molab span.ted{position:relative}
.molab span.ted::after{content:"teď";position:absolute;left:50%;transform:translateX(-50%);top:15px;font-size:9.5px;letter-spacing:.08em;opacity:.65}
.molab{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(4px,.7vw,12px);border-top:1px solid var(--hair);padding-top:14px}
.molab span{font-size:12px;font-variant-numeric:tabular-nums;text-align:center;color:var(--paper);opacity:.6;letter-spacing:.06em}
.molab span.hi{opacity:1;font-weight:500}
.phases{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,2.6vw,40px);margin-top:clamp(32px,3.4vw,52px)}
.phase{display:block;text-decoration:none;padding-top:26px;border-top:1px solid var(--hair);transition:border-color .2s}
.phase:hover{border-color:var(--paper)}
.phase b{display:block;color:var(--paper);font-size:20px;font-weight:400;margin-bottom:12px;letter-spacing:-.015em}
.phase span{display:block;font-size:16px;color:var(--paper-dim);line-height:1.65;margin-bottom:16px}
.phase u{text-decoration:none;font-size:15.5px;color:var(--paper);border-bottom:1px solid var(--kobalt);padding-bottom:3px}

/* ——— zeď referencí: monochromatická, bez rámečků ——— */
.refwall{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  gap:clamp(26px,3vw,48px) clamp(20px,2.4vw,36px);margin:0;padding:0}
.refwall li{display:flex;flex-direction:column;gap:0}
.rl-logo{height:38px;display:flex;align-items:center;justify-content:flex-start;margin-bottom:15px}
.rl-img{max-height:38px;max-width:82%;width:auto;height:auto;object-fit:contain;object-position:left center;
  filter:brightness(0);opacity:.46;transition:opacity .2s}
.refwall li:hover .rl-img{opacity:.78}
.refwall b{font-size:14.5px;font-weight:600;color:var(--paper);letter-spacing:-.012em;line-height:1.3}
.rl-co{font-size:12.5px;color:var(--paper-dim);line-height:1.4;margin-top:4px}
.refwall em{font-style:normal;color:var(--kobalt);font-weight:600}
.refnote{margin-top:clamp(30px,3.2vw,46px);max-width:78ch;padding-top:22px;border-top:1px solid var(--hair)}
.refnote b{color:var(--paper);font-weight:600}

/* ——— realizace ——— */
.works{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(20px,2.2vw,34px)}
.wk{grid-column:span 6;display:flex;flex-direction:column}
.wk.lg{grid-column:span 12}
.wk-fig{overflow:hidden;margin-bottom:18px}
.wk-fig img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.2,1)}
.wk.lg .wk-fig img{aspect-ratio:2.5/1}
.wk:hover .wk-fig img{transform:scale(1.03)}
.wk h3{font-size:clamp(23px,1.9vw,30px);margin-bottom:10px}
.wk .meta{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--paper);opacity:.58;display:block;margin-bottom:18px}
.wk p{font-size:16.5px;line-height:1.7;color:var(--paper-dim)}
.wk .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:20px}
.wk .tags span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper);opacity:.62;border:1px solid var(--hair);padding:6px 11px}
.wnote{margin-top:clamp(30px,3vw,44px);padding-top:26px;border-top:1px solid var(--hair-s);font-size:18px;line-height:1.75;color:var(--paper-dim);max-width:76ch}
.wnote strong{color:var(--paper);font-weight:500}

/* ——— termíny ——— */
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,4vw,72px)}
.rows{border-top:1px solid var(--hair)}
.row{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:15px 0;border-bottom:1px solid var(--hair-s)}
.row span{font-size:17px;color:var(--paper-dim)}
.row b{font-size:18px;font-variant-numeric:tabular-nums;font-weight:400;color:var(--paper);white-space:nowrap;letter-spacing:-.015em}
.svc{list-style:none;border-top:1px solid var(--hair)}
.svc li{padding:16px 0 16px 30px;border-bottom:1px solid var(--hair-s);font-size:17px;line-height:1.7;position:relative;color:var(--paper-dim)}
.svc li strong{color:var(--paper);font-weight:500}
.svc li::before{content:"";position:absolute;left:0;top:1.72em;width:14px;height:1px;background:var(--kobalt)}

/* ——— dodací lhůty: pásový graf místo tabulky ——— */
.lt{border-top:1px solid var(--hair)}
.lt-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(90px,1fr) auto;gap:clamp(12px,1.6vw,24px);
  align-items:center;padding:13px 0;border-bottom:1px solid var(--hair-s)}
.lt-l{font-size:16px;color:var(--paper-dim);line-height:1.4}
.lt-pozn{display:block;font-size:12.5px;color:var(--paper-dim);opacity:.75;margin-top:2px;line-height:1.35}
.lt-t{position:relative;height:10px;background:var(--hair-s);border-radius:5px;display:block}
.lt-b{position:absolute;top:0;bottom:0;border-radius:5px;background:var(--kobalt);
  left:calc(var(--a) / 8 * 100%);right:calc((8 - var(--b)) / 8 * 100%)}
.lt-now{position:absolute;top:-2px;left:0;width:14px;height:14px;border-radius:50%;background:var(--burg)}
.lt-row b{font-size:16px;font-weight:600;color:var(--paper);white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}
.lt-ax{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(90px,1fr) auto;gap:clamp(12px,1.6vw,24px);padding-top:9px}
.lt-sc{display:flex;justify-content:space-between}
.lt-sc i,.lt-u{font-style:normal;font-size:11.5px;color:var(--paper-dim);opacity:.75;font-variant-numeric:tabular-nums}
.lt-u{white-space:nowrap}

/* ——— obrazový předěl v textovém úseku ——— */
.band{margin:0;background:var(--deep-2)}
.band>img{max-width:var(--max);margin:0 auto;width:100%;aspect-ratio:3/1;object-fit:cover;object-position:50% 55%;display:block}
.band figcaption{font-size:14.5px;line-height:1.6;color:var(--paper-dim);padding-top:14px;padding-bottom:clamp(30px,3vw,44px)}

/* ——— role ——— */
.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(26px,2.8vw,42px) clamp(26px,3vw,46px)}
.role h3{font-size:clamp(21px,1.7vw,26px);margin-bottom:14px}
.role p{font-size:16.5px;line-height:1.7;color:var(--paper-dim)}

/* ——— FAQ ——— */
.qa{max-width:none}
.q{border-bottom:1px solid var(--hair-s)}
.q summary{cursor:pointer;list-style:none;padding:21px 52px 21px 0;font-size:clamp(17px,1.3vw,20px);font-weight:500;color:var(--paper);position:relative;letter-spacing:-.02em}
.q summary::-webkit-details-marker{display:none}
.q summary::after{content:"";position:absolute;right:8px;top:50%;width:16px;height:1px;background:var(--kobalt)}
.q summary::before{content:"";position:absolute;right:15.5px;top:calc(50% - 8px);width:1px;height:16px;background:var(--kobalt);transition:transform .25s}
.q[open] summary::before{transform:scaleY(0)}
.q .a{padding:0 52px 24px 0;font-size:16.5px;line-height:1.72;color:var(--paper-dim);max-width:78ch}

/* ——— kontakt ——— */
#kontakt{background:var(--deep-2)}
.cta-in{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(30px,3.6vw,64px);align-items:start}
.callbig{display:inline-flex;align-items:center;gap:14px;font-size:clamp(28px,2.8vw,40px);font-weight:600;letter-spacing:-.035em;color:var(--paper);text-decoration:none;line-height:1;margin-bottom:18px}
.callbig .ico{color:var(--kobalt);width:clamp(25px,2.4vw,31px);height:clamp(25px,2.4vw,31px)}
.callwho{font-size:16.5px;color:var(--paper-dim);line-height:1.7}
.callwho b{color:var(--paper);font-weight:600}

/* co se stane po odeslání — zaplňuje sloupec a snižuje práh */
.after{list-style:none;margin-top:28px;border-top:1px solid var(--hair);padding-top:24px;display:grid;gap:16px}
.after li{display:flex;gap:14px;font-size:15.5px;line-height:1.55;color:var(--paper-dim)}
.after li b{flex:0 0 auto;color:var(--kobalt);font-weight:600;font-variant-numeric:tabular-nums}
.after li strong{color:var(--paper);font-weight:600}

/* formulář jako panel, ne podtržítka na papíře */
form{display:grid;gap:15px;background:#fff;border:1px solid var(--hair);padding:clamp(20px,2.4vw,32px)}
.r2{display:grid;grid-template-columns:1fr 1fr;gap:15px}
label{display:block;font-size:13px;font-weight:600;color:var(--paper);margin-bottom:7px}
label .opt{font-weight:400;color:var(--paper-dim)}
label .req{color:var(--burg);margin-left:2px}
input,select,textarea{
  width:100%;font-family:inherit;font-size:16px;font-weight:400;color:var(--paper);
  background:#fff;border:1px solid var(--hair);border-radius:2px;
  padding:12px 13px;transition:border-color .15s,box-shadow .15s;
}
input::placeholder,textarea::placeholder{color:var(--paper-dim);opacity:.66}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--kobalt);box-shadow:0 0 0 3px rgba(34,60,165,.14)}
input:hover,select:hover,textarea:hover{border-color:#B9C5D2}
select{appearance:none;padding-right:34px;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--paper) 50%),linear-gradient(135deg,var(--paper) 50%,transparent 50%);
  background-position:calc(100% - 18px) 52%,calc(100% - 13px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
textarea{min-height:96px;resize:vertical;line-height:1.6}
.more{border:1px solid var(--hair);border-radius:2px}
.more>summary{cursor:pointer;list-style:none;padding:13px 15px;font-size:14px;font-weight:600;color:var(--paper);position:relative}
.more>summary::-webkit-details-marker{display:none}
.more>summary::after{content:"+";position:absolute;right:15px;top:50%;transform:translateY(-50%);color:var(--kobalt);font-size:19px;line-height:1}
.more[open]>summary::after{content:"–"}
.more-in{display:grid;gap:15px;padding:0 15px 15px}
form .act{width:100%;justify-content:center;padding:17px 26px;font-size:17px;margin-top:4px}
.fine{font-size:13px;line-height:1.6;color:var(--paper-dim)}
.fine a{color:var(--kobalt);text-decoration:underline}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* ——— přítomnost obchodníka: avatar + stav dostupnosti ——— */
.av-wrap{position:relative;display:inline-block;flex:0 0 auto;line-height:0}
.av{border-radius:50%;object-fit:cover;object-position:50% 28%;display:block}
.av-xs .av{width:24px;height:24px}
.av-s .av{width:34px;height:34px}
.av-m .av{width:52px;height:52px}
.av-dot{
  position:absolute;right:-1px;bottom:-1px;border-radius:50%;
  background:#9AA8B8;border:2px solid var(--deep);display:none;
}
.av-xs .av-dot{width:9px;height:9px;border-width:2px}
.av-s .av-dot{width:11px;height:11px}
.av-m .av-dot{width:14px;height:14px}
.js .av-dot{display:block}
html.av-on .av-dot{background:var(--live)}
.strip .av-dot,.dock .av-dot{border-color:var(--kobalt)}

.live{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--paper-dim);white-space:nowrap}
/* puntík nese avatar vedle — druhý by byl zdvojený a odsazoval by text.
   Vyšší specificita, jinak to přebije pozdější .js .live-dot{display:block} */
.js .hero-live .live-dot,.js .strip-live .live-dot,.js .person .live-dot{display:none}
.hero-live .live,.strip-live .live,.person .live{gap:0}
.live-dot{width:8px;height:8px;border-radius:50%;background:#9AA8B8;flex:0 0 auto;display:none}
.js .live-dot{display:block}
html.av-on .live-dot{background:var(--live);box-shadow:0 0 0 3px rgba(23,163,74,.18)}
@media (prefers-reduced-motion:no-preference){
  html.av-on .live-dot{animation:tep 2.6s ease-out infinite}
  @keyframes tep{0%{box-shadow:0 0 0 0 rgba(23,163,74,.45)}70%{box-shadow:0 0 0 7px rgba(23,163,74,0)}100%{box-shadow:0 0 0 0 rgba(23,163,74,0)}}
}
html.av-on .live-txt{color:var(--paper);font-weight:500}
.live.on-blue{color:rgba(255,255,255,.86)}
/* na kobaltové ploše je zelená kalná — stav nese bílá */
html.av-on .strip .live-dot,html.av-on .strip .av-dot{background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.28)}
.strip .live-dot,.strip .av-dot{background:rgba(255,255,255,.5)}
@media (prefers-reduced-motion:no-preference){
  html.av-on .strip .live-dot{animation:tepbilý 2.6s ease-out infinite}
  @keyframes tepbilý{0%{box-shadow:0 0 0 0 rgba(255,255,255,.5)}70%{box-shadow:0 0 0 7px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
}
html.av-on .live.on-blue .live-txt{color:#fff}

.top-live{display:flex;align-items:center;gap:12px}
.hero-live{display:flex;gap:16px;align-items:flex-start;margin-top:22px}
.hero-live .hero-note{margin-top:0}
.hero-live .live{margin-top:10px}
.strip-live{display:flex;align-items:center;gap:12px;margin-top:22px;color:#fff;font-size:15px}
.strip-live b{font-weight:600}
.person-wrap{position:relative;display:inline-block;line-height:0}
.person-wrap .av-dot{width:16px;height:16px;right:4px;bottom:4px;border-color:var(--deep-2)}

/* ——— kontakt: vlevo volání a zpětné volání, vpravo poptávka ——— */
#volat{display:grid;gap:clamp(16px,1.8vw,22px);align-content:start}
.karta{background:#fff;border:1px solid var(--hair);border-radius:2px;padding:clamp(20px,2.2vw,30px)}
.karta h3{margin-bottom:10px}
.karta .lead{font-size:16px;margin-bottom:22px;max-width:40ch}
.karta .person{margin-bottom:0}
.karta .callbig{font-size:clamp(25px,2.3vw,33px);white-space:nowrap}
.karta .callbig .ico{width:clamp(22px,2vw,27px);height:clamp(22px,2vw,27px)}
.karta form{background:0;border:0;padding:0}
.karta .cbform{gap:14px}
.karta .cbform .act{width:100%;justify-content:center;padding:15px 22px;font-size:16.5px}
#kontakt .after{margin-top:clamp(30px,3vw,44px);border-top:1px solid var(--hair);padding-top:26px;
  grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,40px)}

/* ——— odkaz na cenovou nabídku ——— */
.nabidka-odkaz{margin:26px 0 0}
.nabidka-odkaz .act.line{font-size:16px;padding:14px 24px}

/* ——— osobní kontakt ——— */
.person{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(16px,1.8vw,24px);align-items:start;margin-bottom:26px}
.person-foto{width:clamp(96px,9vw,116px);aspect-ratio:1/1;object-fit:cover;object-position:50% 30%;display:block;border-radius:2px}
.person-name{display:block;font-size:19px;font-weight:600;color:var(--paper);letter-spacing:-.02em}
.person-role{display:block;font-size:14.5px;color:var(--paper-dim);margin:4px 0 14px;line-height:1.5}
.person .callbig{margin-bottom:10px}
.person-mail{display:inline-block;font-size:16px;color:var(--paper-dim);text-decoration:none;border-bottom:1px solid var(--hair);transition:.15s}
.person-mail:hover{color:var(--paper);border-bottom-color:var(--kobalt)}
.person-hours{display:block;font-size:14.5px;color:var(--paper-dim);margin-top:9px}

/* ——— ARES našeptávač ——— */
.ares{position:relative}
.ares-list{
  position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;margin:0;padding:6px 0;
  list-style:none;background:#fff;border:1px solid var(--hair);border-radius:2px;
  box-shadow:0 12px 28px rgba(14,33,54,.12);max-height:266px;overflow-y:auto;
}
.ares-list li{padding:10px 14px;cursor:pointer;font-size:15px;line-height:1.35;color:var(--paper)}
.ares-list li small{display:block;font-size:12.5px;color:var(--paper-dim);margin-top:3px}
.ares-list li[aria-selected="true"],.ares-list li:hover{background:#EDF1F8}
.ares-out{margin:9px 0 0;font-size:13.5px;line-height:1.55;color:var(--paper-dim);
  padding-left:12px;border-left:2px solid var(--kobalt)}
.ares-out b{color:var(--paper);font-weight:600}
.ares-out.err{border-left-color:var(--burg)}
.ares.busy input{background-image:none}

/* ——— volba času zpětného volání ——— */
.cb{border:1px solid var(--hair);border-radius:2px;padding:14px 15px 15px;margin:0}
.cb legend{font-size:13px;font-weight:600;color:var(--paper);padding:0 6px;margin-left:-6px}
.cbo{display:flex;align-items:center;gap:9px;margin-top:9px;cursor:pointer}
.cbo input{width:16px;height:16px;flex:0 0 auto;margin:0;accent-color:var(--kobalt);padding:0}
.cbo span{font-size:15px;color:var(--paper-dim);line-height:1.35}
.cbo input:checked + span{color:var(--paper);font-weight:500}

/* ——— pruh se zpětným voláním ——— */
.strip-cb .wrap{align-items:flex-start}
.strip-cb .wrap > div:first-child{flex:1 1 min(500px,100%)}
.cbform{flex:0 0 min(392px,100%);background:#fff;border-radius:2px;padding:20px 20px 18px;display:grid;gap:13px}
.cbform .act{background:var(--kobalt);color:#fff}
.cbform .act:hover{background:var(--kobalt-hi);color:#fff}
.cbform select{padding-right:32px}
.cbf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cbform label{font-size:12.5px;font-weight:600;color:var(--paper);margin-bottom:6px;display:block}
.cbform input,.cbform select{font-size:16px;padding:11px 12px}
.cbform .act{width:100%;justify-content:center;padding:15px 22px;font-size:16.5px}
.cbform .cbf-note{margin:0;font-size:12.5px;line-height:1.5;color:var(--paper-dim);max-width:none}

/* ——— patička ——— */
.foot{background:var(--navy);padding:clamp(40px,4vw,60px) 0 32px;font-size:15px;color:rgba(255,255,255,.68)}
.foot-in{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:clamp(26px,3vw,44px);margin-bottom:32px}
.foot h4{color:#fff;font-size:11px;letter-spacing:.26em;text-transform:uppercase;margin-bottom:20px;font-weight:600;opacity:.6}
.foot a{color:rgba(255,255,255,.68);text-decoration:none;display:block;margin-bottom:11px;transition:color .15s}
.foot a:hover{color:#fff}
.foot .soon{display:block;margin-bottom:11px;opacity:.7}
.foot .soon em{font-style:normal;font-size:11px;margin-left:8px;opacity:.7}
.foot-b{border-top:1px solid rgba(255,255,255,.16);padding-top:20px;font-size:12.5px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;opacity:.8}

/* ——— rytmus: hodnoty na jednom místě, ne v inline stylech ——— */
.sec-t{padding-top:var(--sec)}
.h2-lead{margin-bottom:clamp(22px,2.4vw,32px)}
.hd-lead{margin-top:18px}
.cta-note{margin-top:26px;max-width:40ch}
.chart-note{margin-top:16px}
.wnote-sub{margin-top:26px;font-size:15.5px}
.foot-about{max-width:40ch;line-height:1.72}

/* ——— kotvy: bez odsazení mizí nadpis pod lepivou hlavičkou ——— */
section[id],div[id]{scroll-margin-top:clamp(78px,8vw,104px)}
::selection{background:var(--kobalt);color:#fff}
.hb-img img,.pnl-fig img,.wk-fig img{background:var(--deep-2)}  /* jen fotky — průhledné SVG logo by dostalo šedý blok */
.act:active{transform:translateY(0)}

/* ——— pomocné ——— */
.draft{background:#F7AB31;color:#3D2C00;font-size:12.5px;font-weight:600;text-align:center;padding:9px 18px;letter-spacing:.01em}
.skip{position:absolute;left:-9999px}
.skip:focus{position:fixed;left:16px;top:16px;z-index:99;background:var(--paper);color:var(--deep);padding:13px 20px;font-weight:600}
:focus-visible{outline:2px solid var(--kobalt);outline-offset:4px}
.dock{display:none}
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .85s cubic-bezier(.2,.6,.2,1),transform .85s cubic-bezier(.2,.6,.2,1)}
.js .rv.in{opacity:1;transform:none}

@media (max-width:1080px){
  .refwall{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hb-txt,.hb-img{grid-column:span 12}
  .hb-txt{padding-right:0}
  .hb-img img{aspect-ratio:21/9}
  .hb-f{grid-column:span 6}
  .pnl-body{grid-template-columns:1fr}
  .two,.cta-in{grid-template-columns:1fr}
  .wk.lg .wk-fig img{aspect-ratio:2/1}
  .roles{grid-template-columns:repeat(2,1fr)}
  .topnav{display:none}
  .foot-in{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .refwall{grid-template-columns:1fr}
  .refband img{aspect-ratio:2/1}
  .refwall li{min-height:0;padding:14px 16px}
  .cbf-row{grid-template-columns:1fr}
  .cbform{flex:1 1 100%}
  .hb-f{grid-column:span 12}
  .pnl-fig img{aspect-ratio:3/2}
  .tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .tab span{font-size:13px}
  body{font-size:16px;padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  h1{font-size:clamp(34px,10vw,52px)}
  .wk,.wk.lg{grid-column:span 12}
  .wk.lg .wk-fig img{aspect-ratio:3/2}
  .roles,.phases,.r2,.foot-in{grid-template-columns:1fr}
  .year{height:130px;gap:3px}
  .ywin{grid-template-columns:repeat(12,1fr);gap:3px;row-gap:5px}
  .ywin-t{height:9px}
  .ywin-l{grid-column:1 / -1;grid-row:2;font-size:11.5px;text-align:center;padding:0}
  .yw-leden,.yw-zari{grid-row:1}
  .molab{gap:3px}
  .molab span{font-size:9px}
  .strip .wrap{flex-direction:column;align-items:flex-start}
  .dock{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;gap:1px;
    background:var(--hair);border-top:1px solid var(--hair);
  }
  .dock a{
    flex:1;display:flex;align-items:center;justify-content:center;gap:9px;
    padding:19px 12px calc(19px + env(safe-area-inset-bottom));
    font-size:15px;font-weight:500;text-decoration:none;
  }
  .dock .p{flex:1.5;background:var(--kobalt);color:#fff}
  .dock .s{background:var(--deep-2);color:var(--paper)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .js .rv{opacity:1;transform:none}
  .act:hover{transform:none}
  .wk:hover .wk-fig img{transform:none}
}
@media print{.top,.dock,.draft,.skip{display:none!important}body{background:#fff;color:#000}h1,h2,h3{color:#000}*{print-color-adjust:exact!important}}

/* === stav odeslání formulářů (AJAX vrstva, /js/formulare.js) === */
.form-ok{border:1px solid #D5DDE6;border-left:3px solid #223ca5;background:#F2F5F9;padding:22px 24px;border-radius:10px}
.form-ok strong{display:block;color:#0E2136;font-size:19px;margin-bottom:6px}
.form-ok p{margin:0;color:#4C607A;font-size:16px;line-height:1.6}
.form-ok .form-ok-note{margin-top:10px;color:#A72B3A}
.form-fail{color:#A72B3A;background:#FBF1F2;border:1px solid #EBCCD0;padding:12px 14px;border-radius:8px;font-size:15px;line-height:1.5;margin:14px 0 0}
.form-fail[hidden]{display:none}

/* mobil: hlavička se nesmí rozjet — jméno segmentu a avatar ustoupí telefonu */
@media (max-width:620px){
  .top .wrap{gap:12px}
  .brand span{display:none}
  .brand img{height:30px}
  .top-live .av-wrap{display:none}
  .top .act{font-size:15px;padding:11px 14px}
}
