/* Živé Halenkovice — kampaňový web 2026 */
:root {
  --green: #2e7d32; --green-700: #226127; --green-50: #eef6ef;
  --navy: #0d2b5b; --navy-900: #061733; --navy-700: #0a2148; --navy-50: #eef1f6;
  --sun: #f2c200; --sun-100: #fdf3cc; --sky: #8dbce6;
  --ink: #16202e; --ink-muted: #4d5b6d; --ink-soft: #667283; --line: #e2e6ec;
  --paper: #fff; --paper-warm: #f8f9f5;
  --font-heading: "Figtree", "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-body: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-logo: "Alegreya", Georgia, "Times New Roman", serif;
  --text-xs: 0.8125rem; --text-sm: 0.9375rem; --text-base: 1.0625rem; --text-lg: 1.1875rem;
  --text-xl: clamp(1.3rem, 0.6vw + 1.15rem, 1.5rem);
  --text-2xl: clamp(1.55rem, 1vw + 1.3rem, 1.9rem);
  --text-3xl: clamp(1.9rem, 1.8vw + 1.5rem, 2.6rem);
  --text-4xl: clamp(2.1rem, 3vw + 1.2rem, 3.5rem);
  --s1: .25rem; --s2: .5rem; --s3: .75rem; --s4: 1rem; --s5: 1.5rem; --s6: 2rem; --s7: 2.5rem; --s8: 3rem; --s9: 4rem; --s10: 5rem; --s11: 6.5rem; --s12: 8rem;
  --r-md: 12px; --r-lg: 18px; --r-pill: 999px;
  --shadow-sm: 0 1px 2px rgba(13,43,91,.06), 0 2px 6px rgba(13,43,91,.05);
  --shadow-md: 0 6px 18px rgba(13,43,91,.08), 0 2px 6px rgba(13,43,91,.05);
  --container: 1180px;
  --section-y: clamp(3.5rem, 8vw, 6.5rem);
  --t: 160ms cubic-bezier(.2,0,.2,1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; } }
body { margin: 0; font-family: var(--font-body); font-size: var(--text-base); line-height: 1.6; color: var(--ink); background: var(--paper-warm); }
img, svg { display: block; max-width: 100%; }
a { color: var(--green-700); }
a:hover { color: var(--navy); }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { font-family: var(--font-heading); color: var(--navy); letter-spacing: -.025em; line-height: 1.08; text-wrap: balance; }
h2 { font-size: var(--text-4xl); font-weight: 800; }
h3 { font-size: var(--text-3xl); font-weight: 800; letter-spacing: -.02em; }
button { font: inherit; }
:focus-visible { outline: 3px solid var(--sun); outline-offset: 3px; }
.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; }
.skip { position: absolute; left: var(--s4); top: -100px; z-index: 100; background: var(--sun); color: var(--navy-900); padding: var(--s2) var(--s4); border-radius: var(--r-pill); font-weight: 700; text-decoration: none; }
.skip:focus { top: var(--s2); }

.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: clamp(1rem, 4vw, 2rem); }
.eyebrow { font-family: var(--font-heading); font-size: var(--text-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--green); }
.eyebrow--sun { color: var(--sun); }
.lead { font-size: var(--text-base); line-height: 1.55; color: var(--ink-muted); text-wrap: pretty; }
.on-dark .lead { color: rgba(255,255,255,.78); }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--s2); font-family: var(--font-heading); font-weight: 700; line-height: 1; text-decoration: none; white-space: nowrap; border: 2px solid transparent; border-radius: var(--r-pill); cursor: pointer; padding: 1rem 2rem; font-size: var(--text-lg); min-height: 48px; transition: background var(--t), color var(--t), border-color var(--t), transform var(--t), box-shadow var(--t); }
.btn:hover { transform: translateY(-1px); }
.btn--sm { padding: .5rem 1rem; font-size: var(--text-sm); min-height: 40px; }
.btn--primary { background: var(--green); color: #fff; box-shadow: var(--shadow-sm); }
.btn--primary:hover { background: var(--green-700); color: #fff; box-shadow: var(--shadow-md); }
.btn--outline { background: transparent; color: var(--navy); border-color: currentColor; }
.btn--outline:hover { background: var(--navy); color: #fff; }
.btn--outline.on-dark { color: #fff; }
.btn--outline.on-dark:hover { background: #fff; color: var(--navy); }

/* Top bar */
.topbar { position: sticky; top: 0; z-index: 50; background: var(--navy); color: #fff; font-family: var(--font-heading); font-weight: 600; font-size: var(--text-sm); }
.topbar__row { display: flex; align-items: center; justify-content: space-between; gap: var(--s4); min-height: 44px; flex-wrap: wrap; padding-block: var(--s2); }
.topbar__num { background: var(--sun); color: var(--navy-900); border-radius: var(--r-pill); padding: 3px 10px; margin-right: 10px; }
.topbar a { color: #fff; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--sun); }
.topbar a:hover { color: var(--sun); }
@media (max-width: 640px) { .topbar__row { justify-content: center; text-align: center; } .topbar__row p { white-space: normal; } }

/* Header */
.header { background: #fff; border-bottom: 1px solid var(--line); }
.header__row { display: flex; align-items: center; justify-content: space-between; gap: var(--s6); min-height: 76px; }
.logo { display: flex; align-items: center; gap: 8px; text-decoration: none; color: var(--navy); }
.logo svg { width: 32px; height: 32px; flex: none; }
.logo__name { font-family: var(--font-logo); font-weight: 700; font-size: 23px; line-height: 1; white-space: nowrap; color: inherit; }
.nav { display: flex; gap: var(--s7); font-family: var(--font-heading); font-size: var(--text-sm); font-weight: 600; }
.nav a { color: var(--navy); text-decoration: none; }
.nav a:hover { color: var(--green-700); text-decoration: underline; text-underline-offset: 4px; }
.nav-toggle { display: none; background: none; border: 1px solid var(--line); border-radius: var(--r-md); width: 44px; height: 44px; align-items: center; justify-content: center; cursor: pointer; color: var(--navy); }
.nav-toggle svg { width: 24px; height: 24px; }
@media (max-width: 900px) {
  .header__row { flex-wrap: wrap; gap: var(--s4); }
  .nav-toggle { display: inline-flex; margin-left: auto; }
  .header__cta { display: none; }
  .nav { display: none; width: 100%; flex-direction: column; gap: 0; border-top: 1px solid var(--line); padding-block: var(--s2); }
  .nav a { padding: var(--s3) 0; font-size: var(--text-base); min-height: 44px; display: flex; align-items: center; }
  .header.is-open .nav { display: flex; }
  .header.is-open .header__cta { display: inline-flex; width: 100%; margin-bottom: var(--s4); }
}

/* Sections */
.section { padding-block: var(--section-y); }
.section--white { background: #fff; }
.section--navy { background: var(--navy); color: #fff; }
.section--navy50 { background: var(--navy-50); }
.split { display: grid; gap: var(--s10); align-items: center; }
@media (min-width: 900px) { .split { grid-template-columns: 1.1fr 1fr; gap: var(--s12); } }
.head2 { display: grid; gap: var(--s6); align-items: end; }
@media (min-width: 900px) { .head2 { grid-template-columns: 1fr 1fr; gap: var(--s10); } }
.stack { display: grid; gap: var(--s3); }

/* Hero */
.hero__copy { display: grid; gap: var(--s5); justify-items: start; }
.hero h1 { font-size: clamp(2.6rem, 6vw, 4.75rem); font-weight: 800; line-height: 1; letter-spacing: -.035em; }
.hero__sub { font-family: var(--font-heading); font-size: var(--text-2xl); font-weight: 700; line-height: 1.2; color: var(--green-700); letter-spacing: -.01em; }
.hero__lead { font-size: var(--text-lg); max-width: 52ch; }
.hero__actions { display: flex; gap: var(--s3); flex-wrap: wrap; }
.hero { position: relative; overflow: hidden; }
.hero__grid { align-items: end; }
.hero__copy { padding-bottom: var(--s6); align-self: center; }
.hero__stage { position: relative; display: grid; justify-items: center; align-items: end; min-height: 420px; margin-top: calc(-1 * var(--s8)); margin-bottom: calc(-1 * var(--s11)); overflow: visible; }
.hero__glow { position: absolute; left: 50%; bottom: -30%; width: 720px; height: 720px; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(circle at 50% 40%, rgba(255,255,255,.75) 0%, rgba(255,255,255,.35) 55%, rgba(255,255,255,0) 72%); pointer-events: none; }
.hero__slides { position: relative; width: clamp(420px, 128%, 660px); max-width: none; aspect-ratio: 1; }
.hero__slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: bottom; opacity: 0; transform: translateX(24px); transition: opacity .5s ease, transform .5s ease; filter: drop-shadow(0 18px 30px rgba(13,43,91,.22)); pointer-events: none; }
.hero__slide.is-active { opacity: 1; transform: none; }
.hero__slide.is-prev { transform: translateX(-24px); }
.hero__tag { position: absolute; left: 0; bottom: var(--s9); transform: translateX(-35%); display: grid; gap: 2px; min-width: 240px; background: rgba(255,255,255,.92); border: 1px solid rgba(13,43,91,.1); border-radius: var(--r-md); padding: var(--s3) var(--s4); box-shadow: var(--shadow-md); backdrop-filter: blur(6px); }
.hero__tag-name { font-family: var(--font-heading); font-weight: 800; font-size: var(--text-base); color: var(--navy); line-height: 1.2; }
.hero__tag-role { font-size: var(--text-xs); color: var(--green-700); font-weight: 700; letter-spacing: .02em; }
.hero__tools { position: absolute; right: 0; top: 0; display: grid; gap: var(--s3); justify-items: end; }
.pill { display: inline-flex; align-items: stretch; border-radius: 999px; overflow: hidden; font-family: var(--font-heading); font-weight: 800; font-size: var(--text-sm); box-shadow: var(--shadow-sm); text-decoration: none; }
.pill__num { background: var(--sun); color: var(--navy-900); padding: 8px 14px; }
.pill__txt { background: var(--navy); color: #fff; padding: 8px 16px; }
.hero__nav { display: flex; gap: var(--s2); align-items: center; }
.hero__arrow { width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(13,43,91,.15); background: rgba(255,255,255,.92); color: var(--navy); font: 700 18px/1 var(--font-heading); cursor: pointer; display: grid; place-items: center; box-shadow: var(--shadow-sm); }
.hero__arrow:hover { background: #fff; }
.hero__counter { font-family: var(--font-heading); font-weight: 700; font-size: var(--text-sm); color: var(--navy); min-width: 52px; text-align: center; }
@media (max-width: 900px) {
  .hero__copy { padding-bottom: 0; }
  .hero__stage { min-height: 360px; margin-bottom: calc(-1 * var(--s9)); }
  .hero__slides { width: min(100%, 360px); }
  .hero__stage { justify-items: center; }
  .hero__tag { transform: none; left: var(--s2); bottom: var(--s7); min-width: 0; }
  .hero__tools { top: 0; right: var(--s2); }
  .hero__glow { width: 440px; height: 440px; }
}
@media (prefers-reduced-motion: reduce) { .hero__slide { transition: none; } }

/* Co se povedlo */
.done { display: grid; gap: var(--s8); align-items: start; }
@media (min-width: 900px) { .done { grid-template-columns: 1fr 2fr; gap: var(--s12); } }
.done__intro { display: grid; gap: var(--s4); }
.done__intro h2 { color: #fff; }
.done__list { display: grid; border-top: 1px solid rgba(255,255,255,.18); }
.done__item { display: grid; grid-template-columns: 90px 1fr auto; gap: var(--s5); align-items: baseline; padding: var(--s5) 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.done__tag { font-family: var(--font-heading); font-weight: 700; color: var(--sun); }
.done__item h3 { font-size: var(--text-lg); font-weight: 700; color: #fff; letter-spacing: 0; line-height: 1.25; }
.done__item p { margin-top: 4px; font-size: var(--text-sm); color: rgba(255,255,255,.7); }
.done__meta { font-size: var(--text-sm); color: rgba(255,255,255,.7); white-space: nowrap; }
.done__item--pending .done__tag, .done__item--pending .done__meta { color: rgba(255,255,255,.5); }
.done__item--pending h3 { color: rgba(255,255,255,.8); }
@media (max-width: 640px) { .done__item { grid-template-columns: 1fr; gap: var(--s1); } .done__meta { white-space: normal; } }

/* Rosette strip */
.strip { height: 30px; background-repeat: repeat-x; background-size: 40px 30px; }
.strip--on-navy { background-color: var(--navy); background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'40'%20height%3D'30'%20viewBox%3D'0%200%2040%2030'%3E%3Cg%20transform%3D'translate(4%203)%20scale(0.5)'%3E%3Cellipse%20cx%3D'24'%20cy%3D'12.5'%20rx%3D'2.6'%20ry%3D'6'%20transform%3D'rotate(0%2024%2024)'%20fill%3D'rgba(255%2C255%2C255%2C0.45)'%2F%3E%3Cellipse%20cx%3D'24'%20cy%3D'12.5'%20rx%3D'2.6'%20ry%3D'6'%20transform%3D'rotate(45%2024%2024)'%20fill%3D'rgba(255%2C255%2C255%2C0.45)'%2F%3E%3Cellipse%20cx%3D'24'%20cy%3D'12.5'%20rx%3D'2.6'%20ry%3D'6'%20transform%3D'rotate(90%2024%2024)'%20fill%3D'rgba(255%2C255%2C255%2C0.45)'%2F%3E%3Cellipse%20cx%3D'24'%20cy%3D'12.5'%20rx%3D'2.6'%20ry%3D'6'%20transform%3D'rotate(135%2024%2024)'%20fill%3D'rgba(255%2C255%2C255%2C0.45)'%2F%3E%3Cellipse%20cx%3D'24'%20cy%3D'12.5'%20rx%3D'2.6'%20ry%3D'6'%20transform%3D'rotate(180%2024%2024)'%20fill%3D'rgba(255%2C255%2C255%2C0.45)'%2F%3E%3Cellipse%20cx%3D'24'%20cy%3D'12.5'%20rx%3D'2.6'%20ry%3D'6'%20transform%3D'rotate(225%2024%2024)'%20fill%3D'rgba(255%2C255%2C255%2C0.45)'%2F%3E%3Cellipse%20cx%3D'24'%20cy%3D'12.5'%20rx%3D'2.6'%20ry%3D'6'%20transform%3D'rotate(270%2024%2024)'%20fill%3D'rgba(255%2C255%2C255%2C0.45)'%2F%3E%3Cellipse%20cx%3D'24'%20cy%3D'12.5'%20rx%3D'2.6'%20ry%3D'6'%20transform%3D'rotate(315%2024%2024)'%20fill%3D'rgba(255%2C255%2C255%2C0.45)'%2F%3E%3Ccircle%20cx%3D'24'%20cy%3D'24'%20r%3D'3.5'%20fill%3D'rgba(255%2C255%2C255%2C0.45)'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'34'%20cy%3D'15'%20r%3D'1.6'%20fill%3D'rgba(255%2C255%2C255%2C0.45)'%2F%3E%3C%2Fsvg%3E"); }
.strip--on-navy50 { background-color: var(--navy-50); background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'40'%20height%3D'30'%20viewBox%3D'0%200%2040%2030'%3E%3Cg%20transform%3D'translate(4%203)%20scale(0.5)'%3E%3Cellipse%20cx%3D'24'%20cy%3D'12.5'%20rx%3D'2.6'%20ry%3D'6'%20transform%3D'rotate(0%2024%2024)'%20fill%3D'%230d2b5b'%2F%3E%3Cellipse%20cx%3D'24'%20cy%3D'12.5'%20rx%3D'2.6'%20ry%3D'6'%20transform%3D'rotate(45%2024%2024)'%20fill%3D'%230d2b5b'%2F%3E%3Cellipse%20cx%3D'24'%20cy%3D'12.5'%20rx%3D'2.6'%20ry%3D'6'%20transform%3D'rotate(90%2024%2024)'%20fill%3D'%230d2b5b'%2F%3E%3Cellipse%20cx%3D'24'%20cy%3D'12.5'%20rx%3D'2.6'%20ry%3D'6'%20transform%3D'rotate(135%2024%2024)'%20fill%3D'%230d2b5b'%2F%3E%3Cellipse%20cx%3D'24'%20cy%3D'12.5'%20rx%3D'2.6'%20ry%3D'6'%20transform%3D'rotate(180%2024%2024)'%20fill%3D'%230d2b5b'%2F%3E%3Cellipse%20cx%3D'24'%20cy%3D'12.5'%20rx%3D'2.6'%20ry%3D'6'%20transform%3D'rotate(225%2024%2024)'%20fill%3D'%230d2b5b'%2F%3E%3Cellipse%20cx%3D'24'%20cy%3D'12.5'%20rx%3D'2.6'%20ry%3D'6'%20transform%3D'rotate(270%2024%2024)'%20fill%3D'%230d2b5b'%2F%3E%3Cellipse%20cx%3D'24'%20cy%3D'12.5'%20rx%3D'2.6'%20ry%3D'6'%20transform%3D'rotate(315%2024%2024)'%20fill%3D'%230d2b5b'%2F%3E%3Ccircle%20cx%3D'24'%20cy%3D'24'%20r%3D'3.5'%20fill%3D'%230d2b5b'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'34'%20cy%3D'15'%20r%3D'1.6'%20fill%3D'%230d2b5b'%2F%3E%3C%2Fsvg%3E"); }

/* Program */
.program { display: grid; gap: var(--s8); }
.tiles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--s3); }
@media (max-width: 1000px) { .tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tile { display: grid; gap: 14px; justify-items: start; text-align: left; padding: 20px; border-radius: var(--r-lg); border: 1px solid var(--line); border-top: 5px solid var(--t-bg); cursor: pointer; background: #fff; color: var(--navy); opacity: .6; transition: opacity .2s, transform .2s, box-shadow .2s; min-height: 44px; }
.tile:hover { opacity: .9; }
.tile[aria-pressed="true"] { opacity: 1; transform: translateY(-4px); box-shadow: var(--shadow-md); }
.tile__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: var(--r-md); background: var(--t-bg); }
.tile__icon img { width: 28px; height: 28px; }
.tile__num { display: block; font-size: var(--text-xs); letter-spacing: .1em; text-transform: uppercase; font-weight: 700; opacity: .75; }
.tile__title { display: block; font-family: var(--font-heading); font-size: var(--text-lg); font-weight: 800; line-height: 1.15; }
[data-theme="cesta"] { --t-bg: var(--green); --t-fg: #fff; }
[data-theme="strom"] { --t-bg: var(--navy); --t-fg: #fff; }
[data-theme="obec"] { --t-bg: var(--sun); --t-fg: var(--navy-900); }
[data-theme="znak"] { --t-bg: var(--ink-muted); --t-fg: #fff; }
[data-theme="slunce"] { --t-bg: var(--sky); --t-fg: var(--navy-900); }
.panel { background: var(--t-bg); color: var(--t-fg); border-radius: var(--r-lg); padding: clamp(1.25rem, 4vw, 3rem); }
.panel[hidden] { display: none; }
.panel__grid { display: grid; gap: var(--s8); align-items: start; }
@media (min-width: 900px) { .panel__grid { grid-template-columns: 1fr 1.3fr; gap: var(--s10); } }
.panel__intro { display: grid; gap: var(--s4); }
.panel__intro h3 { color: inherit; }
.panel__kicker { font-size: var(--text-xs); letter-spacing: .1em; text-transform: uppercase; font-weight: 700; opacity: .8; }
.panel__why { line-height: 1.55; opacity: .9; text-wrap: pretty; }
.panel__builds { font-size: var(--text-sm); opacity: .8; }
.points { display: grid; gap: var(--s3); list-style: none; margin: 0; padding: 0; }
.point { display: grid; grid-template-columns: 44px 1fr auto; gap: var(--s4); align-items: center; background: rgba(255,255,255,.16); border-radius: var(--r-md); padding: var(--s4) var(--s5); }
.point__n { width: 44px; height: 44px; border-radius: 50%; border: 2px solid currentColor; display: grid; place-items: center; font-family: var(--font-heading); font-weight: 800; font-size: var(--text-lg); }
.point__what { font-family: var(--font-heading); font-weight: 700; font-size: var(--text-lg); line-height: 1.2; display: block; }
.point__where { font-size: var(--text-sm); opacity: .85; display: block; margin-top: 2px; }
.point__due { font-family: var(--font-heading); font-weight: 800; font-size: var(--text-sm); background: var(--sun); color: var(--navy-900); border-radius: var(--r-pill); padding: 6px 12px; white-space: nowrap; }
@media (max-width: 640px) { .point { grid-template-columns: 36px 1fr; } .point__n { width: 36px; height: 36px; font-size: var(--text-base); } .point__due { grid-column: 2; justify-self: start; } }
.more { display: flex; flex-wrap: wrap; gap: 8px; padding-top: var(--s2); list-style: none; margin: 0; padding-left: 0; }
.more__label { font-size: var(--text-xs); letter-spacing: .08em; text-transform: uppercase; font-weight: 700; opacity: .8; align-self: center; }
.more li { font-size: var(--text-sm); background: rgba(255,255,255,.16); border-radius: var(--r-pill); padding: 5px 12px; line-height: 1.3; }

.promise { display: grid; gap: var(--s6); align-items: center; background: var(--sun-100, #fff3cf); border: 1px solid var(--sun); border-radius: var(--r-lg); padding: clamp(1.5rem, 4vw, 2.5rem); }
@media (min-width: 900px) { .promise { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--s8); } }
.promise__head { display: grid; gap: var(--s3); }
.promise__head h3 { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -.02em; color: var(--navy); text-wrap: balance; }
.promise__body { display: grid; gap: var(--s3); line-height: 1.55; text-wrap: pretty; }
.promise__body p { margin: 0; }
.timeline { display: grid; gap: var(--s4); background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: var(--s6); }
.timeline__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s4); flex-wrap: wrap; }
.timeline__head p:first-child { font-family: var(--font-heading); font-size: var(--text-lg); font-weight: 800; color: var(--navy); }
.timeline__head p:last-child { font-size: var(--text-sm); color: var(--ink-muted); }
.timeline__scroll { overflow-x: auto; }
.timeline table { border-collapse: collapse; width: 100%; min-width: 640px; }
.timeline th { text-align: left; font-size: var(--text-xs); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-muted); font-weight: 700; padding: 0 var(--s2) var(--s2) 0; border-bottom: 1px solid var(--line); }
.timeline td { padding: var(--s3) var(--s2) var(--s3) 0; border-bottom: 1px solid var(--line); vertical-align: middle; }
.timeline td:first-child { width: 200px; }
.tl-btn { display: flex; align-items: center; gap: 10px; background: none; border: 0; padding: 0; cursor: pointer; text-align: left; color: var(--navy); min-height: 32px; }
.tl-btn:hover .tl-btn__label { text-decoration: underline; }
.tl-btn__dot { display: inline-block; width: 12px; height: 12px; border-radius: 3px; background: var(--t-bg); flex: none; }
.tl-btn__label { font-family: var(--font-heading); font-weight: 700; font-size: var(--text-sm); }
.dots { display: flex; gap: 6px; min-height: 18px; align-items: center; flex-wrap: wrap; }
.dot { display: inline-block; width: 14px; height: 14px; border-radius: 50%; background: var(--t-bg); box-shadow: 0 0 0 2px #fff; }

.cta-box { display: grid; gap: var(--s5); align-items: center; background: var(--navy); color: #fff; border-radius: var(--r-lg); padding: var(--s6) clamp(1.5rem, 4vw, 3rem); }
@media (min-width: 760px) { .cta-box { grid-template-columns: 1fr auto; } }
.cta-box p:first-child { font-family: var(--font-heading); font-size: var(--text-xl); font-weight: 700; line-height: 1.2; }
.cta-box p + p { font-size: var(--text-sm); color: rgba(255,255,255,.8); margin-top: 4px; }

/* Lidé */
.people { display: grid; gap: var(--s8); }
.people__head { display: grid; gap: var(--s3); max-width: 60ch; }
.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: var(--s5); list-style: none; margin: 0; padding: 0; }
.card { display: grid; grid-template-rows: auto 1fr; border-radius: var(--r-lg); overflow: hidden; background: #fff; border: 1px solid rgba(13,43,91,.12); }
.card__media { position: relative; aspect-ratio: 1 / 1; background: var(--green-50); overflow: hidden; }
.card__media img { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); height: 94%; width: auto; max-width: none; }
.card__ph { position: absolute; inset: 0; display: grid; place-items: center; font-size: var(--text-xs); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-soft); }
.card__n { position: absolute; z-index: 2; left: var(--s4); top: var(--s4); width: 40px; height: 40px; border-radius: 50%; background: var(--navy); color: #fff; font-family: var(--font-heading); font-size: var(--text-lg); font-weight: 800; display: grid; place-items: center; }
.card__body { padding: var(--s4) var(--s5) var(--s5); display: grid; gap: 4px; align-content: start; }
.card__name { font-family: var(--font-heading); font-size: var(--text-lg); font-weight: 800; line-height: 1.15; color: var(--navy); }
.card__role { font-size: var(--text-xs); color: var(--green-700); font-weight: 700; letter-spacing: .02em; }
.card__quote { margin-top: 6px; font-size: var(--text-sm); line-height: 1.45; color: var(--ink-muted); text-wrap: pretty; }

/* Jak volit */
.vote { display: grid; gap: var(--s4); }
@media (min-width: 900px) { .vote { grid-template-columns: 1.2fr 1fr; } }
.vote__main { background: var(--navy); color: #fff; border-radius: var(--r-lg); padding: clamp(1.5rem, 4vw, 3rem); display: grid; gap: var(--s4); align-content: start; }
.vote__x { width: 56px; height: 56px; border-radius: 50%; background: var(--sun); color: var(--navy-900); font-family: var(--font-heading); font-size: var(--text-2xl); font-weight: 800; display: grid; place-items: center; }
.vote__main h3 { color: #fff; font-size: var(--text-2xl); line-height: 1.15; }
.vote__main p { color: rgba(255,255,255,.85); line-height: 1.55; }
.vote__side { background: var(--sun-100); border: 1px solid var(--sun); border-radius: var(--r-lg); padding: var(--s6); display: grid; gap: var(--s3); align-content: start; }
.vote__side h3 { font-size: var(--text-lg); font-weight: 700; line-height: 1.2; letter-spacing: 0; }
.vote__side p { font-size: var(--text-sm); line-height: 1.55; }
.vote__side p.muted { color: var(--ink-muted); }

/* Kontakt */
.contact { display: grid; gap: var(--s8); align-items: start; }
@media (min-width: 900px) { .contact { grid-template-columns: 1.2fr 1fr; gap: var(--s12); } }
.contact__copy { display: grid; gap: var(--s5); justify-items: start; }
.contact__copy .lead { max-width: 50ch; }
.contact__links { display: grid; gap: var(--s2); font-size: var(--text-lg); line-height: 1.5; }
.contact__links a { color: var(--navy); font-family: var(--font-heading); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--green); word-break: break-word; }
.contact__links a:hover { color: var(--green-700); }
.events { display: grid; gap: var(--s3); list-style: none; margin: 0; padding: 0; }
.event { display: grid; grid-template-columns: 64px 1fr; gap: var(--s4); align-items: center; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: var(--s4) var(--s5); }
.event__date { display: grid; place-items: center; text-align: center; width: 64px; height: 64px; border-radius: var(--r-md); background: var(--navy); color: #fff; font-family: var(--font-heading); line-height: 1; }
.event__day { font-size: 1.5rem; font-weight: 800; }
.event__month { font-size: var(--text-xs); text-transform: uppercase; letter-spacing: .06em; }
.event__title { font-family: var(--font-heading); font-weight: 700; font-size: var(--text-base); color: var(--navy); line-height: 1.25; }
.event__meta { font-size: var(--text-sm); color: var(--ink-muted); margin-top: 2px; }

/* Dopis od lídra */
.letter { background: #fff; }
.letter__grid { display: grid; gap: var(--s8); align-items: start; }
@media (min-width: 900px) { .letter__grid { grid-template-columns: minmax(0, 1fr) 320px; gap: var(--s11); } }
.letter__body { display: grid; gap: var(--s5); max-width: 66ch; font-size: var(--text-lg); line-height: 1.65; text-wrap: pretty; }
.letter__body h1 { font-size: var(--text-4xl); font-weight: 800; }
.letter__body > p { color: var(--ink); }
.letter__body > .letter__closing { font-family: var(--font-heading); font-size: var(--text-xl); color: var(--navy); line-height: 1.3; }
.letter__sign { display: grid; gap: 2px; padding-top: var(--s4); border-top: 1px solid var(--line); margin-top: var(--s2); }
.letter__name { font-family: var(--font-heading); font-weight: 700; color: var(--navy); font-size: var(--text-xl); margin-top: var(--s3); }
.letter__signature { display: block; height: 72px; width: auto; margin: var(--s2) 0 calc(-1 * var(--s2)) -4px; }
.letter__role { font-size: var(--text-sm); color: var(--ink-muted); }
.letter__actions { display: flex; gap: var(--s3); flex-wrap: wrap; padding-top: var(--s2); }
.letter__aside { display: grid; gap: var(--s5); position: sticky; top: calc(44px + var(--s6)); }
.letter__photo { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; border-radius: var(--r-lg); background: var(--navy-50); }
.letter__date { font-family: var(--font-heading); font-size: var(--text-2xl) !important; font-weight: 800; color: var(--navy); line-height: 1.15; }
.nav a[aria-current="page"] { color: var(--green-700); text-decoration: underline; text-underline-offset: 4px; }

/* Footer */
.footer { background: var(--navy); color: #fff; padding: var(--s10) 0 var(--s8); }
.footer__grid { display: grid; gap: var(--s8); align-items: start; }
@media (min-width: 640px) { .footer__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; } }
.footer__brand { display: grid; gap: var(--s4); justify-items: start; }
.footer .logo { color: #fff; }
.footer .logo svg { width: 44px; height: 44px; }
.footer .logo__name { font-size: 26px; }
.footer__brand p { font-size: var(--text-sm); line-height: 1.5; color: rgba(255,255,255,.75); max-width: 36ch; }
.footer__col { display: grid; gap: var(--s3); align-content: start; }
.footer__col h2 { font-size: var(--text-sm); letter-spacing: .08em; text-transform: uppercase; color: var(--sun); font-weight: 700; }
.footer__col a { color: #fff; text-decoration: none; font-size: var(--text-sm); min-height: 28px; display: inline-flex; align-items: center; }
.footer__col a:hover { color: var(--sun); text-decoration: underline; }
.footer__legal { margin-top: var(--s8); border-top: 1px solid rgba(255,255,255,.18); padding-top: var(--s5); display: flex; justify-content: space-between; gap: var(--s6); flex-wrap: wrap; font-size: var(--text-xs); color: rgba(255,255,255,.6); }
.footer__legal a { color: #fff; text-decoration: none; }
.footer__legal a:hover { color: var(--sun); }

@media print { .topbar, .nav-toggle, .header__cta, .strip { display: none; } .panel[hidden] { display: block; margin-top: var(--s4); } body { background: #fff; } }

/* Original logo (bitmap) */
.logo__img { height: 56px; width: auto; max-width: none; }
.logo__img--footer { height: 64px; }
@media (max-width: 900px) { .logo__img { height: 44px; } }
