/* ============================================================
   No Random Choice — norandomchoice.pl
   Wiernie wg Figmy „nrc-lp” (wersja zielona).
   Desktop: stały ekran 100vh — lewa kolumna + przewijany feed kart.
   ============================================================ */

:root{
  --green:#678d58;          /* zieleń logo / nav */
  --green-deep:#4c6a40;     /* ciemniejsza zieleń gradientów */
  --green-dark:#3d5434;     /* najciemniejsza — panele ambasadorów */
  --green-tint:#7ba05b;     /* nakładka karty wideo */
  --cream:#f6f2e7;          /* tło strony */
  --cream-card:#efe9da;     /* jaśniejsze wypełnienia */
  --ink:#2e3629;            /* nagłówki */
  --muted:#77806f;          /* tekst pomocniczy */
  --line:#e0dac9;
  --r-card:28px;
  --shadow:0 24px 60px -30px rgba(46,54,41,.45);
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:'Quicksand',system-ui,sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
button{font:inherit;background:none;border:0;cursor:pointer;color:inherit}
a{color:inherit;text-decoration:none}
img{max-width:100%}
:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:8px}

.i{width:1em;height:1em;display:block}

.eyebrow{
  font-size:.72rem;font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;
}

/* ============================================================
   LAYOUT — desktop
   ============================================================ */
.layout{
  display:grid;
  grid-template-columns:auto minmax(320px,29%) 1fr;
  gap:0 2.2vw;
  min-height:100svh;
  padding:0 0 0 24px;
}
@media(min-width:1080px){
  body{overflow:hidden;height:100svh}   /* przewija się tylko feed */
  .card-hero .card-img{object-position:center 78%}   /* niżej kadr — widać deskę z drobiem */
  .layout{
    grid-template-rows:1fr auto;
    height:100svh;
    padding-bottom:18px;
  }
  .rail{grid-column:1;grid-row:1}
  .intro{grid-column:2;grid-row:1;min-height:0}
  .feed-wrap{grid-column:3;grid-row:1 / span 2}
  .site-footer{grid-column:2;grid-row:2;margin-top:0}
}

/* ---------- pionowy pill-nav ---------- */
.rail{
  align-self:start;
  margin-top:44px;
  display:flex;flex-direction:column;gap:26px;
  background:var(--green);
  border-radius:999px;
  padding:26px 14px 30px;
  width:88px;
  box-shadow:var(--shadow);
}
.rail-item{
  display:flex;flex-direction:column;align-items:center;gap:7px;
  color:#fff;
}
.rail-ico{
  width:40px;height:40px;border-radius:50%;
  background:#fff;color:var(--green);
  display:grid;place-items:center;
  font-size:1.15rem;
  transition:transform .15s ease, box-shadow .15s ease;
}
.rail-item:not(.is-soon):hover .rail-ico{transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.18)}
.rail-label{
  font-size:.62rem;font-weight:600;letter-spacing:.04em;color:#fff;
  position:relative;padding-bottom:4px;
}
.rail-item.is-active .rail-label::after{
  content:"";position:absolute;left:10%;right:10%;bottom:0;height:2px;background:#fff;border-radius:2px;
}
.rail-item.is-soon{opacity:.55;cursor:default}

/* ---------- lewa kolumna ---------- */
.intro{
  padding-top:44px;
  max-width:480px;
}
.logo-card{
  background:#fff;
  border-radius:20px;
  padding:26px 30px;
  box-shadow:var(--shadow);
  width:min(340px,100%);
  margin-bottom:34px;
}
.logo-card img{display:block;width:100%;height:auto}

.intro-copy .lead{font-weight:700;font-size:1.02rem;margin-bottom:16px}
.intro-copy .over{
  font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  margin-bottom:16px;
}
.intro-copy p{font-size:.95rem;color:#4a5243;margin-bottom:14px;max-width:42ch}
.intro-copy .hashtag{font-weight:700;color:var(--ink);margin-top:4px}

.intro-socials{display:flex;gap:12px;margin:18px 0 26px}
.intro-socials a{
  width:40px;height:40px;border-radius:50%;
  border:1.5px solid var(--ink);
  display:grid;place-items:center;font-size:1rem;color:var(--ink);
  transition:.15s;
}
.intro-socials a:hover{background:var(--green);border-color:var(--green);color:#fff;transform:translateY(-2px)}

.intro-line{border:0;border-top:1.5px solid var(--line);margin:0 0 22px;max-width:440px}

/* „Twoje wartości" (stories) tylko na Starcie */
body:not([data-tab="start"]) .values{display:none}

.values-head{display:flex;align-items:baseline;justify-content:space-between;max-width:440px;margin-bottom:18px}
.values-title{font-size:.78rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.values-hint{font-size:.72rem;color:var(--muted);font-weight:500}
.values-row{display:flex;gap:14px;flex-wrap:wrap;max-width:460px}
.value{
  display:flex;flex-direction:column;align-items:center;gap:7px;
  width:62px;
  color:var(--ink);
}
.value span:last-child{font-size:.6rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}
.value-ico{
  width:46px;height:46px;border-radius:50%;
  border:1.6px solid var(--ink);
  display:grid;place-items:center;font-size:1.15rem;
  transition:.15s;
}
.value-ico{position:relative}
.value:hover .value-ico{transform:translateY(-2px)}
/* stories: nieobejrzane podświetlone zielonym ringiem (statycznie — bez
   ciągłej animacji, która repaintowała co klatkę i potrafiła ścinać stronę) */
.value:not(.seen) .value-ico{
  border-color:var(--green);
  box-shadow:0 0 0 2px var(--cream),0 0 0 4px var(--green);
  color:var(--green);
}

/* obejrzane: bez ringu, lekko stonowane, ale wyraźnie klikalne + znaczek ✓
   (kliknięcie zawsze odtwarza stories od nowa) */
.value.seen{opacity:.8}
.value.seen .value-ico{border-color:var(--line);background:rgba(103,141,88,.08)}
.value.seen:hover{opacity:1}
.value.seen:hover .value-ico{border-color:var(--green);color:var(--green)}
.value.seen .value-ico::after{
  content:"";position:absolute;right:-2px;bottom:-2px;
  width:17px;height:17px;border-radius:50%;
  background:var(--green);border:2px solid var(--cream);
  /* biały ptaszek */
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6L9 17l-5-5' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size:11px 11px;background-position:center;background-repeat:no-repeat;
}

/* ============================================================
   FEED
   ============================================================ */
.feed-wrap{position:relative;min-width:0}
.scroll-hint{
  position:absolute;top:44px;right:34px;z-index:5;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.45);
  font-size:.62rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;
}
.scroll-hint i{width:1.5px;height:52px;background:currentColor;display:block}

.feed{
  height:100svh;
  overflow-y:auto;
  scroll-snap-type:y mandatory;
  scrollbar-width:none;
  padding:2.5svh 24px 2.5svh 0;
  display:flex;flex-direction:column;gap:1.6svh;
}
.feed::-webkit-scrollbar{display:none}
.feed[hidden]{display:none}

.card{
  position:relative;
  flex:none;
  height:95svh;
  min-height:420px;
  scroll-snap-align:start;
  scroll-margin-top:2.5svh;
  border-radius:var(--r-card);
  overflow:hidden;
  background:var(--cream-card);
  box-shadow:var(--shadow);
  isolation:isolate;
}
/* przygaszenie nieaktywnych kart (jak w Figmie) */
.card::after{
  content:"";position:absolute;inset:0;z-index:4;
  background:rgba(246,242,231,.78);
  opacity:1;transition:opacity .45s ease;
  pointer-events:none;
}
.card.is-active::after{opacity:0}

.card-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;z-index:0;
}
.card.noimg .card-img{display:none}

/* podpowiedź placeholdera — znika, gdy plik zdjęcia istnieje */
.ph-hint{display:none}
.card.noimg .ph-hint{
  display:block;position:absolute;z-index:1;
  top:18px;right:18px;
  background:rgba(46,54,41,.75);color:#fff;
  font-size:.72rem;font-weight:600;line-height:1.5;
  padding:10px 14px;border-radius:12px;text-align:right;
}
.card.noimg .ph-hint small{font-weight:500;opacity:.75}
.card.noimg{
  background:
    radial-gradient(120% 90% at 20% 15%, #dfe5d2 0%, transparent 55%),
    linear-gradient(150deg,#cfd8bf 0%, #a9bb92 55%, #8ba573 100%);
}

/* ---------- karta ze zdjęciem (hero / artykuł) ---------- */
.card-shade{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg, rgba(77,106,64,.82) 0%, rgba(77,106,64,.28) 38%, rgba(77,106,64,0) 62%);
}
.card-copy{
  position:absolute;z-index:2;left:5.5%;bottom:10%;
  color:#fff;max-width:min(620px,84%);
  text-shadow:0 2px 18px rgba(30,40,25,.35);
}
.card-copy .eyebrow{opacity:.9;margin-bottom:7px;font-size:.66rem}
.card-copy h2{
  font-size:clamp(1.2rem,1.5vw,1.7rem);
  font-weight:700;letter-spacing:.01em;line-height:1.3;
}
.card-copy .card-sub{margin-top:8px;font-size:.85rem;font-weight:500;opacity:.92;max-width:60ch}

/* strzałka „scroll" na karcie hero */
.card-arrow{
  position:absolute;z-index:3;left:50%;bottom:22px;transform:translateX(-50%);
  color:#fff;width:34px;height:34px;opacity:.9;
  animation:arrowBob 1.8s ease-in-out infinite;
}
.card-arrow svg{width:100%;height:100%}
@keyframes arrowBob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,7px)}}
@media(prefers-reduced-motion:reduce){.card-arrow{animation:none}}

/* przycisk „Czytaj dalej" na kartach artykułów (Wiedza) */
.card-btn{
  display:inline-flex;align-items:center;gap:.5rem;margin-top:16px;
  background:#fff;color:var(--green);font-weight:700;font-size:.9rem;
  padding:.7rem 1.3rem;border-radius:999px;transition:.15s;
}
.card-btn:hover{background:var(--green);color:#fff;transform:translateY(-2px)}
.card-btn .arrow{transition:transform .15s ease}
.card-btn:hover .arrow{transform:translateX(3px)}
.card-article .card-shade{
  background:linear-gradient(90deg,rgba(61,84,52,.9) 0%,rgba(61,84,52,.45) 45%,rgba(61,84,52,.05) 72%);
}

/* karta „wkrótce" (3. ambasador) — ten sam gradient co karty ambasadorek */
.soon-inner{display:flex;flex-direction:column;align-items:flex-start;color:#fff}
.soon-inner .eyebrow{opacity:.85;margin-bottom:10px}
.soon-inner h2{font-size:clamp(1.4rem,1.9vw,2rem);font-weight:700;margin-bottom:10px}
.soon-inner .card-sub{opacity:.9;max-width:46ch}
.amb-badge-empty{
  width:96px;height:96px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.14);border:2px solid rgba(255,255,255,.3);
  color:#fff;margin-bottom:22px;
}
.amb-badge-empty .i{width:2.2rem;height:2.2rem}

/* rolka wideo — pionowa (9:16), wyśrodkowana i w całości widoczna;
   paski po bokach wypełnia rozmyte tło (ta sama okładka) */
.card-reel .card-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
  filter:blur(26px) brightness(.55);transform:scale(1.18);
}
.reel-vid{
  position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1;
}
/* przycisk dźwięku — mały, w prawym górnym rogu karty */
.reel-sound{
  position:absolute;z-index:6;top:18px;right:18px;
  width:44px;height:44px;border-radius:50%;
  background:rgba(24,34,20,.5);border:1px solid rgba(255,255,255,.55);color:#fff;
  display:grid;place-items:center;transition:.15s;backdrop-filter:blur(4px);
}
.reel-sound svg{width:22px;height:22px}
.reel-sound svg[hidden]{display:none}   /* .i{display:block} nadpisywało atrybut hidden */
.reel-sound:hover{background:rgba(24,34,20,.7)}

/* ---------- karta rolki „Kto wie lepiej od Ciebie…" ----------
   Okładka (reel-cover.jpg) ma wypalone logo i hasło, więc jest posterem
   pod wideo; własna nakładka CSS już niepotrzebna. */
.card-video{background:var(--green-deep)}
.video-tint{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(120deg, rgba(103,141,88,.92) 0%, rgba(123,160,91,.78) 50%, rgba(103,141,88,.9) 100%);
}
.video-copy{
  position:absolute;inset:0;z-index:2;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;color:#fff;padding:24px;
}
.video-logo{width:min(190px,38%);height:auto;margin-bottom:6px}
.video-title{
  font-size:clamp(.95rem,1.2vw,1.25rem);
  font-weight:700;line-height:1.35;margin-bottom:22px;
  text-shadow:0 2px 14px rgba(30,40,25,.3);
}
.video-play{
  width:70px;height:70px;border-radius:50%;
  background:rgba(46,64,38,.55);
  border:2px solid rgba(255,255,255,.65);
  color:#fff;display:grid;place-items:center;
  transition:.15s;
}
.video-play svg{width:32px;height:32px;margin-left:4px}
.video-play:hover{transform:scale(1.06);background:rgba(46,64,38,.75)}
.video-tag{
  position:absolute;bottom:7%;left:0;right:0;
  font-size:.8rem;font-weight:600;letter-spacing:.06em;opacity:.9;
}

/* ---------- karta statystyki ---------- */
.card-stat{background:var(--cream-card)}
.stat-inner{
  position:relative;z-index:2;height:100%;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  padding:0 8%;
  max-width:640px;
}
.stat-ring{
  width:120px;height:120px;border-radius:50%;
  border:7px solid var(--green);
  display:grid;place-items:center;background:#fff;
  margin-bottom:30px;
}
.stat-ring span{font-size:1.6rem;font-weight:700;color:var(--green);text-align:center;line-height:1}
.stat-ring small{display:block;font-size:.65rem;font-weight:600;color:var(--muted);margin-top:3px}
.card-stat .eyebrow{color:var(--green);margin-bottom:10px}
.card-stat h2{font-size:clamp(1.4rem,1.9vw,2rem);font-weight:700;line-height:1.3;margin-bottom:12px}
.stat-sub{color:var(--muted);font-weight:500;font-size:.95rem}
.stat-badge{position:absolute;right:36px;bottom:30px;width:110px;height:auto;opacity:.9}

/* ---------- karta ambasadora (profil na gradiencie) ---------- */
.card-amb{
  clip-path:inset(0 round var(--r-card));
  min-height:470px;color:#fff;
  background:linear-gradient(160deg,#fbf8f0 0%,var(--cream-card) 100%);
  display:flex;align-items:center;
}
.amb-inner{
  position:relative;z-index:2;
  width:100%;max-width:620px;margin:0 auto;padding:6% 8%;
}

/* rozmyte zdjecie w tle profilu (ustawiane inline przez --amb-bg) */
.card-amb::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(160deg,rgba(28,38,24,.66) 0%,rgba(40,56,34,.74) 100%),var(--amb-bg,none);
  background-size:cover,cover;background-position:center,center;
}
.amb-head{display:flex;align-items:center;gap:22px;margin-bottom:20px}
.amb-avatar{
  flex:none;width:112px;height:112px;border-radius:50%;overflow:hidden;
  border:4px solid rgba(255,255,255,.85);background:rgba(255,255,255,.12);
  box-shadow:0 12px 30px -14px rgba(16,22,13,.7);
}
.amb-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.amb-name{font-size:clamp(1.5rem,2.2vw,2.1rem);font-weight:700;line-height:1.1;letter-spacing:-.01em}
.amb-socials{display:flex;gap:10px;margin-bottom:18px}
.amb-socials a{
  width:38px;height:38px;border-radius:50%;
  border:1.6px solid rgba(255,255,255,.9);
  background:rgba(255,255,255,.18);
  display:grid;place-items:center;font-size:.9rem;color:#fff;
  box-shadow:0 4px 14px rgba(16,22,13,.35);
  transition:.15s;
}
.amb-socials a:hover{background:#fff;border-color:#fff;color:var(--green-deep);transform:translateY(-1px)}
.amb-role{font-weight:700;font-size:.98rem;line-height:1.45;margin-bottom:14px}
.amb-bio{font-size:.92rem;font-weight:500;line-height:1.6;color:rgba(255,255,255,.94);margin-bottom:11px;max-width:52ch}
.amb-quote{margin-top:24px;border:0;padding:20px 22px;border-radius:20px;color:#fff;
  background:linear-gradient(140deg,rgba(123,160,91,.95) 0%,rgba(103,141,88,.95) 100%);
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 18px 40px -24px rgba(16,22,13,.8)}
.amb-quote .eyebrow{opacity:.9;margin-bottom:6px;font-size:.68rem;color:#fff}
.amb-quote .quote{font-size:clamp(1.1rem,1.4vw,1.45rem);font-weight:700;line-height:1.35;color:#fff}

/* ============================================================
   MOBILE ELEMENTS — ukryte na desktopie
   ============================================================ */
.m-top,.m-overlay,.m-tabbar{display:none}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1079px){

  .layout{
    display:block;
    padding:0 16px 110px;
  }
  .rail{display:none}

  /* --- top bar --- */
  .m-top{
    display:flex;align-items:center;justify-content:space-between;
    padding:14px 16px 12px;
    position:sticky;top:0;z-index:40;
    background:var(--cream);
    border-bottom:1px solid rgba(224,218,201,.55);
  }
  .m-logo{width:146px;height:auto}
  .m-burger{
    width:44px;height:44px;border-radius:50%;
    background:var(--green);
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4.5px;
    box-shadow:0 6px 16px -8px rgba(46,54,41,.4);
  }
  .m-burger span{width:18px;height:2px;background:#fff;border-radius:2px}

  /* --- overlay menu --- */
  .m-overlay{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;
    position:fixed;inset:0;z-index:60;
    background:linear-gradient(160deg,var(--green) 0%,var(--green-deep) 100%);
    color:#fff;text-align:center;
  }
  .m-overlay[hidden]{display:none}
  .m-overlay-close{
    position:absolute;top:22px;right:22px;
    font-size:1.3rem;color:#fff;padding:8px;
  }
  .m-overlay-logo{width:200px;height:auto}
  .m-overlay-nav{display:flex;flex-direction:column;gap:22px}
  .m-overlay-nav button,.m-overlay-nav .soon{
    font-size:1.35rem;font-weight:700;color:#fff;
  }
  .m-overlay-nav .is-active{text-decoration:underline;text-underline-offset:8px}
  .m-overlay-nav .soon{opacity:.55}
  .m-overlay-socials{display:flex;gap:14px}
  .m-overlay-socials a{
    width:44px;height:44px;border-radius:50%;
    border:1.5px solid rgba(255,255,255,.8);
    display:grid;place-items:center;font-size:1.05rem;color:#fff;
  }

  /* --- intro --- */
  .intro{padding-top:22px;max-width:none}
  .logo-card{display:none}         /* logo jest w top barze */
  .intro-copy .lead{font-size:1.08rem;margin-bottom:12px}
  .intro-copy p{max-width:none;font-size:.95rem;margin-bottom:12px}
  .intro-copy .hashtag{margin-top:2px}
  .intro-socials{margin:20px 0 26px}
  .intro-socials a{width:44px;height:44px;font-size:1.05rem}
  .intro-line{max-width:none;margin-bottom:22px}

  .values-head{max-width:none;margin-bottom:18px;flex-wrap:wrap;row-gap:2px}
  .values-row{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:18px 8px;max-width:none;
  }
  .value{width:auto;gap:8px}
  .value-ico{width:50px;height:50px;font-size:1.25rem}
  .value span:last-child{font-size:.66rem;white-space:normal;text-align:center}

  /* --- feed --- */
  .scroll-hint{display:none}
  .feed{
    height:auto;overflow:visible;scroll-snap-type:none;
    padding:26px 0 0;gap:22px;
  }
  .card{height:auto;min-height:0;aspect-ratio:auto;border-radius:24px}
  .card::after{display:none}       /* na mobile brak przygaszania */

  .ph-hint{font-size:.6rem}
  .card.noimg .ph-hint{top:14px;right:14px;padding:8px 11px;border-radius:10px}

  /* karty ze zdjęciem — portretowe, tekst na dole na gradiencie */
  .card-photo{aspect-ratio:4/5;max-height:540px}
  .card-shade{
    background:linear-gradient(180deg,rgba(61,84,52,0) 32%,rgba(61,84,52,.72) 100%);
  }
  .card-copy{left:22px;right:22px;bottom:22px;max-width:none}
  .card-copy .eyebrow{font-size:.62rem;margin-bottom:6px}
  .card-copy h2{font-size:1.3rem;line-height:1.32}
  .card-copy .card-sub{font-size:.85rem;margin-top:8px}

  /* karta wideo — grafika z Figmy ma już logo/hasło, więc gdy jest
     wczytana, chowamy własną nakładkę i zostawiamy sam przycisk play */
  .card-video{aspect-ratio:9/16;max-height:640px}
  .video-logo{width:168px;margin-bottom:10px}
  .video-title{font-size:1.02rem;margin-bottom:22px}
  .video-play{width:64px;height:64px}
  .video-play svg{width:28px;height:28px}
  .video-tag{bottom:20px;font-size:.74rem}
  .card-video:not(.noimg) .video-tint,
  .card-video:not(.noimg) .video-logo,
  .card-video:not(.noimg) .video-title,
  .card-video:not(.noimg) .video-tag{display:none}
  .card-video:not(.noimg) .video-copy{justify-content:flex-end;padding-bottom:17%}

  /* karta statystyki — naturalna wysokość */
  .stat-inner{
    position:relative;height:auto;max-width:none;display:block;
    padding:34px 24px 30px;
  }
  .stat-ring{width:100px;height:100px;border-width:6px;margin-bottom:22px}
  .stat-ring span{font-size:1.35rem}
  .card-stat .eyebrow{font-size:.62rem}
  .card-stat h2{font-size:1.3rem;margin-bottom:10px}
  .stat-sub{font-size:.9rem;padding-right:96px}
  .stat-badge{right:18px;bottom:16px;width:82px}


  /* --- dolny tab bar --- */
  .m-tabbar{
    display:flex;justify-content:space-around;align-items:center;
    position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:50;
    background:var(--green);
    border-radius:20px;
    padding:11px 4px;
    box-shadow:0 14px 34px -12px rgba(46,54,41,.6);
  }
  .m-tabbar button,.m-tabbar .soon{
    display:flex;flex-direction:column;align-items:center;gap:5px;
    color:#fff;font-size:.6rem;font-weight:600;letter-spacing:.02em;
    min-width:64px;position:relative;padding-bottom:4px;
  }
  .m-tabbar .i{font-size:1.3rem}
  .m-tabbar .is-active::after{
    content:"";position:absolute;bottom:0;left:24%;right:24%;height:2px;background:#fff;border-radius:2px;
  }
  .m-tabbar .soon{opacity:.55}
}

@media(min-width:1080px) and (max-width:1400px){
  .layout{grid-template-columns:auto minmax(300px,32%) 1fr}
  .amb-panel{max-width:330px}
  /* wąska kolumna — zmieść wszystkie 6 kółek wartości w jednym rzędzie */
  .values-row{gap:8px;max-width:none;flex-wrap:nowrap}
  .value{width:auto;flex:1 1 0;min-width:0}
  .value-ico{width:42px;height:42px}
  .value span:last-child{font-size:.56rem}
}

/* Niskie okna na desktopie — skalujemy lewą kolumnę w dół, żeby „Twoje wartości"
   zawsze się mieściły bez ukrytego scrolla (inaczej znikały przy niższych oknach). */
@media(min-width:1080px) and (max-height:900px){
  .intro{padding-top:30px}
  .logo-card{width:min(290px,100%);padding:20px 24px;margin-bottom:22px}
  .intro-copy .lead{font-size:.98rem;margin-bottom:11px}
  .intro-copy p{margin-bottom:11px}
  .intro-socials{margin:14px 0 18px}
  .intro-line{margin-bottom:16px}
  .values-head{margin-bottom:13px}
  .value-ico{width:42px;height:42px}
}
@media(min-width:1080px) and (max-height:760px){
  .intro{padding-top:20px}
  .logo-card{width:min(240px,100%);padding:14px 18px;margin-bottom:14px}
  .intro-copy .lead{font-size:.9rem;margin-bottom:8px}
  .intro-copy p{font-size:.85rem;margin-bottom:8px}
  .intro-socials{margin:10px 0 13px}
  .intro-socials a{width:34px;height:34px;font-size:.9rem}
  .intro-line{margin-bottom:11px}
  .values-head{margin-bottom:10px}
  .values-hint{display:none}
  .value{width:56px}
  .value-ico{width:38px;height:38px;font-size:1rem}
  .value span:last-child{font-size:.56rem}
}

/* ============================================================
   LEWA KOLUMNA: układ z footerem u dołu (desktop)
   ============================================================ */
@media(min-width:1080px){
  .intro{padding-bottom:14px;overflow:auto;scrollbar-width:none}
  .intro::-webkit-scrollbar{display:none}
  .values{margin-top:6px}
}

/* ============================================================
   STOPKA
   ============================================================ */
.site-footer{border-top:1.5px solid var(--line);padding-top:22px;margin-top:26px}
.foot-logos{display:flex;align-items:center;gap:18px;margin-bottom:14px}
.foot-logo{height:46px;width:auto;display:block}
.foot-fp{height:52px}
.foot-krd{height:52px}
.foot-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:8px}
.foot-links a{font-size:.82rem;font-weight:600;color:var(--ink);position:relative}
.foot-links a:hover{color:var(--green)}
.foot-copy{font-size:.74rem;color:var(--muted)}

/* ============================================================
   FEED: MANIFEST
   ============================================================ */
.feed-manifest{
  scroll-snap-type:y proximity;
  background:linear-gradient(180deg,#f4f0e3 0%,#eef1e6 100%);
  padding:3vh 3vw;display:flex;flex-direction:column;gap:2.4vh;
}
/* plansze manifestu — poziome grafiki z wypalonym tekstem; cała plansza zawsze
   widoczna, pełna szerokość feedu, wysokość wg proporcji (nic nie ucinamy) */
.mani-slide{
  height:auto;min-height:0;flex:none;
  background:transparent;border-radius:0;overflow:visible;box-shadow:none;
  scroll-snap-align:start;
  display:flex;align-items:center;justify-content:center;
}
.mani-slide::after{display:none}
.mani-slide img{
  width:100%;height:auto;display:block;
  /* proporcjonalny promień (=wypalone zaokrąglenie grafiki ~109px), więc
     skaluje się z planszą i ucina białe narożniki tak samo na każdym ekranie */
  border-radius:7.5% / 10.6%;box-shadow:var(--shadow);
}
.card-mani{
  height:auto;min-height:64svh;
  display:flex;flex-direction:column;justify-content:center;
  padding:8% 9%;position:relative;
  background:var(--cream-card);border:1px solid var(--line);
  border-radius:var(--r-card);
  box-shadow:0 20px 44px -30px rgba(46,54,41,.4);
}
.card-mani::after{display:none}          /* manifest bez przygaszania */
.card-mani .mani-p{
  font-size:clamp(1.15rem,1.7vw,1.7rem);font-weight:500;line-height:1.5;
  color:var(--ink);max-width:26ch;margin-bottom:14px;
}
.card-mani .mani-p:last-child{margin-bottom:0}
.mani-strong{font-weight:700}
.mani-accent{background:var(--green);border-color:var(--green)}
.mani-accent .mani-p{color:#fff;max-width:30ch}
.mani-mark{
  position:absolute;right:6%;top:8%;
  font-weight:700;font-size:clamp(3rem,8vw,7rem);color:var(--green);
  opacity:.1;letter-spacing:-.02em;pointer-events:none;
}
.mani-open{background:var(--navy,#2e3629);border-color:transparent}
.mani-open .mani-p{color:#fff;max-width:32ch}
.mani-open .mani-mark{color:#fff;opacity:.14}
.mani-final{background:var(--green);border-color:var(--green);min-height:80svh;text-align:left}
.mani-final .mani-p{color:rgba(255,255,255,.92)}
.mani-final .mani-mark{color:#fff;opacity:.16}
.mani-cta{margin-top:22px;color:#fff;font-size:clamp(1.5rem,2.6vw,2.6rem);font-weight:500;line-height:1.2}
.mani-cta strong{font-weight:700}

/* --- hero MANIFEST --- */
.mani-hero{
  background:linear-gradient(155deg,var(--green) 0%,var(--green-deep) 55%,var(--green-dark) 100%);
  border-color:transparent;
  align-items:center;justify-content:center;text-align:center;
}
.mani-title{
  font-size:clamp(3.2rem,9vw,8rem);font-weight:700;letter-spacing:.02em;
  color:var(--cream);line-height:.95;
}
.mani-sub{
  margin-top:14px;color:rgba(255,255,255,.9);font-weight:500;
  font-size:clamp(1rem,1.5vw,1.35rem);max-width:44ch;
}
.mani-logo{width:min(160px,34%);height:auto;margin-top:26px}

/* --- bąbelki na tle miasta (akapit 1) --- */
.mani-bubbles{padding:0;overflow:hidden;background:var(--green-dark);min-height:86svh}
.mani-bubbles .card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.mani-bubbles-tint{position:absolute;inset:0;z-index:1;background:rgba(24,34,20,.42)}
.mani-bubbles-wrap{
  position:absolute;inset:0;z-index:2;
  display:flex;flex-direction:column;justify-content:center;gap:clamp(14px,3vh,34px);
  padding:8% 7%;
}
.bubble{
  align-self:flex-start;max-width:82%;
  background:rgba(90,114,73,.9);color:var(--cream);
  font-weight:700;line-height:1.15;letter-spacing:.01em;
  font-size:clamp(1.2rem,2.4vw,2.4rem);
  padding:.5em .8em;border-radius:.9em;
  box-shadow:0 10px 30px -16px rgba(0,0,0,.5);
}
.bubble-lead{font-size:clamp(1.4rem,2.9vw,3rem);max-width:92%}
/* rozrzucenie bąbelków — naprzemiennie do lewej / prawej */
.bubble:nth-child(2){align-self:flex-start;margin-left:4%}
.bubble:nth-child(3){align-self:flex-end;margin-right:2%}
.bubble:nth-child(4){align-self:flex-start}
.bubble:nth-child(5){align-self:flex-end;margin-right:1%}

/* ============================================================
   STORIES (kółka wartości — popup)
   ============================================================ */
.no-scroll{overflow:hidden}
.stories{
  position:fixed;inset:0;z-index:100;
  background:rgba(24,34,20,.86);backdrop-filter:blur(6px);
  display:grid;place-items:center;padding:20px;
}
.stories[hidden]{display:none}
.stories-stage{position:relative;width:min(440px,94vw);height:min(86svh,780px)}
.stories-heading{
  position:absolute;bottom:100%;left:4px;margin-bottom:12px;
  color:#fff;font-weight:700;font-size:1.15rem;letter-spacing:.01em;
  text-shadow:0 2px 12px rgba(0,0,0,.4);
}
.stories.is-article .stories-heading{display:none}
/* przy wartościach nazwa jest nad kartą, więc kicker w karcie zbędny */
/* wartości: grafika zawiera już tekst, logo i #FunduszePromocji — pokazujemy
   samą grafikę, bez nakładek (zostają tylko paski postępu, X i strzałki) */
.stories:not(.is-article) .stories-kicker,
.stories:not(.is-article) .stories-tint,
.stories:not(.is-article) .stories-inner,
.stories:not(.is-article) .stories-heading{display:none}
/* CAŁA grafika zawsze widoczna (contain), nawet kosztem pasków po bokach na
   niskich ekranach; proporcje karty = 9:16 grafiki, więc pasków zwykle brak */
.stories:not(.is-article) .stories-stage{
  aspect-ratio:1532 / 2724;
  height:min(90svh,820px);
  width:auto;
  max-width:94vw;
}
.stories:not(.is-article) .stories-bg{background-size:contain;background-repeat:no-repeat;background-position:center}
.stories-card{
  position:relative;width:100%;height:100%;
  border-radius:38px;overflow:hidden;background:var(--green-deep);
  box-shadow:0 30px 80px -30px rgba(0,0,0,.7);
}
.stories-bg{
  position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;
}
.stories-bg.noimg{
  background:
    radial-gradient(120% 90% at 25% 20%,#7ba05b 0%,transparent 55%),
    linear-gradient(160deg,var(--green) 0%,var(--green-deep) 60%,var(--green-dark) 100%);
}
.stories-tint{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(46,64,38,.35) 0%,rgba(46,64,38,.15) 40%,rgba(46,64,38,.75) 100%)}
.stories-inner{
  position:absolute;inset:0;z-index:2;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;color:#fff;padding:52px 30px;
}
.stories-logo{width:150px;height:auto;margin-bottom:26px}
.stories-kicker{font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  opacity:.9;margin-bottom:16px}
.stories-msg{font-size:clamp(1.3rem,2vw,1.7rem);font-weight:600;line-height:1.4;max-width:22ch}
.stories-title{display:none}
.stories-tag{position:absolute;bottom:34px;left:0;right:0;font-size:.82rem;font-weight:600;opacity:.9}

/* wariant ARTYKUŁ — czytelny kafelek z tytułem i treścią */
/* ===== wariant ARTYKUŁ (wg Figmy): pełne tło z grafiki (górna infografika
   + dolny kremowy obszar), tekst nałożony na dolną kremową część ===== */
.stories.is-article .stories-stage{
  aspect-ratio:550 / 735;
  height:min(94svh,900px);
  width:auto;
  max-width:94vw;
}
.stories.is-article .stories-card{background:var(--cream)}
/* CAŁA grafika Rectangle jako tło (infografika + wbudowany kremowy dół); aspekt
   karty = aspekt grafiki, więc cover pokazuje całość bez ucinania infografiki */
.stories.is-article .stories-bg{inset:0;height:100%;background-size:cover;background-position:center top}
.stories.is-article .stories-tint{display:none}
/* nadtytuł jako zielony pill na górze grafiki */
.stories.is-article .stories-title{
  display:block;position:absolute;z-index:4;top:26px;left:20px;
  max-width:calc(100% - 40px);
  background:var(--green-deep);color:var(--cream);
  font-size:clamp(.72rem,1.6vw,.82rem);font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;line-height:1.25;
  padding:.6em 1em;border-radius:999px;text-shadow:none;
}
/* panel z treścią — STAŁY podział (kafle równej wysokości); powiększony kafelek
   mieści najdłuższy tekst. Panel zachodzi na dół grafiki (radius u góry). */
.stories.is-article .stories-inner{
  position:absolute;left:0;right:0;bottom:0;top:46%;z-index:3;
  background:var(--cream);border-radius:24px 24px 0 0;
  color:var(--ink);text-align:left;
  /* dolny padding rezerwuje miejsce na logo NRC (bottom:18px) — treść
     kończy się nad logo. BOX: bez scrolla, czcionkę skaluje JS (fitArticleText),
     żeby tekst zawsze mieścił się w tym obszarze i nigdy z niego nie wychodził */
  padding:12px 30px 58px;overflow:hidden;
  justify-content:flex-start;align-items:stretch;
}
.stories.is-article .stories-inner::-webkit-scrollbar{display:none}
.stories.is-article .stories-kicker{display:none}
/* logo NRC w prawym dolnym rogu panelu */
.stories.is-article .stories-logo{
  position:absolute;right:22px;bottom:18px;width:54px;margin:0;
  /* białe SVG → ciemnozielone na kremowym panelu */
  filter:brightness(0) saturate(100%) invert(28%) sepia(18%) saturate(900%) hue-rotate(60deg);
  opacity:.9;
}
.stories.is-article .stories-msg{
  /* font skaluje się z wysokością kafelka — na niskich ekranach mniejszy,
     żeby tekst zawsze się zmieścił (grafiki nigdy nie ucinamy) */
  /* bazowy rozmiar ustawia JS (fitArticleText) w px; podrzędne elementy w em
     skalują się razem z nim. Fallback gdyby JS nie zdążył: */
  font-size:16px;font-weight:500;line-height:1.46;max-width:none;color:var(--ink);
}
.stories.is-article .stories-msg p{margin-bottom:.7em}
.stories.is-article .stories-msg p:last-child{margin-bottom:0}
/* pierwszy lead = duży ciemnozielony tytuł panelu */
.stories.is-article .stories-msg .s-lead{
  font-size:1.62em;font-weight:700;line-height:1.16;
  color:var(--green-dark);margin-bottom:.7em;
}
.stories.is-article .stories-msg .s-strong{font-weight:700}
.stories.is-article .stories-msg .s-meta{font-size:.82em;opacity:.7;margin-bottom:2px}
.stories.is-article .stories-msg .s-meta:first-of-type{margin-top:1.1em}
.stories.is-article .stories-msg ul{list-style:none;margin:0 0 .8em;padding:0}
.stories.is-article .stories-msg li{position:relative;padding-left:20px;margin-bottom:.5em}
.stories.is-article .stories-msg li:last-child{margin-bottom:0}
.stories.is-article .stories-msg li::before{
  content:"";position:absolute;left:2px;top:.62em;width:6px;height:6px;border-radius:50%;
  background:var(--green);
}
@media(max-width:720px){
  /* wąski ekran / telefon: panel na dolnej (kremowej) części grafiki */
  .stories.is-article .stories-inner{top:46%;padding:12px 22px 54px}
}

/* Behind the Food: grafiki 928 × 1152, tekst poniżej całej infografiki. */
.stories.is-farm .stories-card{container-type:inline-size}
.stories.is-farm .stories-bg{background-size:100% auto;background-repeat:no-repeat}
/* Przedłuż ostatnie 2 px zdjęcia pod łuk panelu. Kremowy dół zapisany
   w grafice nie może tworzyć poziomego uskoku w połowie zaokrąglenia. */
.stories.is-farm:not(.is-quiz) .stories-bg::after{
  content:"";position:absolute;left:0;right:0;top:calc(62.0689655cqw - 2px);height:2px;
  background-image:inherit;background-size:100% auto;background-repeat:no-repeat;
  background-position:center calc(2px - 62.0689655cqw);
  transform:scaleY(14);transform-origin:center top;
}
/* Lekko nachodzi na zdjęcie, by te same zaokrąglenia co w pierwszym artykule
   były widoczne również przy jasnym dole nowych grafik. */
.stories.is-farm .stories-inner{top:calc(min(50%,62.1cqw) - 12px)}
.stories.is-farm .stories-title[hidden]{display:none}
.stories.is-farm .stories-msg .s-checklist li::before{
  content:"✓";top:0;left:0;width:auto;height:auto;background:none;border-radius:0;font-weight:700;color:var(--green);
}
.stories.is-farm .s-meta a{text-decoration:underline;text-underline-offset:2px}
.stories.is-farm .stories-tap{bottom:auto;height:calc(min(50%,62.1cqw) - 12px)}
.stories.is-quiz .stories-inner{top:10%;border-radius:0;padding-top:24px}
.stories.is-quiz .stories-tap,.stories.is-quiz .stories-nav{display:none}
.stories.is-quiz .stories-bars .sbar{background:rgba(77,106,64,.25)}
.stories.is-quiz .stories-bars .sbar i{background:var(--green)}
.article-quiz fieldset{border:0;padding:0;margin:0;min-width:0}
.article-quiz legend{padding:0}
.article-quiz label{
  display:flex;align-items:center;gap:.7em;padding:.85em;margin-bottom:.7em;
  border:1px solid rgba(77,106,64,.3);border-radius:14px;cursor:pointer;
}
.article-quiz label:has(input:checked){background:#e4eadb;border-color:var(--green)}
.article-quiz input{flex:none;width:1.2em;height:1.2em;accent-color:var(--green)}
.article-quiz .card-btn{background:var(--green);color:#fff;font-size:1em;text-align:left}
.article-quiz .card-btn:hover{background:var(--green-dark)}
.article-quiz [hidden]{display:none}
.article-quiz .card-btn:disabled{opacity:.65;cursor:wait}
.article-quiz .quiz-status{margin-top:1em;font-size:.9em}
.article-quiz input:focus-visible,.article-quiz button:focus-visible{outline:3px solid var(--green);outline-offset:3px}
@media(max-width:600px){
  .stories.is-farm:not(.is-quiz) .stories-nav{top:20%}
  .stories.is-quiz .stories-close{color:var(--green-dark)}
}

/* paski postępu */
.stories-bars{position:absolute;z-index:6;top:14px;left:16px;right:16px;display:flex;gap:5px}
.sbar{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.35);overflow:hidden}
.sbar.done{background:#fff}
.sbar i{display:block;height:100%;width:0;background:#fff;border-radius:3px}

/* przyciski */
.stories-close{
  position:absolute;z-index:7;top:26px;right:-4px;transform:translateX(100%);
  color:#fff;font-size:1.4rem;padding:8px;
}
.stories-nav{
  position:absolute;z-index:7;top:50%;transform:translateY(-50%);
  width:46px;height:46px;border-radius:50%;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);color:#fff;
  display:grid;place-items:center;transition:.15s;
}
.stories-nav svg{width:22px;height:22px}
.stories-nav:hover{background:rgba(255,255,255,.28)}
.stories-prev{left:-64px}
.stories-next{right:-64px}
.stories-nav.hidden{display:none}
/* strefy dotyku (mobile / klik) */
.stories-tap{position:absolute;z-index:4;top:0;bottom:0;width:32%}
.stories-tap-prev{left:0}
.stories-tap-next{right:0}

@media(max-width:600px){
  .stories{padding:0}
  /* karta idealnie na środku ekranu, z małym oddechem od boków (jak w Wiedzy) */
  .stories-stage{width:92vw;height:82svh;max-height:82svh}
  .stories-card{border-radius:34px}
  /* nazwa wartości nad kartą — wyśrodkowana, nie wypycha karty */
  .stories-heading{left:0;right:0;text-align:center;margin-bottom:14px;font-size:1.05rem}
  .stories-close{right:14px;top:12px;transform:none;font-size:1.5rem;z-index:8}
  /* strzałki WEWNĄTRZ kwadratu ze zdjęciem, subtelne ale widoczne */
  .stories-nav{
    width:38px;height:38px;
    background:rgba(0,0,0,.22);border-color:rgba(255,255,255,.45);
    opacity:.6;
  }
  .stories-nav svg{width:19px;height:19px}
  .stories-prev{left:12px}
  .stories-next{right:12px}
  .stories-nav:active{opacity:1;background:rgba(0,0,0,.4)}
}

/* ============================================================
   MOBILE — nowe elementy
   ============================================================ */
@media(max-width:1079px){
  .card-arrow{bottom:16px}
  .card-article{aspect-ratio:auto;max-height:none}
  .card-article .card-shade{
    background:linear-gradient(180deg,rgba(61,84,52,0) 30%,rgba(61,84,52,.8) 100%);
  }
  .card-soon{min-height:340px}
  .soon-inner{padding:34px 24px}

  /* manifest */
  .card-mani{min-height:0;padding:34px 24px}
  .card-mani .mani-p{max-width:none;font-size:1.2rem}
  .mani-accent .mani-p,.mani-open .mani-p,.mani-final .mani-p{max-width:none}
  .mani-final{min-height:0}
  .mani-cta{font-size:1.6rem}
  .mani-mark{font-size:3.4rem}

  /* footer w naturalnym flow na dole strony */
  .site-footer{margin-top:30px}
  .foot-logo{height:42px}
  .foot-fp{height:48px}
}

/* ============================================================
   MOBILE — pełnoekranowy pager w stylu TikToka (nadpisuje powyższe)
   ============================================================ */
@media(max-width:1079px){
  /* strona zablokowana do widoku — pasek adresu się nie chowa,
     więc wysokość jest STAŁA i każda karta wypełnia cały ekran */
  html{height:100%}
  body{position:fixed;inset:0;width:100%;height:100%;overflow:hidden}
  .layout{display:block;padding:0;height:100%}
  .rail{display:none}

  /* --- feed = pionowy pager pełnoekranowy ---
     używamy dvh (dynamic viewport height), żeby po schowaniu paska adresu
     KAŻDA karta wciąż wypełniała cały ekran (100% nie nadążało na iOS) --- */
  .feed-wrap{position:fixed;inset:0;z-index:1}
  .scroll-hint{display:none}
  .feed{
    position:absolute;inset:0;height:100%;
    overflow-y:auto;scroll-snap-type:y mandatory;
    overscroll-behavior:none;
    scrollbar-width:none;display:block;padding:0;gap:0;
  }
  .feed::-webkit-scrollbar{display:none}
  .feed[hidden]{display:none}
  .card{
    height:var(--appvh,100dvh);min-height:var(--appvh,100dvh);width:100%;margin:0;
    border-radius:0;scroll-snap-align:start;
    aspect-ratio:auto;max-height:none;box-shadow:none;
  }
  .card::after{display:none}
  .card-img{object-position:center}
  .card.noimg .ph-hint{top:auto;bottom:150px;right:16px}

  /* --- górny pasek: przezroczysty (bez pełnoszerokościowej belki),
         logo czytelne dzięki cieniowi --- */
  .m-top{
    position:fixed;top:0;left:0;right:0;z-index:30;
    background:transparent;border:0;
    padding:calc(12px + env(safe-area-inset-top)) 16px 12px;
  }
  .m-logo{width:132px;filter:drop-shadow(0 2px 10px rgba(0,0,0,.55))}
  .m-burger{background:rgba(24,34,20,.5);border:1px solid rgba(255,255,255,.5)}

  /* na karcie rolki wygaszamy interfejs (logo, hamburger, wartości, dolne menu,
     górny/dolny cień) — czysty, pełnoekranowy widok wideo */
  .m-top,.intro-copy,.values,.m-tabbar,.feed-wrap::before,.feed-wrap::after{
    transition:opacity .35s ease;
  }
  body.reel-active .m-top,
  body.reel-active .intro-copy,
  body.reel-active .values,
  body.reel-active .m-tabbar,
  body.reel-active .feed-wrap::before,
  body.reel-active .feed-wrap::after{
    opacity:0;pointer-events:none;
  }

  /* jeden spójny miękki cień od góry — obejmuje notch, logo i pasek wartości,
     zanika ku dołowi (bez twardej belki) */
  .feed-wrap::before{
    content:"";position:fixed;top:0;left:0;right:0;z-index:27;pointer-events:none;
    height:calc(190px + env(safe-area-inset-top));
    background:linear-gradient(180deg,rgba(24,34,20,.6) 0%,rgba(24,34,20,.32) 42%,rgba(24,34,20,0) 100%);
  }
  /* przyciemnienie dolnej strefy (pasek gestów + wokół pigułki) — gradient, bez blura */
  .feed-wrap::after{
    content:"";position:fixed;left:0;right:0;bottom:0;z-index:33;pointer-events:none;
    height:calc(84px + env(safe-area-inset-bottom));
    background:linear-gradient(180deg,rgba(24,34,20,0),rgba(24,34,20,.55));
  }

  /* --- copy pod logo: dedykowany tekst aktywnej zakładki (na wszystkich
         zakładkach). Tekst u góry jako nagłówek; treść kart zepchnięta niżej
         (patrz padding-top per zakładka), a górny scrim trzyma czytelność. --- */
  .intro-copy:not([hidden]){
    display:block;position:fixed;z-index:29;pointer-events:none;
    top:calc(80px + env(safe-area-inset-top));left:18px;right:18px;max-width:none;
    color:#fff;
    /* mocniejszy, wielowarstwowy cień — tekst czytelny nawet na jasnym tle */
    text-shadow:0 1px 3px rgba(0,0,0,.9),0 2px 16px rgba(0,0,0,.85),0 0 30px rgba(0,0,0,.6);
    transition:opacity .35s ease;
  }
  /* po rozpoczęciu przewijania feedu nagłówek znika (tak samo szybko jak wartości) */
  body.feed-scrolled .intro-copy{opacity:0}
  /* wartości widoczne TYLKO na pierwszej karcie (hero) — po zscrollowaniu znikają
     i nie wracają na kolejnych kartach (wideo, viral) */
  body.feed-scrolled .values{opacity:0;pointer-events:none}
  .intro-copy:not([hidden]) .lead{font-weight:700;font-size:1rem;line-height:1.3;margin:0 0 7px;color:#fff}
  .intro-copy:not([hidden]) .over{
    font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
    opacity:.9;margin:0 0 8px;color:#fff;
  }
  .intro-copy:not([hidden]) p{font-size:.82rem;line-height:1.4;margin:0 0 6px;color:#fff;opacity:.95}
  .intro-copy:not([hidden]) .hashtag{font-weight:700;font-size:.82rem;margin:0;opacity:1}

  /* --- pasek stories (kółka wartości) — odsunięty od logo --- */
  .values{
    position:fixed;top:calc(96px + env(safe-area-inset-top));left:0;right:0;z-index:29;
    margin:0;padding:6px 12px 16px;background:transparent;   /* cień daje wspólny .feed-wrap::before */
  }
  /* na Start kółka pod tekstem intro; wspólny górny cień wydłużony, by je objąć */
  body[data-tab="start"] .values{top:calc(188px + env(safe-area-inset-top))}
  body[data-tab="start"] .feed-wrap::before{height:calc(300px + env(safe-area-inset-top))}
  /* pozostałe zakładki: wydłużony scrim pod nagłówek z tekstem intro */
  body:not([data-tab="start"]) .feed-wrap::before{height:calc(270px + env(safe-area-inset-top))}
  .values .intro-line,.values-head{display:none}
  .values-row{
    display:flex;flex-wrap:nowrap;gap:20px;overflow-x:auto;overflow-y:hidden;
    scrollbar-width:none;padding:10px 2px 4px;max-width:none;
    /* overflow-x:auto przycina też pion — padding-top mieści pulsujący ring kółek */
  }
  .values-row::-webkit-scrollbar{display:none}
  .value{flex:0 0 auto;width:68px;gap:7px}
  .value-ico{
    width:58px;height:58px;background:rgba(24,34,20,.4);
    border-color:#fff;color:#fff;
    /* blur tła pod ikonką (frosted glass); box-shadow zamiast filter:drop-shadow,
       bo filter na tym samym elemencie wyłącza backdrop-filter w Chrome */
    -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
    box-shadow:0 3px 10px rgba(0,0,0,.5);
  }
  /* podpis ZAWSZE pełna biel — niezależnie od stanu seen/nieseen */
  .value span:last-child,
  .value.seen span:last-child{color:#fff !important;opacity:1;font-size:.74rem;font-weight:600;line-height:1.15;text-shadow:0 1px 3px rgba(0,0,0,.5)}
  .value:not(.seen) .value-ico{
    border-color:#fff;box-shadow:0 0 0 2px #fff,0 3px 10px rgba(0,0,0,.5);color:#fff;
  }
  @keyframes valuePulse{
    0%,100%{box-shadow:0 0 0 2px #fff,0 3px 10px rgba(0,0,0,.5)}
    50%{box-shadow:0 0 0 2px rgba(255,255,255,.4),0 3px 10px rgba(0,0,0,.5)}
  }
  /* obejrzane NIE przygaszamy już na mobile — mają być tak samo widoczne */
  .value.seen{opacity:1}
  .value.seen .value-ico{background:rgba(24,34,20,.4);border-color:#fff;color:#fff}
  .value.seen .value-ico::after{border-color:#2a3a22}

  /* --- chowamy resztę lewej kolumny (jest w feedzie / menu) --- */
  .logo-card,.intro-copy,.intro-socials,.site-footer{display:none}
  .intro{padding:0}

  /* --- napisy na kartach: overlay na dole --- */
  .card-shade{background:linear-gradient(180deg,rgba(24,34,20,0) 40%,rgba(24,34,20,.9) 100%)}
  .card-copy{left:20px;right:20px;bottom:132px;max-width:none}
  .card-copy .eyebrow{font-size:.66rem;margin-bottom:8px}
  .card-copy h2{font-size:1.7rem;line-height:1.25}
  .card-copy .card-sub{font-size:.95rem;margin-top:10px}
  .card-arrow{bottom:92px;opacity:.75}

  /* karta rolki pełnoekranowa — wideo wypełnia ekran 9:16, bez pasków */
  .card-video{aspect-ratio:auto;max-height:none}
  .card-reel .card-img{filter:none;transform:none;object-fit:cover}
  .reel-vid{object-fit:cover}
  .reel-sound{top:auto;bottom:132px;right:18px}

  /* karta statystyki */
  .card-stat .stat-inner{position:absolute;inset:auto 0 0 0;height:auto;padding:0 20px 132px}

  /* karta artykułu (Wiedza) */
  .card-article .card-shade{background:linear-gradient(180deg,rgba(24,34,20,0) 38%,rgba(24,34,20,.92) 100%)}
  .card-btn{margin-top:16px}

  /* Ambasadorzy: treść jest długa. Zamiast zagnieżdżonego scrolla karty
     wewnątrz snap-pagera (gryzło się, scroll się psuł) — wyłączamy snap i
     robimy JEDEN płynny scroll całego feedu; karty rosną z treścią. */
  .feed[data-feed="ambasadorzy"]{scroll-snap-type:none}
  .card-amb{
    clip-path:none;
    align-items:flex-start;overflow:visible;
    height:auto;min-height:var(--appvh,100dvh);scroll-snap-align:none;
  }
  .amb-inner{max-width:none;margin:0;padding:44px 22px 96px}
  /* duży zapas u góry TYLKO na pierwszym profilu (pod tekstem intro);
     kolejne profile bez tej przerwy */
  .card-amb:first-child .amb-inner{padding-top:calc(290px + env(safe-area-inset-top))}
  .amb-head{gap:16px;margin-bottom:16px}
  .amb-avatar{width:88px;height:88px}
  .amb-name{font-size:1.5rem}
  .amb-socials{margin-bottom:14px}
  .amb-role{font-size:.95rem;margin-bottom:10px}
  .amb-bio{font-size:.9rem;line-height:1.55;margin-bottom:9px;max-width:none}
  .amb-quote{margin-top:18px;padding:16px 18px}
  .amb-quote .quote{font-size:1.15rem}

  /* niskie telefony — kompaktowo, żeby zmieściło się bez przewijania */
  @media(max-height:720px){
    .amb-inner{padding:36px 22px 88px}
    .card-amb:first-child .amb-inner{padding-top:calc(262px + env(safe-area-inset-top))}
    .amb-head{gap:13px;margin-bottom:12px}
    .amb-avatar{width:72px;height:72px}
    .amb-name{font-size:1.3rem}
    .amb-socials{margin-bottom:11px}
    .amb-role{font-size:.9rem;margin-bottom:8px}
    .amb-bio{font-size:.85rem;line-height:1.5;margin-bottom:7px}
    .amb-quote{margin-top:14px;padding:13px 15px}
    .amb-quote .quote{font-size:1.05rem}
  }

  /* manifest: plansze jedna po drugiej (naturalna wysokość, mały odstęp);
     padding-top odsuwa pierwszą planszę pod górny pasek (logo + hamburger) */
  .feed-manifest{padding:calc(210px + env(safe-area-inset-top)) 14px 120px;gap:16px;
    scroll-padding-top:calc(210px + env(safe-area-inset-top))}
  .mani-slide{height:auto;min-height:0}
  /* cień pomaga rozdzielić karty przy scrollu, ale zdejmujemy go z tej
     wyśrodkowanej (aktywnej), żeby nie odstawała */
  .mani-slide img{box-shadow:0 16px 30px -6px rgba(30,40,25,.5)}
  .mani-slide.is-active img{box-shadow:none}

  /* stare kafle tekstowe manifestu (nieużywane) */
  .card-mani{min-height:100svh;justify-content:center;padding:90px 26px 132px}
  .card-mani .mani-p{font-size:1.35rem;max-width:none}
  .mani-final{min-height:100svh}
  .mani-cta{font-size:1.7rem}
  .mani-mark{font-size:4rem;top:80px}

  /* --- dolny tab bar (bez zmian w układzie, wyżej z-index) --- */
  .m-tabbar{z-index:35}

  /* --- stopka w menu overlay --- */
  .m-overlay{justify-content:flex-start;padding:70px 24px 40px;gap:26px;overflow-y:auto}
  .m-overlay-foot{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:14px}
  .m-overlay-logos{display:flex;align-items:center;gap:16px}
  .m-overlay-logos img{height:44px;width:auto;background:#fff;border-radius:8px;padding:5px}
  .m-overlay-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px}
  .m-overlay-links a{color:#fff;font-size:.85rem;font-weight:600}
  .m-overlay-copy{color:rgba(255,255,255,.7);font-size:.74rem}
}

/* stories: grafika z wypalonym copy — chowamy overlay */
.stories.is-plain .stories-inner{display:none}
.stories.is-plain .stories-tint{display:none}

/* zajawka grona ambasadorów */
.card-amb-intro{padding:40px 30px;text-align:center;display:flex;flex-direction:column;justify-content:center}
.amb-intro-over{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#678d58;font-weight:700;margin:0 0 22px}
.amb-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,290px);justify-content:center;gap:28px 34px}
.amb-tile{display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;color:inherit}
.amb-tile-photo{width:clamp(172px,17vw,222px);aspect-ratio:1;height:auto;border-radius:50%;overflow:hidden;border:3px solid #678d58;box-shadow:0 8px 26px rgba(0,0,0,.14)}
.amb-tile-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.amb-tile:hover .amb-tile-photo img{transform:scale(1.07)}
.amb-tile-name{font-weight:700;font-size:1.28rem;margin-top:8px}
.amb-tile-eyebrow{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:#678d58;font-weight:700}
.amb-tile-quote{font-size:.98rem;line-height:1.5;opacity:.85;font-style:italic;max-width:28ch}
.amb-scroll-hint{margin:34px 0 0;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:600;color:#678d58}
.amb-scroll-hint svg{animation:amb-bounce 1.6s infinite}
@keyframes amb-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

/* ===== mobile: karta-zajawka grona pod tekstem intro ===== */
@media(max-width:1079px){
  .card-amb-intro{
    display:flex;flex-direction:column;justify-content:flex-end;
    padding:calc(320px + env(safe-area-inset-top)) 18px calc(118px + env(safe-area-inset-bottom));
    /* JS (layoutAmbIntro) nadpisuje padding-top zmierzoną wysokością tekstu intro */
  }
  .amb-intro-over{display:none}
  .card-amb-intro .amb-grid{grid-auto-columns:minmax(0,1fr);gap:16px 12px}
  .amb-tile-photo{width:94px;height:94px;aspect-ratio:auto}
  .amb-tile-name{font-size:.95rem}
  .amb-tile-eyebrow{font-size:.6rem}
  .amb-tile-quote{font-size:.78rem;line-height:1.35;max-width:21ch}
  .amb-scroll-hint{margin-top:18px;font-size:.95rem}
  @media(max-height:740px){
    .amb-tile-photo{width:66px;height:66px;aspect-ratio:auto}
    .amb-tile-name{font-size:.86rem}
    .amb-tile-eyebrow{font-size:.55rem}
    .amb-tile-quote{font-size:.72rem;line-height:1.3}
    .amb-scroll-hint{margin-top:10px;font-size:.86rem}
  }
}

/* akcenty w copy sekcji: bold bez zmiany stopnia pisma (wg wytycznych tekstu) */
.intro-copy p.bold-line{font-weight:700}
@media(min-width:1080px){
  .intro-copy p.bold-line{color:var(--ink)}
  .intro-copy p strong{color:var(--ink)}
}

/* ===== CTA: dolacz do No Random Choice ===== */
.intro-cta{margin:22px 0 0;max-width:42ch}
.intro-cta .cta-lead{font-weight:700;font-size:1rem;line-height:1.35;margin:0 0 4px;color:var(--ink)}
.intro-cta .cta-sub{font-style:italic;font-size:.9rem;line-height:1.45;margin:0;color:#4a5243}
.intro-cta + .intro-socials{margin-top:12px}
/* CTA tylko na stronie glownej (Start) */
body:not([data-tab="start"]) .intro-cta{display:none}
@media(max-width:1079px){
  /* lewa kolumna jest schowana na mobile — CTA zyje w menu */
  .intro-cta{display:none}
  .m-overlay-cta{margin:6px auto 2px;width:100%;max-width:min(34ch,100%);padding:0 26px;box-sizing:border-box;text-align:center;color:#fff}
  .m-overlay-cta .cta-lead{font-weight:700;font-size:1rem;line-height:1.35;margin:0 0 4px}
  .m-overlay-cta .cta-sub{font-style:italic;font-size:.85rem;line-height:1.45;margin:0;opacity:.9}
}
@media(min-width:1080px){.m-overlay-cta{display:none}}
@media(max-height:820px) and (min-width:1080px){
  .intro-cta{margin-top:14px}
  .intro-cta .cta-lead{font-size:.92rem}
  .intro-cta .cta-sub{font-size:.82rem}
}

/* ===== mobile: tekst intro na panelu (zamiast mocnego cienia) ===== */
@media(max-width:1079px){
  .intro-copy:not([hidden]){
    background:linear-gradient(180deg,rgba(61,84,52,.74),rgba(76,106,64,.62));   /* --green-dark -> --green-deep */
    -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
    border-radius:18px;padding:13px 15px;
    box-shadow:0 10px 28px rgba(46,54,41,.26);
    text-shadow:0 1px 2px rgba(0,0,0,.35);
  }
  /* scrim tylko pod logo i hamburgerem — reszte czytelnosci daje panel */
  .feed-wrap::before{height:calc(132px + env(safe-area-inset-top));
    background:linear-gradient(180deg,rgba(35,48,29,.55) 0%,rgba(35,48,29,.28) 55%,rgba(35,48,29,0) 100%)}
  body[data-tab="start"] .feed-wrap::before,
  body:not([data-tab="start"]) .feed-wrap::before{height:calc(132px + env(safe-area-inset-top))}
}

/* mobile: brak panelu pod trescia -> mocniejsze rozjasnienie tla profilu */
@media(max-width:1079px){
  .card-amb::before{
    background-image:linear-gradient(160deg,rgba(28,38,24,.74) 0%,rgba(40,56,34,.82) 100%),var(--amb-bg,none);
  }
}

/* czytelnosc tekstu profilu na odslonietym, lekko rozmytym tle */
.card-amb .amb-name,
.card-amb .amb-role,
.card-amb .amb-bio{
  text-shadow:
    0 1px 3px rgba(16,22,13,.6),
    0 2px 14px rgba(16,22,13,.5),
    0 0 34px rgba(16,22,13,.35);
}
