:root{--hl:#462c96;--hlt:#2c1c5f;--zl:#c0a659;--cta:#9bc322;--bg:#f6f5fa;--pl:#e7e2f3;--tx:#1f1b2d;--bl:#fff;
--h:"Unbounded",Verdana,sans-serif;--t:"Golos Text",Verdana,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);font:17px/1.5 var(--t);padding-bottom:96px}
body.kratka{min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
img{max-width:100%;height:auto;display:block}
a{color:var(--hl)}
:focus-visible{outline:3px solid var(--zl);outline-offset:2px}
h1,h2,h3{font-family:var(--h);line-height:1.15;margin:0 0 .5em;color:var(--hlt);font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(28px,3.6vw,44px)}
h2{font-size:clamp(22px,2.4vw,30px)}
h3{font-size:19px}
p{margin:0 0 .7em}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}

/* hlavička – titulní pruh brožury */
.hlav{background:var(--hlt);color:var(--bl);border-bottom:6px solid var(--zl)}
.hlav .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:10px;padding-bottom:10px}
.znacka{font-family:var(--h);font-size:22px;font-weight:800;color:var(--bl);text-decoration:none;display:flex;align-items:center;gap:10px}
.znacka svg{flex:0 0 auto}
.hlav .cta{min-height:50px;font-size:16px;padding:12px 18px}

/* tlačítka */
.cta{display:inline-flex;align-items:center;justify-content:center;text-align:center;background:var(--cta);color:var(--hlt);font:700 18px/1.2 var(--h);text-decoration:none;border:2px solid var(--hlt);box-shadow:5px 5px 0 var(--hlt);min-height:62px;padding:16px 24px;transition:transform .12s,box-shadow .12s}
.cta:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--hlt)}
.cta.velke{min-height:84px;min-width:320px;font-size:22px;padding:20px 30px}

/* brožura: arch s panely a lomy */
.arch{display:grid;background:var(--bl);border:2px solid var(--hlt);box-shadow:10px 10px 0 var(--hl);margin:26px 0 34px}
.panel{padding:22px 22px 20px;min-width:0}
.panel.tmavy{background:var(--hl);color:var(--bl)}
.panel.tmavy h2,.panel.tmavy h3{color:var(--bl)}
.panel.plocha{background:var(--pl)}
.lom{width:22px;background:linear-gradient(90deg,rgba(44,28,95,.0) 0%,rgba(44,28,95,.22) 46%,rgba(44,28,95,.34) 50%,rgba(255,255,255,.5) 54%,rgba(44,28,95,.0) 100%)}
.a3{grid-template-columns:1.15fr 22px 1fr 22px .8fr}
.a2{grid-template-columns:1fr 22px 1fr}
.a2s{grid-template-columns:1.4fr 22px 1fr}
.a3f{grid-template-columns:1.2fr 22px 1fr 22px .8fr}
.oferta .cta{margin-top:8px}
.hero .plocha{display:flex}
.hero figure{display:flex;flex-direction:column;flex:1}

/* hero */
.hero .perex{font-size:19px}
.hero .poz{font-size:15px;color:#4b4462;margin-top:10px}
.hero figure,.fot{margin:0}
.hero figure img{width:100%;flex:1;min-height:300px;height:0;object-fit:cover;object-position:55% 40%;border:2px solid var(--hlt)}
figcaption{font-size:15px;line-height:1.4;margin-top:8px;color:#4b4462}
.tmavy figcaption{color:#ece8f7}
.body{list-style:none;margin:0;padding:0}
.body li{border-top:1px solid rgba(255,255,255,.35);padding:10px 0;font-size:17px}
.body li:first-child{border-top:0}
.body b{display:block;font-family:var(--h);font-size:16px;color:var(--zl)}

/* situace */
.sit{border-top:2px solid var(--hlt);padding-top:10px;margin-top:12px}
.sit:first-of-type{border-top:0;margin-top:0;padding-top:0}
.sit h3{margin-bottom:.3em}
.fot img{width:100%;aspect-ratio:3/2;object-fit:cover;border:2px solid var(--hlt)}

/* fakta */
.cislo{font:800 clamp(40px,5vw,60px)/1 var(--h);color:var(--hl);margin:4px 0 8px}
.zdroj{font-size:15px;color:#4b4462}
.fakt+.fakt{border-top:2px dashed var(--hl);padding-top:14px;margin-top:14px}

/* recenze */
.rec{margin:0;padding:12px 0;border-top:1px solid var(--pl)}
.rec:first-of-type{border-top:0}
.rec blockquote{margin:0;font-size:19px;font-weight:500}
.rec cite{font-style:normal;font-size:15px;color:#4b4462}

/* faq */
.faq details{border-top:1px solid rgba(255,255,255,.35);padding:10px 0}
.faq details:first-of-type{border-top:0}
.faq summary{cursor:pointer;font-weight:700;font-size:17px}
.faq details p{margin:.5em 0 0}

/* závěr */
.zaver .fot img{aspect-ratio:4/3;object-position:30% 50%}
.zaver .cta{margin-top:10px}

/* patička */
.pat{background:var(--hlt);color:#e7e2f3;font-size:15px;padding:18px 0}
.pat .wrap{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between}
.pat a{color:#e7e2f3}
.pat nav{display:flex;flex-wrap:wrap;gap:6px 14px}

/* podstránky */
.stranka{max-width:820px}
.stranka .arch{grid-template-columns:1fr}
form label{display:block;font-weight:700;margin:12px 0 4px}
form input,form textarea{width:100%;font:17px var(--t);padding:10px;border:2px solid var(--hlt);border-radius:0;background:var(--bl)}
form button{margin-top:14px;font:700 18px var(--h);background:var(--hl);color:var(--bl);border:2px solid var(--hlt);box-shadow:4px 4px 0 var(--hlt);padding:14px 22px;cursor:pointer}
#kontaktDakujeme{display:none;background:var(--pl);border-left:6px solid var(--cta);padding:14px;margin-top:14px}

/* popup a lišta (engine) */
.modal-overlay{position:fixed;inset:0;background:rgba(20,12,45,.8);display:none;align-items:center;justify-content:center;z-index:1000;padding:16px}
.modal-overlay.show{display:flex}
.modal{position:relative;background:var(--bl);border:3px solid var(--hlt);box-shadow:12px 12px 0 var(--hl);width:640px;max-width:100%;padding:36px 30px 30px;text-align:center}
.modal .close{position:absolute;top:8px;right:10px;background:none;border:0;font-size:34px;line-height:1;cursor:pointer;color:var(--hlt)}
.modal .badge{display:inline-block;background:var(--zl);color:var(--hlt);font-weight:700;padding:6px 12px;margin-bottom:10px}
.modal h3{font-size:44px;margin:.2em 0}
.modal .offer{font-size:19px;margin:10px 0 16px}
.modal .btn{white-space:normal}
.btn,.btn-cta{display:inline-flex;align-items:center;justify-content:center;background:var(--cta);color:var(--hlt);font:700 22px/1.2 var(--h);text-decoration:none;border:2px solid var(--hlt);box-shadow:5px 5px 0 var(--hlt);min-height:84px;padding:16px 24px}
.btn-cta-xl{width:100%}
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:900;background:var(--hlt);color:var(--bl);display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 16px;border-top:4px solid var(--zl)}
.sticky-cta>span{font-size:16px}
.sticky-cta .btn,.sticky-cta a{flex:0 0 auto;min-height:62px;font-size:18px}

@media (max-width:860px){
 .a3,.a2,.a2s,.a3f,.a2f{grid-template-columns:1fr}
 .lom{width:auto;height:20px;background:linear-gradient(180deg,rgba(44,28,95,0) 0%,rgba(44,28,95,.22) 46%,rgba(44,28,95,.34) 50%,rgba(255,255,255,.5) 54%,rgba(44,28,95,0) 100%)}
 .arch{box-shadow:6px 6px 0 var(--hl);margin:18px 6px 26px 0}
 .panel{padding:18px 16px}
 .hero figure img{aspect-ratio:4/3;height:auto;flex:none;min-height:0}
 .cta.velke{min-width:0;width:100%}
 .hlav .cta{font-size:14px;padding:10px 12px;min-height:48px}
 .znacka{font-size:18px}
 .modal h3{font-size:34px}
 .sticky-cta>span{font-size:14px}
 .sticky-cta .btn,.sticky-cta a{font-size:16px;min-height:52px;padding:10px 14px}
}
@media (prefers-reduced-motion:reduce){.cta{transition:none}}

.a2f{grid-template-columns:1fr 22px 1.1fr}
.a2f>.plocha{align-self:stretch}
.a1{grid-template-columns:1fr}
.oferta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 32px}
.oferta h2{flex:1 1 100%;margin:0}
.oferta p{flex:1 1 420px;margin:0}

@media (max-width:860px){.a2f,.a1{grid-template-columns:1fr}.a2f>.plocha img{width:100%}.oferta .cta{width:100%}h1,h2,h3{overflow-wrap:break-word;hyphens:auto}}
