:root{--color-brand: #a11d1a;--color-brand-dark: #7a1614;--color-ink: #1a1a1a;--color-mute: #555;--color-soft: #888;--color-line: #e6e3dd;--color-paper: #fafaf8;--color-paper-deep: #f0eee8;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-serif: "Source Serif 4", "Source Serif Pro", Georgia, serif;--container: 1240px;--gutter: clamp(1rem, 3vw, 2.5rem);--section-py: clamp(3.5rem, 6vw, 5.5rem);--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--transition: .18s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}img,svg,video{display:block;max-width:100%;height:auto}button{font:inherit;cursor:pointer}a{color:inherit}ul{padding:0;margin:0;list-style:none}h1,h2,h3,h4,h5,h6,p{margin:0}html{font-family:var(--font-sans);color:var(--color-ink);background:var(--color-paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.55}body{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.container{width:100%;max-width:var(--container);margin:0 auto;padding-inline:var(--gutter)}.btn{display:inline-flex;align-items:center;gap:.4em;padding:.9em 1.6em;font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:2px solid transparent;border-radius:var(--radius-sm);transition:background var(--transition),color var(--transition),border-color var(--transition),transform var(--transition)}.btn:hover{transform:translateY(-1px)}.btn--primary{background:var(--color-brand);color:#fff;border-color:var(--color-brand)}.btn--primary:hover{background:var(--color-brand-dark);border-color:var(--color-brand-dark)}.btn--ghost{background:transparent;color:var(--color-ink);border-color:var(--color-ink)}.btn--ghost:hover{background:var(--color-ink);color:#fff}.link-arrow{display:inline-block;font-weight:600;color:var(--color-brand);text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:2px;transition:color var(--transition)}.link-arrow:hover{color:var(--color-brand-dark)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:clamp(2rem,4vw,3rem);border-bottom:2px solid var(--color-ink);padding-bottom:.75rem}.section-head__title{font-family:var(--font-serif);font-size:clamp(1.5rem,2vw + 1rem,2.5rem);font-weight:700;line-height:1.1}.section-head__more{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-brand);text-decoration:none;white-space:nowrap}.section-head__more:hover{color:var(--color-brand-dark)}.section-head--quiet{border-bottom:1px solid var(--color-line)}.site-header{background:#fff;border-bottom:1px solid var(--color-line);position:sticky;top:0;z-index:50}.site-header__inner{display:flex;align-items:center;gap:clamp(.75rem,2vw,1.5rem);width:100%;max-width:var(--container);margin:0 auto;padding:1rem var(--gutter)}.site-header__toggle{display:flex;width:48px;height:48px;background:transparent;border:0;flex-direction:column;justify-content:center;align-items:center;gap:6px;flex-shrink:0}.site-header__toggle span{display:block;width:30px;height:3px;background:var(--color-ink);transition:transform var(--transition),opacity var(--transition)}.site-header__toggle.is-open span:nth-child(1){transform:translateY(9px) rotate(45deg)}.site-header__toggle.is-open span:nth-child(2){opacity:0}.site-header__toggle.is-open span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.site-header__logo{flex-shrink:0;line-height:0}.site-header__logo img{width:clamp(140px,10vw,190px);height:auto}.site-header__search{flex:1;display:flex;align-items:center;background:var(--color-paper-deep);margin-left:auto;max-width:320px;border:1px solid transparent;border-radius:999px;transition:border-color var(--transition),background var(--transition)}.site-header__search:focus-within{border-color:var(--color-ink);background:#fff}.site-header__search input{flex:1;border:0;background:transparent;padding:.7rem .9rem;font:inherit;font-size:.95rem;color:var(--color-ink);outline:none;min-width:0}.site-header__search input::placeholder{color:var(--color-soft)}.site-header__search button{background:transparent;border:0;padding:.5rem .9rem;display:inline-flex;align-items:center;justify-content:center;color:var(--color-mute);transition:color var(--transition)}.site-header__search button:hover{color:var(--color-brand)}.site-header__social{display:flex;gap:.4rem;flex-shrink:0}.site-header__social .social-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--color-paper-deep);color:var(--color-ink);text-decoration:none;border-radius:50%;transition:background var(--transition),color var(--transition),transform var(--transition)}.site-header__social .social-icon:hover{background:var(--color-brand);color:#fff;transform:translateY(-1px)}.site-nav{position:fixed;top:0;left:0;bottom:0;width:min(380px,90vw);background:var(--color-ink);color:#fff;z-index:100;transform:translate(-100%);transition:transform var(--transition);overflow-y:auto}.site-nav.is-open{transform:translate(0)}.site-nav__inner{padding:5rem 2.5rem 2rem}.site-nav__list{display:flex;flex-direction:column;gap:0}.site-nav__list li{border-bottom:1px solid rgba(255,255,255,.1)}.site-nav__list a{display:block;padding:1rem 0;font-family:var(--font-serif);font-size:1.4rem;font-weight:600;text-decoration:none;color:#fff;transition:color var(--transition)}.site-nav__list a:hover{color:var(--color-brand)}.site-nav__backdrop{position:fixed;inset:0;background:#00000080;z-index:99;opacity:0;pointer-events:none;transition:opacity var(--transition)}.site-nav__backdrop.is-open{opacity:1;pointer-events:auto}body.is-nav-open{overflow:hidden}@media(max-width:700px){.site-header__search{display:none}}@media(max-width:480px){.site-header__social{display:none}}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.slogan-bar{background:var(--color-ink);color:var(--color-brand);padding:.8rem var(--gutter);text-align:center}.slogan-bar__text{font-family:var(--font-sans);font-size:clamp(.85rem,.6vw + .7rem,1rem);font-weight:700;letter-spacing:.22em;text-transform:uppercase;margin:0}.slogan-bar__text .dot{color:#fff;opacity:.5;margin:0 .7em}.intro{padding:clamp(2rem,4vw,3.5rem) 0;background:var(--color-paper)}.intro__inner{width:100%;max-width:var(--container);margin:0 auto;padding-inline:var(--gutter);display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(1.5rem,3vw,2.5rem);align-items:stretch}.intro__video{position:relative;background:var(--color-ink);overflow:hidden;min-height:360px;border-radius:var(--radius-lg)}.banner{position:relative;height:100%;overflow:hidden;border-radius:inherit}.banner__video{width:100%;height:100%;object-fit:cover;display:block}.intro__fakt{display:flex;flex-direction:column;gap:1rem;background:var(--color-paper-deep);padding:clamp(1rem,2vw,1.5rem);border-radius:var(--radius-lg)}.intro__fakt-cover{display:block;line-height:0;overflow:hidden;border-radius:var(--radius);transition:transform var(--transition),box-shadow var(--transition);box-shadow:0 12px 32px -16px #0006}.intro__fakt-cover:hover{transform:translateY(-3px);box-shadow:0 18px 40px -16px #00000080}.intro__fakt-cover img{width:100%;height:auto;display:block}.intro__fakt-meta{text-align:center;padding-top:.5rem}.intro__eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--color-brand);margin:0 0 .75rem}.intro__archive-link{display:block;margin-top:.5rem;font-size:.85rem;color:var(--color-mute);text-decoration:none;transition:color var(--transition)}.intro__archive-link:hover{color:var(--color-brand)}@media(max-width:760px){.intro__inner{grid-template-columns:1fr}.intro__video{min-height:220px;aspect-ratio:16 / 9}}.fakt{padding:clamp(3rem,6vw,5rem) 0;background:var(--color-paper)}.fakt__inner{width:100%;max-width:var(--container);margin:0 auto;padding-inline:var(--gutter);display:grid;grid-template-columns:320px 1fr;gap:clamp(2rem,4vw,4rem);align-items:center}.fakt__cover img{width:100%;height:auto;box-shadow:0 20px 60px -20px #00000059,0 6px 18px -10px #00000040}.fakt__eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-brand);margin-bottom:.75rem}.fakt__title{font-family:var(--font-serif);font-size:clamp(1.75rem,3vw + 1rem,3rem);font-weight:700;line-height:1.1;margin-bottom:1rem}.fakt__lead{font-size:1.05rem;color:var(--color-mute);margin-bottom:1rem}.fakt__topics{margin-bottom:2rem}.fakt__topics li{padding:.5rem 0;border-bottom:1px solid var(--color-line);font-size:1rem}.fakt__topics li:before{content:"→  ";color:var(--color-brand);font-weight:700}.fakt__cta{display:flex;flex-wrap:wrap;gap:.75rem}@media(max-width:720px){.fakt__inner{grid-template-columns:1fr}.fakt__cover{max-width:240px;margin:0 auto}}.articles{padding:var(--section-py) 0}.articles__inner{width:100%;max-width:var(--container);margin:0 auto;padding-inline:var(--gutter)}.article__meta{display:flex;align-items:center;gap:.75rem;font-size:.8rem;margin-bottom:.75rem}.article__cat{font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-brand)}.article__date{color:var(--color-soft)}.article-featured{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center;margin-bottom:clamp(2rem,5vw,4rem)}.article-featured__image{display:block;overflow:hidden;border-radius:var(--radius);transition:transform var(--transition)}.article-featured__image:hover{transform:translateY(-2px)}.article-featured__image img{width:100%;aspect-ratio:16 / 10;object-fit:cover;transition:transform .4s ease}.article-featured__image:hover img{transform:scale(1.03)}.article-featured__title{font-family:var(--font-serif);font-size:clamp(1.5rem,2vw + 1rem,2.5rem);font-weight:700;line-height:1.15;margin-bottom:1rem}.article-featured__title a{text-decoration:none;transition:color var(--transition)}.article-featured__title a:hover{color:var(--color-brand)}.article-featured__excerpt{font-size:1.05rem;color:var(--color-mute);margin-bottom:1.25rem}@media(max-width:720px){.article-featured{grid-template-columns:1fr}}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,2.5rem)}@media(max-width:880px){.article-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.article-grid{grid-template-columns:1fr}}.article-card__image{display:block;overflow:hidden;border-radius:var(--radius);margin-bottom:1rem;transition:transform var(--transition)}.article-card__image:hover{transform:translateY(-2px)}.article-card__image img{width:100%;aspect-ratio:4 / 3;object-fit:cover;transition:transform .4s ease}.article-card__image:hover img{transform:scale(1.04)}.article-card__title{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;line-height:1.25;margin-bottom:.6rem}.article-card__title a{text-decoration:none;transition:color var(--transition)}.article-card__title a:hover{color:var(--color-brand)}.article-card__excerpt{font-size:.95rem;color:var(--color-mute)}.candidates{padding:var(--section-py) 0;background:var(--color-paper-deep)}.candidates__inner{width:100%;max-width:var(--container);margin:0 auto;padding-inline:var(--gutter)}.candidate-hero{display:grid;grid-template-columns:400px 1fr;gap:clamp(2rem,4vw,4rem);align-items:center}.candidate-hero__photo img{width:100%;aspect-ratio:4 / 5;object-fit:cover;border-radius:var(--radius-lg);box-shadow:0 14px 32px -20px #0006}.candidate__position{font-size:.8rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-brand);margin-bottom:.75rem}.candidate-hero__name{font-family:var(--font-serif);font-size:clamp(2rem,3vw + 1rem,3rem);font-weight:700;line-height:1.1;margin-bottom:1.5rem}.candidate-hero__quote{border-left:4px solid var(--color-brand);padding-left:1.25rem;margin:0 0 1.5rem;font-family:var(--font-serif);font-style:italic;font-size:1.2rem;color:var(--color-ink)}.candidate-hero__bio{font-size:1.02rem;color:var(--color-mute);margin-bottom:1.25rem}.candidate-hero__note{font-size:.9rem;color:var(--color-soft);font-style:italic}@media(max-width:720px){.candidate-hero{grid-template-columns:1fr}.candidate-hero__photo{max-width:320px}}.candidate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem}.candidate-card__photo img{width:100%;aspect-ratio:4 / 5;object-fit:cover;margin-bottom:.75rem;border-radius:var(--radius)}.candidate-card__name{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.candidate-card__quote{font-size:.9rem;color:var(--color-mute);font-style:italic}.poll{padding:var(--section-py) 0;background:var(--color-paper-deep);border-top:3px solid var(--color-brand);color:var(--color-ink)}.poll__inner{width:100%;max-width:640px;margin:0 auto;padding-inline:var(--gutter);text-align:center}.poll__eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--color-brand);margin-bottom:1rem}.poll__question{font-family:var(--font-serif);font-size:clamp(1.5rem,2vw + 1rem,2.25rem);font-weight:700;line-height:1.2;margin-bottom:2rem}.poll__form{display:grid;gap:.6rem}.poll__option{display:flex;align-items:center;gap:.75rem;padding:.95rem 1.15rem;background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-sm);cursor:pointer;text-align:left;font-size:1rem;transition:background var(--transition),border-color var(--transition),transform var(--transition)}.poll__option:hover{background:#fff;border-color:var(--color-brand);transform:translate(2px)}.poll__option input{accent-color:var(--color-brand)}.poll__submit{margin-top:1rem;justify-self:center}.poll__thanks{font-size:1rem;color:var(--color-mute);padding:1.5rem;background:#fff;border-radius:var(--radius);border-left:4px solid var(--color-brand);text-align:left}.events{padding:clamp(2rem,4vw,3rem) 0}.events__inner{width:100%;max-width:760px;margin:0 auto;padding-inline:var(--gutter)}.events__list{display:grid;gap:.5rem}.event-row{display:grid;grid-template-columns:64px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--color-line)}.event-row:last-child{border-bottom:0}.event-row__date{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-paper-deep);padding:.5rem;text-align:center;border-radius:var(--radius-sm)}.event-row__day{font-family:var(--font-serif);font-size:1.5rem;font-weight:700;line-height:1}.event-row__month{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-mute)}.event-row__title{font-size:1.05rem;font-weight:600;margin-bottom:.25rem}.event-row__meta{font-size:.85rem;color:var(--color-soft);margin-bottom:.25rem}.event-row__desc{font-size:.9rem;color:var(--color-mute)}.site-footer{background:var(--color-ink);color:#ffffffb3;margin-top:4rem;font-size:.85rem}.site-footer__inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem 2rem;width:100%;max-width:var(--container);margin:0 auto;padding:1.25rem var(--gutter)}.site-footer__brand{margin:0}.site-footer__brand strong{color:#fff;font-weight:600}.site-footer__links{display:flex;gap:1.5rem;flex-wrap:wrap}.site-footer__links a{color:#ffffffb3;text-decoration:none;transition:color var(--transition)}.site-footer__links a:hover{color:var(--color-brand)}.site-footer__social{display:flex;gap:.5rem}.site-footer__social a{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:#ffffff14;color:#fff;text-decoration:none;font-size:.7rem;font-weight:700;letter-spacing:.05em;transition:background var(--transition)}.site-footer__social a:hover{background:var(--color-brand)}@media(max-width:600px){.site-footer__inner{justify-content:center;text-align:center}}:focus-visible{outline:3px solid var(--color-brand);outline-offset:3px}.reader{background:var(--color-paper-deep);padding-bottom:4rem}.reader__head{background:var(--color-ink);color:#fff;padding:clamp(2rem,5vw,3.5rem) 0}.reader__head-inner{width:100%;max-width:var(--container);margin:0 auto;padding-inline:var(--gutter)}.reader__eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--color-brand);margin-bottom:1rem}.reader__title{font-family:var(--font-serif);font-size:clamp(1.75rem,3.5vw + .5rem,3rem);font-weight:700;line-height:1.1;margin-bottom:1rem;max-width:28ch}.reader__lead{font-size:clamp(1rem,.8vw + .85rem,1.2rem);color:#ffffffd9;max-width:60ch;margin-bottom:1.5rem}.reader__actions{display:flex;flex-wrap:wrap;gap:2rem;align-items:center;margin:0}.reader__actions .link-arrow{color:#fff}.reader__actions .link-arrow:hover{color:var(--color-brand)}.reader__pdf{font-size:.85rem;color:#ffffffa6;text-decoration:none;border-bottom:1px dashed rgba(255,255,255,.4)}.reader__pdf:hover{color:#fff}.reader__pages{display:grid;gap:clamp(1.5rem,3vw,2.5rem);margin:clamp(2rem,4vw,3rem) auto;padding-inline:var(--gutter);width:100%;max-width:1640px}.reader__page{margin:0 auto;max-width:800px;width:100%}.reader__page--spread{max-width:100%}.reader__page img{width:100%;height:auto;display:block;border-radius:var(--radius);box-shadow:0 16px 40px -16px #00000059,0 4px 16px -4px #00000026;background:#fff}.reader__page-num{text-align:center;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-soft);margin-top:.75rem}.reader__bottom{text-align:center;padding-top:2rem}.archive{padding:clamp(2.5rem,5vw,4rem) 0}.archive__inner{width:100%;max-width:var(--container);margin:0 auto;padding-inline:var(--gutter)}.archive__head{margin-bottom:clamp(2rem,4vw,3rem)}.archive__eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--color-brand);margin-bottom:.75rem}.archive__title{font-family:var(--font-serif);font-size:clamp(2rem,3vw + 1rem,3rem);font-weight:700;line-height:1.1;margin-bottom:1rem}.archive__lead{font-size:1.05rem;color:var(--color-mute);max-width:50ch}.archive__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:clamp(1.5rem,3vw,2.5rem)}.archive__link{display:flex;flex-direction:column;gap:1rem;text-decoration:none;color:inherit;transition:transform var(--transition)}.archive__link:hover{transform:translateY(-4px)}.archive__link img{width:100%;height:auto;display:block;border-radius:var(--radius);box-shadow:0 12px 30px -12px #00000059,0 4px 12px -4px #00000026;background:#fff;transition:box-shadow var(--transition)}.archive__link:hover img{box-shadow:0 18px 38px -12px #00000073,0 6px 18px -4px #0003}.archive__num{font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-brand);margin-bottom:.4rem}.archive__headline{font-family:var(--font-serif);font-size:1.15rem;font-weight:700;line-height:1.2;color:var(--color-ink)}.page-hero{background:var(--color-ink);color:#fff;padding:clamp(3rem,6vw,5rem) 0}.page-hero__inner{width:100%;max-width:var(--container);margin:0 auto;padding-inline:var(--gutter)}.page-hero__eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--color-brand);margin-bottom:1rem}.page-hero__title{font-family:var(--font-serif);font-size:clamp(2rem,4vw + .5rem,3.5rem);font-weight:700;line-height:1.05;margin-bottom:1rem;max-width:26ch}.page-hero__lead{font-size:clamp(1rem,.6vw + .85rem,1.2rem);color:#fffc;max-width:60ch;line-height:1.55}.prose{padding:var(--section-py) 0}.prose__inner{width:100%;max-width:720px;margin:0 auto;padding-inline:var(--gutter);font-size:1.05rem;line-height:1.65;color:var(--color-ink)}.prose__inner h2{font-family:var(--font-serif);font-size:clamp(1.5rem,1.5vw + .75rem,2rem);font-weight:700;margin:2rem 0 .75rem}.prose__inner p{margin:0 0 1rem}.prose__inner ul{margin:1rem 0 1.5rem;padding-left:1.25rem;list-style:disc}.prose__inner ul li{padding:.2rem 0}.prose__inner a{color:var(--color-brand);text-decoration:underline;text-underline-offset:3px}.prose__note{margin-top:2rem;color:var(--color-mute);font-size:.95rem}.program-list{display:grid;gap:1.5rem;margin:0;padding:0;list-style:none}.program-item{display:grid;grid-template-columns:60px 1fr;gap:1.25rem;padding:1.5rem;background:var(--color-paper-deep);border-radius:var(--radius)}.program-item__num{font-family:var(--font-serif);font-size:2rem;font-weight:700;color:var(--color-brand);line-height:1}.program-item__title{font-family:var(--font-serif);font-size:1.35rem;font-weight:700;margin-bottom:.5rem}.people{padding:var(--section-py) 0}.people__inner{width:100%;max-width:var(--container);margin:0 auto;padding-inline:var(--gutter)}.people-hero{display:grid;grid-template-columns:400px 1fr;gap:clamp(2rem,4vw,4rem);align-items:center}.people-hero__photo img{width:100%;aspect-ratio:4 / 5;object-fit:cover;border-radius:var(--radius-lg);box-shadow:0 14px 32px -20px #0006}.people-hero__position{font-size:.8rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-brand);margin-bottom:.75rem}.people-hero__name{font-family:var(--font-serif);font-size:clamp(2rem,3vw + 1rem,3rem);font-weight:700;line-height:1.1;margin-bottom:1.25rem}.people-hero blockquote{border-left:4px solid var(--color-brand);padding-left:1.25rem;margin:0 0 1.25rem;font-family:var(--font-serif);font-style:italic;font-size:1.15rem}@media(max-width:720px){.people-hero{grid-template-columns:1fr}.people-hero__photo{max-width:320px}}.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.people-card img{width:100%;aspect-ratio:4 / 5;object-fit:cover;border-radius:var(--radius);margin-bottom:.75rem}.people-card__position{font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-brand);margin-bottom:.3rem}.people-card__name{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;margin-bottom:.4rem}.people-card__quote{font-size:.9rem;color:var(--color-mute);font-style:italic}.aktuality-list{display:grid;gap:2rem;margin:0;padding:0;list-style:none}.aktuality-row{display:grid;grid-template-columns:280px 1fr;gap:2rem;align-items:center;padding:0}.aktuality-row__image{display:block;overflow:hidden;border-radius:var(--radius);transition:transform var(--transition)}.aktuality-row__image:hover{transform:translateY(-2px)}.aktuality-row__image img{width:100%;aspect-ratio:4 / 3;object-fit:cover;transition:transform .4s ease}.aktuality-row__image:hover img{transform:scale(1.04)}.aktuality-row__title{font-family:var(--font-serif);font-size:clamp(1.25rem,1.5vw + .5rem,1.75rem);font-weight:700;line-height:1.15;margin:.4rem 0 .75rem}.aktuality-row__title a{text-decoration:none;color:inherit;transition:color var(--transition)}.aktuality-row__title a:hover{color:var(--color-brand)}.aktuality-row__excerpt{font-size:1rem;color:var(--color-mute);margin-bottom:1rem}@media(max-width:700px){.aktuality-row{grid-template-columns:1fr;gap:1rem}}.contact{padding:var(--section-py) 0}.contact__inner{width:100%;max-width:720px;margin:0 auto;padding-inline:var(--gutter)}.contact__card{background:var(--color-paper-deep);border-radius:var(--radius-lg);padding:clamp(2rem,4vw,3rem)}.contact__card h2{font-family:var(--font-serif);font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.contact__location{font-size:.95rem;color:var(--color-mute);margin-bottom:2rem}.contact__meta{display:grid;grid-template-columns:140px 1fr;gap:1rem 1.5rem;margin-bottom:1.5rem}.contact__meta dt{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-mute);padding-top:.15rem}.contact__meta dd{margin:0;font-size:1.05rem}.contact__meta a{color:var(--color-brand);text-decoration:none;border-bottom:2px solid currentColor}.contact__meta a:hover{color:var(--color-brand-dark)}.contact__social a{margin-right:1rem}.contact__note{color:var(--color-mute);font-size:.95rem;margin-top:1rem}@media(max-width:600px){.contact__meta{grid-template-columns:1fr;gap:.25rem 0}.contact__meta dt{padding-top:1rem}}.candidate-detail__head{background:var(--color-ink);color:#fff;padding:clamp(2.5rem,5vw,4rem) 0}.candidate-detail__head-inner{width:100%;max-width:var(--container);margin:0 auto;padding-inline:var(--gutter);display:grid;grid-template-columns:360px 1fr;gap:clamp(2rem,4vw,4rem);align-items:center}.candidate-detail__photo{display:block;overflow:hidden;border-radius:var(--radius-lg);box-shadow:0 20px 50px -20px #0009;transition:transform var(--transition)}.candidate-detail__photo:hover{transform:translateY(-3px)}.candidate-detail__photo img{width:100%;aspect-ratio:4 / 5;object-fit:cover}.candidate-detail__position{font-size:.8rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--color-brand);margin-bottom:.75rem}.candidate-detail__name{font-family:var(--font-serif);font-size:clamp(2rem,3.5vw + .5rem,3.5rem);font-weight:700;line-height:1.05;margin-bottom:.75rem}.candidate-detail__name a{color:inherit;text-decoration:none}.candidate-detail__profession{font-size:1.05rem;color:#ffffffd9;margin-bottom:.25rem}.candidate-detail__age{font-size:.9rem;color:#fff9;margin-bottom:1.5rem}.candidate-detail__quote{border-left:4px solid var(--color-brand);padding-left:1.25rem;margin:0 0 1.5rem;font-family:var(--font-serif);font-style:italic;font-size:clamp(1.05rem,.6vw + .9rem,1.3rem);color:#fffffff2;line-height:1.4}.candidate-detail__intro .link-arrow{color:#fff}.candidate-detail__intro .link-arrow:hover{color:var(--color-brand)}@media(max-width:760px){.candidate-detail__head-inner{grid-template-columns:1fr}.candidate-detail__photo{max-width:320px;margin:0 auto}}.candidate-detail__story{padding:var(--section-py) 0}.candidate-detail__story-inner{max-width:720px;margin:0 auto;padding-inline:var(--gutter);font-size:1.1rem;line-height:1.7}.candidate-detail__story-inner h2{font-family:var(--font-serif);font-size:clamp(1.5rem,2vw + .5rem,2.25rem);font-weight:700;margin-bottom:1.5rem}.candidate-detail__story-inner p{margin-bottom:1.25rem;color:var(--color-ink)}.candidate-detail__quotes{background:var(--color-paper-deep);padding:var(--section-py) 0}.candidate-detail__quotes-inner{max-width:800px;margin:0 auto;padding-inline:var(--gutter)}.candidate-detail__quotes-title{font-family:var(--font-serif);font-size:clamp(1.5rem,2vw + .5rem,2.25rem);font-weight:700;margin-bottom:2rem;text-align:center}.candidate-detail__quotes ul{display:grid;gap:1.5rem;list-style:none;padding:0}.candidate-detail__quotes li{background:#fff;padding:1.5rem 2rem;border-radius:var(--radius);border-left:4px solid var(--color-brand)}.candidate-detail__quotes blockquote{margin:0;font-family:var(--font-serif);font-style:italic;font-size:1.15rem;line-height:1.5}.candidate-detail__source{margin-top:1.5rem;font-size:.9rem;color:var(--color-mute);text-align:center}.candidate-detail__source a{color:var(--color-brand)}.candidate-detail__foot{padding:3rem 0;border-top:1px solid var(--color-line)}.candidate-detail__foot-inner{max-width:var(--container);margin:0 auto;padding-inline:var(--gutter);display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.post__head{background:var(--color-ink);color:#fff;padding:clamp(3rem,6vw,5rem) 0 clamp(2.5rem,5vw,4rem)}.post__head-inner{max-width:800px;margin:0 auto;padding-inline:var(--gutter)}.post__meta{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;font-size:.85rem}.post__cat{font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--color-brand)}.post__date{color:#ffffff8c}.post__title{font-family:var(--font-serif);font-size:clamp(2rem,4vw + .5rem,3.75rem);font-weight:700;line-height:1.05;letter-spacing:-.01em;margin-bottom:1.5rem}.post__lead{font-size:clamp(1.1rem,.6vw + .95rem,1.4rem);line-height:1.45;color:#ffffffd9;margin-bottom:1.5rem}.post__back{color:var(--color-brand);font-weight:600;font-size:.9rem;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:2px;transition:color var(--transition)}.post__back:hover{color:#fff}.post__hero-image{margin:0 auto;max-width:1100px;padding-inline:var(--gutter);margin-top:-3rem;position:relative}.post__hero-image img{width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;display:block;border-radius:var(--radius);box-shadow:0 24px 48px -16px #00000059,0 4px 16px -4px #00000026;background:var(--color-paper-deep)}.post__body{max-width:720px;margin:clamp(2.5rem,5vw,4rem) auto;padding-inline:var(--gutter);font-family:var(--font-serif);font-size:clamp(1.05rem,.4vw + .95rem,1.2rem);line-height:1.7;color:var(--color-ink)}.post__body p{margin:0 0 1.25rem}.post__body h2{font-family:var(--font-serif);font-size:clamp(1.5rem,1.5vw + .75rem,2.1rem);font-weight:700;line-height:1.15;margin:2.5rem 0 1rem;color:var(--color-ink)}.post__body ul,.post__body ol{margin:1rem 0 1.5rem 1.25rem;padding:0;list-style:disc}.post__body ol{list-style:decimal}.post__body li{padding:.25rem 0}.post__body a{color:var(--color-brand);text-decoration:underline;text-underline-offset:3px}.post__body .pull-quote{font-family:var(--font-serif);font-size:clamp(1.35rem,1vw + 1rem,1.75rem);font-weight:700;line-height:1.25;color:var(--color-brand);border-top:3px solid var(--color-brand);border-bottom:3px solid var(--color-brand);padding:1.5rem 0;margin:2.5rem 0;text-align:left}.post__body blockquote{border-left:4px solid var(--color-brand);padding:.5rem 0 .5rem 1.5rem;margin:2rem 0;font-style:italic}.post__body blockquote p{margin-bottom:.5rem}.post__body blockquote cite{display:block;font-style:normal;font-family:var(--font-sans);font-size:.9rem;color:var(--color-mute);letter-spacing:.02em}.post__foot{border-top:1px solid var(--color-line);padding:3rem 0;margin-top:3rem}.post__foot-inner{max-width:var(--container);margin:0 auto;padding-inline:var(--gutter);display:flex;justify-content:center;flex-wrap:wrap;gap:1rem}

/* === Klientské úpravy 2026-06-08 === */

/* Větší logo */
.site-header__logo img { width: clamp(180px, 13vw, 240px); }
/* …ale na mobilu menší, ať nezabírá půl obrazovky */
@media (max-width: 767px) {
    .site-header__logo img { width: clamp(110px, 30vw, 140px); }
}

/* === Stránka Transparentnost (TTPA) === */
.prose__inner .contact__meta { margin: 0 0 1.25rem; }
.ttpa-table-wrap { overflow-x: auto; margin: 1.25rem 0 1.5rem; -webkit-overflow-scrolling: touch; }
.ttpa-table { width: 100%; border-collapse: collapse; font-size: 0.95rem; min-width: 560px; }
.ttpa-table th, .ttpa-table td { text-align: left; padding: 0.7rem 1rem; border-bottom: 1px solid var(--color-line); white-space: nowrap; }
.ttpa-table thead th { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-mute); border-bottom: 2px solid var(--color-ink); }
.ttpa-table tbody tr:last-child td { border-bottom: 0; }

/* === Číslo kandidáta na kandidátce (odznak) === */
.people-hero__num {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 2.4rem; height: 2.4rem; padding: 0 0.6rem;
    margin: 0 0 0.85rem;
    background: var(--color-brand); color: #fff;
    font-family: var(--font-serif); font-weight: 700; font-size: 1.25rem; line-height: 1;
    border-radius: 999px;
}

/* === Videomedailonek na profilu kandidáta === */
.candidate-detail__video { padding: var(--section-py) 0; background: var(--color-ink); color: #fff; }
.candidate-detail__video-inner { max-width: 720px; margin: 0 auto; padding-inline: var(--gutter); text-align: center; }
.candidate-detail__video-title { font-family: var(--font-serif); font-size: clamp(1.5rem, 2vw + .5rem, 2.25rem); font-weight: 700; margin-bottom: .5rem; }
.candidate-detail__video-sub { color: #ffffffb3; font-size: .95rem; margin-bottom: 1.75rem; }
.candidate-video { width: 100%; max-width: 340px; aspect-ratio: 9 / 16; border-radius: var(--radius-lg); box-shadow: 0 24px 60px -20px rgba(0,0,0,.6); background: #000; display: block; margin: 0 auto; }

/* Rotující intro bloky v levém barevném sloupci (nahrazuje video) */
.intro__rotator {
    position: relative;
    background: var(--color-ink);
    color: var(--color-paper);
    border-radius: var(--radius-lg);
    overflow: hidden;
    min-height: 360px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(1.5rem, 3vw, 2.5rem);
}
.intro__rotator-inner { position: relative; flex: 1; display: grid; grid-template-areas: "stack"; align-items: center; }
.intro__rotator-item { grid-area: stack; display: flex; flex-direction: column; justify-content: flex-start; opacity: 0; transform: translateY(8px); transition: opacity 0.6s ease, transform 0.6s ease; pointer-events: none; }
.intro__rotator-item.is-active { opacity: 1; transform: translateY(0); pointer-events: auto; }
.intro__rotator-eyebrow {
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--color-brand);
    margin: 0 0 0.8rem;
}
.intro__rotator-text {
    font-family: var(--font-serif);
    font-size: clamp(1rem, 1.3vw, 1.15rem);
    line-height: 1.55;
    margin: 0;
}
.intro__rotator-text strong { color: var(--color-brand); font-weight: 600; }
.intro__rotator-text em { font-style: italic; }
.intro__rotator-dots {
    display: flex;
    gap: 0.6rem;
    justify-content: center;
    margin-top: 1.5rem;
}
.intro__rotator-dot { width: 14px; height: 14px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.7); background: rgba(255,255,255,0.15); cursor: pointer; padding: 0; transition: all 0.25s; }
.intro__rotator-dot.is-active { background: var(--color-brand); border-color: var(--color-brand); transform: scale(1.15); }
.intro__rotator-dot:hover { background: rgba(255,255,255,0.4); border-color: rgba(255,255,255,1); }
.intro__rotator-dot.is-active:hover { background: var(--color-brand); }

@media (max-width: 768px) {
    .intro__rotator { min-height: 280px; }
}

/* Anketa — otevřená otázka */
.poll__lead {
    max-width: 540px;
    margin: 0 auto 1.5rem;
    font-family: var(--font-serif);
    font-size: 1.05rem;
    line-height: 1.55;
    color: var(--color-ink);
    text-align: center;
}
.poll__lead p { margin: 0 0 0.5rem; }
.poll__lead p:last-child { margin-bottom: 0; }
.poll__form--open {
    max-width: 540px;
    margin: 0 auto;
    text-align: left;
}
.poll__field { display: block; margin-bottom: 1rem; }
.poll__field-label {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 0.35rem;
    color: var(--color-ink);
}
.poll__field-label em {
    font-style: normal;
    font-weight: 400;
    color: var(--color-muted, #6B6B6B);
    margin-left: 0.3rem;
}
.poll__form--open textarea,
.poll__form--open input[type=text],
.poll__form--open input[type=email] {
    width: 100%;
    box-sizing: border-box;
    padding: 0.75rem 0.9rem;
    border: 1px solid #d4d4d4;
    border-radius: var(--radius);
    font: inherit;
    background: #fff;
    color: var(--color-ink);
    transition: border-color 0.2s, box-shadow 0.2s;
}
.poll__form--open textarea:focus,
.poll__form--open input:focus {
    outline: none;
    border-color: var(--color-brand);
    box-shadow: 0 0 0 3px rgba(161, 29, 26, 0.12);
}
.poll__form--open textarea {
    resize: vertical;
    min-height: 100px;
    font-family: var(--font-sans);
}
.poll__field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.poll__note {
    font-size: 0.85rem;
    color: var(--color-muted, #6B6B6B);
    margin: 0.5rem 0 1.25rem;
    text-align: center;
}
.poll__form--open .poll__submit { display: block; margin: 0 auto; }

@media (max-width: 540px) {
    .poll__field-row { grid-template-columns: 1fr; gap: 0.5rem; }
}

/* Druhá kandidátka (Zuzka) — varianta layout obráceně */
.people-hero + .people-hero {
    margin-top: clamp(3rem, 6vw, 5rem);
}
@media (min-width: 769px) {
    .people-hero--alt {
        flex-direction: row-reverse;
    }
}

/* === Klientské úpravy 8. 6. (banner upgrade, candidates, spacing, anketa) === */

/* Banner s velkými čísly + per-tema akcenty */
.intro__rotator {
    position: relative;
    background: linear-gradient(135deg, #1a1a1a 0%, #2a1a1a 100%);
    color: var(--color-paper);
    border-radius: var(--radius-lg);
    overflow: hidden;
    min-height: 400px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: clamp(2rem, 4vw, 3rem);
}
/* Subtle pattern stripes */
.intro__rotator::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(90deg, transparent 95%, rgba(161,29,26,0.06) 95%);
    background-size: 60px 60px;
    pointer-events: none;
}
.intro__rotator-eyebrow { position: relative; z-index: 2; display: inline-block; padding: 0.3rem 0.9rem; background: rgba(161, 29, 26, 0.18); border-left: 3px solid var(--color-brand); margin: 0 0 1.2rem; color: var(--color-brand); }
.intro__rotator-item[data-theme="fakt"] .intro__rotator-eyebrow { border-left-color: #f5c842; background: rgba(245, 200, 66, 0.15); color: #f5c842; }
.intro__rotator-item[data-theme="pohled"] .intro__rotator-eyebrow { border-left-color: #78c8dc; background: rgba(120, 200, 220, 0.15); color: #78c8dc; }

.intro__rotator-text {
    position: relative;
    z-index: 2;
    font-family: var(--font-serif);
    font-size: clamp(1.05rem, 1.4vw, 1.25rem);
    line-height: 1.6;
    max-width: 38ch;
}

/* Candidate rotator */
.candidates-rotator {
    position: relative;
    margin-top: clamp(1.5rem, 3vw, 2rem);
}
.candidates-rotator__inner { display: grid; grid-template-areas: "stack"; align-items: start; }
.candidates-rotator__inner .candidate-hero { grid-area: stack; opacity: 0; transform: translateY(12px); transition: opacity 0.6s ease, transform 0.6s ease; pointer-events: none; margin: 0; }
.candidates-rotator__inner .candidate-hero.is-active { opacity: 1; transform: translateY(0); pointer-events: auto; }
.candidates-rotator__dots {
    display: flex;
    gap: 0.6rem;
    justify-content: center;
    margin-top: 1.5rem;
}
@media (max-width: 768px) {
    .candidates-rotator__inner { min-height: 720px; }
}

/* Honeypot — hidden from humans, visible to bots */
.poll__hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Candidate detail page — better spacing */
.candidate-detail__head-inner {
    gap: clamp(2rem, 5vw, 4rem) !important;
    padding-block: clamp(2rem, 4vw, 3rem);
}
.candidate-detail__photo {
    margin-bottom: clamp(1rem, 3vw, 2rem);
}
.candidate-detail__story-inner,
.candidate-detail__quotes-inner {
    padding-block: clamp(2rem, 4vw, 3rem);
}
.candidate-detail__story h2,
.candidate-detail__quotes-title {
    margin-top: 0;
    margin-bottom: 1.5rem;
}
.candidate-detail__story p {
    margin-bottom: 1.2rem;
}

/* Anketa — appcard design */
.poll {
    padding-block: clamp(3rem, 6vw, 5rem) !important;
}
.poll__inner {
    background: #fff;
    border-radius: var(--radius-lg, 16px);
    padding: clamp(2rem, 4vw, 3rem) clamp(1.5rem, 4vw, 3rem) !important;
    box-shadow: 0 8px 30px -8px rgba(0,0,0,0.08);
    border: 1px solid rgba(0,0,0,0.06);
    max-width: 680px !important;
}
.poll__lead {
    background: linear-gradient(135deg, #faf5f4 0%, #fff 100%);
    padding: 1.25rem 1.5rem;
    border-left: 3px solid var(--color-brand);
    border-radius: 8px;
    margin-bottom: 2rem !important;
    text-align: left !important;
    font-size: 1rem !important;
}
.poll__lead p:first-child { color: var(--color-brand); font-weight: 600; }
.poll__question {
    text-align: center;
    margin-bottom: 1.75rem !important;
    line-height: 1.3;
}
.poll__form--open {
    text-align: left;
}
.poll__form--open textarea:focus,
.poll__form--open input:focus {
    border-color: var(--color-brand);
    box-shadow: 0 0 0 4px rgba(161, 29, 26, 0.10);
}
.poll__note {
    margin-top: 0.5rem !important;
    margin-bottom: 1.5rem !important;
    color: var(--color-muted, #6B6B6B);
    font-size: 0.85rem;
}
.poll__submit {
    min-width: 160px;
    padding: 0.85rem 2rem !important;
    font-weight: 600;
}
.poll__thanks {
    background: linear-gradient(135deg, #f0f7f0 0%, #fff 100%);
    padding: 2rem;
    border-radius: 12px;
    border-left: 3px solid #4a7c4e;
    color: #2a5530;
    font-weight: 500;
    text-align: center;
    font-size: 1.05rem;
}


/* === Kontakty — rozšířené identifikační údaje + statutární orgán === */
.contact__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(1.5rem, 3vw, 2.5rem);
    max-width: 900px;
    margin: 0 auto;
    padding-inline: var(--gutter);
}
@media (min-width: 780px) {
    .contact__inner { grid-template-columns: 1.2fr 1fr; align-items: start; }
}
.contact__purpose {
    font-family: var(--font-serif);
    font-size: 1.1rem;
    line-height: 1.55;
    color: var(--color-mute);
    margin: 0 0 1.5rem;
    padding: 0.75rem 0 0.75rem 1rem;
    border-left: 3px solid var(--color-brand);
}
.contact__meta dt {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-soft);
    margin-top: 1.1rem;
}
.contact__meta dt:first-child { margin-top: 0; }
.contact__meta dd { margin: 0.25rem 0 0; }
.contact__meta code {
    font-family: ui-monospace, "SF Mono", Consolas, monospace;
    font-size: 0.95em;
    background: var(--color-paper-deep);
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
}
.contact__social { display: flex; gap: 1rem; flex-wrap: wrap; }
.contact__social a {
    color: var(--color-brand);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
}
.contact__social a:hover { color: var(--color-brand-dark); }

.contact__card--officers {
    background: var(--color-paper-deep);
}
.officers { display: flex; flex-direction: column; gap: 1.25rem; margin: 0.5rem 0 1.25rem; }
.officer__role {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-brand);
    margin: 0 0 0.2rem;
}
.officer__name {
    font-family: var(--font-serif);
    font-size: 1.15rem;
    font-weight: 600;
    margin: 0 0 0.15rem;
}
.officer__name a { color: var(--color-ink); text-decoration: none; border-bottom: 1px dashed transparent; }
.officer__name a:hover { border-bottom-color: var(--color-brand); }
.officer__since { font-size: 0.85rem; color: var(--color-soft); margin: 0; }

/* === Klasický horizontální nav pod hlavičkou (pás vedle sebe) === */
.site-header__nav {
    display: none;
    background: transparent;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
@media (min-width: 768px) {
    .site-header__nav { display: block; }
    /* Skrýt hamburger na desktopu — klasický nav ho nahradí */
    .site-header__toggle { display: none !important; }
}
.site-header__nav ul {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0;
    list-style: none;
    margin: 0 auto;
    padding: 0;
    max-width: var(--container);
    min-width: max-content;
}
.site-header__nav li { display: flex; }
.site-header__nav a {
    display: inline-block;
    padding: 0.95rem 1.4rem;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--color-ink);
    white-space: nowrap;
    position: relative;
    transition: color var(--transition);
}
.site-header__nav a::after {
    content: "";
    position: absolute;
    left: 50%;
    right: 50%;
    bottom: 0;
    height: 2px;
    background: var(--color-brand);
    transition: left 0.25s ease, right 0.25s ease;
}
.site-header__nav a:hover,
.site-header__nav a:focus-visible {
    color: var(--color-brand);
}
.site-header__nav a:hover::after,
.site-header__nav a:focus-visible::after,
.site-header__nav a.is-active::after {
    left: 1.4rem;
    right: 1.4rem;
}
.site-header__nav a.is-active { color: var(--color-brand); }

/* Tighter spacing on smaller desktop */
@media (min-width: 768px) and (max-width: 1100px) {
    .site-header__nav a { padding: 0.85rem 0.9rem; font-size: 0.74rem; letter-spacing: 0.08em; }
    .site-header__nav a:hover::after,
    .site-header__nav a:focus-visible::after,
    .site-header__nav a.is-active::after { left: 0.9rem; right: 0.9rem; }
}

/* === PDF download widget (článek se stažením přílohy) === */
.pdf-download {
    max-width: 760px;
    margin: 2rem auto 2.5rem;
    padding-inline: var(--gutter);
}
.pdf-download__link {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 1.5rem;
    text-decoration: none;
    color: inherit;
    padding: 1.5rem;
    background: var(--color-paper-deep);
    border: 1px solid var(--color-line);
    border-radius: var(--radius-lg);
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.pdf-download__link:hover,
.pdf-download__link:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px -12px rgba(0,0,0,0.18);
    border-color: var(--color-brand);
    outline: none;
}
.pdf-download__preview {
    margin: 0;
    line-height: 0;
}
.pdf-download__preview img {
    width: 100%;
    height: auto;
    border: 1px solid var(--color-line);
    box-shadow: 0 4px 14px -6px rgba(0,0,0,0.15);
}
.pdf-download__meta { display: flex; flex-direction: column; justify-content: center; }
.pdf-download__eyebrow {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-brand);
    margin: 0 0 0.4rem;
}
.pdf-download__title {
    font-family: var(--font-serif);
    font-weight: 600;
    font-size: 1.3rem;
    line-height: 1.3;
    margin: 0 0 0.6rem;
    color: var(--color-ink);
}
.pdf-download__desc {
    font-size: 0.95rem;
    color: var(--color-mute);
    margin: 0 0 0.6rem;
    line-height: 1.5;
}
.pdf-download__size {
    font-size: 0.8rem;
    color: var(--color-soft);
    margin: 0;
    letter-spacing: 0.05em;
}

@media (max-width: 600px) {
    .pdf-download__link { grid-template-columns: 1fr; }
    .pdf-download__preview img { max-width: 240px; margin: 0 auto; }
}

/* Signatures list (podpisy autorů) */
.signatures {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    font-family: var(--font-serif);
    font-weight: 600;
}
.signatures li::before { content: "—  "; color: var(--color-brand); }

/* === Plakát (poster) — zobrazit celý, bez ořezu textu === */
.article-featured__image img.is-poster,
.aktuality-row__image img.is-poster {
    aspect-ratio: auto;
    object-fit: contain;
}
.post__hero-image img.is-poster {
    aspect-ratio: auto;
    object-fit: contain;
    max-width: 760px;
    margin-inline: auto;
}


/* === FAKT — ztížené stažení (deterrenty, ne absolutní ochrana) === */
.reader__page-img {
    width: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center top;
    aspect-ratio: 968 / 1400;
    border-radius: var(--radius);
    box-shadow: 0 16px 40px -16px #00000059, 0 4px 16px -4px #00000026;
    background-color: #fff;
    -webkit-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
    -webkit-touch-callout: none;
}
.reader__page--spread .reader__page-img { aspect-ratio: 2000 / 1450; }

/* Náhledové obálky FAKT — pravý klik nenabídne uložení obrázku
   (pointer-events:none → klik i kontextové menu jdou na obalující odkaz) */
.fakt-cover-img {
    pointer-events: none;
    -webkit-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
    -webkit-touch-callout: none;
}


/* Podpis pod úvodníkem (O nás) */
.prose__signature {
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--color-line);
    font-family: var(--font-serif);
    font-weight: 600;
    font-size: 1.1rem;
}
.prose__signature a { color: var(--color-brand); text-decoration: none; border-bottom: 1px dashed transparent; }
.prose__signature a:hover { border-bottom-color: var(--color-brand); }

/* === Fotogalerie na profilu kandidáta === */
.candidate-gallery {
    max-width: 1000px;
    margin: 0 auto;
    padding: clamp(1rem, 3vw, 2rem) var(--gutter) clamp(2.5rem, 5vw, 4rem);
}
.candidate-gallery h2 { text-align: center; margin-bottom: 1.5rem; }
.candidate-gallery__grid {
    column-width: 280px;
    column-gap: 1rem;
}
.candidate-gallery__grid img {
    width: 100%;
    height: auto;
    margin-bottom: 1rem;
    border-radius: var(--radius);
    display: block;
    break-inside: avoid;
    box-shadow: 0 8px 24px -12px rgba(0,0,0,0.25);
}

/* Defenzivní: u portrétů kandidátů priorita horní části (hlava se nikdy neořízne) */
.people-hero__photo img,
.candidate-detail__photo img { object-position: center top; }


/* === FAKT — zvětšení strany (tap-to-zoom) kvůli čitelnosti na mobilu === */
.reader__page-img { position: relative; cursor: zoom-in; }
/* Náznak, že strana jde zvětšit — jen na mobilu */
@media (max-width: 767px) {
    .reader__page-img::after {
        content: "";
        position: absolute;
        top: .55rem;
        right: .55rem;
        width: 2rem;
        height: 2rem;
        border-radius: 999px;
        background: rgba(26,26,26,.62) center / 1.05rem no-repeat;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5M11 8v6M8 11h6'/%3E%3C/svg%3E");
        pointer-events: none;
    }
}
/* Overlay se zvětšenou stranou */
body.reader-zoom-open { overflow: hidden; }
.reader-zoom {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    background: rgba(20,18,16,.94);
}
.reader-zoom__stage { margin: auto; padding: clamp(.5rem, 2.5vw, 2rem); }
.reader-zoom__img {
    width: 1000px;
    max-width: none;
    aspect-ratio: 968 / 1400;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center top;
    background-color: #fff;
    border-radius: var(--radius);
    box-shadow: 0 20px 60px -20px rgba(0,0,0,.7);
    -webkit-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
    -webkit-touch-callout: none;
}
.reader-zoom__img--spread { width: 1700px; aspect-ratio: 2000 / 1450; }
.reader-zoom__close {
    position: fixed;
    top: .6rem;
    right: .6rem;
    z-index: 1001;
    width: 2.8rem;
    height: 2.8rem;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: #fff;
    color: #1a1a1a;
    font-size: 1.35rem;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(0,0,0,.45);
}
.reader-zoom__hint {
    position: fixed;
    left: 0;
    right: 0;
    bottom: .7rem;
    margin: 0;
    text-align: center;
    color: #fff;
    font-size: .78rem;
    letter-spacing: .02em;
    pointer-events: none;
    text-shadow: 0 1px 4px rgba(0,0,0,.65);
}


/* === O nás — úvod dvousloupec (text + týmová fotka), na mobilu pod sebe === */
.about-intro { padding: clamp(2rem, 5vw, 3.5rem) 0; }
.about-intro__inner {
    max-width: var(--container);
    margin: 0 auto;
    padding-inline: var(--gutter);
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: start;
}
.about-intro__text { max-width: none; padding-inline: 0; }
.about-intro__media {
    margin: 0;
    position: sticky;
    top: clamp(1rem, 3vw, 2rem);
}
.about-intro__media img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--radius-lg);
    box-shadow: 0 16px 40px -16px rgba(0,0,0,.35);
}
.about-intro__media figcaption {
    margin-top: .55rem;
    text-align: center;
    font-size: .82rem;
    color: var(--color-soft);
}
@media (max-width: 860px) {
    .about-intro__inner { grid-template-columns: 1fr; }
    .about-intro__media { position: static; margin: 1.75rem auto 0; max-width: 560px; }
}


/* === Klikni pro zvětšení (lightbox) === */
img.zoomable { cursor: zoom-in; }
.about-intro__hint { color: var(--color-brand); }
.imgzoom {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(.5rem, 3vw, 2.5rem);
    background: rgba(18,16,14,.94);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
.imgzoom img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    border-radius: var(--radius);
    box-shadow: 0 24px 70px -20px rgba(0,0,0,.7);
    -webkit-user-drag: none;
    user-select: none;
}
.imgzoom__close {
    position: fixed;
    top: .6rem;
    right: .6rem;
    width: 2.8rem;
    height: 2.8rem;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: #fff;
    color: #1a1a1a;
    font-size: 1.35rem;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(0,0,0,.45);
}
body.imgzoom-open { overflow: hidden; }


/* === Program — ikony místo čísel, řádek Priorita, 2 sloupce na desktopu === */
.program-item { grid-template-columns: auto 1fr; align-items: start; gap: 1.1rem; }
.program-item__icon {
    width: 3.1rem;
    height: 3.1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--color-brand);
    color: #fff;
    border-radius: 14px;
    flex: none;
}
.program-item__icon svg { width: 1.7rem; height: 1.7rem; }
.program-item__body { min-width: 0; }
.program-item__body > p { margin: 0; }
.program-item__priority {
    margin-top: .85rem !important;
    padding-top: .8rem;
    border-top: 1px solid var(--color-line);
    font-size: .92rem;
    line-height: 1.5;
    color: var(--color-ink);
}
.program-item__priority-label {
    display: inline-block;
    margin-right: .55rem;
    padding: .2em .6em;
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--color-brand);
    background: rgba(161,29,26,.09);
    border-radius: 999px;
    vertical-align: middle;
}
@media (min-width: 820px) {
    .program-list { grid-template-columns: 1fr 1fr; }
}


/* Program — vlastní širší kontejner (2 sloupce pohodlné, karty přirozené výšky) */
.program-section { padding: clamp(2rem, 5vw, 3.5rem) 0; }
.program-section__inner {
    max-width: 1120px;
    margin: 0 auto;
    padding-inline: var(--gutter);
}
.program-list { align-items: start; }
.program-section .prose__note { margin-top: 1.75rem; }


/* === Kandidát — návaznost na program (chipsy) + video odkaz na kartě === */
.candidate-detail__program { padding: clamp(1.25rem, 3.5vw, 2.25rem) 0; }
.candidate-detail__program-inner { max-width: 760px; margin: 0 auto; padding-inline: var(--gutter); }
.candidate-detail__program-title { font-family: var(--font-serif); font-size: 1.35rem; font-weight: 700; margin-bottom: .75rem; }
.program-links { display: flex; flex-wrap: wrap; gap: .55rem; margin: 0 0 .85rem; padding: 0; list-style: none; }
.program-links a {
    display: inline-flex;
    align-items: center;
    padding: .5rem .9rem;
    background: rgba(161,29,26,.08);
    color: var(--color-brand);
    border: 1px solid rgba(161,29,26,.2);
    border-radius: 999px;
    font-weight: 600;
    font-size: .9rem;
    text-decoration: none;
    transition: background var(--transition);
}
.program-links a:hover { background: rgba(161,29,26,.15); }
.candidate-detail__program-note { font-size: .9rem; color: var(--color-mute); margin: 0; }
.candidate-detail__program-note a { color: var(--color-brand); }
/* deep-link na téma programu nesmí skrýt nadpis pod hlavičkou */
.program-item { scroll-margin-top: 96px; }
.candidate-detail__video { scroll-margin-top: 80px; }
/* video odkaz na kartě v nasi-lide */
.people-hero__links { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
.people-hero__videolink {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-weight: 600;
    font-size: .9rem;
    color: var(--color-brand);
    text-decoration: none;
}
.people-hero__videolink svg { flex: none; }
.people-hero__videolink:hover { text-decoration: underline; }


/* === HP černý blok (program) — lepší čitelnost === */
/* Pozadí: měkčí tmavá místo skoro černé; akcenty světlé, ne tmavě červené */
.intro__rotator {
    background: linear-gradient(135deg, #262220 0%, #3a2e2b 100%);
    min-height: 420px;
}
.intro__rotator-text {
    color: #f7f5f2;
    font-size: clamp(1.05rem, 1.35vw, 1.2rem);
    line-height: 1.65;
    max-width: 42ch;
}
/* klíčová oprava kontrastu: brand červená na tmavé byla nečitelná */
.intro__rotator-text strong { color: #f3b3af; font-weight: 700; }
.intro__rotator-eyebrow {
    background: rgba(243, 179, 175, .16);
    border-left-color: #f3b3af;
    color: #f8ccc9;
}
/* 10 teček se musí vejít i na mobilu */
.intro__rotator-dots { flex-wrap: wrap; gap: .5rem; }
.intro__rotator-cta {
    position: relative;
    z-index: 2;
    margin: .9rem 0 0;
    text-align: center;
}
.intro__rotator-cta a { color: #f3b3af; font-weight: 600; }
.intro__rotator-cta a:hover { color: #fff; }


/* === HP blok programu: světle šedý s rámečkem (místo tmavého) === */
.intro__rotator {
    background: var(--color-paper-deep);
    border: 1px solid var(--color-line);
    color: var(--color-ink);
}
.intro__rotator-text { color: var(--color-ink); }
.intro__rotator-text strong { color: var(--color-brand); font-weight: 700; }
.intro__rotator-eyebrow {
    background: rgba(161, 29, 26, .10);
    border-left-color: var(--color-brand);
    color: var(--color-brand);
}
/* tečky musí být vidět na světlém podkladu */
.intro__rotator-dot {
    border-color: rgba(26, 26, 26, .35);
    background: rgba(26, 26, 26, .10);
}
.intro__rotator-dot:hover {
    background: rgba(26, 26, 26, .25);
    border-color: rgba(26, 26, 26, .6);
}
.intro__rotator-dot.is-active,
.intro__rotator-dot.is-active:hover {
    background: var(--color-brand);
    border-color: var(--color-brand);
}
.intro__rotator-cta a { color: var(--color-brand); }
.intro__rotator-cta a:hover { color: var(--color-brand-dark); }
/* dekorativní svislé pruhy byly dělané pro tmavé pozadí — na světlém ruší */
.intro__rotator::before { display: none; }


/* === Detail kandidáta — kompaktnější mezery + text vedle videa === */
/* Bylo dvojité odsazení: sekce (--section-py) + padding-block vnitřku */
.candidate-detail__head { padding: clamp(1.75rem, 3.5vw, 2.75rem) 0; }
.candidate-detail__head-inner { gap: clamp(1.5rem, 3.5vw, 2.75rem) !important; padding-block: 0; }
.candidate-detail__story { padding: clamp(1.75rem, 3.5vw, 2.75rem) 0; }
.candidate-detail__story-inner { padding-block: 0; }
.candidate-detail__story-inner h2 { margin-bottom: 1rem; }
.candidate-detail__story-inner p:last-child { margin-bottom: 0; }
.candidate-gallery { padding-bottom: clamp(1.5rem, 3.5vw, 2.5rem); }
.candidate-detail__photo { margin-bottom: 0; }

/* Text a videomedailonek vedle sebe (desktop) */
.candidate-detail__story-inner--split {
    max-width: 1040px;
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 3.5vw, 3rem);
    align-items: start;
}
.candidate-detail__story-video { margin: 0; scroll-margin-top: 90px; }
.candidate-detail__story-video .candidate-video { max-width: 300px; margin: 0 auto; }
.candidate-detail__video-caption {
    margin: .6rem 0 0;
    text-align: center;
    font-size: .78rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--color-soft);
}

/* Desktop: foto vlevo užší (dřívější mobilní pravidla jsou v @media výš v souboru,
   proto desktop hodnoty explicitně v min-width, ať je nepřebijeme) */
@media (min-width: 861px) {
    .candidate-detail__head-inner { grid-template-columns: 300px 1fr; }
}
/* Mobil: jeden sloupec a VIDEO PRVNÍ, pak text */
@media (max-width: 860px) {
    .candidate-detail__head-inner { grid-template-columns: 1fr; }
    .candidate-detail__photo { margin-bottom: 1rem; }
    .candidate-detail__story-inner--split { grid-template-columns: 1fr; gap: 1.25rem; }
    .candidate-detail__story-video { order: -1; }
}


/* === Pozvánka na akci (HP, pod černým blokem) === */
.invite {
    background: #f7f1e6;
    border-top: 3px solid var(--color-brand);
    border-bottom: 1px solid var(--color-line);
    padding: clamp(1.75rem, 4vw, 3rem) 0;
}
.invite__inner {
    max-width: var(--container);
    margin: 0 auto;
    padding-inline: var(--gutter);
    display: grid;
    grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
    gap: clamp(1.25rem, 3.5vw, 2.5rem);
    align-items: center;
}
.invite__poster { margin: 0; }
.invite__poster img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--radius);
    box-shadow: 0 14px 36px -14px rgba(0,0,0,.45);
}
.invite__poster figcaption {
    margin-top: .5rem;
    text-align: center;
    font-size: .78rem;
    color: var(--color-mute);
}
.invite__eyebrow {
    display: inline-block;
    padding: .25rem .7rem;
    margin: 0 0 .6rem;
    background: rgba(161, 29, 26, .1);
    color: var(--color-brand);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    border-radius: 999px;
}
.invite__title {
    font-family: var(--font-serif);
    font-weight: 700;
    line-height: 1.05;
    font-size: clamp(1.9rem, 3.5vw, 2.9rem);
    margin: 0 0 .6rem;
}
.invite__lead { font-size: 1.05rem; line-height: 1.6; margin: 0 0 1rem; color: var(--color-mute); }
.invite__facts { display: grid; gap: .4rem; margin: 0 0 1rem; }
.invite__facts > div { display: grid; grid-template-columns: 3.4rem 1fr; gap: .15rem .7rem; align-items: baseline; }
.invite__facts dt {
    min-width: 3.2rem;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--color-brand);
}
.invite__facts dd { margin: 0; font-size: 1.02rem; }
.invite__facts dd span { color: var(--color-soft); }
.invite__program { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1rem; padding: 0; list-style: none; }
.invite__program li {
    display: inline-flex;
    align-items: baseline;
    gap: .45rem;
    background: #fff;
    border: 1px solid var(--color-line);
    border-radius: 999px;
    padding: .35rem .85rem;
    font-size: .92rem;
}
.invite__program span { font-weight: 700; color: var(--color-brand); }
.invite__note, .invite__coupon { margin: 0 0 .5rem; font-size: .95rem; color: var(--color-mute); }
.invite__coupon { margin-bottom: 0; }
@media (max-width: 860px) {
    .invite__inner { grid-template-columns: 1fr; }
    .invite__poster { max-width: 300px; margin: 0 auto; }
}


/* === O nás — hesla přesunutá z úvodního bloku na HP === */
.creed { padding: 0 0 clamp(2rem, 4vw, 3rem); }
.creed__inner { max-width: var(--container); margin: 0 auto; padding-inline: var(--gutter); }
.creed__title {
    font-family: var(--font-serif);
    font-size: clamp(1.5rem, 2vw + .5rem, 2rem);
    font-weight: 700;
    margin: 0 0 1.25rem;
}
.creed__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 2.5vw, 1.75rem);
    margin: 0;
    padding: 0;
    list-style: none;
}
.creed__item {
    background: var(--color-paper-deep);
    border-left: 3px solid var(--color-brand);
    border-radius: var(--radius);
    padding: clamp(1rem, 2vw, 1.4rem);
}
.creed__item p { margin: 0; font-size: .98rem; line-height: 1.6; }
.creed__eyebrow {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--color-brand);
    margin: 0 0 .5rem !important;
}
@media (max-width: 860px) {
    .creed__list { grid-template-columns: 1fr; }
}


/* === Mobilní hlavička: logo vlevo, hamburger vpravo === */
/* (v DOM je hamburger první kvůli přístupnosti, vizuálně ho posuneme doprava) */
@media (max-width: 767px) {
    .site-header__logo { order: -1; }
    .site-header__toggle { order: 1; margin-left: auto; }
}


/* === Mobilní patička: vše vycentrované pod sebou === */
/* dřív: copyright a sítě na střed, ale odkazy zarovnané doleva a nepravidelně zalomené */
@media (max-width: 767px) {
    .site-footer__inner {
        flex-direction: column;
        align-items: center;
        gap: 1rem;
        text-align: center;
    }
    .site-footer__brand { text-align: center; margin: 0; }
    .site-footer__links {
        justify-content: center;
        flex-wrap: wrap;
        gap: .55rem 1.2rem;
    }
}


/* === Rozhovor z novin na profilu kandidáta — rozbalovací, defaultně schovaný === */
.candidate-detail__interview { padding: 0 0 clamp(1rem, 3vw, 1.75rem); }
.candidate-detail__interview-inner { max-width: 820px; margin: 0 auto; padding-inline: var(--gutter); }
.interview {
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    background: var(--color-paper-deep);
}
.interview__toggle {
    cursor: pointer;
    list-style: none;
    padding: .95rem 1.2rem;
    font-weight: 700;
    font-size: .95rem;
    color: var(--color-brand);
    display: flex;
    align-items: center;
    gap: .5rem;
}
.interview__toggle::-webkit-details-marker { display: none; }
.interview__toggle::after {
    content: "▾";
    margin-left: auto;
    font-size: 1.1rem;
    transition: transform var(--transition);
}
.interview[open] .interview__toggle::after { transform: rotate(180deg); }
.interview__toggle:hover { color: var(--color-brand-dark); }
.interview__body { padding: 0 1.2rem 1.3rem; }
.interview__headline {
    font-family: var(--font-serif);
    font-size: clamp(1.15rem, 1.6vw + .5rem, 1.5rem);
    font-weight: 700;
    margin: 0 0 .6rem;
}
.interview__perex {
    font-family: var(--font-serif);
    font-style: italic;
    font-size: 1.02rem;
    line-height: 1.6;
    color: var(--color-mute);
    margin: 0 0 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--color-line);
}
.interview__q {
    font-weight: 700;
    color: var(--color-ink);
    margin: 1.35rem 0 .4rem;
    line-height: 1.5;
}
.interview__q:first-of-type { margin-top: 0; }
.interview__a { margin: 0; color: var(--color-mute); line-height: 1.7; }
.interview__source {
    margin: 1.5rem 0 0;
    padding-top: .9rem;
    border-top: 1px solid var(--color-line);
    font-size: .88rem;
    color: var(--color-soft);
}
.interview__source a { color: var(--color-brand); }


/* === Fotogalerie kandidáta: jednotná mřížka místo masonry === */
/* Fotky mají různé poměry (3:4, 4:5 i na šířku) — v masonry sloupcích se
   nezarovnávaly a působilo to jako rozbité. Dlaždice mají teď pevný poměr,
   kliknutím se otevře fotka celá a neoříznutá. */
.candidate-gallery__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 1rem;
}
.candidate-gallery__grid img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center top;
    margin: 0;
    cursor: zoom-in;
}
/* na telefonu 2 sloupce, ať galerie není zbytečně dlouhá */
@media (max-width: 600px) {
    .candidate-gallery__grid { grid-template-columns: repeat(2, 1fr); gap: .75rem; }
}


/* === Karusely: švihnutí na mobilu + větší plocha pro ťuknutí na tečky === */
/* vodorovné gesto zpracuje rotator.js, svislý scroll a pinch-zoom zůstávají prohlížeči */
[data-rotator] { touch-action: pan-y pinch-zoom; }
/* tečky jsou vizuálně malé — neviditelně zvětšíme plochu, kam jde ťuknout */
.intro__rotator-dot { position: relative; }
.intro__rotator-dot::after { content: ""; position: absolute; inset: -5px; }


/* === Anketa: poctivá hláška, když se odpověď nepodaří odeslat === */
.poll__thanks--pending p { margin: 0 0 .75rem; }
.poll__thanks--pending .poll__mail { margin-top: .25rem; }


/* === Hledání === */
.search { padding: clamp(1.5rem, 4vw, 2.5rem) 0 clamp(2.5rem, 5vw, 4rem); }
.search__inner { max-width: 760px; margin: 0 auto; padding-inline: var(--gutter); }
.search__form { display: flex; gap: .6rem; }
.search__form input {
    flex: 1;
    min-width: 0;
    padding: .85rem 1rem;
    font: inherit;
    font-size: 1.05rem;
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    background: #fff;
}
.search__form input:focus { outline: none; border-color: var(--color-ink); }
.search__status { margin: 1rem 0 .5rem; min-height: 1.2em; font-size: .92rem; color: var(--color-mute); }
.search__results { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.search-result { background: #fff; border: 1px solid var(--color-line); border-radius: var(--radius); padding: 1rem 1.15rem; }
.search-result__link { display: block; color: inherit; text-decoration: none; }
.search-result__title { display: block; font-family: var(--font-serif); font-size: 1.15rem; font-weight: 700; color: var(--color-ink); }
.search-result__link:hover .search-result__title { color: var(--color-brand); }
.search-result__url { display: block; margin-top: .15rem; font-size: .78rem; color: var(--color-soft); }
.search-result__snippet { margin: .5rem 0 0; font-size: .95rem; line-height: 1.55; color: var(--color-mute); }
.search-result__snippet mark { background: rgba(161, 29, 26, .14); color: var(--color-ink); padding: 0 .1em; border-radius: 3px; }

/* === Chybová stránka 404 === */
.notfound { padding: clamp(3rem, 8vw, 6rem) 0; }
.notfound__inner { max-width: 640px; margin: 0 auto; padding-inline: var(--gutter); text-align: center; }
.notfound__code { margin: 0; font-family: var(--font-serif); font-size: clamp(4rem, 14vw, 7rem); font-weight: 700; line-height: 1; color: var(--color-brand); }
.notfound__title { margin: .5rem 0 .75rem; font-family: var(--font-serif); font-size: clamp(1.6rem, 3vw + .5rem, 2.3rem); }
.notfound__lead { margin: 0 0 1.5rem; line-height: 1.6; color: var(--color-mute); }
.notfound__search { max-width: 460px; margin: 0 auto 1.75rem; }
.notfound__links { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.notfound__links a {
    display: inline-block;
    padding: .45rem .9rem;
    border: 1px solid var(--color-line);
    border-radius: 999px;
    font-size: .92rem;
    font-weight: 600;
    text-decoration: none;
}
.notfound__links a:hover { border-color: var(--color-brand); color: var(--color-brand); }
@media (max-width: 480px) {
    .search__form { flex-direction: column; }
    .search__form .btn { justify-content: center; }
}

/* === Faktury města (/faktury/) === */
.inv { padding: 0 0 clamp(2.5rem, 5vw, 4rem); }
.inv__inner { max-width: var(--container); margin: 0 auto; padding-inline: var(--gutter); }
.inv__status { padding: 2.5rem 0; color: var(--color-mute); font-size: 1rem; }

.inv__filters {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
    gap: .7rem .9rem;
    background: #fff;
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    padding: 1rem 1.1rem;
    margin: 0 0 1rem;
}
.inv__field span {
    display: block;
    margin-bottom: .3rem;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--color-soft);
}
.inv__field input, .inv__field select {
    width: 100%;
    font: inherit;
    font-size: .95rem;
    padding: .5rem .6rem;
    color: var(--color-ink);
    background: #fff;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-sm);
}
.inv__field input:focus-visible, .inv__field select:focus-visible { outline: 2px solid var(--color-brand); outline-offset: 1px; }
.inv__actions { display: flex; align-items: end; gap: .5rem; flex-wrap: wrap; }
.inv__actions .btn { padding: .65em 1.1em; font-size: .72rem; }
@media (min-width: 720px) { .inv__field--wide { grid-column: span 2; } }

.inv__kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); gap: .7rem; margin: 0 0 1.25rem; padding: 0; list-style: none; }
.inv__kpi { background: var(--color-paper-deep); border-radius: var(--radius); padding: .8rem 1rem; }
.inv__kpi-label { display: block; margin-bottom: .2rem; font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--color-soft); }
.inv__kpi strong { font-family: var(--font-serif); font-size: clamp(1.05rem, 2.2vw, 1.45rem); font-weight: 700; }

.inv__tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1rem; }
.inv__tab {
    background: transparent;
    color: var(--color-mute);
    border: 1px solid var(--color-line);
    border-radius: 999px;
    padding: .45rem 1rem;
    font-size: .88rem;
    font-weight: 600;
}
.inv__tab.is-active { background: var(--color-brand); border-color: var(--color-brand); color: #fff; }

.inv__table-wrap { overflow-x: auto; background: #fff; border: 1px solid var(--color-line); border-radius: var(--radius); }
.inv__table { width: 100%; min-width: 900px; border-collapse: collapse; font-size: .92rem; }
.inv__table th {
    position: sticky;
    top: 0;
    z-index: 1;
    text-align: left;
    padding: .6rem .75rem;
    background: var(--color-paper-deep);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--color-mute);
    white-space: nowrap;
}
.inv__sort { background: none; border: 0; padding: 0; font: inherit; color: inherit; letter-spacing: inherit; text-transform: inherit; }
.inv__sort::after { content: "↕"; margin-left: .35em; opacity: .45; }
.inv__table th[aria-sort="ascending"] .inv__sort::after { content: "↑"; opacity: 1; color: var(--color-brand); }
.inv__table th[aria-sort="descending"] .inv__sort::after { content: "↓"; opacity: 1; color: var(--color-brand); }
.inv__table td { padding: .6rem .75rem; border-top: 1px solid var(--color-line); vertical-align: top; }
.inv__supplier { display: block; font-weight: 600; }
.inv__ico { display: block; font-size: .73rem; color: var(--color-soft); }
.inv__amount { text-align: right; white-space: nowrap; font-weight: 600; font-variant-numeric: tabular-nums; }
.inv__desc { max-width: 32rem; white-space: pre-line; color: var(--color-mute); }
.inv__doc { font-size: .78rem; color: var(--color-soft); white-space: nowrap; }
.inv__src { display: block; font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.inv__empty { padding: 2.5rem 1rem; text-align: center; color: var(--color-mute); }
.inv__bar { display: inline-block; width: 90px; height: 8px; margin-right: .45rem; vertical-align: middle; background: var(--color-paper-deep); border-radius: 999px; overflow: hidden; }
.inv__bar i { display: block; height: 100%; background: var(--color-brand); }

.inv__pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-top: 1rem; }
.inv__pager .btn { padding: .6em 1.1em; font-size: .72rem; }
.inv__pager .btn:disabled { opacity: .35; cursor: default; transform: none; }
.inv__range { font-size: .85rem; color: var(--color-mute); }
.inv__note { margin-top: 1.25rem; font-size: .82rem; line-height: 1.55; color: var(--color-soft); }

/* Na mobilu z řádků karty; v hlavičce zůstanou jen tlačítka na řazení. */
@media (max-width: 760px) {
    .inv__table { min-width: 0; font-size: .95rem; }
    .inv__table thead, .inv__table thead tr { display: block; }
    .inv__table thead tr { display: flex; gap: .75rem; padding: .55rem .7rem; background: var(--color-paper-deep); }
    .inv__table thead th { position: static; padding: 0; background: none; }
    .inv__table thead th:nth-child(n+4) { display: none; }
    .inv__table tbody tr { display: block; padding: .8rem .85rem; border-top: 1px solid var(--color-line); }
    .inv__table td { display: grid; grid-template-columns: 5.6rem 1fr; gap: .6rem; padding: .18rem 0; border: 0; }
    .inv__table td::before {
        content: attr(data-label);
        padding-top: .12rem;
        font-size: .68rem;
        font-weight: 700;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: var(--color-soft);
    }
    .inv__amount { text-align: left; }
    .inv__desc { max-width: none; }
    .inv__doc { white-space: normal; }
    .inv__table--summary td:first-child { display: none; }
}

/* Podrobné filtry faktur — na mobilu schované pod rozbalovátkem. */
.inv__more { grid-column: 1 / -1; margin-top: .25rem; }
.inv__more > summary {
    display: inline-block;
    cursor: pointer;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--color-brand);
}
.inv__more > summary::marker { color: var(--color-line); }
.inv__more-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .7rem .9rem; padding-top: .8rem; }
.inv__more[open] > summary { margin-bottom: .1rem; }
.inv__table tbody td:first-child { white-space: nowrap; }

/* Oprava/omluva nad stranami čísla FAKT. */
.reader__correction {
    max-width: 1100px;
    margin: 0 auto;
    padding: 1.1rem var(--gutter) 0;
    color: var(--color-ink);
    font-size: .78rem;
    line-height: 1.45;
    text-align: center;
}
.reader__correction + .reader__pages { margin-top: .9rem; }

/* === Náklady na kampaň (Transparentnost) === */
.costs { max-width: 32rem; margin: 0 0 1.5rem; padding: 0; list-style: none; }
.costs li { display: flex; align-items: baseline; gap: .6rem; padding: .45rem 0; border-bottom: 1px solid var(--color-line); }
.costs__item { flex: 1; }
.costs__amount { white-space: nowrap; font-weight: 600; font-variant-numeric: tabular-nums; }
.costs li:last-child { border-bottom: 0; }

/* Tlačítko uvnitř textu: .prose__inner a přebíjelo barvu písma v .btn,
   takže text na červeném tlačítku byl červený a vylezl až při najetí myší. */
.prose__inner a.btn { text-decoration: none; }
.prose__inner a.btn--primary,
.prose__inner a.btn--primary:hover { color: #fff; }
.prose__inner a.btn--ghost { color: var(--color-ink); }
.prose__inner a.btn--ghost:hover { color: #fff; }

/* === Poděkování po volbách (HP, nahoře) === */
.thanks { background: var(--color-paper-deep); border-bottom: 1px solid var(--color-line); padding: clamp(1.75rem, 4vw, 3rem) 0; }
.thanks__inner {
    max-width: var(--container);
    margin: 0 auto;
    padding-inline: var(--gutter);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: clamp(1.25rem, 3.5vw, 2.5rem);
    align-items: center;
}
.thanks__eyebrow {
    display: inline-block;
    margin: 0 0 .6rem;
    padding: .25rem .7rem;
    background: rgba(161, 29, 26, .1);
    color: var(--color-brand);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    border-radius: 999px;
}
.thanks__title {
    margin: 0 0 .6rem;
    font-family: var(--font-serif);
    font-weight: 700;
    line-height: 1.05;
    font-size: clamp(1.9rem, 3.5vw, 2.9rem);
}
.thanks__lead { margin: 0; font-size: 1.05rem; line-height: 1.6; }
.thanks__photo { margin: 0; }
.thanks__photo img { width: 100%; height: auto; border-radius: var(--radius); box-shadow: 0 14px 36px -16px rgba(0, 0, 0, .45); }
@media (max-width: 860px) {
    .thanks__inner { grid-template-columns: 1fr; }
    .thanks__photo { order: -1; }
}
