<section id="t5n-dzielimy" class="t5n t5n-section">
<style>
/* 05 Dzielimy się tym, co działa — Figma: desktop 183:2158, mobile 183:2522
Mobile/tablet (< 64rem) i bez JS: 1 duża karta + siatka 2 kolumny.
Desktop (≥64rem, z JS): zapętlona karuzela na całą szerokość okna. */
#t5n-dzielimy {
position: relative;
padding-block: clamp(4rem, 3.8143rem + 0.7619vw, 4.5rem) var(--t5n-section-y-lg); /* góra 64 → 72, dół 64 → 112 */
}
@media (min-width: 64rem) {
#t5n-dzielimy { background: var(--t5n-black) url("/files/pages/assets/2026-10-27/05-dzielimy-sie-bg_mvqxta96.webp") center / cover no-repeat; }
}
#t5n-dzielimy .t5n-dzielimy__inner {
display: flex;
flex-direction: column;
gap: clamp(2rem, 1.2571rem + 3.0476vw, 4rem); /* 32 → 64 */
}
/* nagłówek */
#t5n-dzielimy .t5n-dzielimy__header {
display: flex;
flex-direction: column;
align-items: center;
gap: var(--t5n-space-3); /* 24 (Figma mobile 28) */
text-align: center;
}
#t5n-dzielimy .t5n-dzielimy__title {
display: flex;
flex-direction: column;
gap: clamp(0rem, 1.3714rem - 1.5238vw, 1rem); /* 16 → 0 (Figma 12 → 0) */
}
#t5n-dzielimy .t5n-dzielimy__title p { color: var(--t5n-red); }
/* tekst pod kartami */
#t5n-dzielimy .t5n-dzielimy__guests {
max-width: 63rem; /* 1008 */
margin-inline: auto;
text-align: center;
text-wrap: balance;
color: var(--t5n-muted);
}
#t5n-dzielimy .t5n-dzielimy__guests strong { font-weight: 400; color: var(--t5n-grey-100); }
/* --- karty: mobile / tablet / bez JS --- */
#t5n-dzielimy .t5n-dzielimy__slider { padding-inline: var(--t5n-gutter); }
#t5n-dzielimy .t5n-dzielimy__track {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--t5n-space-2); /* 16 (Figma 12) */
max-width: 40rem;
margin-inline: auto;
}
#t5n-dzielimy .t5n-dzielimy__slide:first-child {
grid-column: 1 / -1;
justify-self: center;
width: 69%; /* 236 z 342 */
}
#t5n-dzielimy .t5n-dzielimy__card {
display: block;
overflow: hidden;
border: var(--t5n-border);
border-radius: var(--t5n-radius-s); /* 8 */
background: var(--t5n-grey-800);
}
#t5n-dzielimy .t5n-dzielimy__slide:first-child .t5n-dzielimy__card { border-radius: var(--t5n-radius); }
#t5n-dzielimy .t5n-dzielimy__card img {
width: 100%;
height: auto;
-webkit-user-drag: none;
user-select: none;
}
/* --- desktop: karuzela (klasa dodawana przez JS) --- */
#t5n-dzielimy.is-carousel .t5n-dzielimy__slider {
position: relative;
padding-inline: 0;
}
/* przyciemnienie krawędzi na całą wysokość sekcji (Figma: gradient 441 px z każdej strony, 1302 px wysokości)
warstwy: tło → karty (1) → gradient (2) → teksty (3) */
#t5n-dzielimy.is-carousel::before,
#t5n-dzielimy.is-carousel::after {
content: "";
position: absolute;
inset-block: 0;
z-index: 2;
width: 30%;
pointer-events: none;
}
#t5n-dzielimy.is-carousel::before { left: 0; background: linear-gradient(to right, var(--t5n-black), transparent); }
#t5n-dzielimy.is-carousel::after { right: 0; background: linear-gradient(to left, var(--t5n-black), transparent); }
#t5n-dzielimy.is-carousel .t5n-dzielimy__slider { z-index: 1; }
#t5n-dzielimy.is-carousel .t5n-dzielimy__header,
#t5n-dzielimy.is-carousel .t5n-dzielimy__guests { position: relative; z-index: 3; }
#t5n-dzielimy.is-carousel .t5n-dzielimy__track {
display: block;
position: relative;
max-width: none;
z-index: 1; /* własna warstwa: gradient krawędzi (z-index 20) zawsze nad kartami */
height: 23.5rem; /* karta 344 + zapas na cień */
touch-action: pan-y;
cursor: grab;
user-select: none;
-webkit-user-select: none;
}
#t5n-dzielimy.is-carousel .t5n-dzielimy__track.is-dragging { cursor: grabbing; }
#t5n-dzielimy.is-carousel .t5n-dzielimy__slide,
#t5n-dzielimy.is-carousel .t5n-dzielimy__slide:first-child {
position: absolute;
top: 50%;
left: 50%;
width: 17.25rem; /* 276 — karta środkowa (JS nadpisuje szerokość w każdej klatce) */
will-change: transform, opacity;
backface-visibility: hidden;
}
#t5n-dzielimy.is-carousel .t5n-dzielimy__card,
#t5n-dzielimy.is-carousel .t5n-dzielimy__slide:first-child .t5n-dzielimy__card {
border-color: var(--t5n-grey-600);
border-radius: var(--t5n-radius); /* 12 */
transition: box-shadow 300ms var(--t5n-ease);
}
#t5n-dzielimy.is-carousel .t5n-dzielimy__card[aria-current="true"] {
box-shadow:
var(--t5n-shadow-x) var(--t5n-shadow-y) var(--t5n-shadow-blur) var(--t5n-shadow-color),
calc(-1 * var(--t5n-shadow-x)) var(--t5n-shadow-y) var(--t5n-shadow-blur) var(--t5n-shadow-color);
}
#t5n-dzielimy.is-carousel .t5n-dzielimy__card:focus-visible {
outline: 0.125rem solid var(--t5n-red);
outline-offset: 0.25rem;
}
@media (prefers-reduced-motion: reduce) {
#t5n-dzielimy.is-carousel .t5n-dzielimy__card { transition: none; }
}
</style>
<div class="t5n-dzielimy__inner">
<header class="t5n-container t5n-dzielimy__header">
<span class="t5n-eyebrow">Knowledge sharing</span>
<div class="t5n-dzielimy__title">
<h2>Dzielimy się tym, co działa.</h2>
<p class="t5n-h3">The 5 System, Baza Nagrań, Experience Sharing</p>
</div>
</header>
<div class="t5n-dzielimy__slider" aria-label="Nagrania experience sharing" aria-roledescription="karuzela">
<p class="t5n-sr-only t5n-dzielimy__hint">Kliknij kartę lub użyj strzałek w lewo i w prawo, aby przewijać.</p>
<ul class="t5n-dzielimy__track">
<li class="t5n-dzielimy__slide"><div class="t5n-dzielimy__card"><img src="/files/pages/assets/2026-10-27/05-karta-wrzaskala-exit_mvqxtb9q.webp" width="660" height="822" loading="lazy" decoding="async" draggable="false" alt="GTM Month: Zarządzanie i skalowanie firmy pod exit — Wojciech Wrzaskała"></div></li>
<li class="t5n-dzielimy__slide"><div class="t5n-dzielimy__card"><img src="/files/pages/assets/2026-10-27/05-karta-swulinski_mvqxtate.webp" width="660" height="822" loading="lazy" decoding="async" draggable="false" alt="GTM Month: Jak budować growth engine wart miliony dolarów — Matt Swuliński"></div></li>
<li class="t5n-dzielimy__slide"><div class="t5n-dzielimy__card"><img src="/files/pages/assets/2026-10-27/05-karta-wrzaskala-leadership_mvqxtbfk.webp" width="660" height="822" loading="lazy" decoding="async" draggable="false" alt="Summer School: Talent, delivery, struktura i leadership — Wojciech Wrzaskała"></div></li>
<li class="t5n-dzielimy__slide"><div class="t5n-dzielimy__card"><img src="/files/pages/assets/2026-10-27/05-karta-wilczynski_mvqxtb56.webp" width="660" height="822" loading="lazy" decoding="async" draggable="false" alt="Summer School: Value-based pricing — Maciek Wilczyński"></div></li>
<li class="t5n-dzielimy__slide"><div class="t5n-dzielimy__card"><img src="/files/pages/assets/2026-10-27/05-karta-przybylski_mvqxtaor.webp" width="660" height="822" loading="lazy" decoding="async" draggable="false" alt="Summer School: Growth — buy and build — Michał Przybylski"></div></li>
<li class="t5n-dzielimy__slide"><div class="t5n-dzielimy__card"><img src="/files/pages/assets/2026-10-27/05-karta-piatek_mvqxtajz.webp" width="660" height="822" loading="lazy" decoding="async" draggable="false" alt="Q&A: Ekspansja w USA, rekrutacja i go to market — Patryk Piątek"></div></li>
<li class="t5n-dzielimy__slide"><div class="t5n-dzielimy__card"><img src="/files/pages/assets/2026-10-27/05-karta-urbanczyk_mvqxtb0o.webp" width="660" height="822" loading="lazy" decoding="async" draggable="false" alt="GTM Month: GTM w różnych modelach marketplace — Marcin Urbanczyk"></div></li>
<li class="t5n-dzielimy__slide"><div class="t5n-dzielimy__card"><img src="/files/pages/assets/2026-10-27/05-karta-howard_mvqxtadk.webp" width="660" height="822" loading="lazy" decoding="async" draggable="false" alt="GTM Month: Ekspansja globalna z USA do Polski — Konrad Howard"></div></li>
</ul>
<p class="t5n-sr-only t5n-dzielimy__live" aria-live="polite"></p>
</div>
<p class="t5n-container t5n-lead t5n-dzielimy__guests">Wśród naszych gości na experience sharing byli founderzy po exicie oraz przedstawiciele czołowych organizacji, takich jak <strong>ElevenLabs</strong>, <strong>Fitatu</strong>, <strong>Wispr Flow</strong> czy <strong>Booksy</strong>.</p>
</div>
<script>
(function () {
function initT5NDzielimyCarousel() {
var root = document.getElementById('t5n-dzielimy');
if (!root || root.dataset.t5nInit) return;
root.dataset.t5nInit = '1';
var slider = root.querySelector('.t5n-dzielimy__slider');
var track = root.querySelector('.t5n-dzielimy__track');
var live = root.querySelector('.t5n-dzielimy__live');
var slides = Array.prototype.slice.call(track.children);
var cards = slides.map(function (s) { return s.querySelector('.t5n-dzielimy__card'); });
var N = slides.length;
var SCALE = [1, 0.85, 0.75, 0.66, 0.555]; /* 276 → 235 → 207 → 182 → 153 (Figma) */
var W = 17.25, GAP = 0.5; /* szerokość karty środkowej i odstęp, rem */
var RATIO = 822 / 660, BORDER = 2; /* proporcje zdjęcia karty i ramka (2 × 1 px) */
var mq = window.matchMedia('(min-width: 64rem)');
var reduce = window.matchMedia('(prefers-reduced-motion: reduce)');
var pos = 0; /* aktualna pozycja (0 = karta 1 na środku), bez ograniczeń */
var anim = null, drag = null, on = false, lastActive = -1, suppressClick = false;
function mod(a, n) { return ((a % n) + n) % n; }
function rem() { return parseFloat(getComputedStyle(document.documentElement).fontSize) || 16; }
function wrap(d) { d = mod(d + N / 2, N) - N / 2; return d; } /* zakres [-N/2, N/2) */
function sc(k) { return SCALE[Math.min(k, SCALE.length - 1)]; }
function scaleAt(a) { var k = Math.floor(a), f = a - k; return sc(k) + (sc(k + 1) - sc(k)) * f; }
function stepRem(k) { return W * sc(k) / 2 + GAP + W * sc(k + 1) / 2; }
function offsetAt(d) { /* płynne przesunięcie dla |d| */
var a = Math.abs(d), k = Math.floor(a), x = 0, i;
for (i = 0; i < k; i++) x += stepRem(i);
x += stepRem(k) * (a - k);
return d < 0 ? -x : x;
}
function stepPx() { return stepRem(0) * rem(); } /* ~265 px = 1 karta */
function render() {
var r = rem();
var dpr = window.devicePixelRatio || 1;
function snap(v) { return Math.round(v * dpr) / dpr; }
slides.forEach(function (s, i) {
var d = wrap(i - pos), a = Math.abs(d);
var op = Math.max(0, Math.min(1, (N / 2 - a) / 0.6)); /* karta przechodząca na drugą stronę znika */
var w = Math.round(W * r * scaleAt(a)); /* szerokość w pełnych px */
var h = Math.round(w * RATIO) + BORDER; /* wysokość karty (obraz + ramka) */
var x = snap(offsetAt(d) * r - w / 2);
var y = snap(-h / 2);
s.style.width = w + 'px';
s.style.transform = 'translate3d(' + x + 'px,' + y + 'px,0)';
s.style.opacity = op.toFixed(3);
s.style.zIndex = String(100 - Math.round(a * 10));
});
var act = mod(Math.round(pos), N);
if (act !== lastActive) {
cards.forEach(function (c, i) { c.setAttribute('aria-current', i === act ? 'true' : 'false'); });
lastActive = act;
}
}
function announce() {
var act = mod(Math.round(pos), N);
live.textContent = 'Karta ' + (act + 1) + ' z ' + N + ': ' + cards[act].querySelector('img').alt;
}
function animateTo(target, duration) {
cancelAnimationFrame(anim && anim.raf);
if (reduce.matches || duration <= 0) { pos = target; render(); announce(); anim = null; return; }
var from = pos, t0 = performance.now();
anim = { raf: 0, target: target };
(function frame(now) {
var t = Math.min(1, (now - t0) / duration);
var e = 1 - Math.pow(1 - t, 3); /* easeOutCubic */
pos = from + (target - from) * e;
render();
if (t < 1) anim.raf = requestAnimationFrame(frame);
else { pos = target; render(); announce(); anim = null; }
})(t0);
}
function goBy(n) {
var base = anim ? anim.target : Math.round(pos); /* szybkie kolejne kliknięcia sumują się */
var target = base + n;
animateTo(target, 380 + 120 * Math.min(Math.abs(target - pos), 4));
}
function goTo(i) { goBy(wrap(i - Math.round(pos))); }
/* --- przeciąganie (mysz, palec, pióro) --- */
function down(e) {
if (e.button !== undefined && e.button !== 0) return;
cancelAnimationFrame(anim && anim.raf); anim = null;
drag = { id: e.pointerId, x: e.clientX, p0: pos, moved: false, samples: [{ t: performance.now(), x: e.clientX }] };
}
function move(e) {
if (!drag || e.pointerId !== drag.id) return;
var dx = e.clientX - drag.x;
if (!drag.moved && Math.abs(dx) > 5) {
drag.moved = true;
track.classList.add('is-dragging');
try { track.setPointerCapture(drag.id); } catch (err) {}
}
if (!drag.moved) return;
e.preventDefault();
pos = drag.p0 - dx / stepPx();
render();
var now = performance.now();
drag.samples.push({ t: now, x: e.clientX });
while (drag.samples.length > 2 && now - drag.samples[0].t > 100) drag.samples.shift();
}
function up(e) {
if (!drag || e.pointerId !== drag.id) return;
track.classList.remove('is-dragging');
if (drag.moved) {
var s = drag.samples, first = s[0], last = s[s.length - 1];
var dt = Math.max(16, last.t - first.t);
var v = -(last.x - first.x) / dt / stepPx() * 1000; /* karty na sekundę */
var extra = Math.max(-2, Math.min(2, v * 0.2)); /* rozpęd: maks. 2 karty */
var target = Math.round(pos + extra);
if (target === Math.round(drag.p0) && Math.abs(pos - drag.p0) > 0.15) target += pos > drag.p0 ? 1 : -1; /* krótki ruch = 1 karta */
animateTo(target, 380 + 120 * Math.min(Math.abs(target - pos), 4));
suppressClick = true;
setTimeout(function () { suppressClick = false; }, 0);
}
drag = null;
}
function onClick(e) {
if (suppressClick) { e.preventDefault(); return; }
var i = cards.indexOf(e.currentTarget);
if (i !== mod(Math.round(pos), N)) goTo(i);
}
function onKey(e) {
if (e.key === 'ArrowRight' || e.key === 'ArrowLeft') {
e.preventDefault();
goBy(e.key === 'ArrowRight' ? 1 : -1);
cards[mod(Math.round(pos) + (e.key === 'ArrowRight' ? 1 : -1), N)].focus({ preventScroll: true });
} else if (e.key === 'Enter' || e.key === ' ') {
e.preventDefault();
goTo(cards.indexOf(e.currentTarget));
}
}
function onFocus(e) { /* tylko fokus z klawiatury (Tab) */
var el = e.currentTarget, kb = true;
try { kb = el.matches(':focus-visible'); } catch (err) {}
if (kb && !anim) { var i = cards.indexOf(el); if (i !== mod(Math.round(pos), N)) goTo(i); }
}
function enable() {
if (on) return; on = true;
root.classList.add('is-carousel');
slider.setAttribute('role', 'region');
slides.forEach(function (s, i) { s.setAttribute('aria-roledescription', 'slajd'); s.setAttribute('aria-label', (i + 1) + ' z ' + N); });
cards.forEach(function (c) {
c.setAttribute('role', 'button'); c.tabIndex = 0;
c.addEventListener('click', onClick); c.addEventListener('keydown', onKey); c.addEventListener('focus', onFocus);
});
track.addEventListener('pointerdown', down);
track.addEventListener('pointermove', move);
track.addEventListener('pointerup', up);
track.addEventListener('pointercancel', up);
lastActive = -1; render();
}
function disable() {
if (!on) return; on = false;
cancelAnimationFrame(anim && anim.raf); anim = null; drag = null;
root.classList.remove('is-carousel');
slider.removeAttribute('role');
slides.forEach(function (s) {
s.style.transform = ''; s.style.opacity = ''; s.style.zIndex = ''; s.style.width = '';
s.removeAttribute('aria-roledescription'); s.removeAttribute('aria-label');
});
cards.forEach(function (c) {
c.removeAttribute('role'); c.removeAttribute('tabindex'); c.removeAttribute('aria-current');
c.removeEventListener('click', onClick); c.removeEventListener('keydown', onKey); c.removeEventListener('focus', onFocus);
});
track.removeEventListener('pointerdown', down);
track.removeEventListener('pointermove', move);
track.removeEventListener('pointerup', up);
track.removeEventListener('pointercancel', up);
live.textContent = '';
}
function sync() { mq.matches ? enable() : disable(); }
if (mq.addEventListener) mq.addEventListener('change', sync); else mq.addListener(sync);
sync();
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initT5NDzielimyCarousel);
} else {
initT5NDzielimyCarousel();
}
})();
</script>
</section>