/* JON výstavba sítí – vzhled převzatý z elorycom.cz (assets/site.css, 30. 10. 2026), fonty lokálně (OFL), bez JavaScriptu.
   Světlá = navy + tyrkys, tmavá = podle systému (prefers-color-scheme). Žádné inline styly – web běží s přísnou CSP (style-src 'self'). */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:200 800;src:url(fonts/plus-jakarta-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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:200 800;src:url(fonts/plus-jakarta-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:'Space Grotesk';font-style:normal;font-display:swap;font-weight:300 700;src:url(fonts/space-grotesk-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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Space Grotesk';font-style:normal;font-display:swap;font-weight:300 700;src:url(fonts/space-grotesk-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:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:100 800;src:url(fonts/jetbrains-mono-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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:100 800;src:url(fonts/jetbrains-mono-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}
/* Layout: tmavá hlavička a hero, pod nimi pásy obsahu v kontejneru 1200 px. Světlá = verze A (navy + tyrkys), tmavá = verze C (datacentrum v noci). */
:root{
  --bg:#F4F6F7;--bg-alt:#FFFFFF;--surface:#FFFFFF;--surface-2:#F4F6F7;
  --ink:#0C1F3A;--body:#4A5A6A;--muted:#5A6B7B;--line:#DDE4E8;--sec-line:transparent;
  --bar:#00A99D;--accent-text:#007D73;--note:#007D73;
  --hero-bg:#0C1F3A;--hero-ink:#F4F7FA;--hero-body:#B8C6D6;--hero-line:rgba(244,247,250,.14);--hero-label:#2EE0CF;
  --btn-bg:#2EE0CF;--btn-ink:#0C1F3A;--btn-hover:#6BEBDF;--ghost-line:rgba(244,247,250,.45);
  --hl-bg:#0C1F3A;--hl-ink:#F4F7FA;--hl-body:#B8C6D6;--hl-label:#2EE0CF;--hl-border:#0C1F3A;
  --card-border:transparent;--card-quiet:#DDE4E8;--shadow:0 1px 3px rgba(12,31,58,.06),0 10px 28px rgba(12,31,58,.06);
  --chip-bg:#DDEFEC;--chip-ink:#0C1F3A;--num-bg:#E3F3F1;
  --gate-bg:#F2B134;--gate-ink:#0C1F3A;--gate-body:#2B2410;--gate-border:#F2B134;
  --input-bg:#FFFFFF;--input-line:#C3CED6;--focus:#007D73;
  --decor-ring:#17325A;--decor-bar:#1E9088;--decor-d:block;
  --hud-bg:#0B1422;--hud-grid:#132036;--hud-shape:#1A2A44;--hud-ink:#A9B7C8;--tag:#2EE0CF;--tag-ink:#070D18;--lime:#A3E635;--amber:#F2B134;
  --sun-d:none;--moon-d:block;
  --f-head:'Plus Jakarta Sans',Arial,sans-serif;--f-body:'Plus Jakarta Sans',Arial,sans-serif;--f-label:'Plus Jakarta Sans',Arial,sans-serif;
  --label-size:13px;--label-ls:.16em;--label-w:700;--h-w:800;--h-ls:-.03em;--r:16px;--r-btn:12px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#070D18;--bg-alt:#0A1220;--surface:#0E1726;--surface-2:#0B1422;
  --ink:#EAF0F6;--body:#A9B7C8;--muted:#7E8DA1;--line:#1F2D45;--sec-line:#1A263B;
  --bar:#2EE0CF;--accent-text:#2EE0CF;--note:#A3E635;
  --hero-bg:#070D18;--hero-ink:#EAF0F6;--hero-body:#A9B7C8;--hero-line:#1A263B;--hero-label:#2EE0CF;
  --btn-bg:#2EE0CF;--btn-ink:#070D18;--btn-hover:#7DF0E4;--ghost-line:#33445F;
  --hl-bg:#0E1726;--hl-ink:#EAF0F6;--hl-body:#A9B7C8;--hl-label:#2EE0CF;--hl-border:#2EE0CF;
  --card-border:#1F2D45;--card-quiet:#1F2D45;--shadow:none;
  --chip-bg:#13203A;--chip-ink:#EAF0F6;--num-bg:#13203A;
  --gate-bg:#0E1726;--gate-ink:#F2B134;--gate-body:#A9B7C8;--gate-border:#F2B134;
  --input-bg:#0B1422;--input-line:#2A3A55;--focus:#2EE0CF;
  --decor-d:none;--sun-d:block;--moon-d:none;
  --f-head:'Space Grotesk',Arial,sans-serif;--f-body:'Space Grotesk',Arial,sans-serif;--f-label:'JetBrains Mono',ui-monospace,monospace;
  --label-size:12.5px;--label-ls:.06em;--label-w:500;--h-w:600;--h-ls:-.035em;--r-btn:999px;
  color-scheme:dark;
}}
:root[data-theme="dark"]{
  --bg:#070D18;--bg-alt:#0A1220;--surface:#0E1726;--surface-2:#0B1422;
  --ink:#EAF0F6;--body:#A9B7C8;--muted:#7E8DA1;--line:#1F2D45;--sec-line:#1A263B;
  --bar:#2EE0CF;--accent-text:#2EE0CF;--note:#A3E635;
  --hero-bg:#070D18;--hero-ink:#EAF0F6;--hero-body:#A9B7C8;--hero-line:#1A263B;--hero-label:#2EE0CF;
  --btn-bg:#2EE0CF;--btn-ink:#070D18;--btn-hover:#7DF0E4;--ghost-line:#33445F;
  --hl-bg:#0E1726;--hl-ink:#EAF0F6;--hl-body:#A9B7C8;--hl-label:#2EE0CF;--hl-border:#2EE0CF;
  --card-border:#1F2D45;--card-quiet:#1F2D45;--shadow:none;
  --chip-bg:#13203A;--chip-ink:#EAF0F6;--num-bg:#13203A;
  --gate-bg:#0E1726;--gate-ink:#F2B134;--gate-body:#A9B7C8;--gate-border:#F2B134;
  --input-bg:#0B1422;--input-line:#2A3A55;--focus:#2EE0CF;
  --decor-d:none;--sun-d:block;--moon-d:none;
  --f-head:'Space Grotesk',Arial,sans-serif;--f-body:'Space Grotesk',Arial,sans-serif;--f-label:'JetBrains Mono',ui-monospace,monospace;
  --label-size:12.5px;--label-ls:.06em;--label-w:500;--h-w:600;--h-ls:-.035em;--r-btn:999px;
  color-scheme:dark;
}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--accent-text)}a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}
h1,h2,h3,p,ul,ol{margin:0}
h1,h2,h3{font-family:var(--f-head);text-wrap:balance}
.wrap{max-width:1200px;margin-inline:auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.eb{font-family:var(--f-label);font-size:var(--label-size);font-weight:var(--label-w);letter-spacing:var(--label-ls);text-transform:uppercase;color:var(--accent-text);margin-bottom:14px}
.h2{font-size:clamp(30px,3.6vw,46px);font-weight:var(--h-w);line-height:1.1;letter-spacing:var(--h-ls);margin-bottom:16px}
.lead{font-size:18px;line-height:1.6;color:var(--body);max-width:700px}
.sec{padding-block:96px;border-top:1px solid var(--sec-line)}
.alt{background:var(--bg-alt)}
.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.card{background:var(--surface);border:1px solid var(--card-border);border-radius:var(--r);padding:28px;box-shadow:var(--shadow);position:relative;overflow:hidden;min-width:0}
.card.quiet{box-shadow:none;border-color:var(--card-quiet)}
.card.top::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:var(--bar)}
.card h3{font-size:20px;font-weight:700;line-height:1.25;margin-bottom:10px}
.card p{font-size:15.5px;line-height:1.6;color:var(--body)}
.card.hl{background:var(--hl-bg);border-color:var(--hl-border);color:var(--hl-ink)}
.card.hl p{color:var(--hl-body)}
.card.hl .eb{color:var(--hl-label)}
.bar{width:44px;height:6px;border-radius:3px;background:var(--bar);margin-bottom:18px}
.card.hl .bar{background:var(--hl-label)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:var(--r-btn);font-family:var(--f-body);font-weight:700;font-size:16px;text-decoration:none;border:0;cursor:pointer}
.btn-p{background:var(--btn-bg);color:var(--btn-ink)}.btn-p:hover{background:var(--btn-hover);color:var(--btn-ink)}
.btn-g{border:1.5px solid var(--ghost-line);color:var(--hero-ink);background:transparent}.btn-g:hover{border-color:var(--hero-ink);color:var(--hero-ink)}
.ticks{list-style:none;padding:0;margin-top:16px;display:grid;gap:9px}
.ticks li{font-size:15px;line-height:1.5;color:var(--body);padding-left:24px;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:9px;width:13px;height:4px;border-radius:2px;background:var(--bar)}
.card.hl .ticks li{color:var(--hl-ink)}.card.hl .ticks li::before{background:var(--hl-label)}
.price{margin-top:18px;font-family:var(--f-label);font-size:14.5px;font-weight:700;color:var(--accent-text)}
.card.hl .price{color:var(--amber)}

/* hlavička */
.hdr{background:var(--hero-bg);color:var(--hero-ink);border-bottom:1px solid var(--hero-line)}
.hdr .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;padding-block:14px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--hero-ink)}
.logo:hover{color:var(--hero-ink)}
.wm{font-family:'Plus Jakarta Sans',Arial,sans-serif;font-size:26px;font-weight:800;letter-spacing:-.03em}
.wm span{color:#2EE0CF}
.nav{display:flex;flex-wrap:wrap;gap:0 24px;flex:1;justify-content:center}
.nav a{color:var(--hero-body);text-decoration:none;font-size:15px;font-weight:500;padding-block:12px}
.nav a:hover{color:#2EE0CF}
.tools{display:flex;align-items:center;gap:10px;margin-left:auto}
.seg{display:inline-flex;border:1px solid var(--ghost-line);border-radius:var(--r-btn);padding:3px}
.seg a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-family:var(--f-label);font-size:13px;font-weight:600;letter-spacing:.04em;min-width:42px;min-height:40px;border:0;background:transparent;color:var(--hero-body);border-radius:var(--r-btn);cursor:pointer}
.seg a[aria-current="page"]{background:var(--btn-bg);color:var(--btn-ink)}
.icon-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ghost-line);border-radius:var(--r-btn);background:transparent;color:var(--hero-ink);cursor:pointer}
.icon-btn:hover{border-color:var(--hero-ink)}
.i-sun{display:var(--sun-d)}.i-moon{display:var(--moon-d)}

/* hero */
.hero{background:var(--hero-bg);color:var(--hero-ink);position:relative;overflow:hidden;padding-block:72px 168px}
.hero .eb{color:var(--hero-label)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center;position:relative}
.hero h1{font-size:clamp(40px,5.6vw,72px);font-weight:var(--h-w);line-height:1.04;letter-spacing:var(--h-ls);margin-bottom:24px}
.hero .lead{color:var(--hero-body);font-size:19px}
.decor{display:var(--decor-d);position:absolute;right:-90px;top:-10px;pointer-events:none}
.hud-panel{background:#0E1726;border:1px solid #1F2D45;border-radius:16px;padding:14px;position:relative}
.hud{position:relative;aspect-ratio:16/11;max-width:100%;border-radius:12px;overflow:hidden;background:var(--hud-bg);background-image:linear-gradient(var(--hud-grid) 1px,transparent 1px),linear-gradient(90deg,var(--hud-grid) 1px,transparent 1px);background-size:32px 32px}
.hud .shape{position:absolute;background:var(--hud-shape);border-radius:4px}
.box{position:absolute;border:2px solid var(--tag);border-radius:4px}
.box span{position:absolute;left:-2px;top:-24px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11.5px;background:var(--tag);color:var(--tag-ink);padding:2px 7px;border-radius:3px;white-space:nowrap}
.hud .mono{position:absolute;top:12px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--hud-ink)}
.alert{position:absolute;left:12px;right:12px;bottom:12px;background:var(--amber);color:#070D18;border-radius:8px;padding:10px 14px;font-size:14px;font-weight:700}
.hud-note{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11.5px;letter-spacing:.04em;color:#A9B7C8;margin:12px 4px 2px}

.principles{margin-top:-112px;position:relative;z-index:1}

/* tok */
.flow{display:grid;grid-template-columns:1fr 56px 1fr 56px 1fr;gap:12px;align-items:stretch;margin-top:40px}
.arr{align-self:center;justify-self:center;color:var(--bar)}
.flow .card{background:var(--surface-2);box-shadow:none}
.flow .card.hl{background:var(--hl-bg)}
.flow .card h3{font-size:24px}

/* kroky */
.steps{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-top:40px}
.num{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:var(--f-label);font-weight:800;font-size:18px;background:var(--num-bg);color:var(--accent-text);margin-bottom:16px;flex:none}
.dur{font-family:var(--f-label);font-size:14px;font-weight:700;color:var(--accent-text);margin-bottom:8px}
.card.gate{background:var(--gate-bg);border-color:var(--gate-border)}
.card.gate h3,.card.gate .dur{color:var(--gate-ink)}
.card.gate p{color:var(--gate-body)}
.card.gate .num{background:var(--hero-bg);color:var(--amber)}
.card.hl .num{background:#14294A;color:#2EE0CF}
.card.hl .dur{color:#2EE0CF}

/* specifikace */
.spec{margin-top:36px;border-top:1px solid var(--ink)}
.spec-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.7fr) 190px;gap:24px;padding-block:22px;border-bottom:1px solid var(--line);align-items:baseline}
.spec-row b{font-family:var(--f-head);font-size:20px;font-weight:700}
.spec-row span{font-size:15.5px;line-height:1.55;color:var(--body)}
.spec-row em{font-style:normal;font-family:var(--f-label);font-size:14px;font-weight:600;color:var(--accent-text);text-align:right;font-variant-numeric:tabular-nums}
.note{color:var(--note);font-weight:600}

.big{font-family:var(--f-head);font-size:34px;font-weight:var(--h-w);letter-spacing:var(--h-ls);margin-bottom:6px}
.chip{display:inline-flex;align-items:center;min-height:40px;padding:0 18px;border-radius:999px;background:var(--chip-bg);color:var(--chip-ink);font-size:15px;font-weight:600}

/* kontakt */
.contact{display:flex;flex-wrap:wrap;gap:48px}
.contact>div,.contact>form{min-width:0}
.steps-ol{list-style:none;padding:0;margin-top:32px;display:grid;gap:18px}
.steps-ol li{display:flex;gap:16px;align-items:flex-start}
.steps-ol .num{margin:0}
.steps-ol span.t{font-size:16px;line-height:1.55;padding-top:10px}
.kv{margin-top:36px;display:grid;gap:4px;font-size:16px}
.kv b{font-weight:700;color:var(--ink);user-select:all}
form.card{display:grid;gap:16px;padding:32px;background:var(--surface-2);box-shadow:none;border-color:var(--card-quiet)}
.row2{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
label{font-size:14px;font-weight:600;display:flex;flex-direction:column;gap:6px;color:var(--ink)}
input,select,textarea{font:inherit;font-size:16px;padding:12px 14px;border:1px solid var(--input-line);border-radius:10px;background:var(--input-bg);color:var(--ink);width:100%}
.small{font-size:13px;line-height:1.5;color:var(--body)}
.status{font-size:14.5px;line-height:1.5;font-weight:600;color:var(--ink);background:var(--chip-bg);border-radius:10px;padding:12px 14px}

.ftr{background:var(--hero-bg);color:var(--hero-ink);border-top:1px solid var(--hero-line);padding-block:56px 40px}
.ftr a{color:var(--hero-body);text-decoration:none;font-size:15px}.ftr a:hover{color:#2EE0CF}
.ftr .cols{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px}
.ftr nav{display:grid;grid-template-columns:repeat(2,minmax(0,auto));gap:8px 40px}

@media (max-width:980px){.nav{order:4;flex-basis:100%;justify-content:flex-start}.hero-grid{grid-template-columns:1fr}.decor{display:none}}
@media (max-width:860px){.flow{grid-template-columns:1fr}.arr{transform:rotate(90deg)}.sec{padding-block:64px}.spec-row{grid-template-columns:1fr;gap:6px}.spec-row em{text-align:left}.hero{padding-block:48px 140px}}
@media (max-width:560px){.hdr-cta{display:none}.wm{font-size:22px}.hdr .wrap{column-gap:12px}.logo{gap:8px}.logo svg{width:36px;height:30px}.seg a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-width:36px}.nav{flex-wrap:nowrap;overflow-x:auto;gap:0 20px}.nav a{white-space:nowrap}.box span{font-size:10.5px;padding:1px 5px}.box.per span{left:auto;right:-2px}.box.pal span{top:auto;bottom:-22px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ===== doplňky pro jonvystavba.cz ===== */
html{scroll-behavior:smooth;scroll-padding-top:16px}
body{margin:0}
[hidden]{display:none!important}
img{max-width:100%;height:auto}
.skip{position:absolute;left:12px;top:-60px;z-index:10;background:var(--btn-bg);color:var(--btn-ink);padding:10px 16px;border-radius:10px;font-weight:700;text-decoration:none}
.skip:focus{top:12px}
.logo svg{flex:none}
.wm{display:flex;flex-direction:column;line-height:1}
.wm small{font-family:var(--f-label);font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#2EE0CF;margin-top:5px}
.nav a[aria-current="page"]{color:var(--hero-ink);box-shadow:inset 0 -2px 0 #2EE0CF}
.hdr-tel{color:var(--hero-ink);text-decoration:none;font-family:var(--f-label);font-weight:700;font-size:15px;white-space:nowrap;padding:12px 4px}
.hdr-tel:hover{color:#2EE0CF}
.hero .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero.sub{padding-block:40px 88px}
.hero.sub h1{font-size:clamp(34px,4.4vw,56px)}
.hero.flat{padding-block:40px 64px}
.crumbs{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:14px;color:var(--hero-body);margin-bottom:28px;padding:0;list-style:none}
.crumbs li+li::before{content:"/";margin-right:10px;color:var(--ghost-line)}
.crumbs a{color:var(--hero-body);text-decoration:none}.crumbs a:hover{color:#2EE0CF}
.hud.photo{background:#0B1422}
.hud.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hud.photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,13,24,.55),rgba(7,13,24,0) 30%,rgba(7,13,24,0) 70%,rgba(7,13,24,.45))}
.hud .mono,.hud .box,.hud .alert{z-index:1}
.hud .mono.r{right:12px;left:auto}.hud .mono.l{left:12px}
.live{color:var(--lime)}
.hud svg.art{position:absolute;inset:0;width:100%;height:100%}
.sv{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;fill:#A9B7C8}
.sv.k{fill:#2EE0CF}.sv.a{fill:#F2B134}.sv.w{fill:#EAF0F6;font-weight:600}
.principles .card h3{font-size:19px}
.svc{display:flex;flex-direction:column}
.svc .ticks{flex:1}
.more{display:inline-flex;align-items:center;gap:6px;margin-top:22px;font-weight:700;text-decoration:none;color:var(--accent-text)}
.more:hover{color:var(--ink)}
.more::after{content:"→";transition:transform .15s}.more:hover::after{transform:translateX(3px)}
.ico{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--num-bg);color:var(--accent-text);margin-bottom:18px}
.card.hl .ico{background:#14294A;color:#2EE0CF}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.gal{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));margin-top:36px}
.gal figure{margin:0;background:var(--surface);border:1px solid var(--card-border);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.gal img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.gal figcaption{padding:12px 16px 14px;font-size:14px;line-height:1.45;color:var(--body)}
.sub-h{font-size:clamp(24px,2.6vw,32px);font-weight:var(--h-w);letter-spacing:var(--h-ls);line-height:1.15;margin:56px 0 8px}
.mt{margin-top:40px}
.faq{margin-top:32px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:20px 0;font-family:var(--f-head);font-size:18px;font-weight:700;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-label);font-size:24px;line-height:1;color:var(--accent-text);flex:none}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 22px;max-width:780px;font-size:16px;line-height:1.65;color:var(--body)}
.cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 40px;padding:40px}
.cta h2{font-size:clamp(26px,3vw,36px);font-weight:var(--h-w);letter-spacing:var(--h-ls);line-height:1.15;margin-bottom:8px}
.cta .acts{display:flex;flex-wrap:wrap;gap:12px}
.card.hl .btn-g{color:var(--hl-ink)}
.contact>.c-main{flex:1 1 380px}
.contact>.c-side{flex:1 1 420px;display:grid;gap:16px;align-content:start}
.c-side .btn{width:100%}
.kv a{color:var(--ink);text-decoration:none}.kv a:hover{color:var(--accent-text)}
.kv span{color:var(--body)}
.dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 20px;margin-top:14px;font-size:15.5px;line-height:1.55}
.dl dt{color:var(--body)}.dl dd{margin:0;color:var(--ink);font-weight:600}
.prose{max-width:780px}
.prose h2{font-size:24px;font-weight:700;margin:40px 0 12px}
.prose p,.prose li{font-size:16.5px;line-height:1.7;color:var(--body)}
.prose p+p{margin-top:12px}
.prose ul{padding-left:22px;display:grid;gap:6px;margin-top:10px}
.ftr-brand{display:flex;flex-direction:column;gap:14px;max-width:360px}
.ftr-brand p{font-size:15px;line-height:1.6;color:var(--hero-body)}
.ftr-addr{font-size:14px;line-height:1.7;color:var(--hero-body)}
.ftr-bottom{margin-top:40px;font-size:13px;color:var(--hero-body);display:flex;flex-wrap:wrap;gap:6px 18px}
.ftr .ftr-bottom a{font-size:13px}
.ftr .logo{color:var(--hero-ink)}
.e404{min-height:40vh}
@media (max-width:980px){.hdr-tel{display:none}}
@media (max-width:560px){.wm small{font-size:10px;letter-spacing:.14em}.cta{padding:28px}.hero .acts .btn{flex:1 1 100%}.dl{grid-template-columns:1fr;gap:0}.dl dd{margin-bottom:8px}}
.btn-g.btn-dark{color:var(--ink);border-color:var(--input-line)}.btn-g.btn-dark:hover{border-color:var(--ink);color:var(--ink)}
.big{overflow-wrap:anywhere}.big a{color:var(--ink);text-decoration:none}.big a:hover{color:var(--accent-text)}
.b-cam1{left:43%;top:15%;width:19%;height:31%}
.b-cam2{left:79%;top:16%;width:18%;height:30%}
.box.per span{left:auto;right:-2px}
@media (max-width:560px){.big{font-size:26px}}
.card.hl .kv span{color:var(--hl-body)}.card.hl .kv b,.card.hl .kv a{color:var(--hl-ink)}.card.hl .kv a:hover{color:var(--hl-label)}
.card.hl h3{color:var(--hl-ink)}
.grid.g3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.gal.g3{grid-template-columns:repeat(3,minmax(0,300px))}
.sec.tight{padding-top:0}
.hud.photo .mono{background:rgba(7,13,24,.72);padding:3px 8px;border-radius:4px;color:#C9D4E2}
.hud.photo .mono.live{color:var(--lime)}
@media (max-width:560px){.grid.g3{grid-template-columns:1fr}.gal,.gal.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* rozbalovací nabídka Optické sítě – jen CSS (:hover / :focus-within), na užších displejích se skrývá */
.nav .dd{position:relative;display:inline-flex}
.nav a.on{color:var(--hero-ink);box-shadow:inset 0 -2px 0 #2EE0CF}
.dd-menu{display:none;position:absolute;top:100%;left:-16px;z-index:20;min-width:240px;flex-direction:column;padding:8px;background:var(--hero-bg);border:1px solid var(--hero-line);border-radius:12px;box-shadow:0 18px 40px rgba(7,13,24,.35)}
.dd-menu a{padding:10px 12px!important;border-radius:8px;white-space:nowrap}
.dd-menu a:hover,.dd-menu a[aria-current="page"]{background:#14294A;box-shadow:none}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{display:flex}
@media (max-width:980px){.dd-menu{display:none!important}}
