:root{--ink:#121416;--paper:#f3f2ef;--paper2:#e8e6e1;--muted:#64676a;--line:#c9c4ba;--champ:#c8b89e;--white:#fff;--ok:#2d6b57;--warn:#9a6f21;--danger:#9c3f3f;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.shell{max-width:var(--max);margin:0 auto;padding:0 28px}.topbar{background:#0d0f10;color:#fff;border-bottom:3px solid var(--champ);position:sticky;top:0;z-index:30}.topbar .row{height:82px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;min-width:260px}.brand img{width:240px;filter:invert(1);opacity:.98}.nav{margin-left:auto;display:flex;align-items:center;gap:24px;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.nav a{padding:30px 0 24px;border-bottom:2px solid transparent}.nav a:hover,.nav a.active{border-color:var(--champ)}.cta{border:1px solid #777;padding:12px 16px!important;border-bottom:1px solid #777!important}.hero{background-image:linear-gradient(90deg,rgba(243,242,239,.98) 0%,rgba(243,242,239,.92) 42%,rgba(243,242,239,.28) 70%,rgba(0,0,0,.16) 100%),url('/static/hero-grid.svg');background-size:cover;background-position:center;min-height:620px;display:flex;align-items:center}.hero-inner{padding:74px 0 72px;max-width:760px}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.28em;font-weight:700;margin-bottom:18px}.hero h1{font-size:clamp(54px,7vw,94px);line-height:.91;letter-spacing:-.055em;margin:0 0 28px;max-width:760px}.hero p{font-size:21px;max-width:720px;color:#43474a;margin:0 0 34px}.actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid var(--ink);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.btn.dark{background:var(--ink);color:#fff}.btn.light{background:rgba(255,255,255,.55)}.section{padding:74px 0}.section.alt{background:#e8e6e1}.section.dark{background:#111315;color:#fff}.section-head{display:flex;gap:28px;justify-content:space-between;align-items:end;margin-bottom:38px}.section-head h2{font-size:44px;line-height:1;margin:0;letter-spacing:-.03em}.section-head p{max-width:560px;color:var(--muted);margin:0}.dark .section-head p{color:#b5b7b9}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.service{background:var(--paper);padding:34px 34px 30px;min-height:285px;display:flex;flex-direction:column}.service .num{font-size:12px;letter-spacing:.16em;color:#7a756c;margin-bottom:36px}.service h3{font-size:28px;line-height:1.08;margin:0 0 14px}.service p{margin:0 0 24px;color:#5c6063}.service a{margin-top:auto;font-weight:700;text-transform:uppercase;letter-spacing:.09em;font-size:12px}.service a::after{content:' →'}.focus-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:start}.focus-copy h2{font-size:48px;line-height:1.02;margin:0 0 18px;letter-spacing:-.04em}.focus-copy p{font-size:19px;color:#c5c7c9}.pill-list{display:grid;gap:10px}.pill{border-top:1px solid #444;padding:15px 0;display:flex;justify-content:space-between;gap:18px}.pill span:last-child{color:#aaa;text-align:right}.notice{margin-top:34px;border-left:3px solid var(--champ);padding:12px 0 12px 18px;color:#c9cbcd;font-size:14px}.contact-strip{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}.contact-strip h2{font-size:42px;margin:0 0 8px;letter-spacing:-.03em}.contact-strip p{margin:0;color:#5e6264}.footer{background:#0d0f10;color:#d9dbdc;padding:34px 0}.footer .row{display:flex;justify-content:space-between;gap:26px;align-items:center}.footer-logo{width:180px;filter:invert(1)}.small{font-size:12px;color:#9da0a2}.page-hero{padding:70px 0 48px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:58px;line-height:1;margin:0 0 18px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:#fff;border:1px solid #d6d2ca;padding:24px}.card h3{margin-top:0}.admin-body{background:#efeeea}.adminbar{background:#111315;color:#fff;border-bottom:3px solid var(--champ)}.adminbar .row{min-height:70px;display:flex;align-items:center;gap:24px}.adminbar img{width:180px;filter:invert(1)}.adminnav{margin-left:auto;display:flex;gap:16px;font-size:13px}.admin-wrap{max-width:1180px;margin:0 auto;padding:34px 24px 70px}.admin-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.admin-title h1{margin:0;font-size:36px}.status{display:inline-flex;align-items:center;border-radius:99px;padding:5px 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:#e2e0db}.status.live{background:#dcebe4;color:#245741}.status.scheduled{background:#eee6d3;color:#7c5a19}.status.draft{background:#e4e4e4;color:#555}.panel{background:#fff;border:1px solid #d8d4cc;padding:24px;margin-bottom:18px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.metric{background:#fff;border:1px solid #d8d4cc;padding:22px}.metric strong{display:block;font-size:34px}.metric span{font-size:13px;color:#707477}.table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #d8d4cc}.table th,.table td{padding:14px 12px;text-align:left;border-bottom:1px solid #e4e1db;font-size:14px}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#686c6f}.form label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin:0 0 7px}.form input,.form textarea,.form select{width:100%;border:1px solid #bbb7af;background:#fff;padding:12px 13px;font:inherit;min-height:44px}.form textarea{min-height:130px;resize:vertical}.field{margin-bottom:16px}.checks{display:flex;gap:18px;flex-wrap:wrap}.checks label{display:flex;gap:8px;align-items:center;text-transform:none;letter-spacing:0;font-weight:500}.checks input{width:auto;min-height:auto}.admin-actions{display:flex;gap:10px;flex-wrap:wrap}.flash{padding:12px 14px;background:#e1eee7;border:1px solid #bdd3c5;margin-bottom:18px}.login-card{max-width:520px;margin:80px auto;background:#fff;border:1px solid #d8d4cc;padding:34px}.login-card img{width:220px;margin-bottom:26px}.preview-note{background:#f4ecd8;border:1px solid #d7c397;padding:10px 14px;font-size:13px}
@media(max-width:900px){.nav{display:none}.hero{min-height:560px}.service-grid,.focus-grid,.grid2,.grid3,.cards{grid-template-columns:1fr}.section-head{display:block}.section-head p{margin-top:16px}.contact-strip{grid-template-columns:1fr}.topbar .row{height:70px}.brand img{width:200px}.footer .row{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.shell{padding:0 18px}.hero h1{font-size:52px}.hero p{font-size:18px}.section{padding:54px 0}.service{padding:26px}.page-hero h1{font-size:44px}.admin-wrap{padding:24px 14px}.adminbar .row{flex-wrap:wrap;padding:12px 0}.adminnav{width:100%;margin:0;overflow:auto}}
.nav-group{position:relative;display:inline-flex;align-items:center}.nav-group>.dropdown{position:absolute;top:62px;left:-18px;min-width:330px;background:#121416;border-top:2px solid var(--champ);padding:10px 0;display:none;box-shadow:0 12px 24px rgba(0,0,0,.22)}.nav-group:hover>.dropdown,.nav-group:focus-within>.dropdown{display:block}.dropdown a{display:block!important;padding:10px 18px!important;border:0!important;letter-spacing:.02em;text-transform:none;font-size:13px;color:#e6e6e6}.dropdown a:hover{background:#242729;color:#fff}
/* BEMCO CMS v4 functional extensions */
.mobile-nav{display:none}.mobile-nav summary{cursor:pointer;list-style:none;padding:12px 17px;border:1px solid #8d877c;color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.06em}.mobile-nav nav{display:flex;flex-direction:column;padding:10px 0;gap:4px}.mobile-nav nav a{padding:12px 15px;color:#fff}.mobile-nav .nav-group{display:flex;flex-direction:column;align-items:stretch}.mobile-nav .dropdown{display:flex!important;position:static!important;min-width:0!important;box-shadow:none!important;background:#252526!important;flex-direction:column}.mobile-nav .dropdown a{padding:8px 20px!important}
.topbar .row{position:relative}.hero{position:relative;isolation:isolate}.hero>.shell{position:relative;z-index:2;width:100%}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero:has(.hero-photo):after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(243,242,239,.98),rgba(243,242,239,.91) 45%,rgba(243,242,239,.28));z-index:-1}
.article-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(220px,1fr);gap:35px}.article-body{font-size:18px}.article-body p{margin:0 0 20px}.intro{max-width:730px;color:#565e63;font-size:21px}.detail-feature{max-height:450px;width:100%;object-fit:cover;margin-bottom:30px}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:32px}.gallery figure{margin:0}.gallery img{width:100%;aspect-ratio:16/11;object-fit:cover}.gallery figcaption{font-size:13px;color:#666;margin-top:8px}.narrow{max-width:780px}.adminnav{flex-wrap:wrap}.adminnav a{padding:10px 2px}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.media-card{background:#fff;border:1px solid #d8d4cc;padding:13px;min-width:0}.media-card img{width:100%;height:145px;object-fit:cover;margin-bottom:10px}.media-card strong{overflow-wrap:anywhere}.media-choice{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.media-pick{border:1px solid #ddd;padding:8px;text-transform:none!important;letter-spacing:normal!important;display:grid!important;gap:7px;align-content:start}.media-pick img{aspect-ratio:4/3;object-fit:cover;width:100%}.media-pick input{width:auto}.media-pick small{overflow-wrap:anywhere}.hidden-honeypot{position:absolute;left:-9999px}.inline-form{display:inline}.inline-form button,.logout button{border:0;background:none;text-decoration:underline;cursor:pointer;color:#4e5f69}.logout{text-align:right;margin-top:40px}.error{background:#fbe9e9;border-color:#d4a9a9}.admin-wrap a:not(.btn){text-decoration:underline;text-decoration-color:#c5c2ba;text-underline-offset:3px}.admin-wrap h1{line-height:1.12}.table td{overflow-wrap:anywhere}.form button{cursor:pointer}.login-card h1{font-size:52px;letter-spacing:-.05em;margin:0}.page-hero{background:#e9e7e2}.page-hero .intro{max-width:900px}.card a{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.card h3{font-size:24px}
@media(max-width:900px){.mobile-nav{display:block;margin-left:auto;position:relative}.mobile-nav[open] nav{position:absolute;right:0;top:59px;width:min(88vw,345px);background:#111315;padding:12px;border:1px solid #45403a;z-index:40}.article-layout{grid-template-columns:1fr}.adminnav{margin:0}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-choice{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.media-grid,.gallery{grid-template-columns:1fr}.hero{min-height:490px}.hero-inner{padding:68px 0}.login-card{margin:24px 15px;padding:22px}.adminbar .row{gap:6px}.adminnav{gap:12px;font-size:12px}.adminnav a{min-height:32px}.table{display:block;overflow-x:auto}.media-choice{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* BEMCO-HOME-V45 — zjednodušená úvodní stránka a teplý champagne styl.
   Přidává se ZA stávající styly, aby zachoval admin, menu a ostatní stránky. */
:root{--paper:#faf8f3;--paper2:#f1e7d5;--champ:#d5b17a;--line:#ddcbb0}
body{background:var(--paper)}
.hero{
  display:block;
  min-height:600px;
  border-bottom:1px solid #d9c39e;
  background-image:linear-gradient(90deg, rgba(252,250,246,.99) 0%, rgba(252,250,246,.98) 31%, rgba(251,246,237,.88) 44%, rgba(250,244,232,.38) 69%, rgba(247,232,207,.08) 100%),url('/static/hero-grid.svg');
  background-position:center;
  background-size:cover;
}
.hero>.shell{width:100%}
.hero-inner{max-width:680px;padding:96px 0 112px}
.hero h1{max-width:670px;font-size:clamp(52px,5.6vw,82px);line-height:.99;letter-spacing:-.047em;color:#242626}
.hero p{max-width:610px;font-size:20px;line-height:1.55;color:#4d4d49}
.hero .eyebrow{color:#806039}
.hero:has(.hero-photo):after{background:linear-gradient(90deg,rgba(252,250,246,.99) 0%,rgba(252,250,246,.96) 37%,rgba(252,250,246,.64) 64%,rgba(252,250,246,.15))}
.hero .btn.dark{background:#272b2b;border-color:#272b2b;box-shadow:inset 0 -3px 0 #d6b277}
.hero .btn.light{background:#f2dfbe;border-color:#b99665;color:#292b2b}
/* Přístup BEMCO je kompaktní, v champagne ploše místo velkého černého panelu. */
.section.home-approach{padding:82px 0 88px;background:linear-gradient(110deg,#f3e6ce 0%,#ecd7b5 54%,#e4c69a 100%);border-bottom:1px solid #d5b582;color:#292b2b}
.home-approach .focus-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:center}
.home-approach .focus-copy h2{font-size:clamp(36px,4vw,57px);line-height:1.04;max-width:760px;letter-spacing:-.04em;margin-bottom:18px;color:#252827}
.home-approach .focus-copy p{font-size:18px;line-height:1.65;color:#514a41;max-width:710px;margin-bottom:0}
.home-approach .approach-right{border-left:1px solid rgba(121,86,44,.3);padding:16px 0 16px 44px}
.home-approach .approach-right .eyebrow{color:#73532d;font-size:12px}
.home-approach .approach-right p{font-size:18px;color:#3b3c38;line-height:1.7;margin:0}
.home-approach .approach-right a{display:inline-block;margin-top:22px;color:#5b462a;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid #916f42;padding-bottom:5px}
.section.home-contact{padding:74px 0;background:#fcfaf6}
.home-contact .contact-strip{min-height:auto;grid-template-columns:minmax(0,1fr) auto}
.home-contact .contact-strip h2{font-size:clamp(32px,3.5vw,46px)}
.home-contact .contact-strip p{max-width:740px}
.page-hero{background:linear-gradient(105deg,#fcfaf5,#f4e8d5 78%,#e9d4b2);}
.footer{background:#262a2a;border-top:3px solid #bc965f}
@media(max-width:900px){.hero{min-height:540px;background-position:61% center}.hero-inner{padding:72px 0 88px;max-width:600px}.home-approach .focus-grid{grid-template-columns:1fr;gap:30px}.home-approach .approach-right{padding-left:24px}.home-contact .contact-strip{grid-template-columns:1fr}}
@media(max-width:600px){.hero{min-height:unset;background-image:linear-gradient(90deg,rgba(252,250,246,.97),rgba(251,245,235,.88)),url('/static/hero-grid.svg')}.hero-inner{padding:60px 0 76px}.hero h1{font-size:clamp(43px,10.6vw,58px)}.hero p{font-size:18px}.section.home-approach{padding:58px 0}.home-approach .approach-right{padding-left:20px}.section.home-contact{padding:50px 0}}

/* BEMCO-COMPASS-V47: schválený SVG kompas; nepřepisuje jiné části webu. */
/* Za motivem není žádná další podkladová barva: SVG má vlastní transparentní pozadí. */
.hero {
  background-color: #f7f1e7;
  background-image: url('/static/hero-grid.svg'), linear-gradient(100deg,#fcfaf6 0%,#fcfaf6 35%,#f9f3e8 64%,#f0dfc4 100%) !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: calc(100% - 16px) center, center center !important;
  background-size: clamp(390px,43vw,650px) auto, 100% 100% !important;
}
.hero>.shell{position:relative;z-index:2}
.hero .hero-inner{width:min(54%, 670px);max-width:670px}
/* Případný starší nahraný hero snímek nesmí překrývat finální kompas. */
.hero .hero-photo, .hero:has(.hero-photo)::after{display:none!important}
/* Před překrytím textu se celý motiv SKRYJE, nikoli přesune pod text. */
@media (max-width:1180px) {
  .hero {
    background-image:linear-gradient(105deg,#fcfaf6 0%,#f9f3e8 60%,#f0dfc4 100%) !important;
    background-position:center !important;
    background-size:cover !important;
  }
  .hero .hero-inner{width:100%;max-width:680px}
}
/* BEMCO-COMPASS-V471-VISIBILITY-FIX */

/* BEMCO-HOME-V48-ADAPTIVE-HEIGHT
   Pouze titulní stránka: přizpůsobení dostupné výšce desktopu.
   Finální SVG a jeho obsah se NEMĚNÍ. Úzké okno: kompas se nikdy nepřesouvá.
*/
@media (min-width:960px) {
  /* Kompas může být vidět i na užším notebooku: škáluje se dále až do 960 px. */
  .hero {
    background-image: url('/static/hero-grid.svg'), linear-gradient(100deg,#fcfaf6 0%,#fcfaf6 35%,#f9f3e8 64%,#f0dfc4 100%) !important;
    background-repeat:no-repeat,no-repeat!important;
    background-position:calc(100% - 8px) center,center!important;
    background-size:min(40vw,44svh,600px) auto,100% 100%!important;
  }
  .hero .hero-inner {width:min(53%,640px);max-width:640px}
}
@media (max-width:959.98px) {
  .hero {
    background-image:linear-gradient(105deg,#fcfaf6 0%,#f9f3e8 60%,#f0dfc4 100%)!important;
    background-position:center!important;
    background-size:cover!important;
  }
  .hero .hero-inner {width:100%;max-width:680px}
}

/* Desktopová optimalizace bez zásahu do stránky Služby, Kontaktu nebo administrace. */
@media (min-width:960px) and (min-height:730px) {
  body:has(.home-approach){
    display:grid;
    grid-template-rows:62px minmax(310px,1.55fr) minmax(172px,.84fr) minmax(94px,.44fr) auto;
    min-height:100svh;
    overflow-x:clip;
  }
  body:has(.home-approach) .topbar {grid-row:1;position:relative}
  body:has(.home-approach) .topbar .row {height:59px}
  body:has(.home-approach) .topbar .nav a{padding:18px 0 15px}
  body:has(.home-approach) .brand img{width:clamp(170px,16vw,213px)}
  body:has(.home-approach) .brand{min-width:220px}
  .hero {grid-row:2;min-height:0;height:100%;display:flex;align-items:center}
  .hero .hero-inner {padding:14px 0 18px}
  .hero .eyebrow {font-size:clamp(10px,1.32svh,12px);margin-bottom:clamp(8px,1.6svh,15px)}
  .hero h1 {font-size:clamp(42px,min(4.5vw,7svh),70px);line-height:.97;margin-bottom:clamp(12px,2svh,22px)}
  .hero p {font-size:clamp(15px,1.9svh,18px);line-height:1.45;margin-bottom:clamp(14px,2.3svh,24px)}
  .hero .btn {min-height:clamp(37px,4.8svh,44px);padding:0 15px;font-size:11px}
  .section.home-approach {grid-row:3;padding:0;display:flex;align-items:center;min-height:0}
  .home-approach .focus-grid {gap:clamp(24px,4vw,54px);align-items:center}
  .home-approach .eyebrow{font-size:11px;margin-bottom:9px}
  .home-approach .focus-copy h2 {font-size:clamp(30px,4.45svh,43px);line-height:1.05;margin-bottom:0}
  .home-approach .approach-right {padding:6px 0 6px 26px}
  .home-approach .approach-right p {font-size:clamp(14px,1.9svh,17px);line-height:1.48}
  .home-approach .approach-right a {margin-top:clamp(9px,1.6svh,15px);font-size:11px}
  .section.home-contact {grid-row:4;display:flex;align-items:center;min-height:0;padding:7px 0}
  .home-contact .contact-strip {gap:16px}
  .home-contact .contact-strip h2 {font-size:clamp(28px,4svh,38px);line-height:1.12;margin-bottom:6px}
  .home-contact .contact-strip p {font-size:clamp(13px,1.8svh,16px)}
  .home-contact .btn {min-height:39px;font-size:11px;padding:0 15px}
  body:has(.home-approach) .footer{grid-row:5;padding:13px 0 12px}
  body:has(.home-approach) .footer-logo{width:128px}
  body:has(.home-approach) .bemco-footer-identity{gap:18px}
  body:has(.home-approach) .bemco-footer-identity p{font-size:11px;line-height:1.35}
  body:has(.home-approach) .bemco-footer-legal{gap:4px;font-size:11px;line-height:1.3}
}
/* Nízká okna: obsah je čitelný a stránka se přirozeně posouvá, nesmí se ořezat. */
@media (min-width:960px) and (max-height:729.98px) {
  .hero{min-height:0}
  .hero .hero-inner{padding:45px 0}
  .hero h1{font-size:clamp(43px,4.8vw,66px)}
  .hero p{font-size:17px}
  .section.home-approach{padding:34px 0}
  .home-approach .focus-copy h2{font-size:clamp(32px,3.5vw,42px)}
  .home-approach .approach-right p{font-size:16px}
  .section.home-contact{padding:32px 0}
}


/* BEMCO-HOME-V49-COHERENT: doplneni k aktualni verzi, pouze verejna titulni stranka.
   Graficky motiv SVG, jina stranka, databaze sluzeb ani administrace se nemeni. */
@media (min-width:960px) {
  body.bemco-home .hero {
    background-image:url('/static/hero-grid.svg'),linear-gradient(100deg,#fcfaf6 0%,#fcfaf6 35%,#f9f3e8 64%,#f0dfc4 100%) !important;
    background-repeat:no-repeat,no-repeat !important;
    background-position:calc(100% - 12px) center,center !important;
    background-size:min(40vw,47svh,585px) auto,100% 100% !important;
  }
  body.bemco-home .hero .hero-inner {max-width:645px;width:53%}
}
@media (max-width:959.98px) {
  body.bemco-home .hero {
    background-image:linear-gradient(110deg,#fcfaf6 0%,#f8f0e2 70%,#efdcc0 100%) !important;
    background-position:center!important;
    background-size:cover!important;
  }
  body.bemco-home .hero .hero-inner{width:100%;max-width:680px}
}
/* Vyraznejsi logo, nizsi a subtilnejsi zah­lavi; desktop. */
@media (min-width:960px) {
  body.bemco-home .topbar {position:relative;border-bottom-width:2px}
  body.bemco-home .topbar .row {height:55px;min-height:55px}
  body.bemco-home .brand {min-width:245px}
  body.bemco-home .brand img {width:clamp(215px,17vw,248px);max-height:45px;object-fit:contain}
  body.bemco-home .nav a{padding:15px 0 13px}
  body.bemco-home .nav{gap:clamp(16px,2vw,28px)}
}
/* Zasedani hero + prokazatelna zkusenost v jedne prostredni sekci. */
body.bemco-home .home-approach .focus-grid {
  grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  gap:clamp(22px,3vw,48px);
  align-items:center;
}
body.bemco-home .home-approach .focus-copy h2{max-width:700px}
body.bemco-home .home-approach .focus-copy p {color:#514a41;font-size:clamp(13px,1.45svh,16px);line-height:1.45;margin:11px 0 0;max-width:680px}
body.bemco-home .home-approach .bemco-about-proof {border-left:1px solid rgba(121,86,44,.3);padding:8px 0 8px clamp(20px,3vw,44px)}
body.bemco-home .home-approach .bemco-about-proof .eyebrow{font-size:11px;margin-bottom:7px;color:#73532d}
body.bemco-home .home-approach .bemco-about-proof h3{font-size:clamp(21px,2.65svh,30px);line-height:1.08;letter-spacing:-.035em;margin:0 0 8px}
body.bemco-home .home-approach .bemco-about-proof p {font-size:clamp(13px,1.65svh,16px);line-height:1.45;color:#3b3c38;margin:0}
body.bemco-home .home-approach .bemco-about-proof a{display:inline-block;margin-top:11px;font-size:11px;font-weight:800;color:#5b462a;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid #916f42;padding-bottom:3px}
body.bemco-home .home-approach .bemco-about-proof a:hover,
body.bemco-home .home-approach .bemco-about-proof a:focus-visible{color:#17191c;border-color:#17191c}
/* Odkazy zustavaji prave HTML odkazy, s viditelnymi hover/focus stavy. */
body.bemco-home .btn{cursor:pointer}
body.bemco-home .hero .btn.dark:hover,body.bemco-home .home-contact .btn.dark:hover,
body.bemco-home .hero .btn.dark:focus-visible,body.bemco-home .home-contact .btn.dark:focus-visible{
  background:#d7b47b!important;border-color:#b9955d!important;color:#1f2222!important;
  box-shadow:inset 0 -3px 0 #986d36!important;
}
body.bemco-home .hero .btn.light:hover,body.bemco-home .hero .btn.light:focus-visible{
  background:#292c2d!important;border-color:#292c2d!important;color:#fff!important;
}
body.bemco-home a:focus-visible{outline:2px solid #ad7c40;outline-offset:4px}
/* Vysoko dostupna stranka pri desktopu: vsechny casti vcetne paticky. */
@media (min-width:960px) and (min-height:745px) {
  body.bemco-home {
    display:grid!important;
    grid-template-rows:55px minmax(280px,1.56fr) minmax(153px,.89fr) minmax(69px,.36fr) minmax(77px,auto)!important;
    min-height:100vh;min-height:100svh;
    overflow-x:clip;
  }
  body.bemco-home .topbar {grid-row:1;position:relative}
  body.bemco-home .hero {grid-row:2;height:100%;min-height:0;display:flex;align-items:center}
  body.bemco-home .hero .hero-inner{padding:8px 0 12px}
  body.bemco-home .hero .eyebrow{font-size:clamp(10px,1.25svh,12px);margin-bottom:clamp(8px,1.45svh,14px)}
  body.bemco-home .hero h1{font-size:clamp(40px,min(4.7vw,7svh),71px);line-height:.97;margin-bottom:clamp(11px,1.75svh,18px)}
  body.bemco-home .hero p{font-size:clamp(14px,1.8svh,19px);line-height:1.45;margin-bottom:clamp(11px,1.8svh,20px)}
  body.bemco-home .hero .btn{min-height:39px;padding:0 14px;font-size:11px}
  body.bemco-home .section.home-approach{grid-row:3;display:flex;align-items:center;min-height:0;padding:10px 0}
  body.bemco-home .home-approach .eyebrow{font-size:10px;margin-bottom:7px}
  body.bemco-home .home-approach .focus-copy h2{font-size:clamp(27px,3.9svh,43px);line-height:1.05;margin:0}
  body.bemco-home .section.home-contact{grid-row:4;display:flex;align-items:center;min-height:0;padding:5px 0}
  body.bemco-home .home-contact .contact-strip{gap:14px}
  body.bemco-home .home-contact .contact-strip h2{font-size:clamp(24px,3.4svh,35px);line-height:1.08;margin-bottom:5px}
  body.bemco-home .home-contact .contact-strip p{font-size:clamp(12px,1.5svh,15px)}
  body.bemco-home .home-contact .btn{min-height:37px;padding:0 13px;font-size:10px}
  body.bemco-home .footer {grid-row:5;padding:10px 0 9px}
  body.bemco-home .footer-logo{width:126px}
  body.bemco-home .bemco-footer-identity{gap:14px}
  body.bemco-home .bemco-footer-identity p{font-size:10.8px;line-height:1.35}
  body.bemco-home .bemco-footer-legal{gap:3px;font-size:10.8px;line-height:1.35}
}
@media (min-width:960px) and (max-height:744.98px) {
  body.bemco-home .hero{min-height:0}
  body.bemco-home .hero .hero-inner{padding:40px 0}
  body.bemco-home .section.home-approach{padding:33px 0}
  body.bemco-home .section.home-contact{padding:26px 0}
}
@media(max-width:959.98px){
 body.bemco-home .home-approach .focus-grid{grid-template-columns:1fr}
 body.bemco-home .home-approach .bemco-about-proof{border-left:0;border-top:1px solid #d7bc92;padding:20px 0 0}
}
@media(prefers-reduced-motion:reduce){body.bemco-home .btn{transition:none!important;transform:none!important}}
/* Průhledné horní a spodní okraje původního PNG logo souboru jen skryjeme;
   grafické křivky loga NEMĚNÍME a zachováme správný poměr stran. */
@media(min-width:960px){
 body.bemco-home .topbar .brand{height:47px;overflow:hidden;display:flex;align-items:flex-start}
 body.bemco-home .topbar .brand img{
   display:block;width:clamp(215px,17vw,245px);max-height:none!important;height:auto!important;
   object-fit:unset!important;margin-top:calc(-1 * clamp(215px,17vw,245px) * 0.0617);
 }
 body.bemco-home .home-approach .focus-copy h2{max-width:460px}
}


/* BEMCO-LAYOUT-V410: geometrie stránky a sladění ploch, pouze veřejný web.
   Schválený kompas, obsah, databáze a backend zůstávají nedotčeny. */
@media (min-width:960px) {
  /* Stejná optická šířka rámce na všech stránkách; na velkých monitorech
     se bloky přibližují k okrajům místo zamrznutí uprostřed. */
  body:not(.admin-body) {
    --bemco-gutter: clamp(26px,4.25vw,84px);
  }
  body:not(.admin-body) .shell {
    width:100%;
    max-width:1840px;
    padding-inline:var(--bemco-gutter);
  }
  /* Výška a logo na úvodu, stránce služeb i právních stránkách stejné. */
  body:not(.admin-body) .topbar {
    border-bottom:2px solid #c5a46d;
    position:relative;
  }
  body:not(.admin-body) .topbar .row {
    height:74px;
    min-height:74px;
    gap:28px;
  }
  body:not(.admin-body) .topbar .brand {
    min-width:270px;
    height:54px;
    overflow:hidden;
    display:flex;
    align-items:flex-start;
  }
  body:not(.admin-body) .topbar .brand img {
    display:block;
    width:clamp(225px,16.2vw,265px);
    height:auto!important;
    max-height:none!important;
    object-fit:unset!important;
    margin-top:calc(-1 * clamp(225px,16.2vw,265px) * .0617);
  }
  body:not(.admin-body) .topbar .nav {
    margin-left:auto;
    gap:clamp(18px,2vw,32px);
  }
  body:not(.admin-body) .topbar .nav a {
    padding:21px 0 19px;
  }
  /* Kompas ukotven stejným bočním odsazením jako menu a text.
     Zůstává jako samostatná vrstva SVG napravo a NIKDY nepřejde pod text. */
  body.bemco-home .hero {
    background-position:right max(var(--bemco-gutter), calc((100vw - 1840px)/2 + var(--bemco-gutter))) center, center center !important;
    background-size:min(38vw,44svh,600px) auto, 100% 100% !important;
  }
  body.bemco-home .hero .hero-inner {
    width:50%;
    max-width:650px;
  }
  /* Společný rámec středního pásu a kontaktní výzvy: druhý sloupec
     se pohybuje směrem k pravému okraji úměrně rozšiřování okna. */
  body.bemco-home .home-approach .focus-grid {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    column-gap:clamp(32px,4.25vw,82px);
    width:100%;
  }
  body.bemco-home .home-approach .bemco-about-proof {
    padding-left:clamp(20px,3vw,46px);
  }
  body.bemco-home .home-contact .contact-strip {
    width:100%;
  }
  /* Ostatní veřejné stránky: výraznější champagne střed, ale bílé karty
     služeb a tmavý text zůstávají kontrastní a čitelné. */
  body:not(.bemco-home):not(.admin-body) .page-hero + .section {
    background:linear-gradient(110deg,#f3e6ce 0%,#ecd7b5 56%,#e5c99e 100%);
    border-bottom:1px solid #d5b582;
  }
}
/* Na notebooku šířky 960–1100 px zachováme mezi textem a kompasem místo. */
@media (min-width:960px) and (max-width:1100px) {
  body.bemco-home .hero {
    background-size:min(36vw,42svh,410px) auto,100% 100%!important;
  }
  body.bemco-home .hero .hero-inner{width:49%}
}
/* Výšku titulní stránky stále počítáme podle viewportu, avšak 74px header
   používají všechny veřejné stránky (nikoli původních 55px jen úvod). */
@media (min-width:960px) and (min-height:745px) {
  body.bemco-home {
    grid-template-rows:74px minmax(264px,1.51fr) minmax(152px,.88fr) minmax(65px,.35fr) minmax(77px,auto)!important;
  }
  body.bemco-home .topbar .row{height:74px;min-height:74px}
}
/* Přirozený scroll u menších obrazovek, žádné vynucené škálování textu. */
@media (max-width:959.98px) {
  body:not(.admin-body) .topbar .row{min-height:70px}
  body:not(.bemco-home):not(.admin-body) .page-hero + .section {
    background:linear-gradient(125deg,#f3e6ce,#e9cea5);
  }
}
/* Nižší desktop/notebook: úplná stránka pokud je prostor alespoň 690 px.
   Neobětujeme velikost písma; zmenšujeme jen vertikální mezery. */
@media (min-width:960px) and (min-height:690px) and (max-height:744.98px) {
  body.bemco-home {
    display:grid!important;
    grid-template-rows:74px minmax(260px,1.55fr) minmax(158px,.85fr) minmax(65px,.32fr) minmax(68px,auto)!important;
    min-height:100svh;
  }
  body.bemco-home .topbar{grid-row:1;position:relative}
  body.bemco-home .hero{grid-row:2;min-height:0;height:100%;display:flex;align-items:center}
  body.bemco-home .hero .hero-inner{padding:8px 0}
  body.bemco-home .hero .eyebrow{margin-bottom:9px}
  body.bemco-home .hero h1{font-size:clamp(39px,5vw,58px);line-height:.98;margin-bottom:12px}
  body.bemco-home .hero p{font-size:clamp(14px,1.9svh,17px);line-height:1.42;margin-bottom:13px}
  body.bemco-home .section.home-approach{grid-row:3;display:flex;align-items:center;min-height:0;padding:6px 0}
  body.bemco-home .home-approach .focus-copy h2{font-size:clamp(27px,4svh,36px);line-height:1.05}
  body.bemco-home .section.home-contact{grid-row:4;display:flex;align-items:center;min-height:0;padding:5px 0}
  body.bemco-home .home-contact .contact-strip h2{font-size:clamp(23px,3.4svh,32px);margin:0 0 4px}
  body.bemco-home .footer{grid-row:5;padding:8px 0 7px}
  body.bemco-home .footer-logo{width:126px}
  body.bemco-home .bemco-footer-identity{gap:15px}
  body.bemco-home .bemco-footer-identity p,
  body.bemco-home .bemco-footer-legal{font-size:10.8px;line-height:1.32}
  body.bemco-home .bemco-footer-legal{gap:3px}
}


/* BEMCO-V411-FOOTER-AND-DESKTOP-TYPOGRAPHY
   Cíl: zachovat hlavní nadpis i úvodní text na desktopu v konstantní velikosti.
   Změny velikosti viewportu ovlivní pouze kompas a vnitřní prázdná místa.
   Nikdy neposouvat kompas pod text; pro mobil použít dosavadní breakpoint 960 px.
   Přirozené svislé posouvání je přípustné, je-li okno příliš nízké.
*/
@media (min-width:960px) {
  body.bemco-home .hero h1 {
    font-size:64px !important;
    line-height:.975;
    letter-spacing:-.055em;
  }
  body.bemco-home .hero p {
    font-size:18px !important;
    line-height:1.43;
  }
  body.bemco-home .hero .eyebrow {font-size:12px !important;}
  /* V nízkém okně kompas nadále škálujeme podle výšky a šířky. */
  body.bemco-home .hero {
    background-size:min(38vw,44svh,600px) auto,100% 100% !important;
  }
  /* Vzhled třísloupcového zápatí je společný pro všechny veřejné stránky. */
  body:not(.admin-body) .footer {padding-block:12px;}
  body:not(.admin-body) .footer .bemco-footer-wrap {
    width:100%;display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(190px,.85fr);
    align-items:center;column-gap:clamp(18px,3vw,55px);
  }
  body:not(.admin-body) .footer .bemco-footer-identity {
    display:flex;align-items:center;gap:clamp(14px,2.2vw,30px);
    min-width:0;
  }
  body:not(.admin-body) .footer .footer-logo {width:clamp(116px,10vw,166px);flex:none;}
  body:not(.admin-body) .footer .bemco-footer-identity p {
    font-size:11.5px;line-height:1.36;margin:0;color:#e5e0d7;
  }
  body:not(.admin-body) .footer .bemco-footer-legal {
    display:flex;flex-direction:column;gap:2px;
    font-size:11.5px;line-height:1.32;
  }
  body:not(.admin-body) .footer .bemco-footer-legal a {color:#e5c48e;}
  body:not(.admin-body) .footer .bemco-footer-legal a:hover,
  body:not(.admin-body) .footer .bemco-footer-legal a:focus-visible {text-decoration:underline;}
}
/* Kompas dále ubíráme místo textu. */
@media (min-width:960px) and (max-width:1140px) {
  body.bemco-home .hero {background-size:min(29vw,40svh,350px) auto,100% 100% !important;}
  body.bemco-home .hero .hero-inner {width:58%;max-width:640px;}
}
/* Mobilní režim: zůstává současné škálování textů a kompas je zcela skryt. */
@media (max-width:959.98px) {
  body:not(.admin-body) .footer .bemco-footer-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
  body:not(.admin-body) .footer .bemco-footer-legal{display:flex;flex-direction:column;gap:5px}
}
@media (max-height:700px) and (min-width:960px) {
  /* Zachovat čitelnost. Nepřípustné ořezání nahradí přirozené posouvání. */
  body.bemco-home{min-height:100svh;height:auto;}
  body.bemco-home .hero{min-height:340px;}
}

/* BEMCO-V4111-FINAL-COMPASS-LEGAL-RIGHT
   Pouze zarovnani pravnich odkazu v zapati.
   Zadna zmena designu, typografie, kompasu ani rozlozeni ostatnich sekci. */
@media (min-width:960px) {
  body:not(.admin-body) .footer .bemco-footer-legal {
    justify-self:end !important;
    align-items:flex-end !important;
    text-align:right !important;
    margin-left:auto !important;
    padding-right:0 !important;
  }
}
@media (max-width:959.98px) {
  body:not(.admin-body) .footer .bemco-footer-legal {
    align-self:flex-end !important;
    align-items:flex-end !important;
    text-align:right !important;
    margin-left:auto !important;
  }
}

/* BEMCO-V412-PUBLIC-PAGES: společná minimální výška veřejných podstránek.
   Nezasahuje do gridu titulní stránky ani do administrace. */
body:not(.admin-body):not(.bemco-home) {
  min-height:100vh;
  min-height:100svh;
  display:flex;
  flex-direction:column;
}
body:not(.admin-body):not(.bemco-home) > .footer {
  margin-top:auto;
  flex-shrink:0;
}
/* Navigace detailů: textový odkaz, čitelný na dotyku i klávesnici. */
.bemco-detail-return {margin:0 0 19px;}
.bemco-detail-return a {
  color:#453621;font-weight:700;font-size:13px;line-height:1.55;
  letter-spacing:.025em;display:inline-block;
  text-decoration:none;text-underline-offset:4px;
}
.bemco-detail-return a:hover,.bemco-detail-return a:focus-visible {
  text-decoration:underline;color:#141619;
}
.bemco-detail-return-bottom {margin-top:32px;border-top:1px solid rgba(89,73,49,.22);padding-top:19px;}
.bemco-coverage {margin:0 0 26px;padding:18px 22px;border-left:3px solid #c5a46d;
  background:rgba(255,255,255,.68);color:#343434;}
.bemco-coverage strong {display:block;margin-bottom:5px;}
.bemco-coverage p {margin:0;font-size:15px;line-height:1.55;}
@media (max-width:959.98px){
  .bemco-detail-return {margin-bottom:14px;}
  .bemco-detail-return a {padding:8px 0;min-height:44px;display:inline-flex;align-items:center;}
}

/* BEMCO-V4121-COMPACT-CONTACT
   Pouze veřejná stránka Kontakt, bez změny obsahu nebo jiných stránek.
   Přes 960px a při dostatečné výšce vkládáme kontaktní text a formulář
   vedle sebe; při nedostatku prostoru povolíme běžné rolování.
   :has() podporují aktuální Safari, Firefox, Chrome i Edge. */
@media (min-width:960px) and (min-height:690px) {
  body:not(.admin-body):has(form.form[action="/kontakt"]) {
    min-height:100vh;
    min-height:100svh;
    display:flex;
    flex-direction:column;
  }
  body:not(.admin-body):has(form.form[action="/kontakt"]) > .page-hero {
    padding-block:23px 17px;
    flex-shrink:0;
  }
  body:not(.admin-body):has(form.form[action="/kontakt"]) > .page-hero .eyebrow {
    margin-bottom:7px;
  }
  body:not(.admin-body):has(form.form[action="/kontakt"]) > .page-hero h1 {
    font-size:clamp(40px,3.25vw,52px);
    line-height:1.04;
    margin-bottom:9px;
  }
  body:not(.admin-body):has(form.form[action="/kontakt"]) > .page-hero p {
    margin:0;
    line-height:1.4;
  }
  body:not(.admin-body):has(form.form[action="/kontakt"]) > .page-hero + .section {
    padding-block:20px;
    flex:1 0 auto;
    display:flex;
    align-items:center;
  }
  body:not(.admin-body):has(form.form[action="/kontakt"]) > .page-hero + .section > .shell.narrow {
    width:100%;
    max-width:1280px;
    display:grid;
    grid-template-columns:minmax(250px,.8fr) minmax(0,1.45fr);
    gap:clamp(18px,3vw,42px);
    align-items:center;
  }
  body:not(.admin-body):has(form.form[action="/kontakt"]) .bemco-coverage {
    grid-column:1;
    margin:0;
    padding:19px 22px;
  }
  body:not(.admin-body):has(form.form[action="/kontakt"]) .bemco-coverage p {
    font-size:15px;
  }
  body:not(.admin-body):has(form.form[action="/kontakt"]) form.form.panel[action="/kontakt"] {
    grid-column:2;
    margin:0;
    padding:17px 20px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);
    column-gap:16px;
    row-gap:12px;
    align-items:end;
    min-width:0;
  }
  body:not(.admin-body):has(form.form[action="/kontakt"]) form.form.panel[action="/kontakt"] > .field {
    margin:0;
  }
  body:not(.admin-body):has(form.form[action="/kontakt"]) form.form.panel[action="/kontakt"] > .grid2 {
    column-gap:10px;
    min-width:0;
  }
  body:not(.admin-body):has(form.form[action="/kontakt"]) form.form.panel[action="/kontakt"] > .grid2 .field {
    margin:0;
    min-width:0;
  }
  body:not(.admin-body):has(form.form[action="/kontakt"]) form.form.panel[action="/kontakt"] > .field:has(textarea) {
    grid-column:1/-1;
  }
  body:not(.admin-body):has(form.form[action="/kontakt"]) form.form.panel[action="/kontakt"] label {
    margin-bottom:5px;
  }
  body:not(.admin-body):has(form.form[action="/kontakt"]) form.form.panel[action="/kontakt"] input {
    min-height:40px;
    padding-block:7px;
  }
  body:not(.admin-body):has(form.form[action="/kontakt"]) form.form.panel[action="/kontakt"] textarea {
    min-height:83px;
    padding-block:8px;
  }
  body:not(.admin-body):has(form.form[action="/kontakt"]) form.form.panel[action="/kontakt"] > .small {
    margin:0;
    grid-column:1;
    line-height:1.4;
  }
  body:not(.admin-body):has(form.form[action="/kontakt"]) form.form.panel[action="/kontakt"] > button {
    grid-column:2;
    justify-self:end;
    min-height:42px;
  }
  body:not(.admin-body):has(form.form[action="/kontakt"]) .flash {
    grid-column:1/-1;
    margin-bottom:0;
  }
  body:not(.admin-body):has(form.form[action="/kontakt"]) > .footer {
    margin-top:auto;
    flex-shrink:0;
  }
}
/* Pod hranicí 960px zachováme vertikální mobilní formulář a běžný scroll. */

/* BEMCO-V4122-UNIFIED-SUBPAGES
   Jednotný horní blok všech veřejných podstránek včetně Kontaktu,
   střední tmavší champagne část s výškou podle obsahu,
   pod ní světlejší champagne volná plocha a patička u spodního okraje.
   Úvodní stránka, SVG, administrace, formulář a obsah zůstávají nedotčené.
*/
body:not(.admin-body):not(.bemco-home) {
  min-height:100vh;
  min-height:100svh;
  display:flex;
  flex-direction:column;
  background:#fbf8f3;
}
body:not(.admin-body):not(.bemco-home) > .footer {
  margin-top:auto;
  flex-shrink:0;
}
/* Tytéž proporce hlavičky jako na přehledu Služby. Jde o MINIMUM,
   nikoliv o pevnou výšku: dlouhý nadpis nebo překlad může blok zvětšit. */
body:not(.admin-body):not(.bemco-home) > .page-hero {
  min-height:220px !important;
  height:auto !important;
  padding-block:27px !important;
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  background:linear-gradient(103deg,#fcfaf6 0%,#f8f0e3 55%,#eddbbb 100%) !important;
  border-bottom:1px solid #d8bc95;
}
body:not(.admin-body):not(.bemco-home) > .page-hero > .shell {
  width:100%;
}
body:not(.admin-body):not(.bemco-home) > .page-hero .eyebrow {
  margin-bottom:11px;
}
body:not(.admin-body):not(.bemco-home) > .page-hero h1 {
  font-size:clamp(40px,3.8vw,58px) !important;
  line-height:1.06 !important;
  margin:0 0 12px !important;
}
body:not(.admin-body):not(.bemco-home) > .page-hero p {
  margin:0;
  line-height:1.45;
}
/* Zpětný odkaz detailů zůstává přístupný, ale neprodlužuje zbytečně
   nadpisový pás oproti přehledu Služby. */
@media (min-width:960px) {
  body:not(.admin-body):not(.bemco-home) > .page-hero .bemco-detail-return {
    margin-bottom:7px;
  }
}
/* Hlavní obsah všech podstránek: teplejší champagne, přirozená výška.
   Zásadní: NEroztahovat tuto sekci až k patičce, ani na Kontaktu. */
body:not(.admin-body):not(.bemco-home) > .page-hero + .section {
  background:linear-gradient(112deg,#f2e4cb 0%,#ecd6b3 58%,#e4c69a 100%) !important;
  border-bottom:1px solid #d5b582;
  height:auto !important;
  min-height:0 !important;
  flex:0 0 auto !important;
  padding-block:clamp(27px,2.8vw,42px) !important;
  display:block !important;
}
/* Kontakt: stejná horní plocha a stejně končící tmavší střední pás,
   dvě čitelné části vedle sebe na desktopu, nikdy pevná výška.
   Přebíjí pouze specifické výškové styly z opravné verze v4.12.1. */
@media (min-width:960px) {
  body:not(.admin-body):not(.bemco-home):has(form.form[action="/kontakt"]) > .page-hero + .section {
    padding-block:23px 29px !important;
    align-items:initial !important;
    flex:0 0 auto !important;
  }
  body:not(.admin-body):not(.bemco-home):has(form.form[action="/kontakt"]) > .page-hero + .section > .shell.narrow {
    width:100%;
    max-width:1360px !important;
    display:grid !important;
    grid-template-columns:minmax(275px,.78fr) minmax(0,1.22fr) !important;
    align-items:center !important;
    gap:clamp(24px,3.1vw,52px) !important;
  }
  body:not(.admin-body):not(.bemco-home):has(form.form[action="/kontakt"]) .bemco-coverage {
    grid-column:1;
    margin:0;
    padding:23px 26px;
    align-self:center;
  }
  body:not(.admin-body):not(.bemco-home):has(form.form[action="/kontakt"]) form.form.panel[action="/kontakt"] {
    grid-column:2;
    margin:0;
    min-width:0;
    align-self:center;
  }
  body:not(.admin-body):not(.bemco-home):has(form.form[action="/kontakt"]) .flash {
    grid-column:1 / -1;
    margin:0;
  }
}
/* Na středních obrazovkách a telefonech je přirozenější svislé
   skládání, než stlačit formulář do příliš úzkého sloupce. */
@media (max-width:959.98px) {
  body:not(.admin-body):not(.bemco-home):has(form.form[action="/kontakt"]) > .page-hero + .section > .shell.narrow {
    display:block !important;
    width:100%;
    max-width:780px !important;
  }
  body:not(.admin-body):not(.bemco-home):has(form.form[action="/kontakt"]) .bemco-coverage {
    margin:0 0 22px !important;
  }
  body:not(.admin-body):not(.bemco-home):has(form.form[action="/kontakt"]) form.form.panel[action="/kontakt"] {
    display:block !important;
    margin:0;
  }
  body:not(.admin-body):not(.bemco-home):has(form.form[action="/kontakt"]) form.form.panel[action="/kontakt"] > .field,
  body:not(.admin-body):not(.bemco-home):has(form.form[action="/kontakt"]) form.form.panel[action="/kontakt"] > .grid2 {
    margin-bottom:16px;
  }
}
/* Dotyková zobrazení: všechny nadpisy přirozeně zalamovat, žádný ořez. */
@media (max-width:959.98px) {
  body:not(.admin-body):not(.bemco-home) > .page-hero {
    min-height:0 !important;
    padding-block:clamp(33px,5vw,56px) !important;
  }
  body:not(.admin-body):not(.bemco-home) > .page-hero h1 {
    font-size:clamp(35px,6vw,48px) !important;
    overflow-wrap:break-word;
  }
  body:not(.admin-body):not(.bemco-home) > .page-hero + .section {
    padding-block:clamp(28px,5vw,50px) !important;
  }
}

/* BEMCO-V413: pouze rozložení statického kontaktu bez POST formuláře */
@media(min-width:960px){
  body:not(.admin-body):has(.bemco-contact-live)>.page-hero+.section>.shell.narrow{
    width:100%;max-width:1360px;display:grid;grid-template-columns:minmax(275px,.78fr) minmax(0,1.22fr);
    align-items:center;gap:clamp(24px,3.1vw,52px)}
  body:not(.admin-body):has(.bemco-contact-live) .bemco-coverage{grid-column:1;margin:0;padding:23px 26px}
  body:not(.admin-body):has(.bemco-contact-live) .bemco-contact-live{grid-column:2;margin:0;min-width:0}
}
@media(max-width:959.98px){
  body:not(.admin-body):has(.bemco-contact-live)>.page-hero+.section>.shell.narrow{max-width:780px;width:100%}
  body:not(.admin-body):has(.bemco-contact-live) .bemco-coverage{margin:0 0 22px}
}
