
/* ============================================
   DESIGN TOKENS: GAIA Brand Book
   ============================================ */
:root{
  --brand:#2270B9;
  --brand-hover:#1a5d9e;
  --brand-light:#6FAEDD;
  --brand-pale:#EAF2FA;
  --brand-pale-2:#D4E4F4;

  /* Orange (CTA „Wesprzyj nas") */
  --orange:#F57A1F;
  --orange-hover:#de6a12;

  --black:#000000;
  --text:#000000;
  --text-2:#3A3A3A;
  --text-3:#76777A;
  --text-4:#9A9A9A;
  --text-5:#CCCCCC;

  --line:#E8E8E8;
  --line-strong:#CCCCCC;
  --bg:#FFFFFF;
  --bg-2:#F5F5F5;
  --bg-3:#CCCCCC;

  --shadow-sm:0 1px 2px rgba(0,0,0,0.04);
  --shadow:0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md:0 4px 12px rgba(0,0,0,0.05), 0 2px 4px rgba(0,0,0,0.04);
  --shadow-lg:0 12px 32px rgba(0,0,0,0.08), 0 4px 12px rgba(0,0,0,0.04);

  --r-sm:6px;
  --r:8px;
  --r-md:10px;
  --r-lg:12px;

  --font:'Archivo', system-ui, sans-serif;
  --mono:'JetBrains Mono', ui-monospace, monospace;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11"}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
img{max-width:100%;display:block}

/* ============================================
   BUTTONS
   ============================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--font);font-weight:500;font-size:14px;letter-spacing:-.005em;
  border-radius:var(--r);border:1px solid transparent;
  padding:11px 18px;cursor:pointer;transition:all .15s ease;
  text-decoration:none;white-space:nowrap;
}
.btn--primary{background:var(--black);color:#fff;border-color:var(--black)}
.btn--primary:hover{background:#1a1a1a;transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn--brand{background:var(--brand);color:#fff;border-color:var(--brand)}
.btn--brand:hover{background:var(--brand-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(34,112,185,.25)}
.btn--secondary{background:#fff;color:var(--text);border-color:var(--line-strong)}
.btn--secondary:hover{border-color:var(--text);background:var(--bg-2)}
.btn--ghost{background:transparent;color:var(--text-2);border-color:transparent}
.btn--ghost:hover{background:var(--bg-2);color:var(--text)}
.btn--sm{padding:7px 13px;font-size:13px;border-radius:var(--r-sm)}
.btn--lg{padding:15px 24px;font-size:15px;border-radius:var(--r-md)}
.btn-icon-r{width:14px;height:14px;transition:transform .15s}
.btn:hover .btn-icon-r{transform:translateX(2px)}

/* ============================================
   NAV: Pill button group style
   ============================================ */
.nav{
  position:sticky;top:0;z-index:1000;
  display:flex;align-items:center;
  height:88px;padding:0 32px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
  gap:24px;
}
.nav-logo{display:flex;align-items:center;gap:10px}
.nav-logo-mark{
  width:40px;height:40px;border-radius:10px;
  background:var(--brand);color:#fff;
  display:grid;place-items:center;
  font-weight:800;font-size:18px;letter-spacing:-.03em;
}
.nav-logo-text{font-weight:800;font-size:20px;letter-spacing:-.02em}
.nav-kurs{color:var(--brand)!important;font-weight:600}
.nav-links{display:flex;gap:28px;margin:0 auto;list-style:none}



/* Actions group as pill buttons like in reference */
.nav-actions{
  display:flex;gap:8px;align-items:center;
  background:var(--bg-2);
  border:1px solid var(--line);
  border-radius:100px;
  padding:5px;
}

/* Language switcher */
.nav-lang{display:none!important;
  display:inline-flex;align-items:center;gap:6px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:100px;
  padding:5px 12px 5px 6px;
  cursor:pointer;
  font-family:inherit;
  transition:all .15s;
}
.nav-lang:hover{border-color:var(--line-strong)}
.nav-lang-flag{
  width:22px;height:22px;border-radius:50%;
  overflow:hidden;
  flex-shrink:0;
  border:1px solid var(--line);
  background:#fff;
  display:grid;place-items:center;
}
.nav-lang-flag svg{width:100%;height:100%;display:block}
.nav-lang-chevron{
  width:14px;height:14px;
  color:var(--text-3);
  transition:transform .15s;
}
.nav-lang:hover .nav-lang-chevron{transform:rotate(180deg)}

/* "1,5% Wesprzyj nas": orange */
.nav-donate{
  display:inline-flex;align-items:center;gap:10px;
  background:#fff;border:1px solid var(--line)!important;
  color:var(--black);
  border:none;
  border-radius:100px;
  padding:8px 18px 8px 10px;
  font-family:inherit;font-weight:600;font-size:14px;letter-spacing:-.005em;
  cursor:pointer;
  transition:all .15s;
  text-decoration:none;
}
.nav-donate:hover{background:var(--bg-2);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.08)}
.nav-donate-tag{
  display:inline-block;
  height:20px;width:auto;
  vertical-align:middle;
}

/* "Kontakt": blue brand */
.nav-contact{
  display:inline-flex;align-items:center;
  background:var(--brand);
  color:#fff;
  border:none;
  border-radius:100px;
  padding:9px 22px;
  font-family:inherit;font-weight:500;font-size:14px;letter-spacing:-.005em;
  cursor:pointer;
  transition:all .15s;
  text-decoration:none;
}
.nav-contact:hover{background:var(--brand-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(34,112,185,.25)}

/* ============================================
   HERO: Bajgart-style marquee
   ============================================ */
.hero{
  position:relative;
  padding:48px 0 72px;
  background:var(--bg);
  overflow:hidden;
}
.hero-top{
  max-width:1440px;margin:0 auto;
  padding:0 40px 48px;
}
.hero-kicker{
  display:inline-flex;align-items:center;gap:10px;
  padding:6px 14px 6px 6px;
  background:#fff;border:1px solid var(--line);
  border-radius:100px;
  font-size:12px;color:var(--text-2);font-weight:500;
  margin-bottom:28px;
  box-shadow:var(--shadow-sm);
}
.hero-kicker-tag{
  background:var(--brand);color:#fff;
  padding:3px 10px;border-radius:100px;
  font-size:11px;font-weight:600;letter-spacing:.02em;
}
.hero-title{
  font-size:clamp(40px, 6vw, 88px);
  font-weight:800;
  line-height:.98;
  letter-spacing:-.04em;
  margin-bottom:24px;
  max-width:1200px;
}
.hero-title em{font-style:normal;color:var(--brand)}
.hero-sub-wrap{
  display:flex;gap:32px;align-items:flex-end;justify-content:space-between;
  flex-wrap:wrap;
}
.hero-sub{
  font-size:clamp(16px, 1.35vw, 19px);
  color:var(--text-2);
  line-height:1.5;
  max-width:520px;
  flex:1;min-width:280px;
}
.hero-categories{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.hero-cat{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:100px;
  font-size:13px;color:var(--text-2);font-weight:500;
  transition:all .15s;
}
.hero-cat:hover{border-color:var(--brand);color:var(--brand)}
.hero-cat-dot{width:8px;height:8px;border-radius:50%;background:var(--brand);flex-shrink:0}
.hero-cat:nth-child(1) .hero-cat-dot{background:#2270B9}
.hero-cat:nth-child(2) .hero-cat-dot{background:#6FAEDD}
.hero-cat:nth-child(3) .hero-cat-dot{background:#76777A}
.hero-cat:nth-child(4) .hero-cat-dot{background:#000}
.hero-cat:nth-child(5) .hero-cat-dot{background:#2270B9}

/* ============================================
   MARQUEE (hero + footprint reużycie stylów)
   ============================================ */
.marquee{
  position:relative;
  margin:48px 0 56px;
  overflow:hidden;
  user-select:none;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
          mask-image:linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
}
.marquee-track{
  display:flex;
  gap:24px;
  width:max-content;
  animation:marquee 45s linear infinite;
  will-change:transform;
}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-100% / 2))}
}

.marquee-item{
  flex:0 0 auto;
  width:clamp(280px, 32vw, 460px);
  aspect-ratio:4/3;
  border-radius:var(--r-lg);
  overflow:hidden;
  background:var(--bg-3);
  position:relative;
  transition:transform .3s ease;
}
.marquee-item:hover{transform:scale(.98)}
.marquee-item img{width:100%;height:100%;object-fit:cover;display:block}
.marquee-item-label{
  position:absolute;
  bottom:16px;left:16px;
  background:rgba(0,0,0,.7);
  backdrop-filter:blur(8px);
  color:#fff;
  padding:6px 12px;border-radius:100px;
  font-family:var(--mono);font-size:11px;
  letter-spacing:.08em;text-transform:uppercase;
  font-weight:500;
}

/* Bottom: CTA + meta */
.hero-bottom{
  max-width:1440px;margin:0 auto;
  padding:0 40px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:40px;align-items:center;
}
.hero-acts{display:flex;gap:12px;flex-wrap:wrap}
.hero-meta{
  display:flex;gap:40px;
  padding:20px 28px;
  background:var(--bg-2);
  border-radius:var(--r-lg);
  border:1px solid var(--line);
}
.hero-meta-item{display:flex;flex-direction:column;gap:4px}
.hero-meta-val{font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums;color:var(--text)}
.hero-meta-val em{font-style:normal;color:var(--brand)}
.hero-meta-lbl{font-size:11px;color:var(--text-3);letter-spacing:.02em}

/* ============================================
   SECTION BASE
   ============================================ */
.section{padding:120px 40px}
.section--gray{background:var(--bg-2)}
.section--dark{background:var(--black);color:#fff}
.section-inner{max-width:1200px;margin:0 auto}
.section-head{margin-bottom:72px;max-width:760px}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:600;color:var(--brand);
  text-transform:uppercase;letter-spacing:.12em;
  margin-bottom:20px;font-family:var(--mono);
}
.eyebrow::before{content:'';width:24px;height:1px;background:var(--brand)}
.section--dark .eyebrow{color:var(--brand-light)}
.section--dark .eyebrow::before{background:var(--brand-light)}
.section-title{
  font-size:clamp(32px, 4.5vw, 56px);
  font-weight:700;letter-spacing:-.03em;
  line-height:1.05;margin-bottom:20px;
}
.section-title em{font-style:normal;color:var(--brand)}
.section--dark .section-title em{color:var(--brand-light)}
.section-desc{font-size:18px;color:var(--text-2);line-height:1.55;max-width:640px}
.section--dark .section-desc{color:rgba(255,255,255,.75)}

/* ============================================
   PROBLEMS
   ============================================ */
.problems{
  display:grid;grid-template-columns:repeat(3, 1fr);gap:0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.problem{padding:40px 32px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:16px;transition:background .2s}
.problem:last-child{border-right:none}
.problem:hover{background:var(--bg-2)}
.problem-n{font-family:var(--mono);font-size:11px;color:var(--text-4);letter-spacing:.08em}
.problem-text{font-size:18px;line-height:1.4;font-weight:500;letter-spacing:-.01em;color:var(--text)}
.problem-text strong{color:var(--brand)}

.consequence{
  margin-top:64px;padding:48px;
  background:var(--black);color:#fff;
  border-radius:var(--r-lg);
  display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;
}
.consequence-mark{font-family:var(--mono);font-size:72px;font-weight:700;color:var(--brand-light);line-height:1;letter-spacing:-.04em}
.consequence-text{font-size:clamp(20px, 2.3vw, 26px);line-height:1.4;font-weight:500;letter-spacing:-.01em}
.consequence-text em{font-style:normal;color:var(--brand-light)}

/* ============================================
   3 PILLARS
   ============================================ */
.pillars{display:grid;grid-template-columns:repeat(3, 1fr);gap:24px}
.pillar{
  background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);
  display:flex;flex-direction:column;
  transition:all .2s;overflow:hidden;
}
.pillar:hover{border-color:var(--brand);transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.pillar-img{width:100%;aspect-ratio:16/10;background:var(--bg-3);overflow:hidden}
.pillar-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.pillar:hover .pillar-img img{transform:scale(1.05)}
.pillar-body{padding:32px;display:flex;flex-direction:column;gap:16px;flex:1}
.pillar-n{font-family:var(--mono);font-size:12px;color:var(--text-4);letter-spacing:.08em}
.pillar-title{font-size:22px;font-weight:700;letter-spacing:-.015em;line-height:1.15}
.pillar-desc{font-size:15px;color:var(--text-2);line-height:1.55;flex:1}
.pillar-tag{
  align-self:flex-start;
  font-family:var(--mono);font-size:11px;
  color:var(--brand);letter-spacing:.05em;
  padding:4px 10px;border:1px solid var(--brand-pale-2);
  background:var(--brand-pale);border-radius:100px;
  text-transform:uppercase;
}

/* ============================================
   FUND
   ============================================ */
.fund{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}
.fund-content h2{font-size:clamp(36px, 4.5vw, 56px);font-weight:700;letter-spacing:-.03em;line-height:1.05;margin-bottom:24px}
.fund-content h2 em{font-style:normal;color:var(--brand)}
.fund-lead{font-size:18px;color:var(--text-2);line-height:1.55;margin-bottom:32px}
.fund-list{display:flex;flex-direction:column;gap:14px;margin-bottom:36px}
.fund-item{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line)}
.fund-item:last-child{border-bottom:none}
.fund-item-ico{width:24px;height:24px;border-radius:50%;background:var(--brand-pale);color:var(--brand);display:grid;place-items:center;flex-shrink:0;margin-top:2px}
.fund-item-ico svg{width:12px;height:12px}
.fund-item p{font-size:15px;color:var(--text);line-height:1.5}
.fund-item p strong{font-weight:600}

.fund-counter{
  background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);padding:36px;
  display:flex;flex-direction:column;gap:20px;
  box-shadow:var(--shadow-md);
  position:relative;overflow:hidden;
}
.fund-counter::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg, var(--brand) 0%, var(--brand-light) 100%)}
.fund-counter-lbl{font-family:var(--mono);font-size:11px;color:var(--text-3);letter-spacing:.08em;text-transform:uppercase}
.fund-counter-goal{font-size:14px;color:var(--text-3)}
.fund-counter-val{font-size:56px;font-weight:800;letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums;color:var(--text)}
.fund-counter-val em{font-style:normal;color:var(--brand)}
.fund-counter-bar{height:8px;background:var(--bg-2);border:1px solid var(--line);border-radius:100px;overflow:hidden}
.fund-counter-bar-fill{height:100%;background:linear-gradient(90deg, var(--brand) 0%, var(--brand-light) 100%);border-radius:100px;width:2.4%}
.fund-counter-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--text-3);font-variant-numeric:tabular-nums}
.fund-counter-meta strong{color:var(--text);font-weight:600}
.fund-counter-date{font-family:var(--mono);font-size:11px;color:var(--text-4);letter-spacing:.05em;padding-top:12px;border-top:1px dashed var(--line);text-align:right}

/* ============================================
   FOOTPRINT: zespół/partnerzy z filtrem + marquee
   ============================================ */
.footprint-head{
  display:flex;justify-content:space-between;align-items:flex-end;
  gap:40px;flex-wrap:wrap;
  margin-bottom:48px;
}
.footprint-filter{
  display:inline-flex;gap:4px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:100px;
  padding:4px;
  box-shadow:var(--shadow-sm);
}
.footprint-filter-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 18px;
  background:transparent;
  color:var(--text-2);
  border:none;
  border-radius:100px;
  font-family:inherit;font-size:14px;font-weight:500;
  cursor:pointer;transition:all .2s;
  white-space:nowrap;
}
.footprint-filter-btn:hover{color:var(--text)}
.footprint-filter-btn.is-active{
  background:var(--brand);
  color:#fff;
  box-shadow:0 2px 8px rgba(34,112,185,.25);
}
.footprint-filter-count{
  font-family:var(--mono);font-size:11px;
  opacity:.7;
}
.footprint-filter-btn.is-active .footprint-filter-count{
  background:rgba(255,255,255,.2);
  padding:1px 6px;border-radius:100px;opacity:1;
}

/* Marquee rows: footprint */
.footprint-marquee{
  position:relative;
  margin:32px -40px 0;
  overflow:hidden;
  user-select:none;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 4%, #000 96%, transparent 100%);
          mask-image:linear-gradient(90deg, transparent 0%, #000 4%, #000 96%, transparent 100%);
}
.footprint-marquee-track{
  display:flex;gap:20px;
  width:max-content;
  animation:marquee 60s linear infinite;
  will-change:transform;
}
.footprint-marquee:hover .footprint-marquee-track{animation-play-state:paused}
.footprint-marquee--reverse .footprint-marquee-track{animation-direction:reverse;animation-duration:75s}

/* Hide rows not matching current filter */
.footprint-marquee[data-role="founders"][data-active="partners"]{display:none}
.footprint-marquee[data-role="partners"][data-active="founders"]{display:none}

.person{
  flex:0 0 auto;
  width:260px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:16px;
  display:flex;align-items:center;gap:14px;
  transition:all .2s;
}
.person:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.person-avatar{
  width:56px;height:56px;border-radius:50%;
  overflow:hidden;
  flex-shrink:0;
  background:var(--bg-3);
  border:2px solid var(--line);
}
.person-avatar img{width:100%;height:100%;object-fit:cover}
.person-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.person-name{font-size:14px;font-weight:600;letter-spacing:-.005em;line-height:1.25;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.person-role{font-size:12px;color:var(--text-3);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.person-role strong{color:var(--brand);font-weight:600}

/* ============================================
   WORLD MAP: twarze ludzi na mapie
   ============================================ */
.worldmap-section{background:var(--bg);padding:120px 40px}
.worldmap-wrap{
  position:relative;
  max-width:1200px;margin:0 auto;
  aspect-ratio:2/1;
  background:var(--bg-2);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  overflow:hidden;
}
.worldmap-svg{
  position:absolute;inset:0;
  width:100%;height:100%;
  opacity:.5;
}
.worldmap-svg path{fill:none;stroke:var(--text-4);stroke-width:.4}
.worldmap-svg .dot{fill:var(--text-4);opacity:.35}

.worldmap-pin{
  position:absolute;
  width:44px;height:44px;
  transform:translate(-50%, -50%);
  border-radius:50%;
  overflow:visible;
  cursor:pointer;
  transition:transform .2s;
  z-index:2;
}
.worldmap-pin:hover{transform:translate(-50%, -50%) scale(1.18);z-index:10}
.worldmap-pin-img{
  width:100%;height:100%;
  border-radius:50%;
  object-fit:cover;
  border:2px solid #fff;
  box-shadow:0 2px 12px rgba(0,0,0,.15);
  background:var(--bg-3);
  display:block;
}
.worldmap-pin-ring{
  position:absolute;inset:-4px;
  border-radius:50%;
  border:2px solid var(--brand);
  opacity:0;transform:scale(.85);
  transition:all .2s;
}
.worldmap-pin:hover .worldmap-pin-ring{opacity:1;transform:scale(1)}
.worldmap-pin-label{
  position:absolute;
  bottom:-28px;left:50%;transform:translateX(-50%);
  background:var(--black);color:#fff;
  padding:3px 10px;border-radius:100px;
  font-size:11px;font-weight:500;
  white-space:nowrap;
  opacity:0;pointer-events:none;
  transition:opacity .2s;
}
.worldmap-pin:hover .worldmap-pin-label{opacity:1}

.worldmap-legend{
  display:flex;flex-wrap:wrap;gap:24px;justify-content:center;
  margin-top:32px;
  font-size:13px;color:var(--text-3);
}
.worldmap-legend-item{display:inline-flex;align-items:center;gap:8px}
.worldmap-legend-dot{width:10px;height:10px;border-radius:50%;background:var(--brand)}

/* ============================================
   MANIFESTO
   ============================================ */
.manifesto{padding:160px 40px;background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.manifesto-inner{max-width:1200px;margin:0 auto}
.manifesto-eyebrow{font-family:var(--mono);font-size:12px;color:var(--text-3);letter-spacing:.12em;text-transform:uppercase;margin-bottom:48px}
.manifesto-title{font-size:clamp(40px, 6vw, 96px);font-weight:800;line-height:.98;letter-spacing:-.04em;max-width:1100px}
.manifesto-title em{font-style:normal;color:var(--brand)}
.manifesto-title .strike{text-decoration:line-through;text-decoration-thickness:4px;text-decoration-color:var(--brand);color:var(--text-4)}
.manifesto-sig{margin-top:64px;display:flex;gap:40px;align-items:center;padding-top:32px;border-top:1px solid var(--line)}
.manifesto-sig-label{font-family:var(--mono);font-size:11px;color:var(--text-3);letter-spacing:.08em;text-transform:uppercase}
.manifesto-sig-names{font-size:15px;color:var(--text);font-weight:600}

/* ============================================
   WHY US
   ============================================ */
.why-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff}
.why-item{padding:36px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:16px}
.why-item:last-child{border-right:none}
.why-item-n{font-family:var(--mono);font-size:40px;font-weight:700;color:var(--brand);letter-spacing:-.04em;line-height:1}
.why-item-title{font-size:18px;font-weight:700;letter-spacing:-.01em}
.why-item-desc{font-size:14px;color:var(--text-2);line-height:1.55}

/* ============================================
   SUPPORT
   ============================================ */
.support-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:20px}
.support{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:36px 28px;display:flex;flex-direction:column;gap:18px;transition:all .2s}
.support:hover{border-color:var(--text)}
.support--featured{background:var(--black);color:#fff;border-color:var(--black);position:relative}
.support--featured::before{content:'NAJWIĘKSZY IMPACT';position:absolute;top:-12px;left:28px;background:var(--brand);color:#fff;padding:4px 12px;border-radius:100px;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.08em}
.support-cat{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}
.support--featured .support-cat{color:var(--brand-light)}
.support-title{font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.support-desc{font-size:14px;line-height:1.55;color:var(--text-2)}
.support--featured .support-desc{color:rgba(255,255,255,.75)}
.support-list{display:flex;flex-direction:column;gap:10px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex:1}
.support--featured .support-list{border-color:rgba(255,255,255,.15)}
.support-list-item{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--text);line-height:1.5}
.support--featured .support-list-item{color:#fff}
.support-list-item svg{width:14px;height:14px;color:var(--brand);flex-shrink:0;margin-top:4px}
.support--featured .support-list-item svg{color:var(--brand-light)}

/* ============================================
   CTA DARK
   ============================================ */
.cta-dark{padding:120px 40px;background:var(--black);color:#fff;text-align:center;position:relative;overflow:hidden}
.cta-dark::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 100%, rgba(34,112,185,.35) 0%, transparent 60%)}
.cta-dark-inner{max-width:800px;margin:0 auto;position:relative}
.cta-dark-eyebrow{font-family:var(--mono);font-size:12px;color:var(--brand-light);letter-spacing:.12em;text-transform:uppercase;margin-bottom:24px;display:inline-block}
.cta-dark h2{font-size:clamp(36px, 5vw, 64px);font-weight:700;letter-spacing:-.03em;line-height:1.05;margin-bottom:20px}
.cta-dark h2 em{font-style:normal;color:var(--brand-light)}
.cta-dark p{font-size:18px;color:rgba(255,255,255,.75);line-height:1.55;margin-bottom:40px;max-width:560px;margin-left:auto;margin-right:auto}
.cta-dark-acts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.cta-dark .btn--primary{background:#fff;color:var(--black);border-color:#fff}
.cta-dark .btn--primary:hover{background:var(--bg-2)}
.cta-dark .btn--ghost{color:#fff;border-color:rgba(255,255,255,.25)}
.cta-dark .btn--ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5)}

/* ============================================
   FOOTER: z Made by Trabsky
   ============================================ */
.footer{padding:64px 40px 32px;background:var(--bg);border-top:1px solid var(--line)}
.footer-inner{max-width:1200px;margin:0 auto}
.footer-top{display:grid;grid-template-columns:1.2fr 3fr;gap:64px;padding-bottom:48px;border-bottom:1px solid var(--line)}
.footer-brand{display:flex;flex-direction:column;gap:16px;max-width:320px}
.footer-brand-desc{font-size:13px;color:var(--text-3);line-height:1.6}
.footer-cols{display:flex;flex-direction:column;gap:40px}
.footer-row{display:grid;gap:32px}
.footer-row--main{grid-template-columns:1fr 1fr}
.footer-row--entities{grid-template-columns:1fr 1fr 1fr;padding-top:32px;border-top:1px solid var(--line)}
.footer-col h4{font-size:13px;font-weight:700;margin-bottom:16px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3)}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-col a{font-size:14px;color:var(--text);transition:color .12s;font-weight:500}
.footer-col a:hover{color:var(--brand)}
.footer-meta{font-family:var(--mono);font-size:12px;color:var(--text-3);line-height:1.5}
.footer-copy{
  display:inline-flex;align-items:center;gap:6px;
  background:transparent;border:none;padding:0;
  font-family:var(--mono);font-size:12px;color:var(--text-3);line-height:1.5;
  cursor:pointer;transition:color .15s;
  letter-spacing:.02em;
}
.footer-copy:hover{color:var(--brand)}
.footer-copy-icon{width:12px;height:12px;opacity:.5;flex:none;transition:opacity .15s}
.footer-copy:hover .footer-copy-icon{opacity:1}
.footer-copy.is-copied{color:var(--brand)}
.footer-copy.is-copied .footer-copy-icon{display:none}
.footer-copy.is-copied::after{content:' ✓';color:var(--brand)}
.footer-bottom{
  display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;
  margin-top:32px;padding-top:24px;
  border-top:1px solid var(--line);
  font-size:12px;color:var(--text-3);
}
.footer-bottom > span{text-align:center}
@media (max-width:768px){
  .footer-bottom{grid-template-columns:1fr;gap:16px;text-align:center}
  .footer-bottom > span{text-align:center}
  .footer-bottom > a{justify-self:center}
}
.footer-madeby{
  display:inline-flex;align-items:center;gap:10px;
  padding:5px 14px 5px 5px;
  background:transparent;
  border:1px solid transparent;
  border-radius:8px;
  font-size:13px;color:var(--text-4);font-weight:500;
  text-decoration:none;transition:all .15s;
  font-family:var(--font);
  opacity:.7;
}
.footer-madeby:hover{
  background:#fff;
  border-color:var(--line);
  box-shadow:0 2px 6px rgba(0,0,0,.08);
  color:var(--text);
  opacity:1;
  transform:translateY(-1px);
}
.footer-madeby strong{color:inherit;font-weight:700;transition:color .15s}
.footer-madeby:hover strong{color:var(--text)}
.footer-madeby-mark{
  display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:5px;
  background:var(--text-4);color:#fff;
  font-weight:700;font-size:14px;letter-spacing:-.02em;
  font-family:var(--font);
  transition:background .15s;
}
.footer-madeby:hover .footer-madeby-mark{background:#1343F0}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width:1024px){
  .problems,.pillars,.why-grid,.support-grid{grid-template-columns:1fr 1fr}
  .problem:nth-child(2n),.why-item:nth-child(2n){border-right:none}
  .problem:not(:last-child),.why-item:not(:last-child){border-bottom:1px solid var(--line)}
  .fund{grid-template-columns:1fr;gap:48px}
  .footer-top{grid-template-columns:1fr;gap:40px}.footer-row--main{grid-template-columns:1fr 1fr}.footer-row--entities{grid-template-columns:1fr}
  .footer-brand{grid-column:1 / -1;max-width:none}
  .hero-bottom{grid-template-columns:1fr;gap:24px}
  .hero-meta{justify-self:start}
  .worldmap-pin{width:36px;height:36px}
}

@media (max-width:720px){
  .nav{height:68px}
  .nav-donate{padding:6px 12px 6px 8px;font-size:13px;gap:6px}
  .nav-donate-tag{height:16px}
  .nav-contact{padding:7px 14px;font-size:13px}
  .nav-lang{display:none!important;padding:4px 8px 4px 4px}
  .hero{padding:32px 0 56px}
  .hero-top{padding:0 20px 32px}
  .hero-bottom{padding:0 20px}
  .hero-meta{gap:24px;padding:16px 20px}
  .hero-meta-val{font-size:18px}
  .marquee{margin:32px 0 40px}
  .marquee-track{gap:12px;animation-duration:35s}
  .marquee-item{width:clamp(240px, 70vw, 320px)}
  .section,.manifesto,.cta-dark,.worldmap-section{padding:80px 20px}
  .manifesto{padding:96px 20px}
  .problems,.pillars,.why-grid,.support-grid{grid-template-columns:1fr}
  .problem,.why-item{border-right:none;border-bottom:1px solid var(--line)}
  .problem:last-child,.why-item:last-child{border-bottom:none}
  .consequence{grid-template-columns:1fr;gap:20px;padding:32px}
  .consequence-mark{font-size:48px}
  .footer{padding:48px 20px 24px}
  .footer-top{grid-template-columns:1fr;gap:32px}.footer-row--main,.footer-row--entities{grid-template-columns:1fr}
  .footer-brand{grid-column:1 / -1}
  .footprint-marquee{margin:24px -20px 0}
  .worldmap-pin{width:28px;height:28px}
  .worldmap-pin-label{font-size:10px;padding:2px 8px}
}

@media (prefers-reduced-motion:reduce){
  .marquee-track,.footprint-marquee-track{animation:none}
}


/* ============================================
   PAGE HERO: nagłówek podstrony (subpage)
   ============================================ */
.page-hero{
  position:relative;
  padding:96px 32px 80px;
  background:var(--bg-2);
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.page-hero::before{
  content:'';
  position:absolute;inset:0;
  background-image:radial-gradient(circle at 90% 20%, rgba(34,112,185,.07) 0%, transparent 60%);
  pointer-events:none;
}
.page-hero-inner{
  max-width:1200px;margin:0 auto;
  position:relative;z-index:1;
}
.breadcrumbs{
  display:flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:12px;letter-spacing:.04em;
  color:var(--text-3);margin-bottom:24px;
  text-transform:uppercase;
}
.breadcrumbs a{color:var(--text-3);transition:color .15s}
.breadcrumbs a:hover{color:var(--brand)}
.breadcrumbs .sep{color:var(--text-5)}
.breadcrumbs .current{color:var(--brand);font-weight:500}

.page-hero-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:13px;font-weight:500;color:var(--brand);
  margin-bottom:16px;
}
.page-hero-eyebrow::before{
  content:'';width:24px;height:1px;background:var(--brand);
}
.page-hero-title{
  font-size:clamp(36px, 4.5vw, 56px);
  font-weight:600;line-height:1.08;
  letter-spacing:-.03em;
  margin-bottom:20px;
  max-width:920px;
}
.page-hero-title em{font-style:normal;color:var(--brand)}
.page-hero-lead{
  font-size:18px;color:var(--text-2);line-height:1.55;
  max-width:780px;
}

/* ============================================
   CONTENT SECTIONS
   ============================================ */
.section{padding:96px 32px}
.section--gray{background:var(--bg-2)}
.section-inner{max-width:1200px;margin:0 auto}

.section-head{margin-bottom:56px;max-width:760px}
.section-head .eyebrow{
  display:inline-block;
  font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--brand);margin-bottom:12px;font-weight:500;
}
.section-head .section-title{
  font-size:clamp(28px, 3.5vw, 40px);
  font-weight:600;letter-spacing:-.025em;line-height:1.15;
  margin-bottom:14px;
}
.section-head .section-title em{font-style:normal;color:var(--brand)}
.section-head .section-desc{
  font-size:17px;color:var(--text-2);line-height:1.55;
}

/* Prose: typografia tekstu artykułowego */
.prose{max-width:780px;font-size:16px;line-height:1.75;color:var(--text-2)}
.prose p{margin-bottom:18px}
.prose p:last-child{margin-bottom:0}
.prose strong{color:var(--text);font-weight:600}
.prose h3{
  font-size:22px;font-weight:600;letter-spacing:-.015em;
  color:var(--text);margin:36px 0 14px;
}
.prose ul{padding-left:22px;margin-bottom:18px}
.prose ul li{margin-bottom:6px;line-height:1.6}

/* ============================================
   FEATURE CARDS: usługi/oferty
   ============================================ */
.feature-grid{
  display:grid;grid-template-columns:repeat(2, 1fr);gap:24px;
}
.feature-grid--3{grid-template-columns:repeat(3, 1fr)}
.feature-card{
  background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:36px 32px;
  display:flex;flex-direction:column;gap:14px;
  transition:all .2s;
}
.feature-card:hover{
  border-color:var(--brand);
  transform:translateY(-3px);
  box-shadow:var(--shadow-md);
}
.feature-card-ico{
  width:48px;height:48px;
  border-radius:12px;
  background:var(--brand-pale);color:var(--brand);
  display:grid;place-items:center;
  margin-bottom:6px;
}
.feature-card-ico svg{width:22px;height:22px}
.feature-card h3{
  font-size:19px;font-weight:600;letter-spacing:-.01em;
  color:var(--text);
}
.feature-card p{
  font-size:15px;color:var(--text-2);line-height:1.6;
}
.feature-card ul{
  list-style:none;padding:0;margin-top:8px;
  display:flex;flex-direction:column;gap:6px;
}
.feature-card ul li{
  position:relative;padding-left:18px;
  font-size:14px;color:var(--text-2);line-height:1.55;
}
.feature-card ul li::before{
  content:'';position:absolute;left:0;top:9px;
  width:5px;height:5px;border-radius:50%;background:var(--brand);
}

/* ============================================
   INFO BOX: tax info, important notes
   ============================================ */
.info-box{
  background:var(--brand-pale);
  border:1px solid var(--brand-pale-2);
  border-left:4px solid var(--brand);
  border-radius:var(--r-lg);
  padding:28px 32px;
  margin:32px 0;
}
.info-box-label{
  font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--brand);font-weight:600;margin-bottom:10px;display:block;
}
.info-box-content{font-size:15px;line-height:1.7;color:var(--text)}
.info-box-content strong{color:var(--text);font-weight:600}
.info-box-content code{
  font-family:var(--mono);background:#fff;padding:2px 8px;
  border-radius:4px;font-size:13px;color:var(--brand);
  border:1px solid var(--brand-pale-2);
}

/* ============================================
   TWO-COL SPLIT: opis + lista
   ============================================ */
.split{
  display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:start;
}
.split--rev{grid-template-columns:1fr 1.1fr}

/* ============================================
   PROJECTS TABS: Strefa badań
   ============================================ */
.tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:48px}
.tab{
  padding:14px 24px;background:none;border:none;
  font-family:var(--font);font-size:14px;font-weight:500;color:var(--text-3);
  cursor:pointer;position:relative;transition:color .15s;
  border-radius:0;
}
.tab:hover{color:var(--text)}
.tab.is-active{color:var(--brand);font-weight:600}
.tab.is-active::after{
  content:'';position:absolute;left:0;right:0;bottom:-1px;
  height:2px;background:var(--brand);
}
.tab-count{
  display:inline-block;
  margin-left:8px;
  font-family:var(--mono);font-size:11px;
  background:var(--bg-2);color:var(--text-3);
  padding:2px 7px;border-radius:100px;
  font-weight:500;
}
.tab.is-active .tab-count{background:var(--brand-pale);color:var(--brand)}

.project-grid{
  display:grid;grid-template-columns:repeat(2, 1fr);gap:20px;
}
.project-card{
  background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:28px;
  display:flex;flex-direction:column;gap:12px;
  transition:all .2s;
  cursor:pointer;
}
.project-card:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.project-card-meta{
  display:flex;justify-content:space-between;align-items:center;
  font-family:var(--mono);font-size:11px;color:var(--text-3);letter-spacing:.05em;
  text-transform:uppercase;
}
.project-card-status{
  padding:3px 10px;border-radius:100px;font-weight:600;
}
.project-card-status--active{background:#E0F4E8;color:#0A7B3F}
.project-card-status--done{background:#EFEFEF;color:var(--text-3)}
.project-card-status--planned{background:#FFF3DB;color:#B7800B}
.project-card h3{
  font-size:19px;font-weight:600;letter-spacing:-.01em;
  color:var(--text);line-height:1.3;
}
.project-card p{font-size:14px;line-height:1.6;color:var(--text-2)}
.project-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.project-card-tag{
  font-family:var(--mono);font-size:11px;
  padding:3px 8px;background:var(--bg-2);color:var(--text-3);
  border-radius:4px;
}

.project-empty{
  grid-column:1/-1;
  padding:48px;text-align:center;
  background:var(--bg-2);border-radius:var(--r-lg);
  font-size:15px;color:var(--text-3);
}

/* ============================================
   RESOURCES: Strefa wiedzy
   ============================================ */
.resources-grid{
  display:grid;grid-template-columns:2fr 1fr;gap:32px;
}
.resources-main{display:flex;flex-direction:column;gap:24px}
.resources-side{
  display:flex;flex-direction:column;gap:16px;
  position:sticky;top:100px;
}

.resource-card{
  background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);
  overflow:hidden;
  display:grid;grid-template-columns:240px 1fr;gap:0;
  transition:all .2s;
  cursor:pointer;
}
.resource-card:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.resource-card-img{
  background:linear-gradient(135deg, var(--brand-pale) 0%, var(--brand-pale-2) 100%);
  display:grid;place-items:center;
  position:relative;
  min-height:160px;
}
.resource-card-img-ico{
  width:56px;height:56px;
  background:#fff;border-radius:50%;
  display:grid;place-items:center;
  color:var(--brand);
  box-shadow:var(--shadow);
}
.resource-card-img-ico svg{width:24px;height:24px}
.resource-card-body{padding:24px 28px;display:flex;flex-direction:column;gap:10px}
.resource-card-meta{
  display:flex;align-items:center;gap:10px;
  font-family:var(--mono);font-size:11px;color:var(--text-3);letter-spacing:.04em;
  text-transform:uppercase;
}
.resource-card-meta-tag{
  padding:3px 8px;background:var(--brand-pale);color:var(--brand);
  border-radius:4px;font-weight:600;
}
.resource-card h3{
  font-size:18px;font-weight:600;letter-spacing:-.01em;
  color:var(--text);line-height:1.35;
}
.resource-card p{font-size:14px;line-height:1.55;color:var(--text-2)}

/* Side links */
.side-block{
  background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:24px;
}
.side-block h4{
  font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  color:var(--text);margin-bottom:14px;
  font-family:var(--mono);
}
.side-block ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.side-block li a{
  display:flex;align-items:center;gap:8px;
  font-size:14px;color:var(--text-2);
  padding:8px 0;border-bottom:1px solid var(--line);
  transition:color .15s;
}
.side-block li:last-child a{border-bottom:none}
.side-block li a:hover{color:var(--brand)}
.side-block li a svg{width:12px;height:12px;color:var(--text-4);transition:transform .15s}
.side-block li a:hover svg{transform:translateX(3px);color:var(--brand)}

.side-banner{
  background:linear-gradient(135deg, var(--brand) 0%, var(--brand-hover) 100%);
  color:#fff;border-radius:var(--r-lg);
  padding:28px 24px;
}
.side-banner h4{
  font-size:18px;font-weight:600;letter-spacing:-.01em;
  margin-bottom:8px;color:#fff;
}
.side-banner p{font-size:13px;line-height:1.55;color:rgba(255,255,255,.85);margin-bottom:16px}
.side-banner .btn{
  background:#fff;color:var(--brand);border-color:#fff;
  padding:8px 16px;font-size:13px;
}
.side-banner .btn:hover{background:var(--bg-2);color:var(--brand-hover)}

/* Podcast card */
.podcast-card{
  background:#000;color:#fff;
  border-radius:var(--r-lg);overflow:hidden;
  display:grid;grid-template-columns:1fr 1fr;
  min-height:220px;
  position:relative;
}
.podcast-card-content{padding:32px;display:flex;flex-direction:column;justify-content:center;gap:10px}
.podcast-card-eyebrow{
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.6);
}
.podcast-card h3{font-size:22px;font-weight:600;color:#fff;letter-spacing:-.015em;line-height:1.25}
.podcast-card p{font-size:14px;color:rgba(255,255,255,.75);line-height:1.55}
.podcast-card-img{
  background:linear-gradient(135deg, #1a3a5c 0%, var(--brand) 100%);
  display:grid;place-items:center;
  position:relative;
}
.podcast-card-img::before{
  content:'';position:absolute;
  width:64px;height:64px;border-radius:50%;
  background:rgba(255,255,255,.15);
  display:grid;place-items:center;
}
.podcast-card-play{
  position:relative;z-index:1;
  width:0;height:0;
  border-left:18px solid #fff;
  border-top:12px solid transparent;
  border-bottom:12px solid transparent;
  margin-left:5px;
}

/* Conference news */
.news-grid{
  display:grid;grid-template-columns:repeat(3, 1fr);gap:20px;
}
.news-card{
  background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);overflow:hidden;
  display:flex;flex-direction:column;
  transition:all .2s;
}
.news-card:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.news-card-img{
  aspect-ratio:16/10;
  background:var(--bg-2);
  background-size:cover;background-position:center;
}
.news-card-body{padding:20px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.news-card-date{
  font-family:var(--mono);font-size:11px;color:var(--text-3);
  letter-spacing:.04em;text-transform:uppercase;
}
.news-card h3{font-size:16px;font-weight:600;letter-spacing:-.005em;line-height:1.4;color:var(--text)}
.news-card p{font-size:13px;line-height:1.55;color:var(--text-2);flex:1}

/* ============================================
   CTA banner: bottom of page
   ============================================ */
.cta-banner{
  padding:80px 32px;
  background:var(--text);color:#fff;
  text-align:center;
}
.cta-banner-inner{max-width:760px;margin:0 auto}
.cta-banner h2{
  font-size:clamp(28px, 3.5vw, 40px);
  font-weight:600;letter-spacing:-.025em;line-height:1.15;
  color:#fff;margin-bottom:16px;
}
.cta-banner p{
  font-size:17px;line-height:1.55;color:rgba(255,255,255,.75);
  margin-bottom:32px;
}
.cta-banner .btn{display:inline-flex;margin:0 6px}
.cta-banner .btn--primary{background:#fff;color:var(--text);border-color:#fff}
.cta-banner .btn--primary:hover{background:var(--bg-2)}
.cta-banner .btn--ghost{color:#fff;border-color:rgba(255,255,255,.3)}
.cta-banner .btn--ghost:hover{background:rgba(255,255,255,.1);color:#fff;border-color:#fff}

/* ============================================
   ACTIVE NAV LINK
   ============================================ */



/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width:1024px){
  .feature-grid,.feature-grid--3{grid-template-columns:1fr 1fr}
  .split,.split--rev{grid-template-columns:1fr;gap:40px}
  .resources-grid{grid-template-columns:1fr;gap:32px}
  .resources-side{position:static}
  .news-grid{grid-template-columns:1fr 1fr}
  .resource-card{grid-template-columns:1fr}
  .resource-card-img{aspect-ratio:16/9;min-height:auto}
  .podcast-card{grid-template-columns:1fr}
  .podcast-card-img{aspect-ratio:16/9}
}
@media (max-width:720px){
  .page-hero{padding:64px 20px 56px}
  .section{padding:64px 20px}
  .feature-grid,.feature-grid--3{grid-template-columns:1fr}
  .news-grid{grid-template-columns:1fr}
  .project-grid{grid-template-columns:1fr}
  .tabs{overflow-x:auto;flex-wrap:nowrap}
  .tab{white-space:nowrap}
}


/* Logo SVG (zastępuje placeholder G + tekst) */
.nav-logo{display:inline-flex;align-items:center;text-decoration:none}
.nav-logo-img{height:55px;width:auto;display:block}
@media (max-width:640px){
  .nav-logo-img{height:36px}
}


/* ============================================
   O NAS: sekcje
   ============================================ */
.page-hero{
  padding:80px 40px 40px;
  background:var(--bg);
  border-bottom:1px solid var(--line);
}
.page-hero-inner{max-width:1200px;margin:0 auto}
/* Duplikat page-hero-* usunięty */

.onas-text{max-width:840px;display:flex;flex-direction:column;gap:18px}
.onas-text p{font-size:18px;color:var(--text-2);line-height:1.6}
.onas-text strong{color:var(--text);font-weight:700}

/* Pillars */
.onas-pillars{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  margin-bottom:48px;
}
.onas-pillar{
  background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:36px 32px;
  display:flex;flex-direction:column;gap:14px;
  box-shadow:var(--shadow-sm);
}
.onas-pillar-num{
  font-family:var(--mono);font-size:14px;font-weight:600;
  color:var(--brand);letter-spacing:.06em;
}
.onas-pillar-title{
  font-size:24px;font-weight:800;letter-spacing:-.015em;line-height:1.15;
}
.onas-pillar-desc{font-size:15px;color:var(--text-2);line-height:1.55;flex:1}
.onas-pillar-tag{
  display:inline-flex;align-items:center;
  padding:6px 12px;background:var(--brand-pale);
  color:var(--brand);font-family:var(--mono);font-size:10px;font-weight:600;
  letter-spacing:.05em;border-radius:6px;text-transform:uppercase;
  align-self:flex-start;
}

.onas-ambition{
  max-width:840px;
  padding:32px 36px;
  background:#fff;
  border-left:4px solid var(--brand);
  border-radius:0 var(--r-lg) var(--r-lg) 0;
}
.onas-ambition p{font-size:18px;color:var(--text);line-height:1.55;font-style:italic}
.onas-ambition em{font-style:normal;color:var(--brand);font-weight:700}

/* Misja */
.onas-misja{max-width:840px;display:flex;flex-direction:column;gap:18px;margin-bottom:48px}
.onas-misja p{font-size:17px;color:var(--text-2);line-height:1.6}
.onas-misja strong{color:var(--text);font-weight:700}
.onas-misja-lead{font-size:20px !important;color:var(--text) !important}

.onas-questions{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;
  max-width:1024px;
}
.onas-question{
  display:flex;gap:16px;align-items:flex-start;
  padding:22px 26px;
  background:var(--bg-2);border-radius:var(--r-lg);
  border:1px solid var(--line);
}
.onas-question-num{
  font-family:var(--mono);font-size:20px;color:var(--brand);
  font-weight:700;line-height:1.2;flex-shrink:0;
}
.onas-question p{font-size:16px;color:var(--text);line-height:1.5}
.onas-question em{font-style:normal;color:var(--brand);font-weight:600}

/* Entities */
.onas-entities{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.onas-entity{
  background:var(--bg-2);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:28px;
  display:flex;flex-direction:column;gap:16px;
}
.onas-entity-name{
  font-size:18px;font-weight:700;letter-spacing:-.01em;line-height:1.2;
}
.onas-entity-address{
  font-size:14px;color:var(--text-2);line-height:1.55;
  padding-bottom:14px;border-bottom:1px solid var(--line);
}
.onas-entity-meta{
  display:grid;grid-template-columns:auto 1fr;gap:6px 16px;
  font-size:13px;
}
.onas-entity-meta dt{
  font-family:var(--mono);color:var(--text-3);font-weight:500;
  letter-spacing:.04em;text-transform:uppercase;font-size:11px;
}
.onas-entity-meta dd{font-variant-numeric:tabular-nums;color:var(--text);font-weight:500}

@media (max-width:900px){
  .onas-pillars,.onas-entities{grid-template-columns:1fr;gap:16px}
  .onas-questions{grid-template-columns:1fr;gap:12px}
  .page-hero{padding:48px 20px 24px}
}

/* HAMBURGER + DRAWER (skopiowane z index) */
.nav-hamburger{
  display:none;
  width:44px;height:44px;
  background:transparent;border:1px solid var(--line);
  border-radius:var(--r);
  padding:0;cursor:pointer;
  flex-direction:column;justify-content:center;align-items:center;gap:5px;
  transition:all .15s;
  margin-left:auto;
}
.nav-hamburger:hover{border-color:var(--text)}
.nav-hamburger span{
  display:block;width:18px;height:2px;
  background:var(--text);border-radius:2px;
  transition:transform .25s, opacity .15s;
}
.nav-mobile-drawer{
  position:fixed;top:88px;left:0;right:0;bottom:0;
  background:#fff;
  z-index:999;
  padding:24px 24px 48px;
  display:none;flex-direction:column;gap:6px;
  overflow-y:auto;
  border-top:1px solid var(--line);
}
.nav-mobile-drawer.is-open{display:flex}
.nav-mobile-drawer a{
  display:block;
  padding:16px 18px;
  font-size:17px;font-weight:600;
  color:var(--text);
  border-radius:var(--r);
  background:var(--bg-2);
  text-decoration:none;
  transition:all .15s;
}
.nav-mobile-drawer a:hover{background:var(--brand-pale);color:var(--brand)}
.nav-mobile-drawer a.is-active{background:var(--brand);color:#fff}
.nav-mobile-drawer-actions{
  margin-top:16px;padding-top:16px;border-top:1px solid var(--line);
  display:flex;gap:12px;flex-direction:column;
}


/* Submenu dropdown */
.nav-links li.has-submenu{position:relative}
.nav-chevron{width:12px;height:12px;margin-left:6px;transition:transform .2s ease;display:inline-block;vertical-align:middle}
.nav-links li.has-submenu:hover .nav-chevron{transform:rotate(180deg)}
.nav-submenu{position:absolute;top:100%;left:0;min-width:240px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:6px;box-shadow:var(--shadow-lg);list-style:none;margin:0;display:none;z-index:1010;margin-top:6px}
.nav-links li.has-submenu:hover .nav-submenu,
.nav-links li.has-submenu:focus-within .nav-submenu{display:block}
.nav-submenu li{display:block}
.nav-submenu li a{display:block !important;padding:10px 14px !important;border-radius:var(--r) !important;font-size:14px !important;color:var(--text) !important;background:transparent !important;white-space:nowrap}
.nav-submenu li a:hover{background:var(--bg-2) !important}
.nav-submenu li a.is-active{background:var(--brand-pale) !important;color:var(--brand) !important}

/* Nav links - unified pill style */
.nav-links a{font-size:14px;font-weight:500;color:var(--text-2);white-space:nowrap;padding:8px 14px;border-radius:100px;transition:all .15s ease}
.nav-links a:hover{background:var(--bg-2);color:var(--text)}
.nav-links a.is-active{background:var(--brand-pale);color:var(--brand);font-weight:600}
.nav-links a.is-active::after{display:none}


/* ============================================
   NAV HAMBURGER + MOBILE DRAWER (canonical)
   ============================================ */
.nav-hamburger{
  display:none;
  width:44px;height:44px;
  background:transparent;border:1px solid var(--line);
  border-radius:var(--r);
  padding:0;cursor:pointer;
  flex-direction:column;justify-content:center;align-items:center;gap:5px;
  transition:all .15s;
  margin-left:auto;
}
.nav-hamburger:hover{border-color:var(--text)}
.nav-hamburger span{
  display:block;width:18px;height:2px;
  background:var(--text);border-radius:2px;
  transition:transform .25s, opacity .15s;
}
.nav-hamburger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hamburger.is-open span:nth-child(2){opacity:0}
.nav-hamburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.nav-mobile-drawer{
  display:none;
  position:fixed;top:88px;left:0;right:0;bottom:0;
  background:#fff;
  z-index:999;
  padding:24px 24px 48px;
  flex-direction:column;gap:6px;
  overflow-y:auto;
  border-top:1px solid var(--line);
}
.nav-mobile-drawer.is-open{display:flex}
.nav-mobile-drawer a{
  display:block;
  padding:16px 18px;
  font-size:17px;font-weight:600;
  color:var(--text);
  border-radius:var(--r);
  background:var(--bg-2);
  text-decoration:none;
  transition:all .15s;
}
.nav-mobile-drawer a:hover{background:var(--brand-pale);color:var(--brand)}
.nav-mobile-drawer a.is-active{background:var(--brand);color:#fff}
.nav-mobile-drawer-actions{
  margin-top:16px;padding-top:16px;border-top:1px solid var(--line);
  display:flex;gap:12px;flex-direction:column;
}

/* Mobile only (≤900px): pokaż hamburger, ukryj desktop nav */
@media (max-width:900px){
  .nav-links{display:none !important}
  .nav-actions{display:none}
  .nav-hamburger{display:flex}
  body.menu-open{overflow:hidden}
}

/* Fix submenu hover gap: bridge between top-level link i submenu */
.nav-links li.has-submenu{padding-bottom:0}
.nav-submenu{margin-top:0 !important;padding-top:6px}
.nav-links li.has-submenu::after{
  content:'';
  position:absolute;top:100%;left:0;right:0;height:12px;
  display:none;
}
.nav-links li.has-submenu:hover::after{display:block}

.footer-newsletter{
  display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;
  padding:0 0 48px;margin-bottom:48px;
  border-bottom:1px solid var(--line);
}
.footer-newsletter-text h3{
  font-size:24px;font-weight:700;letter-spacing:-.015em;line-height:1.2;
  margin-bottom:6px;
}
.footer-newsletter-text p{
  font-size:14px;color:var(--text-3);line-height:1.55;
}
.footer-newsletter-form{
  display:flex;gap:10px;flex-wrap:wrap;align-items:center;
}
.footer-newsletter-input{
  flex:1;min-width:200px;
  padding:12px 16px;
  background:var(--bg-2);
  border:1px solid var(--line);
  border-radius:var(--r);
  font-family:inherit;font-size:14px;
  color:var(--text);
  transition:all .15s;
}
.footer-newsletter-input::placeholder{color:var(--text-4)}
.footer-newsletter-input:focus{outline:none;border-color:var(--brand);background:#fff}
@media (max-width:768px){
  .footer-newsletter{grid-template-columns:1fr;gap:24px}
}

/* Lucide icons via sprite */
.icon{
  display:inline-block;
  width:1em;height:1em;
  flex-shrink:0;
  vertical-align:-.125em;
}
.icon use{pointer-events:none}

/* Pill 1,5% Wesprzyj nas: propagacja z index.html */
.hero-donate-pill{
  display:inline-flex;align-items:center;gap:10px;
  padding:6px 18px 6px 6px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:100px;
  box-shadow:var(--shadow-sm);
  transition:all .15s;
  text-decoration:none;
}
.hero-donate-pill:hover{border-color:var(--line-strong);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.hero-donate-pill-tag{
  display:inline-flex;align-items:center;
  background:var(--orange);color:var(--black);
  padding:5px 10px;border-radius:100px;
  font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.01em;
}
.hero-donate-pill-tag img{
  display:block;height:14px;width:auto;
}
.hero-donate-pill-avatars{display:inline-flex}
.hero-donate-pill-avatars img{
  width:28px;height:28px;border-radius:50%;
  object-fit:cover;
  border:2px solid #fff;
  margin-left:-8px;
  background:var(--bg-3);
}
.hero-donate-pill-avatars img:first-child{margin-left:0}
.hero-donate-pill-text{font-size:14px;font-weight:500;color:var(--text)}

@media (max-width:768px){
  .marquee-item{width:240px}
  .marquee--row1 .marquee-track{animation-duration:35s}
  .marquee--row2 .marquee-track{animation-duration:45s}
}

/* Donate pill w stopce (przeniesiona z hero) */
.footer-donate-pill{
  display:inline-flex;align-items:center;gap:10px;
  padding:6px 18px 6px 6px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:100px;
  box-shadow:var(--shadow-sm);
  transition:all .15s;
  text-decoration:none;
}
.footer-donate-pill:hover{border-color:var(--line-strong);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.footer-donate-pill .hero-donate-pill-tag,
.footer-donate-pill .hero-donate-pill-avatars,
.footer-donate-pill .hero-donate-pill-text{display:inline-flex}

/* === Team carousel + person modal (skopiowane z dla-biznesu.html) === */
.team-carousel{
  position:relative;
  max-width:1200px;margin:0 auto;
}
.team-carousel-track{
  display:flex;gap:20px;
  overflow-x:auto;
  scroll-snap-type:none;
  padding:8px 4px 32px;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.team-carousel-track::-webkit-scrollbar{display:none}
.team-carousel-controls{
  display:flex;align-items:center;justify-content:center;gap:16px;
  margin-top:24px;
}
.team-carousel-btn{
  width:42px;height:42px;
  border-radius:50%;
  background:#fff;border:1px solid var(--line);
  display:grid;place-items:center;
  cursor:pointer;color:var(--text);
  transition:all .15s;
}
.team-carousel-btn:hover{
  background:var(--brand);border-color:var(--brand);color:#fff;
}
.team-carousel-btn:disabled{opacity:.4;cursor:not-allowed}
.team-carousel-btn:disabled:hover{
  background:#fff;border-color:var(--line);color:var(--text);
}
.team-carousel-btn svg{width:14px;height:14px}
.team-carousel-dots{display:flex;gap:6px;align-items:center}
.team-carousel-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--line-strong);cursor:pointer;
  transition:all .2s;border:none;padding:0;
}
.team-carousel-dot.is-active{
  background:var(--brand);width:24px;border-radius:3px;
}
.team-tile{
  flex:0 0 calc((100% - 20px * 3.5) / 4.5);
  min-width:0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  overflow:hidden;
  scroll-snap-align:start;
  transition:all .25s;
  display:flex;flex-direction:column;
  text-decoration:none;color:inherit;
}
.team-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--line-strong)}
@media (max-width:1024px){
  .team-tile{flex:0 0 calc((100% - 20px * 1.5) / 2.5)}
}
@media (max-width:640px){
  .team-tile{flex:0 0 calc((100% - 20px * 0.5) / 1.5)}
}
.team-tile:hover{
  border-color:var(--brand);
  transform:translateY(-3px);
  box-shadow:var(--shadow-md);
}
.team-tile-photo{
  aspect-ratio:1/1;
  overflow:hidden;
  background:var(--bg-2);
}
.team-tile-photo img{width:100%;height:100%;object-fit:cover;display:block}
.team-tile-body{padding:20px 22px;display:flex;flex-direction:column;gap:4px}
.team-tile-name{
  font-size:16px;font-weight:600;letter-spacing:-.005em;
  color:var(--text);line-height:1.3;
}
.team-tile-role{
  font-size:13px;color:var(--text-2);line-height:1.4;
}
.team-tile-org{
  font-family:var(--mono);font-size:11px;
  color:var(--brand);font-weight:600;
  letter-spacing:.05em;text-transform:uppercase;
  margin-top:4px;
  padding-top:8px;border-top:1px solid var(--line);
}
.team-carousel-icon-play,.team-carousel-icon-pause{width:14px;height:14px}

/* Person modal (skopiowane z footprint.html) */
.person-modal-bg{
  position:fixed;inset:0;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(6px);
  z-index:9999;
  display:none;align-items:center;justify-content:center;
  padding:24px;
}
.person-modal-bg.is-open{display:flex}
.person-modal{
  background:#fff;
  border-radius:var(--r-lg);
  max-width:960px;width:100%;
  max-height:88vh;overflow:auto;
  position:relative;
  box-shadow:var(--shadow-lg);
}
.person-modal-close{
  position:absolute;top:16px;right:16px;
  width:36px;height:36px;border-radius:50%;
  background:rgba(0,0,0,.05);border:none;
  display:grid;place-items:center;cursor:pointer;
  font-size:22px;line-height:1;color:var(--text-2);
  transition:all .15s;
  z-index:10;
}
.person-modal-close:hover{background:rgba(0,0,0,.1)}
.person-modal-grid{
  display:grid;grid-template-columns:1.6fr 1fr;gap:40px;
  padding:40px 40px 32px;
}
.person-modal-left{display:flex;flex-direction:column;gap:14px}
.person-modal-right{
  display:flex;flex-direction:column;gap:14px;align-items:flex-start;
}
.person-modal-img{
  width:200px;height:200px;border-radius:50%;
  background:var(--bg-2);overflow:hidden;flex-shrink:0;
  position:relative;align-self:center;
}
.person-modal-img img{width:100%;height:100%;object-fit:cover;display:block}
.person-modal-init{
  position:absolute;inset:0;display:grid;place-items:center;
  background:linear-gradient(135deg, var(--brand-pale) 0%, var(--bg-2) 100%);
  color:var(--brand);font-weight:800;font-size:48px;
}
.person-modal-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:0}
.person-modal-tag{
  font-family:var(--mono);font-size:10px;font-weight:600;
  color:var(--brand);background:var(--brand-pale);
  padding:3px 8px;border-radius:6px;letter-spacing:.04em;text-transform:uppercase;
}
.person-modal-name{
  font-size:24px;font-weight:800;letter-spacing:-.015em;line-height:1.15;
  margin-bottom:4px;
}
.person-modal-role{font-size:14px;color:var(--text-2);margin-bottom:6px}
.person-modal-country{
  font-family:var(--mono);font-size:11px;color:var(--text-3);
  letter-spacing:.05em;
}
.person-modal-bio{
  font-size:15px;color:var(--text);line-height:1.6;
  margin-bottom:0;
}
.person-modal-no-bio{
  font-size:13px;color:var(--text-4);font-style:italic;
  padding:14px;background:var(--bg-2);border-radius:var(--r);
  margin-bottom:14px;
}
.person-modal-bio-wrap{
  position:relative;overflow:hidden;
  max-height:340px;
  transition:max-height .4s ease;
}
.person-modal-bio-wrap.is-expanded{max-height:6000px}
.person-modal-bio-wrap:not(.is-expanded):not(.is-short)::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:90px;
  background:linear-gradient(to bottom, rgba(255,255,255,0) 0%, #fff 80%);
  pointer-events:none;
}
.person-modal-bio-toggle{
  background:none;border:none;color:var(--brand);
  font-weight:600;font-size:14px;cursor:pointer;
  padding:6px 0;margin-top:6px;
  display:inline-flex;align-items:center;gap:6px;
  font-family:inherit;
}
.person-modal-bio-toggle:hover{text-decoration:underline}
.person-modal-bio-toggle[hidden]{display:none}
.person-modal-bio-toggle .chevron{
  display:inline-block;transition:transform .25s ease;font-size:12px;
}
.person-modal-bio-toggle[data-expanded="true"] .chevron{transform:rotate(180deg)}
.person-modal-yt-embed{
  position:relative;width:100%;aspect-ratio:16/9;
  border-radius:var(--r);overflow:hidden;background:var(--bg-2);margin-top:8px;
}
.person-modal-yt-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:760px){
  .person-modal-grid{grid-template-columns:1fr;gap:20px;padding:24px}
  .person-modal-right{align-items:center;text-align:center}
  .person-modal-img{width:140px;height:140px}
  .person-modal-tags{justify-content:center}


}

/* ── strony osobowe /osoba/<slug> ─────────────────────────────────────── */
.osoba-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}
@media (max-width:900px){.osoba-grid{grid-template-columns:1fr;gap:32px}}
.osoba-h2{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);
  font-weight:600;margin:0 0 20px}
.osoba-bio-p{font-size:17px;line-height:1.75;color:var(--text-2);margin:0 0 18px;max-width:68ch}
.osoba-powrot{margin-top:32px;font-size:15px}
.osoba-powrot a{color:var(--brand);font-weight:500}
.osoba-bok{display:flex;flex-direction:column;gap:20px;position:sticky;top:96px}
@media (max-width:900px){.osoba-bok{position:static}}
.osoba-foto{width:100%;aspect-ratio:1;border-radius:14px;overflow:hidden;background:var(--bg-2)}
.osoba-foto img{width:100%;height:100%;object-fit:cover;display:block}
.osoba-foto:empty{display:none}
.osoba-meta{display:flex;flex-direction:column;gap:4px}
.osoba-meta-rola{font-weight:600;font-size:15px;color:var(--text)}
.osoba-meta-org{font-size:14px;color:var(--text-3)}
.osoba-meta-kraj{font-size:14px;color:var(--text-3);margin-top:4px}
.osoba-tagi{display:flex;flex-wrap:wrap;gap:6px}
.osoba-tag{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);
  color:var(--text-3);text-decoration:none}
.osoba-tag:hover{border-color:var(--brand);color:var(--brand)}
.osoba-box{border-top:1px solid var(--line);padding-top:18px}
.osoba-box-h{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);
  font-weight:600;margin:0 0 12px}
.osoba-chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.osoba-chip{font-size:12px;padding:4px 10px;border-radius:6px;background:var(--bg-2);
  color:var(--text-2)}
.osoba-linki{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.osoba-linki a{font-size:14px;color:var(--text-2);line-height:1.45;text-decoration:none}
.osoba-linki a:hover{color:var(--brand)}
.osoba-link-ext{font-size:11px;margin-left:4px;color:var(--text-4)}
