/* ============================================================
   SPOLEČNĚ PRO KOHOUTOVICE — komunální volby 2026
   Vizuální styl dle ODS 2026 (Brno – nejlepší adresa)
   ============================================================ */
@font-face{font-family:'Sugo';src:url('../fonts/Sugo-Pro-Classic-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}

:root{
  --royal:#254aa5;        /* Brno nejlepší adresa — hlavní modrá */
  --royal-deep:#1c3c85;   /* tmavší modrá */
  --royal-900:#152c60;
  --sky:#00a8ea;          /* Brno nejlepší adresa — světlá modrá (cyan) */
  --sky-bright:#33bef2;
  --magenta:#ea0078;      /* Brno nejlepší adresa — magenta (Volte) */
  --ink:#14224d;
  --paper:#e9f0fb;        /* jemné modré pozadí sekcí */
  --paper-2:#f3f7fd;
  --white:#fff;
  --line:rgba(255,255,255,.22);
  --shadow:0 26px 60px rgba(12,28,90,.16);
  --shadow-soft:0 12px 32px rgba(15,35,95,.10);
  --maxw:1200px;
  --head:'Sugo','Arial Black',system-ui,sans-serif;
  --body:'DM Sans','Segoe UI',system-ui,-apple-system,sans-serif;
  --rad:30px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--body);color:var(--ink);background:var(--white);line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
*{-webkit-tap-highlight-color:rgba(43,166,224,.18)}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 26px}
h1,h2,h3,h4,.head{font-family:var(--head);font-weight:700;line-height:1.0;text-transform:uppercase;letter-spacing:.005em}
.sky{color:var(--sky)}
.mag{color:var(--magenta)}

/* pin-heart motif */
.pin{display:inline-block;width:.72em;height:.72em;vertical-align:-.02em;fill:currentColor}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--body);text-transform:uppercase;font-weight:700;letter-spacing:.04em;font-size:.98rem;padding:16px 30px;border:2.5px solid transparent;border-radius:999px;cursor:pointer;transition:.22s;line-height:1}
.btn svg{width:18px;height:18px;fill:currentColor}
.btn-primary{background:var(--royal);color:#fff;box-shadow:0 12px 26px rgba(27,57,196,.32)}
.btn-primary:hover{background:var(--royal-deep);transform:translateY(-2px)}
.btn-sky{background:var(--sky);color:#fff;box-shadow:0 12px 26px rgba(44,166,224,.34)}
.btn-sky:hover{background:var(--sky-bright);transform:translateY(-2px)}
.btn-ghost{border-color:rgba(255,255,255,.7);color:#fff}
.btn-ghost:hover{background:#fff;color:var(--royal);border-color:#fff;transform:translateY(-2px)}
.btn-outline{border-color:var(--royal);color:var(--royal)}
.btn-outline:hover{background:var(--royal);color:#fff;transform:translateY(-2px)}

/* ===== Section head ===== */
.sec{padding:92px 0}
.eyebrow{font-family:var(--head);text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--sky);font-size:.92rem;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.eyebrow .pin{width:1em;height:1em}
.sec-head{margin-bottom:48px;max-width:760px}
.sec-head h2{font-size:clamp(2.1rem,5.4vw,3.7rem);color:var(--royal);line-height:.98}
.sec.on-royal .sec-head h2{color:#fff}
.sec.on-royal .eyebrow{color:var(--sky-bright)}

/* ===== Coalition lockup ===== */
.coalition{display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap;font-family:var(--head);text-transform:uppercase}
.coalition .c{display:inline-flex;align-items:center;font-weight:700;letter-spacing:.02em;color:var(--royal);font-size:1.15rem;line-height:1}
.coalition .c.top09{border:2.5px solid var(--royal);border-radius:6px;padding:4px 9px;font-size:.92rem}
.coalition .c .sm{font-size:.62em;margin-left:3px}
.coalition .dot{width:6px;height:6px;border-radius:50%;background:var(--sky)}
.on-dark .coalition .c{color:#fff}
.on-dark .coalition .c.top09{border-color:#fff}

/* Volte badge */
.volte{width:104px;height:104px;border-radius:50%;background:var(--magenta);color:#fff;display:grid;place-items:center;text-align:center;font-family:var(--head);text-transform:uppercase;line-height:.9;box-shadow:0 14px 30px rgba(228,0,126,.4);flex:0 0 auto}
.volte b{font-size:2.5rem;display:block;margin-top:1px}
.volte small{font-size:.72rem;letter-spacing:.06em}

/* ===== Header ===== */
.site-header{position:fixed;inset:0 0 auto 0;z-index:100;padding:16px 0;transition:.32s;background:linear-gradient(180deg,rgba(13,20,70,.42),rgba(13,20,70,0))}
.site-header.scrolled{background:var(--royal);box-shadow:0 8px 26px rgba(10,22,80,.32);padding:9px 0}
.nav{display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:12px;color:#fff}
.brand .mark{width:42px;height:42px;flex:0 0 auto;transition:.3s}
.scrolled .brand .mark{width:37px;height:37px}
.brand .ms{font-family:var(--head);text-transform:uppercase;color:#fff;line-height:1;display:flex;flex-direction:column;gap:4px}
.brand .ms b{font-size:1.12rem;letter-spacing:.01em}
.brand .ms small{font-weight:400;font-family:var(--body);font-size:.58rem;letter-spacing:.22em;color:#bcd4ff}
.nav-links{display:flex;align-items:center;gap:26px;list-style:none}
.nav-links a{font-family:var(--head);text-transform:uppercase;font-weight:700;letter-spacing:.02em;color:#fff;font-size:.98rem;padding:5px 2px;position:relative;opacity:.95}
.nav-links a::after{content:'';position:absolute;left:0;bottom:-2px;height:3px;width:0;background:var(--sky-bright);border-radius:2px;transition:width .26s}
.nav-links a:hover::after{width:100%}
.nav-cta{background:var(--sky);color:#fff!important;padding:12px 44px;border-radius:999px;font-size:.92rem;line-height:1;letter-spacing:0;white-space:nowrap;display:inline-flex;align-items:center;box-shadow:0 8px 20px rgba(0,168,234,.35)}
.nav-cta::after{display:none!important}
.nav-cta:hover{background:var(--sky-bright);transform:translateY(-1px)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;z-index:101}
.burger span{width:26px;height:3px;background:#fff;border-radius:2px;transition:.3s}

/* ===== HERO (novinová hlavička – modrý panel vlevo, Velička nad Kohoutovicemi vpravo) ===== */
.hero{position:relative;min-height:100vh;display:flex;align-items:stretch;overflow:hidden;background:#0b1f5c url('../img/kohoutovice-pano.jpg') center bottom/cover no-repeat}
.hero-photo{display:none}
.hero-person{position:absolute;bottom:0;right:2%;left:auto;width:42%;height:88%;object-fit:contain;object-position:center bottom;z-index:3;pointer-events:none;filter:drop-shadow(-8px 10px 26px rgba(6,16,50,.3))}
.hero-panel{position:relative;z-index:2;width:58%;min-height:100vh;display:flex;align-items:center;padding:120px 0 60px;
  background:linear-gradient(130deg,rgba(21,44,96,.98) 0%,rgba(37,74,165,.94) 100%);
  clip-path:polygon(0 0,100% 0,calc(100% - 96px) 100%,0 100%)}
.hero-panel-inner{width:min(600px,100%);margin-left:max(26px,calc((100vw - 1200px)/2));padding-right:64px;color:#fff}
.hero-logo{height:66px;width:auto;margin-bottom:30px}
.hero-badge{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);color:#fff;font-family:var(--head);text-transform:uppercase;letter-spacing:.03em;font-weight:700;padding:8px 16px;border-radius:999px;font-size:.9rem;margin-bottom:22px}
.hero-badge .pin{fill:var(--sky-bright)}
.hero h1{font-size:clamp(3rem,6.4vw,5.9rem);color:#fff;line-height:1.04;letter-spacing:.005em;text-shadow:0 6px 30px rgba(5,15,45,.35)}
.hero h1 .sky{display:block;color:var(--sky-bright);margin-top:.06em}
.hero .lead{font-size:clamp(1.05rem,1.5vw,1.24rem);color:#dbe6ff;margin-top:20px;max-width:500px;font-weight:500}
.hero-cta{margin-top:28px;display:flex;gap:14px;flex-wrap:wrap}
.hero-foot{margin-top:32px;padding-top:26px;border-top:1px solid rgba(255,255,255,.18);display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.coalition-pill{display:inline-flex;align-items:center;gap:13px;background:#fff;border-radius:999px;padding:9px 18px;box-shadow:0 10px 24px rgba(6,16,50,.25)}
.coalition-pill .lbl{font-family:var(--head);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;color:#8494bd}
.coalition-pill img{height:26px;width:auto;display:block}
.coalition-pill .plus{color:#b9c6e2;font-weight:700}
.brand-logo{height:64px;width:auto;display:block;transition:height .3s}
.scrolled .brand-logo{height:40px}

/* ===== ÚVODNÍ SLOVO ===== */
.intro{background:var(--paper-2)}
.intro-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:56px;align-items:start}
.intro-photo{position:relative}
.intro-photo>img{width:100%;height:580px;border-radius:var(--rad);box-shadow:var(--shadow);object-fit:cover;object-position:center 20%}
.intro-photo .frame{display:none}
.intro-photo .ptag{position:absolute;left:18px;bottom:18px;background:var(--royal);color:#fff;padding:12px 20px;border-radius:14px;box-shadow:0 10px 24px rgba(15,30,95,.28)}
.intro-photo .ptag b{font-family:var(--head);text-transform:uppercase;font-size:1.25rem;display:block;line-height:1}
.intro-photo .ptag span{font-size:.78rem;opacity:.92}
.intro-text h2{font-size:clamp(1.9rem,3.8vw,3rem);color:var(--royal);line-height:1.02;margin:4px 0 20px}
.intro-text p{margin-bottom:15px;font-size:1.06rem;color:#3a4670}
.intro-text .lead-p{font-size:1.16rem;color:var(--ink);font-weight:600}
.sign{margin-top:24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.sign .nm{font-family:var(--head);text-transform:uppercase;color:var(--royal);font-size:1.3rem;line-height:1}
.sign .rl{font-size:.9rem;color:var(--sky);font-weight:700;margin-top:3px}
.note{margin-top:18px;font-size:.82rem;color:#93a0c0;font-style:italic}

/* ===== PROGRAM ===== */
.program{background:var(--royal);position:relative;overflow:hidden}
.program::before{content:'';position:absolute;right:-140px;top:-140px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(66,183,239,.35),transparent 70%)}
.prog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative;z-index:2}
.prog-card{position:relative;background:#fff;border-radius:26px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;box-shadow:0 18px 40px rgba(6,16,60,.3);transition:transform .25s,box-shadow .25s}
.prog-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px rgba(6,16,60,.42)}
.prog-card:focus-visible{outline:3px solid var(--sky-bright);outline-offset:3px}
.prog-photo{position:relative;height:170px;overflow:hidden}
.prog-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.prog-card:hover .prog-photo img{transform:scale(1.07)}
.prog-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,57,196,.05),rgba(27,57,196,.22))}
.prog-ic{position:absolute;left:16px;bottom:-22px;width:52px;height:52px;border-radius:16px;background:var(--sky);display:grid;place-items:center;box-shadow:0 10px 22px rgba(44,166,224,.45);z-index:3}
.prog-ic svg{width:28px;height:28px;fill:#fff}
.prog-pill{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.92);color:var(--royal);font-family:var(--head);text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;padding:5px 11px;border-radius:999px;z-index:3}
.prog-body{padding:20px 18px 20px;flex:1;display:flex;flex-direction:column}
.prog-body h3{font-size:1.12rem;color:var(--royal);line-height:1.08}
.prog-body p{font-size:.85rem;color:#5a6690;margin-top:7px;flex:1;line-height:1.4}
.prog-more{margin-top:16px;font-family:var(--head);text-transform:uppercase;letter-spacing:.05em;font-size:.76rem;color:var(--sky);display:flex;align-items:center;gap:7px;transition:gap .25s}
.prog-card:hover .prog-more{gap:12px}
.prog-more svg{width:15px;height:15px;fill:currentColor}
.prog-pdf{background:linear-gradient(150deg,var(--sky),var(--royal));color:#fff}
.prog-pdf .prog-body h3,.prog-pdf .prog-body p{color:#fff}
.prog-pdf .prog-body p{opacity:.92}
.prog-pdf .prog-ic{background:rgba(255,255,255,.22)}
.prog-pdf .prog-more{color:#fff}
.prog-note{text-align:center;color:#cfdcff;margin-top:38px;font-size:1rem;position:relative;z-index:2}
.prog-soon{position:relative;z-index:2;text-align:center;padding:34px 0 20px}
.prog-soon-badge{display:inline-flex;align-items:center;gap:9px;font-family:var(--head);text-transform:uppercase;letter-spacing:.14em;font-size:.92rem;color:#fff;background:var(--magenta);padding:11px 24px;border-radius:999px;box-shadow:0 12px 28px rgba(6,16,50,.32)}
.prog-soon-lead{margin:26px auto 0;max-width:760px;color:#eaf2ff;font-size:clamp(1.35rem,2.7vw,2rem);font-weight:600;line-height:1.32}

/* ===== KANDIDÁTKA ===== */
.cand{background:var(--paper)}
.cand-lead{display:grid;grid-template-columns:.62fr 1.38fr;background:#fff;border-radius:var(--rad);box-shadow:var(--shadow);overflow:hidden;margin-bottom:34px;cursor:pointer;transition:transform .25s,box-shadow .25s}
.cand-lead:hover{transform:translateY(-4px);box-shadow:0 34px 70px rgba(12,28,90,.2)}
.cand-lead:focus-visible{outline:3px solid var(--sky-bright);outline-offset:3px}
.cand-lead .ph{position:relative;min-height:360px;background:var(--royal)}
.cand-lead .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center}
.cand-lead .ph .num{position:absolute;left:18px;top:18px;min-width:52px;height:52px;padding:0 10px;border-radius:16px;background:var(--magenta);color:#fff;font-family:var(--head);font-size:1.8rem;display:grid;place-items:center;box-shadow:0 8px 18px rgba(228,0,126,.4)}
.cand-lead .info{padding:40px 46px;display:flex;flex-direction:column;justify-content:center}
.cand-lead .info h3{font-size:clamp(1.7rem,3.2vw,2.5rem);color:var(--royal);line-height:1}
.cand-lead .info .role{font-family:var(--head);text-transform:uppercase;color:var(--sky);font-weight:700;font-size:1.1rem;margin-top:10px}
.cand-lead .info p{color:#42507a;margin:16px 0 0;font-size:1.02rem;max-width:640px}
.cand-social{display:flex;gap:10px;margin-top:20px}
.cand-social a{width:40px;height:40px;border-radius:50%;background:var(--royal);color:#fff;display:grid;place-items:center;transition:.25s}
.cand-social a:hover{background:var(--sky);transform:translateY(-3px)}
.cand-social svg{width:19px;height:19px;fill:#fff}

.cand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cand-card{position:relative;display:grid;grid-template-columns:118px 1fr;background:#fff;border-radius:20px;overflow:hidden;border:1px solid #dfe8fb;box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .25s,box-shadow .25s,border-color .25s;min-height:158px}
.cand-card:hover{transform:translateY(-5px);box-shadow:0 24px 48px rgba(15,40,95,.16);border-color:transparent}
.cand-card:focus-visible{outline:3px solid var(--sky-bright);outline-offset:2px}
.cc-photo{position:relative;background:linear-gradient(160deg,var(--sky),var(--royal))}
.cc-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center}
.cc-num{position:absolute;left:10px;top:10px;min-width:30px;height:30px;padding:0 7px;border-radius:10px;background:var(--magenta);color:#fff;font-family:var(--head);font-size:1rem;display:grid;place-items:center;box-shadow:0 3px 8px rgba(0,0,0,.22)}
.cc-info{padding:18px 40px 18px 20px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.cc-name{font-family:var(--head);text-transform:uppercase;color:var(--royal);font-size:1.02rem;line-height:1.08}
.cc-prof{font-size:.85rem;color:#64708e;margin-top:5px;line-height:1.3}
.cc-arrow{position:absolute;right:14px;top:50%;transform:translateY(-50%) translateX(-4px);width:24px;height:24px;color:var(--sky);opacity:0;transition:.25s;display:grid;place-items:center;pointer-events:none}
.cc-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.cand-card:hover .cc-arrow{opacity:1;transform:translateY(-50%)}

/* badges */
.badge{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin-top:10px;font-family:var(--head);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:700;line-height:1;padding:6px 12px;border-radius:999px}
.badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 7px}
.badge.ods{background:var(--royal);color:#fff}
.badge.top09{background:#eaf1ff;color:var(--royal);box-shadow:inset 0 0 0 1.5px #c6d6f6}
.badge.bezpp{background:#fce4f1;color:var(--magenta);box-shadow:inset 0 0 0 1.5px #f6c6dd}

/* ===== KONTAKT ===== */
.contact{background:linear-gradient(140deg,var(--royal-deep),var(--royal));color:#fff;position:relative;overflow:hidden}
.contact::before{content:'';position:absolute;left:-90px;bottom:-90px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(228,0,126,.28),transparent 70%)}
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:54px;align-items:center;position:relative;z-index:2}
.contact-grid h2{font-size:clamp(1.9rem,4.2vw,3rem);line-height:1.02;margin-bottom:14px}
.contact-grid p{color:#d3e0ff;margin-bottom:8px;max-width:520px}
.contact-card{background:rgba(255,255,255,.08);border:1px solid var(--line);border-radius:22px;padding:32px}
.contact-card h3{font-size:1.3rem;margin-bottom:18px}
.contact-card .row{display:flex;gap:14px;align-items:center;margin-bottom:14px;font-size:.98rem}
.contact-card .row svg{width:20px;height:20px;fill:var(--sky-bright);flex:0 0 20px}
.contact-card .socials{display:flex;gap:12px;margin-top:20px}
.contact-card .socials a{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center;transition:.25s}
.contact-card .socials a:hover{background:var(--sky)}
.contact-card .socials svg{width:19px;height:19px;fill:#fff}

/* ===== FOOTER ===== */
footer{background:var(--royal-900);color:#aebedf;padding:52px 0 28px}
.foot-top{display:flex;justify-content:space-between;align-items:center;gap:26px;flex-wrap:wrap;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.13)}
.foot-brand{display:flex;align-items:center;gap:14px;color:#fff}
.foot-brand .mark{width:46px;height:46px}
.foot-brand b{font-family:var(--head);text-transform:uppercase;font-size:1.15rem;line-height:1}
.foot-brand small{display:block;font-size:.62rem;letter-spacing:.18em;color:#9fb4dc;margin-top:4px}
.foot-links{display:flex;gap:24px;flex-wrap:wrap}
.foot-links a{font-family:var(--head);text-transform:uppercase;letter-spacing:.03em;font-size:.9rem;color:#cdd9ff}
.foot-links a:hover{color:var(--sky-bright)}
.foot-discl{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:22px;font-size:.82rem}
.foot-discl .pol{font-family:var(--head);text-transform:uppercase;letter-spacing:.05em;color:#8ba0cc}
.foot-discl .pol b{color:#cdd9ff}

/* reveal */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* ===== MODALS ===== */
.modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:24px}
.modal.open{display:flex}
.modal__overlay{position:absolute;inset:0;background:rgba(10,20,60,.72);backdrop-filter:blur(3px);animation:fade .3s ease}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes pop{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
.modal__close{position:absolute;top:14px;right:16px;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:var(--royal);font-size:1.7rem;line-height:1;cursor:pointer;transition:.2s;z-index:5}
.modal__close:hover{background:var(--royal);color:#fff;transform:rotate(90deg)}
/* program modal */
.modal__dialog{position:relative;z-index:2;width:min(680px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:26px;box-shadow:0 40px 90px rgba(5,16,60,.5);animation:pop .35s cubic-bezier(.2,.8,.2,1)}
.modal__head{display:flex;gap:18px;align-items:center;padding:34px 34px 24px;background:var(--royal);color:#fff}
.modal__ic{flex:0 0 56px;width:56px;height:56px;border-radius:18px;background:var(--sky);display:grid;place-items:center}
.modal__ic svg{width:30px;height:30px;fill:#fff}
.modal__eyebrow{font-family:var(--head);text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;color:var(--sky-bright);margin-bottom:5px}
.modal__title{font-size:clamp(1.5rem,3.4vw,2.1rem);color:#fff;line-height:1.04}
.modal__body{padding:26px 34px 12px}
.modal__intro{color:#3a486b;font-size:1.05rem;margin-bottom:18px}
.modal__list{list-style:none;display:grid;gap:12px}
.modal__list li{position:relative;padding-left:34px;color:#2c3a5e;font-size:1rem;line-height:1.5}
.modal__list li::before{content:'';position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:rgba(44,166,224,.15) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232ca6e0'%3E%3Cpath d='M9.5 16.2 4.8 11.5l1.4-1.4 3.3 3.3 8.1-8.1 1.4 1.4z'/%3E%3C/svg%3E") center/16px no-repeat}
.modal__note{margin-top:18px;font-size:.84rem;color:#93a0c0;font-style:italic;border-top:1px solid #e6ecf7;padding-top:14px}
.modal__foot{padding:8px 34px 30px;display:flex;justify-content:flex-end}
body.modal-open{overflow:hidden}
/* candidate modal */
.cand-modal .cmodal{position:relative;z-index:2;width:min(860px,100%);max-height:90vh;display:grid;grid-template-columns:.62fr 1fr;background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 40px 90px rgba(5,16,60,.5);animation:pop .35s cubic-bezier(.2,.8,.2,1)}
.cmodal__photo{position:relative;min-height:500px;background:linear-gradient(160deg,var(--sky),var(--royal))}
.cmodal__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center}
.cmodal__photo::after{content:'';position:absolute;left:0;right:0;bottom:0;height:38%;background:linear-gradient(0deg,rgba(9,19,52,.34),transparent);pointer-events:none}
.cmodal__num{position:absolute;left:18px;top:18px;z-index:3;min-width:54px;height:54px;padding:0 12px;border-radius:16px;background:var(--magenta);color:#fff;font-family:var(--head);font-size:1.75rem;display:grid;place-items:center;box-shadow:0 8px 20px rgba(6,16,50,.3)}
.cmodal__info{padding:46px 48px;display:flex;flex-direction:column;justify-content:center;overflow:auto}
.cmodal__name{font-size:clamp(1.45rem,2.6vw,2.05rem);font-family:var(--head);text-transform:uppercase;color:var(--royal);line-height:1.02;margin:0;letter-spacing:.005em}
.cmodal__prof{font-family:var(--head);text-transform:uppercase;color:var(--sky);font-weight:700;font-size:1.02rem;margin:14px 0 0;line-height:1.2}
.cmodal__bio{color:#42507a;margin:18px 0 0;font-size:1.02rem;line-height:1.6}
.cmodal__bio:empty,.cmodal__note:empty{display:none}
.cmodal__social{display:flex;gap:10px;margin:22px 0 0}
.cmodal__social:empty{display:none}
.cmodal__social a{width:40px;height:40px;border-radius:50%;background:var(--royal);color:#fff;display:grid;place-items:center;transition:.25s}
.cmodal__social a:hover{background:var(--sky);transform:translateY(-3px)}
.cmodal__social svg{width:18px;height:18px;fill:#fff}
.cmodal__note{margin-top:20px;font-size:.85rem;color:#93a0c0;font-style:italic;border-top:1px solid #eef2fa;padding-top:14px}
.cmodal__eyebrow{font-family:var(--head);text-transform:uppercase;letter-spacing:.1em;font-size:.74rem;color:var(--sky);margin:0 0 10px}
.cmodal__meta{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0 0}
.cmodal__meta span{background:var(--paper);color:var(--royal);font-size:.84rem;font-weight:600;padding:8px 15px;border-radius:999px;border:1px solid #dbe6f8}
.cmodal__ph{position:absolute;inset:0;display:none;place-items:center;background:linear-gradient(160deg,var(--sky),var(--royal))}
.cmodal__ph span{font-family:var(--head);text-transform:uppercase;font-size:4.4rem;color:rgba(255,255,255,.92);letter-spacing:.02em}
.cmodal__photo.no-photo img{display:none}
.cmodal__photo.no-photo .cmodal__ph{display:grid}
.cl-item:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
.cl-item.has-photo{cursor:pointer}
.cl-item.no-photo:hover{transform:none;box-shadow:var(--shadow-soft);border-color:#dce6f6}

/* ===== Responsive ===== */
@media(max-width:1024px){
  .prog-grid{grid-template-columns:repeat(2,1fr)}
  .cand-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .hero-card{grid-template-columns:1fr}
  .hero-photo{min-height:360px}
  .hero-body{padding:40px 32px}
  .intro-grid{grid-template-columns:1fr;gap:60px}
  .intro-photo{max-width:440px;margin:0 auto}
  .intro-photo .frame{right:-14px;bottom:-14px}
  .contact-grid{grid-template-columns:1fr;gap:34px}
  .cand-lead{grid-template-columns:1fr}
  .cand-lead .ph{min-height:400px}
  .nav-links{position:fixed;inset:0 0 0 auto;flex-direction:column;background:var(--royal);width:min(80vw,320px);padding:100px 34px 40px;transform:translateX(100%);transition:transform .35s;align-items:flex-start;gap:22px;box-shadow:-20px 0 50px rgba(0,0,0,.3)}
  .nav.open .nav-links{transform:none}
  .burger{display:flex}
  .nav.open .burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .nav.open .burger span:nth-child(2){opacity:0}
  .nav.open .burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .cand-modal .cmodal{grid-template-columns:1fr;max-height:92vh;overflow:auto}
  .cmodal__photo{min-height:300px}
  .cmodal__info{padding:30px 26px}
}
/* ===== HERO responsive ===== */
@media(max-width:860px){
  .hero{flex-direction:column;min-height:auto;background:var(--royal)}
  .hero-person{display:none}
  .hero-photo{position:relative;display:block;height:52vh;min-height:360px;background:url('../img/hero-banner-mobile.jpg') center top/cover no-repeat}
  /* plynulý přechod fotky do modrého panelu */
  .hero-photo::after{content:'';position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(180deg,rgba(21,44,96,0),var(--royal-900))}
  .hero-panel{width:100%;min-height:0;clip-path:none;padding:34px 0 46px;background:linear-gradient(160deg,var(--royal-900),var(--royal))}
  .hero-panel-inner{margin:0 auto;padding:0 24px;max-width:640px}
  .hero-logo{height:56px;margin-bottom:24px}
  /* čitelnost hlavičky přes světlou fotku */
  .site-header:not(.scrolled){background:linear-gradient(180deg,rgba(9,19,52,.82) 8%,rgba(9,19,52,.30) 60%,transparent)}
}
@media(max-width:600px){
  .sec{padding:64px 0}
  .container{padding:0 18px}
  .prog-grid,.cand-grid{grid-template-columns:1fr}
  .hero-photo{height:46vh;min-height:320px;background-position:center top}
  .hero-panel-inner{padding:0 20px}
  .hero-cta{flex-direction:column}
  .hero-cta .btn{width:100%;justify-content:center}
  .hero-foot{gap:16px}
  .foot-top,.foot-discl{flex-direction:column;align-items:flex-start}
}
/* posun fixní hlavičky pod WordPress admin lištu (přihlášený uživatel) */
body.admin-bar .site-header{top:46px}
@media screen and (min-width:783px){body.admin-bar .site-header{top:32px}}
@supports(min-height:100svh){.hero{min-height:100svh}}
@media(max-width:860px){@supports(min-height:100svh){.hero{min-height:auto}}}
body.nav-open{overflow:hidden}

/* ===== Program card gradient heads (bez tematických fotek) ===== */
.prog-photo{height:126px;display:grid;place-items:center;position:relative}
.prog-photo .big{width:54px;height:54px;fill:#fff;opacity:.97;filter:drop-shadow(0 6px 12px rgba(0,0,0,.18))}
.prog-photo.p1{background:linear-gradient(150deg,#254aa5,#3d63bf)}
.prog-photo.p2{background:linear-gradient(150deg,#1c3c85,#2a53b0)}
.prog-photo.p3{background:linear-gradient(150deg,#1d5fb8,#00a8ea)}
.prog-photo.p4{background:linear-gradient(150deg,#00a8ea,#2a7fce)}
.prog-photo.p5{background:linear-gradient(150deg,#2f57ac,#00a8ea)}
.prog-photo::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 78% 18%,rgba(255,255,255,.22),transparent 55%)}
.prog-body{padding:20px 18px 20px}

/* přístupnost: bez animací zobraz obsah rovnou */
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important}.hero-bg img{animation:none!important}}

/* kontakt CTA */
.contact-btn{margin-top:24px}

/* ===== Nav social icons ===== */
.nav-social{display:flex;align-items:center;gap:10px}
.nav-social a{width:34px;height:34px;border:1.5px solid rgba(255,255,255,.4);border-radius:50%;display:grid;place-items:center;color:#fff;transition:.25s}
.nav-social a::after{display:none!important}
.nav-social a:hover{background:var(--sky);border-color:var(--sky);transform:translateY(-2px)}
.nav-social svg{width:16px;height:16px;fill:currentColor}

/* ===== Program card heart (motiv dle brnonejlepsiadresa.cz) ===== */
.prog-heart{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;z-index:3;box-shadow:0 5px 12px rgba(0,0,0,.16)}
.prog-heart svg{width:16px;height:16px;fill:var(--magenta)}

/* ===== Newsletter ===== */
.newsletter{background:#fff;padding:70px 0 84px}
.news-card{position:relative;overflow:hidden;background:linear-gradient(130deg,var(--royal),var(--sky));border-radius:34px;padding:50px 52px;display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;color:#fff;box-shadow:0 34px 66px rgba(20,40,120,.3)}
.news-card::before{content:'';position:absolute;right:-70px;top:-70px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%)}
.news-text{position:relative;z-index:2}
.news-card .eyebrow{color:#cfeaff}
.news-card h2{font-size:clamp(1.8rem,3.6vw,2.8rem);color:#fff;line-height:1.02;margin:4px 0 12px}
.news-card h2 .sky{color:#d7f0ff}
.news-card p{color:#e7f0ff;max-width:470px}
.news-form{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:12px}
.news-form input{flex:1 1 230px;min-width:0;padding:16px 22px;border:0;border-radius:999px;font-family:var(--body);font-size:1rem;background:#fff;color:var(--ink);box-shadow:0 8px 20px rgba(10,25,80,.18)}
.news-form input:focus{outline:3px solid rgba(228,0,126,.5);outline-offset:1px}
.news-form button{background:var(--magenta);border:0;box-shadow:0 12px 26px rgba(228,0,126,.4)}
.news-form button:hover{background:#c40068}
.news-note{flex-basis:100%;font-size:.76rem;color:rgba(255,255,255,.82);margin:2px 0 0}
.news-note.ok{color:#fff;font-weight:700;font-style:normal}
@media(max-width:900px){.news-card{grid-template-columns:1fr;gap:26px;padding:38px 30px}}
@media(max-width:600px){.news-form button{width:100%;justify-content:center}}

/* ===== Kandidátní listina (bez fotek) ===== */
/* kandidáti s fotkou (1–8) — mřížka 4×2, vertikální karty */
.cand-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pc{position:relative;background:#fff;border:1px solid #dce6f6;border-radius:20px;padding:30px 18px 24px;text-align:center;box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .22s,box-shadow .22s,border-color .22s}
.pc:hover{transform:translateY(-5px);box-shadow:0 22px 44px rgba(15,40,95,.16);border-color:transparent}
.pc:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
.pc__num{position:absolute;left:16px;top:16px;width:38px;height:38px;border-radius:11px;background:var(--paper);color:var(--royal);font-family:var(--head);font-size:1.1rem;display:grid;place-items:center}
.pc.lead .pc__num{background:var(--magenta);color:#fff;box-shadow:0 8px 18px rgba(234,0,120,.32)}
.pc__av{display:block;width:168px;height:168px;border-radius:50%;margin:8px auto 18px;overflow:hidden;box-shadow:0 14px 32px rgba(6,16,50,.28);background:linear-gradient(160deg,var(--sky),var(--royal))}
.pc__av img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.pc__name{display:block;font-family:var(--head);text-transform:uppercase;color:var(--royal);font-size:1.34rem;line-height:1.12}
.pc__prof{display:block;color:#64708e;font-size:.95rem;margin-top:9px;line-height:1.45}
/* kandidáti bez fotky (9–21) — jen jméno */
.cand-names{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
.nc{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e3ebf8;border-radius:14px;padding:14px 18px;box-shadow:var(--shadow-soft)}
.nc__num{flex:0 0 auto;width:38px;height:38px;border-radius:11px;background:var(--paper);color:var(--royal);font-family:var(--head);font-size:1.05rem;display:grid;place-items:center}
.nc__info{min-width:0}
.nc__name{display:block;font-family:var(--head);text-transform:uppercase;color:var(--royal);font-size:.98rem;line-height:1.1}
.nc__prof{display:block;font-size:.82rem;color:#64708e;margin-top:3px}
.cand-note{text-align:center;color:#7787a8;margin-top:28px;font-size:.9rem;font-style:italic}
.team-photo{position:relative;margin:8px 0 40px;border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
.team-photo img{width:100%;height:auto;display:block}
.team-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 26px 18px;color:#fff;font-family:var(--head);text-transform:uppercase;letter-spacing:.02em;font-size:1.05rem;background:linear-gradient(0deg,rgba(9,19,52,.78),rgba(9,19,52,0))}
@media(max-width:560px){.team-photo{border-radius:16px;margin-bottom:28px}.team-photo figcaption{font-size:.82rem;padding:18px 16px 12px}}
@media(max-width:900px){.cand-grid{grid-template-columns:repeat(2,1fr)}.cand-names{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cand-grid{grid-template-columns:1fr}.cand-names{grid-template-columns:1fr}}
@media(max-width:680px){
  .cand-modal .cmodal{grid-template-columns:1fr;max-height:92vh;overflow:auto}
  .cmodal__photo{min-height:300px}
  .cmodal__info{padding:30px 26px}
}

/* kontakt: newsletter formulář uvnitř sekce Kontakt */
.contact .news-form{margin-top:26px;max-width:520px}

/* ===== Naše výsledky ===== */
.results{background:#fff}
.results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.result-cat{background:var(--paper-2);border:1px solid #e4ecf8;border-radius:22px;padding:28px 30px;box-shadow:var(--shadow-soft)}
.result-cat h3{display:flex;align-items:center;gap:12px;font-size:1.3rem;color:var(--royal);margin-bottom:16px}
.result-cat .rc-ic{flex:0 0 auto;width:42px;height:42px;border-radius:12px;background:var(--royal);display:grid;place-items:center}
.result-cat .rc-ic svg{width:24px;height:24px;fill:#fff}
.check-list{list-style:none;display:grid;gap:11px}
.check-list li{position:relative;display:flex;align-items:flex-start;gap:12px;color:#2c3a5e;font-size:1rem;line-height:1.45}
.check-list li .chk{flex:0 0 auto;width:22px;height:22px;margin-top:1px;fill:var(--sky)}
.results-note{color:#5a6690!important}
.results-note a{color:var(--royal);font-weight:700;text-decoration:underline;text-underline-offset:2px}
@media(max-width:760px){.results-grid{grid-template-columns:1fr}}

/* ===== Výsledky – řádek klíčových čísel ===== */
.results-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:30px}
.stat{background:linear-gradient(135deg,var(--royal),var(--royal-deep));color:#fff;border-radius:20px;padding:24px 22px;box-shadow:0 16px 34px rgba(20,40,120,.22)}
.stat b{display:block;font-family:var(--head);font-size:2.1rem;line-height:1;color:#fff}
.stat span{display:block;margin-top:8px;font-size:.9rem;color:#d3e0ff;line-height:1.35}
@media(max-width:900px){.results-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.results-stats{grid-template-columns:1fr}}

/* program – gradienty pro pilíře 6 a 7 */
.prog-photo.p6{background:linear-gradient(150deg,#1c3c85,#00a8ea)}
.prog-photo.p7{background:linear-gradient(150deg,#254aa5,#2f7fd0)}
