:root{ --bg:#ffffff; --text:#1a1a1a; --muted:#6b7280; --bar:#3f3f3f; --barText:#ffffff; --card:#f6f7f8; --max:1100px;

/* drobné doplňky pro konzistenci */ --border:#e5e7eb; --radius:12px; }

*{box-sizing:border-box} html,body{height:100%}

body{ margin:0; font-family: Arial, Helvetica, sans-serif; color:var(--text); background:var(--bg); line-height:1.5; text-rendering:optimizeLegibility; }

/* Bezpečné chování médií (zabrání horizontálnímu scrollu) */ img, video, canvas, svg{ max-width:100%; height:auto; }

iframe, object, embed{ max-width:100%; }

/* Odkazy */ a{color:inherit} a:hover{opacity:1}

/* Kontejner */ .container{ width:min(var(--max), calc(100% - 32px)); margin:0 auto; }

/* Top bar */ .topbar{ background:var(--bar); color:var(--barText); }

.topbar__inner{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 0; flex-wrap:wrap; /* důležité pro malé šířky */ }

.brand{ color:var(--barText); text-decoration:none; font-weight:700; letter-spacing:.2px; white-space:nowrap; }

/* Nav / .nav{ display:flex; gap:18px; align-items:center; flex-wrap:wrap; / aby se to na mobilu nezlomilo do overflow */ justify-content:flex-end; }

.nav__link{ color:var(--barText); text-decoration:none; opacity:.9; padding:6px 2px; border-bottom:2px solid transparent; }

.nav__link:hover{opacity:1}

.nav__link.is-active{ opacity:1; border-bottom-color:#ffffff; }

/* Mobilní doladění hlavičky */ @media (max-width: 520px){ .topbar__inner{ justify-content:center; } .nav{ justify-content:center; gap:14px; } }

/* Hero image */ .hero{ width:100%; background:#111; overflow:hidden; }

/* Desktop/tablet: bannerový ořez (cover) */ .hero__img{ width:100%; height:320px; object-fit:cover; object-position:center; display:block; }

@media (min-width: 900px){ .hero__img{height:360px;} }

/* Mobil: zobrazit celý obrázek (bez ořezu) */ @media (max-width: 768px){ .hero__img{ height:auto; object-fit:contain; } }

/* Sections */ .section{padding:34px 0 44px;}

.section--narrow{ padding:34px 0 54px; width:min(820px, calc(100% - 32px)); margin:0 auto; }

/* Logos grid (1 column mobile, 3 columns desktop) */ .logos{ display:grid; grid-template-columns: 1fr; gap:18px; align-items:stretch; }

@media (min-width: 780px){ .logos{grid-template-columns: repeat(3, 1fr);} }

/* Logo cards */ .logoCard{ background:#fff; border:1px solid var(--border); border-radius:10px; padding:18px 16px; text-decoration:none; color:inherit; display:flex; flex-direction:column; gap:12px; align-items:center; justify-content:center; min-height:170px; transition: transform .12s ease, box-shadow .12s ease; will-change:transform; }

.logoCard:hover{ transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.08); }

/* Fixed logo area so all tiles look the same */ .logoCard__img{ width:100%; height:90px; display:flex; align-items:center; justify-content:center; }

.logoCard__img img{ max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }

/* Optional subtitle under logos */ .logoCard__sub{ font-size:13px; color:var(--muted); text-align:center; }

/* Typography */ h1{ font-size:28px; margin:0 0 14px; line-height:1.2; }

.h3{ font-size:18px; margin:0 0 10px; line-height:1.25; }

.lead{ font-size:16px; color:#2b2b2b; margin:0 0 18px; }

.muted{color:var(--muted);}

/* Lepší čitelnost na mobilu + méně nešikovné lámání nadpisu */ @media (max-width: 520px){ h1{ font-size:22px; line-height:1.18; margin:0 0 12px; letter-spacing:-0.2px; } .lead{font-size:15px;} }

/* Card (used on /fve) */ .card{ background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:18px 18px; margin:14px 0 22px; }

/* FVE logos row */ .fve-logos{ display:flex; gap:18px; flex-wrap:wrap; align-items:center; justify-content:center; padding-top:10px; }

.fve-logos img{ max-height:70px; width:auto; height:auto; opacity:.95; }

/* Univerzální responzivní embed (kdybyste někde dávali iframe bez wrapperu) */ .embed{ width:100%; border:1px solid rgba(0,0,0,.08); border-radius:var(--radius); overflow:hidden; background:#fff; }

.embed > iframe, .embed > object, .embed > embed{ width:100%; height:72vh; min-height:520px; border:0; display:block; }

@media (max-width: 640px){ .embed > iframe, .embed > object, .embed > embed{ height:70vh; min-height:420px; } }

/* Footer */ .footer{ background:var(--bar); color:var(--barText); padding:18px 0; }

.footer__text{ margin:0; font-size:13px; opacity:.9; text-align:center; }

.footer a{ color:#fff; text-decoration:underline; }

/* Screen-reader only */ .sr-only{ position:absolute; width:1px;height:1px; padding:0;margin:-1px; overflow:hidden;clip:rect(0,0,0,0); white-space:nowrap;border:0; }

/* Respekt pro uživatele s omezením animací */ @media (prefers-reduced-motion: reduce){ *{ scroll-behavior:auto !important; transition:none !important; animation:none !important; } }