:root{
  --seda:#2e3a44;
  --seda-tmava:#1f272e;
  --seda-svetla:#5b6873;
  --oranzova:#e8771e;
  --oranzova-tmava:#c85f0e;
  --pozadi:#f4f5f6;
  --bila:#ffffff;
  --linka:#dde1e5;
  --max:1140px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;color:var(--seda);background:var(--bila);line-height:1.6;font-size:17px}
h1,h2,h3{font-family:'Montserrat',sans-serif;line-height:1.2;color:var(--seda-tmava)}
h1{font-size:clamp(2rem,5vw,3.3rem);font-weight:800}
h2{font-size:clamp(1.6rem,3.5vw,2.3rem);font-weight:800;margin-bottom:.6em}
h3{font-size:1.2rem;font-weight:700;margin-bottom:.4em}
a{color:var(--oranzova-tmava)}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}

/* Hlavička */
header{background:var(--bila);border-bottom:1px solid var(--linka);position:sticky;top:0;z-index:50}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{height:52px;width:auto}
.brand span{font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.25rem;color:var(--seda);line-height:1}
.brand span b{display:block;color:var(--oranzova);font-size:.72rem;letter-spacing:.22em;font-weight:700;margin-top:3px}
.menu{display:flex;gap:4px;list-style:none}
.menu a{display:block;padding:10px 14px;text-decoration:none;color:var(--seda);font-weight:600;font-size:.95rem;border-radius:6px}
.menu a:hover{background:var(--pozadi)}
.menu a.aktivni{color:var(--oranzova-tmava)}
.menu a.cta{background:var(--oranzova);color:#fff}
.menu a.cta:hover{background:var(--oranzova-tmava)}
.burger{display:none;background:none;border:0;cursor:pointer;padding:8px}
.burger span{display:block;width:26px;height:3px;background:var(--seda);margin:5px 0;border-radius:2px}

/* Hero */
.hero{background:linear-gradient(135deg,var(--seda-tmava) 0%,var(--seda) 100%);color:#fff;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-120px;top:-120px;width:480px;height:480px;border:60px solid var(--oranzova);border-radius:50%;opacity:.12}
.hero .wrap{padding-top:96px;padding-bottom:96px;position:relative;z-index:1}
.hero h1{color:#fff;max-width:760px}
.hero h1 em{font-style:normal;color:var(--oranzova)}
.hero p{font-size:1.15rem;max-width:620px;margin:20px 0 32px;color:#d5dbe0}
.hero.mala .wrap{padding-top:64px;padding-bottom:64px}
.stitek{display:inline-block;font-family:'Montserrat',sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--oranzova);margin-bottom:14px}

.btn{display:inline-block;padding:14px 26px;border-radius:6px;font-weight:700;text-decoration:none;font-family:'Montserrat',sans-serif;font-size:.95rem;transition:.15s}
.btn-o{background:var(--oranzova);color:#fff}
.btn-o:hover{background:var(--oranzova-tmava)}
.btn-l{border:2px solid rgba(255,255,255,.4);color:#fff;margin-left:10px}
.btn-l:hover{border-color:#fff}

/* Sekce */
section{padding:80px 0}
.seda-sekce{background:var(--pozadi)}
.uvod-sekce{max-width:680px;margin-bottom:40px}
.uvod-sekce p{color:var(--seda-svetla)}

.karty{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.karta{background:#fff;border:1px solid var(--linka);border-radius:10px;padding:32px;text-decoration:none;color:inherit;transition:.2s;border-top:4px solid var(--oranzova)}
a.karta:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(31,39,46,.1)}
.karta p{color:var(--seda-svetla);font-size:.97rem}
.karta .vice{display:inline-block;margin-top:16px;font-weight:700;color:var(--oranzova-tmava);font-size:.92rem}
.ikona{width:52px;height:52px;border-radius:10px;background:#fdf0e5;display:grid;place-items:center;margin-bottom:18px}
.ikona svg{width:28px;height:28px;stroke:var(--oranzova);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.dva{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.seznam{list-style:none;margin-top:18px}
.seznam li{padding:10px 0 10px 34px;position:relative;border-bottom:1px solid var(--linka)}
.seznam li::before{content:"";position:absolute;left:4px;top:17px;width:14px;height:8px;border-left:3px solid var(--oranzova);border-bottom:3px solid var(--oranzova);transform:rotate(-45deg)}

.cisla{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.cisla div{padding:20px}
.cisla strong{display:block;font-family:'Montserrat',sans-serif;font-size:2.4rem;font-weight:800;color:var(--oranzova)}
.cisla span{color:var(--seda-svetla);font-size:.95rem}

.panel{background:var(--seda);color:#fff;border-radius:12px;padding:40px}
.panel h3{color:#fff}
.panel p{color:#d5dbe0}

.vyzva{background:var(--oranzova);color:#fff;text-align:center}
.vyzva h2{color:#fff}
.vyzva p{font-size:1.1rem;margin-bottom:26px}
.vyzva .btn{background:var(--seda-tmava);color:#fff}
.vyzva .btn:hover{background:#000}

/* Kontakt */
.kontakt-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:48px}
.kontakt-polozka{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--linka)}
.kontakt-polozka .ikona{margin:0;flex-shrink:0}
.kontakt-polozka small{display:block;color:var(--seda-svetla);font-size:.85rem}
.kontakt-polozka strong{font-size:1.05rem}
form{background:var(--pozadi);padding:32px;border-radius:12px}
label{display:block;font-weight:600;font-size:.9rem;margin:14px 0 6px}
input,select,textarea{width:100%;padding:12px 14px;border:1px solid var(--linka);border-radius:6px;font:inherit;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--oranzova);border-color:transparent}
textarea{min-height:130px;resize:vertical}
form .btn{border:0;cursor:pointer;margin-top:20px}
.mapa{margin-top:24px;border-radius:12px;overflow:hidden;border:1px solid var(--linka)}
.mapa iframe{width:100%;height:280px;border:0;display:block}

/* Patička */
footer{background:var(--seda-tmava);color:#aab4bd;padding:56px 0 24px;font-size:.93rem}
.pata{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
footer h4{color:#fff;font-family:'Montserrat',sans-serif;margin-bottom:12px;font-size:1rem}
footer a{color:#aab4bd;text-decoration:none}
footer a:hover{color:var(--oranzova)}
footer ul{list-style:none}
footer li{padding:3px 0}
.copy{border-top:1px solid #34404a;margin-top:40px;padding-top:20px;font-size:.85rem}

/* Mobil */
@media (max-width:900px){
  .karty{grid-template-columns:1fr 1fr}
  .dva,.kontakt-grid,.pata{grid-template-columns:1fr;gap:32px}
  .cisla{grid-template-columns:1fr 1fr}
  .burger{display:block}
  .menu{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;flex-direction:column;padding:12px 20px 20px;border-bottom:1px solid var(--linka)}
  .menu.otevreno{display:flex}
}
@media (max-width:600px){
  body{font-size:16px}
  .karty{grid-template-columns:1fr}
  section{padding:56px 0}
  .hero .wrap{padding-top:64px;padding-bottom:64px}
  .btn-l{margin:12px 0 0}
  .brand span{font-size:1.05rem}
  .hero::after{display:none}
}
.hlaska{padding:14px 16px;border-radius:6px;font-weight:600;margin-bottom:8px}
.hlaska.ok{background:#e6f4ea;color:#1e6b34;border:1px solid #b7dfc2}
.hlaska.err{background:#fdecea;color:#a12a1f;border:1px solid #f3c1bb}
form{position:relative}
