:root {
  --blue: #111fa4;
  --blue-deep: #08116e;
  --blue-bright: #2439dc;
  --ink: #131629;
  --muted: #667085;
  --line: rgba(19, 22, 41, .12);
  --paper: #f8f9fc;
  --white: #fff;
  --radius: 22px;
  --shadow: 0 24px 70px rgba(8, 17, 110, .18);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}
a { color: inherit; }
img { display: block; max-width: 100%; }
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.narrow { width: min(820px, calc(100% - 40px)); }
.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-link { position: fixed; top: 8px; left: 8px; z-index: 100; transform: translateY(-150%); padding: 10px 14px; background: #fff; color: var(--blue); border-radius: 8px; font-weight: 800; }
.skip-link:focus { transform: translateY(0); }

.site-header { position: sticky; top: 0; z-index: 50; backdrop-filter: blur(16px); background: rgba(248,249,252,.90); border-bottom: 1px solid rgba(19,22,41,.08); }
.header-inner { min-height: 76px; display:flex; align-items:center; justify-content:space-between; gap: 22px; }
.brand { text-decoration:none; display:flex; align-items:baseline; gap: 7px; white-space:nowrap; }
.brand-script { color: var(--blue); cursive; font-size: 31px; font-weight: 800; letter-spacing: -1px; }
.brand-surname { font-size: 31px; font-weight: 900; letter-spacing: -1.8px; text-transform: uppercase; }
.main-nav { display:flex; align-items:center; gap: 20px; }
.main-nav a { text-decoration:none; color: #30344f; font-size: 14px; font-weight: 800; transition:.2s ease; }
.main-nav a:hover, .main-nav a:focus-visible { color: var(--blue); }
.nav-cta { padding: 10px 16px; border-radius: 999px; color:#fff !important; background: var(--blue); }
.menu-toggle { display:none; width:44px; height:44px; border:0; border-radius:12px; background:rgba(17,31,164,.08); padding:10px; }
.menu-toggle span:not(.sr-only) { display:block; height:2px; background:var(--blue); margin:5px 0; }

.hero { position:relative; overflow:hidden; isolation:isolate; min-height: 820px; color:#fff; background: linear-gradient(135deg, #061060 0%, #101e9d 50%, #071169 100%); }
.hero-backdrop { position:absolute; inset:0; opacity:.22; background: linear-gradient(90deg, rgba(5,11,70,.96) 0%, rgba(5,11,70,.78) 52%, rgba(5,11,70,.28) 100%), url('assets/marek-hattas-2026.jpg') 75% 35% / cover no-repeat; filter:saturate(.85); z-index:-2; }
.hero::after { content:""; position:absolute; inset:0; z-index:-1; background: radial-gradient(circle at 18% 25%, rgba(61,94,255,.26), transparent 34%), linear-gradient(105deg, rgba(4,9,58,.62), rgba(5,11,70,.22)); }
.hero-grid { display:grid; grid-template-columns: 1.06fr .72fr; gap: 54px; align-items:center; padding: 74px 0 82px; }
.eyebrow, .section-label { margin:0 0 16px; color:#cbd4ff; font-size:12px; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.eyebrow span { opacity:.65; padding:0 6px; }
.hero h1 { margin:0; font-size: clamp(72px, 10vw, 156px); line-height:.82; letter-spacing:-.09em; font-weight:1000; }
.hero h1 span { display:block; width:max-content; padding:8px 28px 14px 18px; color:#fff; background:linear-gradient(90deg, #1c32cb, #07116f); letter-spacing:-.1em; }
.hero-subclaim { display:inline-block; margin:0px 0 18px; padding:9px 18px 12px; color:#fff; background:linear-gradient(90deg, rgba(27,48,201,.95), rgba(7,17,111,.95)); font-size:clamp(24px,3.2vw,43px); line-height:1.03; font-weight:850; letter-spacing:-.055em; }
.hero-lead { max-width:640px; margin:0; color:rgba(255,255,255,.92); font-size:19px; line-height:1.62; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin:30px 0 0; }
.btn { display:inline-flex; min-height:50px; align-items:center; justify-content:center; gap:7px; padding:0 19px; border:1px solid transparent; border-radius:999px; text-decoration:none; font-size:15px; font-weight:900; transition: .2s ease; }
.btn:hover { transform:translateY(-2px); }
.btn-primary { color:var(--blue); background:#fff; box-shadow:0 10px 32px rgba(0,0,0,.16); }
.btn-ghost { color:#fff; border-color:rgba(255,255,255,.45); background:rgba(255,255,255,.08); }
.hero-note { display:grid; gap:2px; max-width:620px; margin-top:34px; padding-left:15px; border-left:3px solid rgba(255,255,255,.72); color:rgba(255,255,255,.82); font-size:12px; line-height:1.55; }
.hero-note strong { color:#fff; font-size:14px; }
.hero-visual { justify-self:end; align-self:end; }
.poster-frame { width:min(405px, 36vw); padding:8px; border:1px solid rgba(255,255,255,.22); border-radius:26px; background:rgba(255,255,255,.09); box-shadow:0 34px 90px rgba(0,0,0,.30); transform:rotate(1.8deg); }
.poster-frame img { border-radius:19px; }
.blue-pattern { position:absolute; right:-62px; bottom:-42px; width:360px; height:180px; opacity:.86; transform:rotate(-2deg); background:linear-gradient(135deg, transparent 0 48%, rgba(84,107,255,.97) 48% 62%, transparent 62%) 0 0 / 82px 82px, linear-gradient(315deg, transparent 0 48%, rgba(22,40,196,.94) 48% 62%, transparent 62%) 0 0 / 82px 82px; }

.section { padding:100px 0; }
.section-label { color:var(--blue); }
h2 { margin:0; color:#141832; font-size:clamp(40px,5vw,72px); line-height:.98; letter-spacing:-.075em; }
.section-lead { margin:25px 0 0; color:#3d435c; font-size:20px; line-height:1.72; }
.results-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:46px; }
.result-card { position:relative; min-height:210px; padding:24px 22px; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:#fff; transition:.2s ease; }
.result-card:hover { transform:translateY(-5px); box-shadow:0 18px 40px rgba(13,28,113,.08); }
.result-card.featured { color:#fff; background:linear-gradient(145deg,var(--blue-bright),var(--blue-deep)); border-color:transparent; }
.result-index { display:block; color:var(--blue); font-size:13px; font-weight:900; letter-spacing:.08em; }
.featured .result-index { color:#c9d2ff; }
.result-card h3 { margin:39px 0 6px; font-size:21px; line-height:1.08; letter-spacing:-.04em; }
.result-card p { margin:0; color:#697087; font-size:14px; line-height:1.55; }
.featured p { color:rgba(255,255,255,.78); }

.quote-section { color:#fff; background:linear-gradient(100deg,#07116c,#172abf); }
.quote-grid { display:grid; grid-template-columns:120px 1fr; gap:12px; align-items:start; padding:86px 0; }
.quote-mark { font-family:Georgia,serif; font-size:196px; line-height:.72; color:rgba(255,255,255,.23); }
blockquote { margin:0; max-width:930px; }
blockquote p { margin:0; font-size:clamp(30px,4vw,56px); line-height:1.1; letter-spacing:-.07em; font-weight:850; }
blockquote footer { margin-top:20px; color:#cbd4ff; font-size:15px; font-weight:800; }

.section-heading { display:grid; grid-template-columns:1fr .75fr; gap:60px; align-items:end; }
.section-heading > p { margin:0; color:#525a70; font-size:18px; }
.priority-list { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:46px; }
.priority-list article { padding:27px 25px 28px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.priority-list span { color:var(--blue); font-size:13px; font-weight:900; letter-spacing:.12em; }
.priority-list h3 { margin:28px 0 8px; font-size:23px; letter-spacing:-.055em; }
.priority-list p { margin:0; color:#697087; font-size:15px; }

.announcement { background:#eef1ff; }
.announcement-grid { display:grid; grid-template-columns:.85fr 1fr; gap:68px; }
.announcement-copy p { margin:0 0 19px; color:#3d435c; font-size:18px; }
.text-link { display:inline-flex; gap:8px; align-items:center; margin-top:4px; color:var(--blue); text-decoration:none; font-weight:900; }
.text-link span { font-size:22px; transition:.2s ease; }
.text-link:hover span { transform:translateX(5px); }

.support { background:#fff; }
.support-grid { display:grid; grid-template-columns:.9fr 1fr; gap:58px; align-items:center; }
.support-grid p:not(.section-label) { color:#60687f; font-size:18px; }
.party-badges { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.party-badges span { display:flex; min-height:92px; align-items:center; justify-content:center; padding:15px; border:1px solid var(--line); border-radius:18px; color:#20264b; background:#fafbff; font-size:16px; font-weight:950; text-align:center; }

.cta { position:relative; overflow:hidden; color:#fff; background:linear-gradient(120deg,#08116e,#1d31c7); }
.cta-inner { position:relative; z-index:2; padding:92px 0 98px; }
.cta h2 { color:#fff; font-size:clamp(70px,9vw,132px); }
.cta p:not(.section-label) { max-width:680px; color:rgba(255,255,255,.82); font-size:19px; }
.cta-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.btn-white { color:var(--blue); background:#fff; }
.btn-outline-white { color:#fff; border-color:rgba(255,255,255,.45); background:rgba(255,255,255,.06); }
.site-footer { color:#687087; background:#f8f9fc; border-top:1px solid rgba(19,22,41,.09); }
.footer-inner { min-height:112px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.footer-inner p { margin:0; font-size:13px; }
.footer-brand .brand-script { font-size:24px; }
.footer-brand .brand-surname { font-size:24px; }

@media (max-width: 980px) {
  .hero { min-height:auto; }
  .hero-grid { grid-template-columns:1fr; padding-top:62px; gap:42px; }
  .hero-visual { justify-self:center; align-self:auto; }
  .poster-frame { width:min(420px, 84vw); }
  .results-grid { grid-template-columns:repeat(2,1fr); }
  .section-heading, .announcement-grid, .support-grid { grid-template-columns:1fr; gap:24px; }
  .priority-list { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 760px) {
  .container { width:min(100% - 28px, 1180px); }
  .header-inner { min-height:68px; }
  .brand-script, .brand-surname { font-size:25px; }
  .menu-toggle { display:block; }
  .main-nav { position:absolute; top:68px; left:0; right:0; display:none; align-items:stretch; flex-direction:column; gap:0; padding:10px 14px 16px; border-bottom:1px solid var(--line); background:rgba(248,249,252,.98); }
  .main-nav.open { display:flex; }
  .main-nav a { padding:12px 6px; }
  .nav-cta { margin-top:6px; padding:11px 15px !important; text-align:center; }
  .hero-grid { padding:45px 0 60px; }
  .hero h1 { font-size:clamp(71px,24vw,112px); }
  .hero h1 span { padding:4px 18px 11px 10px; }
  .hero-subclaim { font-size:clamp(28px,9vw,40px); }
  .hero-lead { font-size:17px; }
  .hero-note { font-size:11px; }
  .section { padding:74px 0; }
  .results-grid, .priority-list, .party-badges { grid-template-columns:1fr; }
  .result-card { min-height:176px; }
  .result-card h3 { margin-top:26px; }
  .quote-grid { grid-template-columns:1fr; gap:0; padding:65px 0; }
  .quote-mark { height:61px; font-size:142px; }
  blockquote p { font-size:36px; }
  .footer-inner { align-items:flex-start; flex-direction:column; padding:25px 0; gap:7px; }
}
