/* ============================================================================
   LIDERZY TECHNOLOGICZNI JUTRA (liderzy.tech) - SYSTEM WIZUALNY
   ----------------------------------------------------------------------------
   Kierunek: spokojny, redakcyjny charakter profesjonalnego forum.
   - Kolor: ciemny atrament (granat z fioletem) tylko na pierwszych ekranach,
     w stopce i w jednym bloku akcji; reszta na bieli i ciepłym „papierze”.
     Fiolet marki #351C75 = działania i wyróżnienia; czerwień z logo = drobne
     akcenty (kreska nadtytułu, znacznik ścieżki menedżerskiej).
   - Gradient tylko jako jedna, łagodna poświata w tle pierwszego ekranu.
   - Hierarchia przez skalę, grubość i odstęp, nie przez kolorowanie słów.
   - Karty tylko tam, gdzie służą porównaniu i wyborowi (ludzie, materiały);
     listy, chronologie i bloki definicji dla pozostałych treści.
   - Zaokrąglenia małe (6-10 px), cienie wyłącznie dla warstw nad treścią.
============================================================================ */

:root {
    /* Marka */
    --brand:#351C75; --brand-dark:#26125A; --brand-deep:#1E0F4A; --brand-mid:#4A2C93;
    --brand-light:#F2EFF9; --brand-border:#D8D0EC; --brand-soft:#5B40A6;
    --brand-on-dark:#C9B8FF; --brand-on-dark-bright:#E4DAFF;
    --red:#A11D2B; --red-soft:#F3A3A3;
    /* Zgodność wsteczna: dawne gradienty marki są teraz jednolite */
    --brand-gradient:linear-gradient(0deg,var(--brand),var(--brand));
    --brand-gradient-on-dark:linear-gradient(0deg,#fff,#fff);

    /* Atrament (ciemne powierzchnie) */
    --navy:#110D2B; --navy-deep:#0B0920; --navy-mid:#18143A; --navy-light:#241F4E;

    /* Tekst */
    --text:#15122C; --text-body:#3D3A53; --text-muted:#625F78; --text-xmuted:#8B889E; --text-subtle:#CAC7D4;

    /* Tła i linie */
    --white:#FFFFFF; --paper:#F6F5F1; --surface:#F6F5F1; --surface-2:#ECEAE4;
    --border:#E0DDD5; --border-light:#ECEAE4; --line-dark:rgba(255,255,255,.14);

    /* Kształt */
    --r:6px; --r-lg:10px; --r-xl:14px; --r-full:9999px;
    --sh:0 1px 2px rgba(21,18,44,.05);
    --sh-md:0 2px 6px -2px rgba(21,18,44,.10);
    --sh-lg:0 10px 24px -12px rgba(21,18,44,.22);
    --sh-xl:0 24px 48px -20px rgba(21,18,44,.32);
    --sh-brand:0 10px 24px -12px rgba(53,28,117,.45);

    /* Rytm */
    --gutter:24px; --sec:104px; --head-h:68px;
}
@media (max-width:640px) { :root { --gutter:16px; --sec:64px; --head-h:60px; } }

/* ============================================================================
   PODSTAWY
============================================================================ */
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body {
    font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    font-size:16px; line-height:1.6; color:var(--text); background:var(--white);
    -webkit-font-smoothing:antialiased; overflow-x:hidden; font-feature-settings:"cv11","ss01";
}
body.menu-open { overflow:hidden; }
section[id], [id].scroll-target { scroll-margin-top:calc(var(--head-h) + 20px); }
a { color:inherit; text-decoration:none; }
ul, ol { list-style:none; }
strong, b { font-weight:600; }
img { max-width:100%; height:auto; display:block; }
button { font:inherit; }
:focus-visible { outline:2px solid var(--brand-soft); outline-offset:3px; border-radius:4px; }
::selection { background:#D9CFF5; color:var(--text); }
h1, h2, h3, h4 { text-wrap:balance; }
p { text-wrap:pretty; }

.container { width:100%; max-width:calc(1200px + 2 * var(--gutter)); margin:0 auto; padding:0 var(--gutter); }
.section { padding:var(--sec) 0; }
.section-paper, .bg-surface { background:var(--paper); }
.section + .section:not(.section-paper):not(.bg-surface):not(.section-dark) { border-top:1px solid var(--border-light); }
.nowrap { white-space:nowrap; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* ============================================================================
   TYPOGRAFIA
============================================================================ */
/* Nadtytuł: zwykły, niewielki tekst z krótką kreską w kolorze akcentu */
.kicker, .eyebrow { display:flex; align-items:center; gap:12px; margin-bottom:16px; font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--brand-soft); line-height:1.3; }
.kicker::before, .eyebrow::before { content:""; width:22px; height:2px; flex:none; background:var(--red); }
.eyebrow i { display:none; }
.kicker-dark, .hero .kicker, .section-dark .kicker { color:var(--brand-on-dark); }
.hero .kicker::before, .section-dark .kicker::before { background:var(--red-soft); }

.sec-label { margin-bottom:0; }
.sec-title { max-width:22ch; font-size:clamp(1.85rem,3.6vw,2.75rem); font-weight:750; line-height:1.1; letter-spacing:-.03em; color:var(--text); }
.sec-title-sm { font-size:clamp(1.6rem,2.8vw,2.1rem); }
.sec-sub { max-width:60ch; margin-top:18px; font-size:1.08rem; line-height:1.65; color:var(--text-body); }
.sec-sub a { color:var(--brand); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
/* Nagłówek sekcji: tytuł po lewej, opis po prawej (od 960 px) */
.sec-head { display:grid; gap:18px; margin-bottom:48px; }
.sec-head .sec-sub { margin-top:0; }
@media (min-width:960px) {
    .sec-head { grid-template-columns:minmax(0,6fr) minmax(0,5fr); gap:64px; align-items:end; }
    .sec-head .sec-sub { padding-bottom:4px; }
}
.sec-title + .sec-sub + *, .sec-title + * { margin-top:40px; }
.sec-head > div > .sec-title + * { margin-top:0; }
@media (max-width:640px) { .sec-head { margin-bottom:32px; } .sec-title + .sec-sub + *, .sec-title + * { margin-top:28px; } }

.accent, .accent-dark { color:inherit; }
.lead { font-size:1.15rem; line-height:1.6; color:var(--text-body); }

/* ============================================================================
   PRZYCISKI I ODNOŚNIKI
============================================================================ */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:12px 22px; font-family:inherit; font-size:.95rem; font-weight:650; line-height:1.25; border-radius:8px; border:1.5px solid transparent; cursor:pointer; transition:background-color .2s, border-color .2s, color .2s; text-align:center; }
.btn i { font-size:.85em; }
.btn-lg { min-height:52px; padding:14px 26px; font-size:1rem; }
.btn-primary { background:var(--brand); color:#fff; }
.btn-primary:hover { background:var(--brand-dark); }
.btn-outline { background:var(--white); color:var(--text); border-color:var(--border); }
.btn-outline:hover { border-color:var(--brand); color:var(--brand); }
.btn-ghost { background:transparent; color:#fff; border-color:rgba(255,255,255,.38); }
.btn-ghost:hover { border-color:#fff; background:rgba(255,255,255,.06); }
.btn-light { background:#fff; color:var(--brand); }
.btn-light:hover { background:var(--brand-on-dark-bright); }
.btn.is-soon { cursor:default; }
.btn.is-soon:hover { background:#fff; }
.hero-btns { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
@media (max-width:480px) { .hero-btns { flex-direction:column; align-items:stretch; } .hero-btns .btn { width:100%; } }

/* Odnośnik tekstowy ze strzałką */
.j-link, .ev-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:.95rem; font-weight:650; color:var(--brand); }
.j-link i, .ev-link i { font-size:.75em; transition:transform .2s; }
.j-link:hover, .ev-link:hover { text-decoration:underline; text-underline-offset:4px; }
.j-link:hover i.fa-arrow-right { transform:translateX(3px); }

/* ============================================================================
   NAGŁÓWEK STRONY
   Nad ciemnym pierwszym ekranem (.is-top) pasek jest przezroczysty z białym
   logotypem; po przewinięciu i na jasnych stronach - biały z cienką linią.
============================================================================ */
.header { position:fixed; top:0; left:0; right:0; z-index:1000; background:rgba(255,255,255,.97); box-shadow:0 1px 0 var(--border); transition:background-color .3s, box-shadow .3s; }
@supports (backdrop-filter:blur(1px)) { .header { background:rgba(255,255,255,.9); -webkit-backdrop-filter:saturate(160%) blur(14px); backdrop-filter:saturate(160%) blur(14px); } }
.js .header.is-top, .menu-open .header { background:transparent; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
.nav { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:20px; height:var(--head-h); }
.logo { display:inline-flex; flex-shrink:0; min-height:44px; align-items:center; }
.logo img { height:24px; width:auto; transition:filter .3s; }
.js .header.is-top .logo img, .menu-open .header .logo img { filter:brightness(0) invert(1); }

.nav-links { display:none; align-items:center; gap:4px; }
.nav-links a { position:relative; display:inline-flex; align-items:center; min-height:44px; padding:0 12px; color:var(--text-body); font-size:.92rem; font-weight:550; white-space:nowrap; transition:color .2s; }
.nav-links a::after { content:""; position:absolute; left:12px; right:12px; bottom:7px; height:2px; border-radius:2px; background:currentColor; transform:scaleX(0); transform-origin:left; opacity:.45; transition:transform .25s, opacity .25s; }
.nav-links a:hover, .nav-links a:focus-visible { color:var(--text); }
.nav-links a:hover::after, .nav-links a:focus-visible::after { transform:scaleX(1); }
.nav-links a.active, .nav-links a[aria-current="page"] { color:var(--brand); font-weight:700; }
.nav-links a.active::after, .nav-links a[aria-current="page"]::after { transform:scaleX(1); opacity:1; background:var(--red); height:3px; }
.nav-links a.back { margin-left:6px; padding:0 10px; color:var(--text-muted); }
.nav-links a.back::after { display:none; }
.js .header.is-top .nav-links a { color:rgba(255,255,255,.72); }
.js .header.is-top .nav-links a:hover, .js .header.is-top .nav-links a:focus-visible { color:#fff; }
.js .header.is-top .nav-links a.active, .js .header.is-top .nav-links a[aria-current="page"] { color:#fff; }
.js .header.is-top .nav-links a.active::after, .js .header.is-top .nav-links a[aria-current="page"]::after { background:var(--red-soft); }
@media (prefers-reduced-motion:reduce) { .nav-links a::after { transition:none; } }

.nav-right { display:flex; align-items:center; gap:10px; }
.nav-right > .btn { min-height:42px; padding:9px 18px; font-size:.88rem; }
.js .header.is-top .nav-right > .btn { background:#fff; color:var(--brand); }
.js .header.is-top .nav-right > .btn:hover { background:var(--brand-on-dark-bright); }
.menu-open .nav-right > .btn { visibility:hidden; }

/* Przycisk menu: dwie kreski zamieniające się w „X” */
.mob-btn { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; margin-right:-6px; flex-shrink:0; border-radius:8px; border:0; background:transparent; color:var(--text); cursor:pointer; }
.mob-btn-bars { position:relative; width:22px; height:14px; }
.mob-btn-bars::before, .mob-btn-bars::after { content:""; position:absolute; left:0; right:0; height:2px; border-radius:2px; background:currentColor; transition:top .3s cubic-bezier(.5,0,.2,1), transform .3s cubic-bezier(.5,0,.2,1); }
.mob-btn-bars::before { top:2px; }
.mob-btn-bars::after { top:10px; }
.mob-btn[aria-expanded="true"] .mob-btn-bars::before { top:6px; transform:rotate(45deg); }
.mob-btn[aria-expanded="true"] .mob-btn-bars::after { top:6px; transform:rotate(-45deg); }
.js .header.is-top .mob-btn, .menu-open .header .mob-btn { color:#fff; }
.js .header.is-top :focus-visible, .menu-open .header :focus-visible { outline-color:var(--brand-on-dark); }

/* Menu mobilne - pełny ekran, jednolite ciemne tło */
.mob-menu { position:fixed; inset:0; z-index:1; display:flex; flex-direction:column; padding:calc(var(--head-h) + 20px) var(--gutter) calc(24px + env(safe-area-inset-bottom)); overflow-y:auto; overscroll-behavior:contain; background:var(--navy); opacity:0; visibility:hidden; transition:opacity .25s ease, visibility 0s linear .25s; }
.mob-menu.open { opacity:1; visibility:visible; transition:opacity .25s ease; }
.mob-menu a:not(.btn) { display:flex; align-items:center; gap:14px; min-height:56px; padding:10px 0; border-bottom:1px solid var(--line-dark); color:#fff; font-size:1.35rem; font-weight:650; letter-spacing:-.02em; line-height:1.25; }
.mob-menu a:not(.btn)::after { content:"\f061"; margin-left:auto; font:900 .8rem/1 "Font Awesome 6 Free"; color:rgba(255,255,255,.35); }
.mob-menu a.active, .mob-menu a[aria-current="page"] { color:var(--brand-on-dark); box-shadow:inset 3px 0 0 var(--red-soft); padding-left:14px; }
.mob-menu a.mob-back { min-height:44px; margin-bottom:6px; border-bottom:0; color:rgba(255,255,255,.7); font-size:.92rem; font-weight:600; letter-spacing:0; }
.mob-menu a.mob-back::after { content:none; }
.mob-menu a.mob-back i { font-size:.8rem; }
.mob-menu .mob-note { display:flex; align-items:center; gap:10px; margin:auto 0 14px; padding-top:32px; color:rgba(255,255,255,.7); font-size:.9rem; }
.mob-menu .mob-note i { color:var(--brand-on-dark); }
.mob-menu .btn { min-height:56px; background:#fff; color:var(--brand); font-size:1rem; }
.mob-menu .mob-note + .btn { margin-top:0; }
.mob-menu > .btn:last-child { margin-top:auto; }
.mob-menu .mob-note ~ .btn { margin-top:0; }

/* Próg poziomych linków: 1120 px; krótkie menu (.nav-few) - linki na środku */
@media (min-width:1120px) {
    .nav-links { display:flex; } .mob-btn, .mob-menu { display:none; }
    .nav-few { display:grid; grid-template-columns:1fr auto 1fr; }
    .nav-few .logo { justify-self:start; }
    .nav-few .nav-right { justify-self:end; }
}
@media (max-width:719px) { .nav-few .nav-right > .btn { display:none; } }
@media (min-width:1120px) and (max-width:1279px) { .nav:not(.nav-few) .nav-links a { padding:0 9px; } }
/* .nav-wide - 7 linków (konferencja.html): poziomo dopiero od 1280 px */
@media (min-width:1120px) and (max-width:1279px) { .nav-wide .nav-links { display:none; } .nav-wide .mob-btn { display:inline-flex; } .nav-wide + .mob-menu { display:flex; } }
@media (min-width:1280px) { .nav-wide .logo img { height:22px; } .nav-wide .nav-links a { padding:0 9px; font-size:.9rem; } }
@media (max-width:640px) { .logo img { height:21px; } .nav-right > .btn { display:none; } }
@media (max-width:360px) { .logo img { height:18px; } .mob-menu a:not(.btn):not(.mob-back) { font-size:1.2rem; min-height:52px; } }
@media (max-height:620px) { .mob-menu a:not(.btn):not(.mob-back) { min-height:48px; font-size:1.15rem; } .mob-menu .mob-note { padding-top:16px; } }

/* Pasek postępu czytania */
.reading-progress { position:absolute; left:0; right:0; bottom:-1px; height:2px; z-index:3; pointer-events:none; }
.reading-progress span { display:block; height:100%; width:100%; transform:scaleX(0); transform-origin:left; background:var(--brand); }
.js .header.is-top .reading-progress { display:none; }

/* ============================================================================
   PIERWSZY EKRAN (ciemny)
============================================================================ */
.hero { position:relative; overflow:hidden; padding:calc(var(--head-h) + 72px) 0 88px; color:#fff; background-color:var(--navy); background-image:radial-gradient(70% 90% at 88% -10%, rgba(88,56,178,.42) 0%, rgba(88,56,178,0) 62%); }
@media (max-width:640px) { .hero { padding:calc(var(--head-h) + 36px) 0 56px; } }
.hero > .container { position:relative; z-index:1; }
.hero-h1 { font-size:clamp(2.35rem,5.4vw,4.1rem); font-weight:800; line-height:1.03; letter-spacing:-.04em; color:#fff; }
.hero-h1.h1-long { font-size:clamp(2.2rem,4.6vw,3.5rem); }
.hero-lead { max-width:58ch; margin-top:22px; font-size:1.15rem; line-height:1.6; color:rgba(255,255,255,.8); }
.hero-lead strong { color:#fff; }
.c-sub { margin-top:14px; font-size:clamp(1.15rem,2.2vw,1.45rem); font-weight:600; line-height:1.35; letter-spacing:-.01em; color:var(--brand-on-dark-bright); }
@media (max-width:640px) { .hero-lead { font-size:1.05rem; margin-top:16px; } }

/* Fakty pod tytułem: etykieta + wartość, oddzielone pionowymi liniami */
.hero-facts { display:flex; flex-wrap:wrap; gap:18px 0; margin-top:36px; }
.hero-facts > div { padding:0 28px; border-left:1px solid var(--line-dark); }
.hero-facts > div:first-child { padding-left:0; border-left:0; }
.hero-facts dt { font-size:1.9rem; font-weight:750; letter-spacing:-.03em; line-height:1.05; color:#fff; font-variant-numeric:tabular-nums; }
.hero-facts dd { margin-top:4px; font-size:.85rem; color:rgba(255,255,255,.66); }
@media (max-width:480px) { .hero-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; } .hero-facts > div { padding:0 10px; } .hero-facts dt { font-size:1.45rem; } .hero-facts dd { font-size:.78rem; line-height:1.35; } }

/* Ściana portretów (spolecznosc.html) - autentyczne zdjęcia w równej siatce */
.hero-split .hero-grid { display:grid; gap:44px; align-items:center; }
@media (min-width:1024px) { .hero-split .hero-grid { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:56px; } }
.faces-wall { margin:0; }
.faces-wall ul { display:grid; grid-template-columns:repeat(4,1fr); gap:4px; }
.faces-wall li { position:relative; aspect-ratio:1; overflow:hidden; background:#000; }
.faces-wall img { width:100%; height:100%; object-fit:cover; object-position:50% 18%; }
.faces-wall figcaption { margin-top:12px; font-size:.85rem; color:rgba(255,255,255,.62); }
@media (max-width:640px) { .faces-wall li:nth-child(n+9) { display:none; } }

/* ============================================================================
   STRONA GŁÓWNA
   Komputer i tablet (od 700 px): tytuł i organizatorzy | zdjęcie, pod spodem dwa panele.
   Telefon: tytuł → konferencja → zdjęcie złączone z panelem społeczności → organizatorzy.
============================================================================ */
.home { padding-bottom:80px; }
.home-grid { display:grid; gap:28px; grid-template-areas:"intro" "conf" "photo" "comm" "hosts"; }
.home-intro { grid-area:intro; max-width:820px; }
.home-claim { margin-top:14px; font-size:clamp(1.2rem,2.6vw,1.8rem); font-weight:600; line-height:1.3; letter-spacing:-.02em; color:rgba(255,255,255,.88); }
.home-photo { grid-area:photo; margin:0; }
.home-photo img { width:100%; height:auto; border-radius:var(--r-lg); background:#2A2550; }
.home-photo figcaption { margin-top:10px; font-size:.84rem; line-height:1.45; color:rgba(255,255,255,.62); }
.home-hosts { grid-area:hosts; display:flex; flex-wrap:wrap; gap:16px 32px; align-items:center; }
.home-hosts-t { width:100%; font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--brand-on-dark); }
.host { display:flex; align-items:center; gap:14px; margin:0; }
.host img { width:52px; height:52px; flex:none; border-radius:50%; object-fit:cover; object-position:50% 30%; background:var(--portrait-bg, #E6E3EC); }
.host figcaption { font-size:.85rem; line-height:1.4; color:rgba(255,255,255,.68); }
.host figcaption strong { display:block; color:#fff; font-size:.95rem; font-weight:650; }
.home-panels { display:contents; }
.home-panels .panel-conf { grid-area:conf; }
.home-panels .panel:not(.panel-conf) { grid-area:comm; }

.panel { position:relative; display:flex; flex-direction:column; padding:30px 30px 26px; border-radius:var(--r-lg); border:1px solid rgba(255,255,255,.18); color:#fff; transition:border-color .2s, background-color .2s; }
.panel:focus-visible { outline-color:var(--brand-on-dark); outline-offset:3px; }
.panel-conf { background:#fff; color:var(--text); border-color:#fff; }
.panel-conf:hover { border-color:var(--brand-on-dark); }
.panel-conf:focus-visible { outline-color:#fff; }
.home-panels .panel:not(.panel-conf) { background-color:#1A1542; border-color:rgba(201,184,255,.4); }
.home-panels .panel:not(.panel-conf):hover { border-color:var(--brand-on-dark); background-color:#1E1950; }
.panel-kicker { font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--brand-on-dark); }
.panel-conf .panel-kicker { color:var(--red); }
.panel-kicker .k-date { white-space:nowrap; }
.panel h2 { margin-top:14px; font-size:clamp(1.45rem,2.4vw,1.85rem); font-weight:750; line-height:1.15; letter-spacing:-.03em; }
.panel p { margin-top:12px; max-width:52ch; font-size:1rem; line-height:1.6; color:rgba(255,255,255,.74); }
.panel-conf p { color:var(--text-body); }
.panel-conf p strong { color:var(--text); font-weight:700; }
.panel-cta { display:inline-flex; align-items:center; gap:10px; margin-top:auto; padding-top:24px; font-size:.98rem; font-weight:650; }
.panel-conf .panel-cta { color:var(--brand); }
.panel-cta i { font-size:.8em; transition:transform .2s; }
.panel:hover .panel-cta i { transform:translateX(4px); }
.panel-top, .panel-ico, .panel-mark, .panel-stats { display:none; }

/* Telefon */
@media (max-width:699px) {
    .home { padding-bottom:48px; }
    .home .hero-h1 { font-size:clamp(2rem,9vw,2.6rem); }
    .panel { padding:22px 20px 20px; }
    .panel-kicker { letter-spacing:.08em; font-size:.74rem; }
    .panel-kicker .k-sep { display:none; }
    .panel-kicker .k-date { display:block; margin-top:4px; }
    .panel h2 { margin-top:10px; }
    /* wejścia jako pełnej szerokości przyciski */
    .panel-cta { justify-content:center; min-height:50px; margin-top:20px; padding:0 18px; border-radius:8px; }
    .panel-conf .panel-cta { background:var(--brand); color:#fff; }
    .home-panels .panel:not(.panel-conf) .panel-cta { border:1px solid rgba(255,255,255,.45); }
    /* zdjęcie złączone z panelem społeczności w jedną kartę */
    .home-photo { margin-bottom:-28px; padding:0; border:1px solid rgba(201,184,255,.4); border-bottom:0; border-radius:var(--r-lg) var(--r-lg) 0 0; background:#1A1542; overflow:hidden; }
    .home-photo img { aspect-ratio:16/9; object-fit:cover; object-position:50% 55%; border-radius:0; }
    .home-photo figcaption { margin:0; padding:10px 20px 0; font-size:.78rem; }
    .home-panels .panel:not(.panel-conf) { border-top:0; border-radius:0 0 var(--r-lg) var(--r-lg); padding-top:14px; }
    /* organizatorzy: zwarta lista pod linią */
    .home-hosts { display:grid; gap:14px; padding-top:22px; border-top:1px solid var(--line-dark); }
    .host { gap:12px; }
    .host img { width:46px; height:46px; }
}
/* Tablet: tytuł na całą szerokość, pod nim zdjęcie obok organizatorów, niżej panele */
@media (min-width:700px) {
    .home-grid { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); grid-template-areas:"intro intro" "photo hosts" "conf conf" "comm comm"; column-gap:40px; row-gap:32px; align-items:center; }
    .home-hosts { flex-direction:column; align-items:flex-start; gap:16px; }
    .home .hero-h1 { font-size:clamp(2.6rem,6vw,3.6rem); }
}
@media (min-width:880px) {
    .home-grid { grid-template-areas:"intro intro" "photo hosts" "conf comm"; column-gap:48px; }
    .home-panels .panel { align-self:stretch; }
}
/* Komputer: tytuł i organizatorzy | zdjęcie, pod spodem dwa panele */
@media (min-width:1100px) {
    .home-grid { grid-template-columns:minmax(0,7fr) minmax(0,5fr); grid-template-areas:"intro photo" "hosts photo" "conf comm"; column-gap:64px; row-gap:40px; align-items:start; }
    .home-intro { align-self:end; }
    .home-hosts { flex-direction:row; align-items:center; gap:16px 32px; align-self:start; }
    .home-photo { align-self:center; }
    .home-panels .panel { margin-top:16px; }
    .home .hero-h1 { font-size:clamp(2.6rem,4.2vw,3.7rem); }
}

/* ============================================================================
   STRONY Z JASNYM NAGŁÓWKIEM (materiały, kontakt, analizy)
============================================================================ */
.page-head { padding:calc(var(--head-h) + 64px) 0 56px; background:var(--paper); border-bottom:1px solid var(--border-light); }
@media (max-width:640px) { .page-head { padding:calc(var(--head-h) + 32px) 0 36px; } }
.page-head h1 { max-width:20ch; font-size:clamp(2.2rem,5vw,3.6rem); font-weight:800; line-height:1.04; letter-spacing:-.04em; color:var(--text); }
.page-head .lead { max-width:60ch; margin-top:20px; }
.crumb { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin:-10px 0 10px; font-size:.9rem; font-weight:600; color:var(--brand); }
.crumb i { font-size:.75rem; }
.crumb:hover { text-decoration:underline; text-underline-offset:3px; }
.jump { display:flex; flex-wrap:wrap; gap:8px 28px; margin-top:28px; padding-top:20px; border-top:1px solid var(--border); }
.jump a { display:inline-flex; align-items:center; gap:10px; min-height:44px; font-size:.95rem; font-weight:600; color:var(--text); }
.jump a span { font-size:.8rem; font-weight:600; color:var(--text-muted); font-variant-numeric:tabular-nums; }
.jump a:hover { color:var(--brand); }

/* ============================================================================
   SPOŁECZNOŚĆ - O NAS
============================================================================ */
.about-grid { display:grid; gap:48px; align-items:start; }
@media (min-width:980px) { .about-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:80px; } }
.about-text h2 { margin-bottom:24px; }
.about-text p { max-width:60ch; margin-bottom:16px; font-size:1.06rem; line-height:1.72; color:var(--text-body); }
.about-text p strong { color:var(--text); }
.signature { display:flex; align-items:center; gap:14px; margin-top:28px; padding-top:22px; border-top:1px solid var(--border); }
.signature .avs { display:flex; flex:none; }
.signature .avs img { width:48px; height:48px; border-radius:50%; object-fit:cover; border:2px solid #fff; background:var(--surface-2); }
.signature .avs img + img { margin-left:-12px; }
.signature span { font-size:.9rem; color:var(--text-muted); line-height:1.45; }
.signature strong { display:block; color:var(--text); }

.about-stats-t { margin-bottom:18px; font-size:.95rem; font-weight:650; color:var(--text); }
.stat-cards { display:grid; gap:0 32px; }
@media (min-width:560px) { .stat-cards { grid-template-columns:1fr 1fr; } }
.stat-card { display:flex; flex-direction:column; padding:22px 0 24px; border-top:1px solid var(--border); }
.stat-card .n { font-size:2.6rem; font-weight:750; letter-spacing:-.04em; line-height:1; color:var(--brand); font-variant-numeric:tabular-nums; }
.stat-card .t { margin:12px 0 6px; font-size:1rem; font-weight:650; color:var(--text); line-height:1.35; }
.stat-card .d { font-size:.93rem; color:var(--text-body); line-height:1.55; }
.stat-card .src { display:inline-block; margin-top:auto; padding-top:12px; font-size:.8rem; color:var(--text-muted); text-decoration:underline; text-decoration-color:var(--border); text-underline-offset:3px; }
.stat-card a.src:hover { color:var(--brand); text-decoration-color:currentColor; }
.stat-cards[data-stat-rotator] .stat-card { min-height:var(--stat-h, 0px); }
.stat-card > * { transition:opacity .3s ease; }
.stat-card.is-out > * { opacity:0; }
.stat-ctrl { grid-column:1/-1; display:flex; align-items:center; gap:12px; padding-top:8px; border-top:1px solid var(--border); }
.stat-ctrl[hidden] { display:none; }
.stat-progress { flex:1; height:2px; background:var(--border); overflow:hidden; }
.stat-progress span { display:block; height:100%; transform-origin:left center; transform:scaleX(0); background:var(--brand); transition:transform .1s linear; }
.stat-toggle { flex-shrink:0; width:44px; height:44px; border-radius:50%; border:1px solid var(--border); background:var(--white); color:var(--brand); font-size:.8rem; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.stat-toggle:hover { border-color:var(--brand); }
.stat-note { grid-column:1/-1; font-size:.84rem; color:var(--text-muted); }

/* ============================================================================
   CHRONOLOGIA (spolecznosc.html#droga)
============================================================================ */
.chrono > li { display:grid; gap:12px; padding:28px 0; border-top:1px solid var(--border); }
.chrono > li:last-child { border-bottom:1px solid var(--border); }
@media (min-width:860px) { .chrono > li { grid-template-columns:200px minmax(0,1fr); gap:40px; padding:36px 0; } }
.chrono-y { font-size:clamp(1.6rem,3vw,2.3rem); font-weight:750; letter-spacing:-.035em; line-height:1; color:var(--text); font-variant-numeric:tabular-nums; }
@media (min-width:860px) { .chrono-y { position:sticky; top:calc(var(--head-h) + 28px); align-self:start; } }
.chrono-items { display:grid; gap:0; }
.chrono-item { position:relative; padding:0 0 26px 26px; border-left:1px solid var(--border); }
.chrono-item:last-child { padding-bottom:0; }
.chrono-item::before { content:""; position:absolute; left:-5px; top:7px; width:9px; height:9px; border-radius:50%; background:var(--paper); border:2px solid var(--brand-soft); }
.section:not(.section-paper) .chrono-item::before { background:var(--white); }
.chrono-item.is-next::before { background:var(--red); border-color:var(--red); }
.chrono-date { font-size:.85rem; font-weight:650; color:var(--brand-soft); }
.chrono-item.is-next .chrono-date { color:var(--red); }
.chrono-item h3 { margin-top:4px; font-size:1.2rem; font-weight:700; line-height:1.3; letter-spacing:-.015em; }
.chrono-item p:not(.chrono-date) { max-width:68ch; margin-top:6px; font-size:.98rem; line-height:1.65; color:var(--text-body); }
.chrono-item .j-link { margin-top:2px; }

/* ============================================================================
   FILARY I SPOTKANIA (spolecznosc.html#spotkania)
============================================================================ */
.pillars { display:grid; gap:0 32px; margin-bottom:64px; counter-reset:pillar; }
@media (min-width:700px) { .pillars { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1100px) { .pillars { grid-template-columns:repeat(4,minmax(0,1fr)); } }
.pillar { padding:22px 0 26px; border-top:2px solid var(--text); }
.pillar .num { font-size:.8rem; font-weight:700; letter-spacing:.1em; color:var(--red); }
.pillar h3 { margin:8px 0 12px; font-size:1.12rem; font-weight:700; line-height:1.3; letter-spacing:-.01em; }
.pillar li { position:relative; padding-left:16px; margin-bottom:6px; font-size:.93rem; line-height:1.5; color:var(--text-body); }
.pillar li::before { content:""; position:absolute; left:0; top:.66em; width:6px; height:2px; background:var(--text-muted); }

.meet-tools { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; margin-bottom:8px; }
.meet-tools h3 { font-size:1.3rem; font-weight:700; letter-spacing:-.02em; }
.filters { display:flex; flex-wrap:wrap; gap:8px; }
.chip { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 16px; font:inherit; font-size:.9rem; font-weight:600; border-radius:var(--r-full); border:1px solid var(--border); background:var(--white); color:var(--text-body); cursor:pointer; transition:border-color .2s, color .2s, background-color .2s; }
.chip:hover { border-color:var(--brand); color:var(--brand); }
.chip.active, .chip[aria-pressed="true"] { background:var(--text); border-color:var(--text); color:#fff; }
@media (max-width:640px) {
    .filters { flex-wrap:nowrap; overflow-x:auto; margin:0 calc(-1 * var(--gutter)); padding:2px var(--gutter) 6px; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
    .filters::-webkit-scrollbar { display:none; }
    .chip { flex:none; }
}

/* Spotkanie = wiersz archiwum: metryczka | treść | portrety prelegentów */
.meetings { border-top:1px solid var(--border); }
.meet { display:grid; gap:16px; padding:32px 0; border-bottom:1px solid var(--border); grid-template-areas:"meta" "img" "body"; }
.meet.hidden { display:none; }
@media (min-width:900px) {
    .meet { grid-template-columns:170px minmax(0,1fr) 300px; grid-template-areas:"meta body img"; gap:40px; padding:36px 0; }
}
.meet-meta { grid-area:meta; display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 14px; }
@media (min-width:900px) { .meet-meta { flex-direction:column; gap:6px; } }
.meet-no { font-size:.85rem; font-weight:700; letter-spacing:.06em; color:var(--text-muted); font-variant-numeric:tabular-nums; }
.meet-date { font-size:1rem; font-weight:650; color:var(--text); line-height:1.35; }
.meet-date span { display:block; font-size:.88rem; font-weight:500; color:var(--text-muted); }
@media (max-width:899px) { .meet-date span { display:inline; } .meet-date span::before { content:" · "; } }
.meet-tag { font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--brand-soft); }
.meet-tag.live { color:var(--red); }
.meet-body { grid-area:body; min-width:0; }
.meet h3 { max-width:40ch; font-size:1.3rem; font-weight:700; letter-spacing:-.02em; line-height:1.28; }
.meet-who { margin-top:10px; font-size:.97rem; line-height:1.55; color:var(--text); }
.meet-who span { color:var(--text-muted); }
.meet-topics { display:grid; gap:4px 28px; margin-top:14px; }
@media (min-width:640px) { .meet-topics { grid-template-columns:1fr 1fr; } }
.meet-topics li { position:relative; padding-left:16px; font-size:.93rem; line-height:1.5; color:var(--text-body); }
.meet-topics li::before { content:""; position:absolute; left:0; top:.66em; width:6px; height:2px; background:var(--brand-soft); }
.meet-format { max-width:62ch; margin-top:14px; font-size:.95rem; line-height:1.6; color:var(--text-body); }
.meet-format i { display:none; }
.meet-format strong { color:var(--text); }
.meet-img { grid-area:img; position:relative; display:flex; align-items:flex-end; justify-content:center; height:150px; overflow:hidden; border-radius:var(--r); background:#E9E6F0; }
.meet-img img { max-height:94%; max-width:94%; width:auto; object-fit:contain; object-position:bottom; }
@media (max-width:899px) { .meet-img { height:132px; justify-content:flex-start; padding-left:12px; } }
.feat-cols { display:grid; gap:18px 28px; margin-top:14px; }
@media (min-width:640px) { .feat-cols { grid-template-columns:1fr 1fr; } }
.feat-cols h4 { margin-bottom:8px; font-size:.78rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted); }
.feat-cols li { margin-bottom:8px; font-size:.95rem; line-height:1.4; color:var(--text); }
.feat-cols li span { display:block; font-size:.85rem; color:var(--text-muted); }
/* Spotkanie stacjonarne: portrety w rzędzie */
.meet-faces { align-items:center; justify-content:center; padding:12px; }
.faces { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; width:100%; max-width:240px; }
.meet-img .faces img { width:100%; height:auto; max-width:none; max-height:none; aspect-ratio:1; border-radius:4px; object-fit:cover; object-position:50% 20%; background:#000; }
@media (max-width:899px) { .meet-faces { height:auto; justify-content:flex-start; } .faces { grid-template-columns:repeat(6,1fr); max-width:340px; } }
@media (min-width:900px) { .meet.featured .meet-img { height:auto; align-self:start; } }

/* ============================================================================
   LUDZIE: EKSPERCI SPOŁECZNOŚCI
============================================================================ */
.experts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 16px; }
@media (min-width:640px) { .experts { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 20px; } }
@media (min-width:900px) { .experts { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (min-width:1100px) { .experts { grid-template-columns:repeat(5,minmax(0,1fr)); } }
.expert { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) 40px; grid-template-rows:auto auto 1fr; align-content:start; column-gap:4px; }
.expert img { grid-column:1 / -1; width:100%; aspect-ratio:1; height:auto; object-fit:cover; object-position:50% 16%; border-radius:var(--r); background:#0B0B0B; }
.expert h3 { grid-column:1; grid-row:2; margin-top:14px; font-size:1.02rem; font-weight:700; line-height:1.3; letter-spacing:-.01em; overflow-wrap:break-word; }
.expert p { grid-column:1 / -1; grid-row:3; margin-top:4px; font-size:.86rem; line-height:1.45; color:var(--text-muted); }
.expert .org { display:block; margin-top:4px; font-size:.88rem; font-weight:650; color:var(--text); }
.expert > .li { grid-column:2; grid-row:2; align-self:start; justify-self:end; margin:4px -10px -16px 0; width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; color:var(--text-muted); font-size:1.15rem; transition:color .2s; }
.expert > .li:hover { color:#0A66C2; }
@media (max-width:420px) { .expert h3 { font-size:.95rem; } .expert p, .expert .org { font-size:.82rem; } }

/* Cytaty */
.quotes { display:grid; gap:0 48px; margin-top:72px; }
@media (min-width:860px) { .quotes { grid-template-columns:1fr 1fr; } }
.quote { padding:26px 0; border-top:1px solid var(--border); }
.quote .qm { display:none; }
.quote blockquote { max-width:36ch; font-size:clamp(1.15rem,1.8vw,1.35rem); font-weight:600; line-height:1.4; letter-spacing:-.015em; color:var(--text); }
.quote figcaption { display:flex; align-items:center; gap:12px; margin-top:16px; font-size:.86rem; color:var(--text-muted); line-height:1.4; }
.quote figcaption img { width:40px; height:40px; border-radius:50%; object-fit:cover; object-position:50% 18%; background:#000; }
.quote figcaption strong { display:block; color:var(--text); font-size:.92rem; }

/* ============================================================================
   ORGANIZATORZY (bez osobnych kontenerów)
============================================================================ */
.org-head { margin-bottom:40px; }
.org-head p { max-width:62ch; margin-top:16px; font-size:1.05rem; line-height:1.65; color:var(--text-body); }
.org-grid { display:grid; gap:40px; }
@media (min-width:900px) { .org-grid { grid-template-columns:1fr 1fr; gap:56px; } }
.org-grid > .org { display:grid; grid-template-columns:132px minmax(0,1fr); gap:24px; align-items:start; padding-top:28px; border-top:1px solid var(--border); }
.org-grid > .org img { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:50% 12%; border-radius:var(--r); background:#E7E4EC; }
.org-grid > .org h3 { font-size:1.2rem; font-weight:700; line-height:1.3; letter-spacing:-.015em; }
.org-grid > .org .role { margin:4px 0 12px; font-size:.92rem; font-weight:600; color:var(--brand-soft); line-height:1.45; }
.org-grid > .org p { font-size:.97rem; color:var(--text-body); line-height:1.65; }
.org-grid > .org a.li { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-top:6px; font-size:.92rem; font-weight:650; color:var(--brand); }
.org-grid > .org a.li:hover { text-decoration:underline; text-underline-offset:3px; }
@media (max-width:560px) {
    .org-grid > .org { grid-template-columns:88px minmax(0,1fr); column-gap:16px; row-gap:0; }
    .org-grid > .org > div { display:contents; }
    .org-grid > .org img { grid-row:1 / span 2; }
    .org-grid > .org h3 { align-self:end; }
    .org-grid > .org .role { align-self:start; margin-bottom:0; }
    .org-grid > .org p:not(.role), .org-grid > .org a.li { grid-column:1 / -1; }
    .org-grid > .org p:not(.role) { margin-top:16px; }
}
/* stary kontener karty - neutralny */
.org-card { position:relative; }

/* ============================================================================
   ORGANIZACJE I PARTNERZY
============================================================================ */
.companies { columns:2; column-gap:24px; max-width:none; border-top:1px solid var(--border); padding-top:20px; }
@media (min-width:640px) { .companies { columns:3; } }
@media (min-width:1000px) { .companies { columns:4; column-gap:40px; } }
.companies span { display:block; break-inside:avoid; padding:5px 0; font-size:.95rem; line-height:1.4; color:var(--text-body); }
.companies.collapsed span:nth-child(n+61) { display:none; }
.companies-more { display:flex; margin-top:24px; }
.partners { display:flex; flex-wrap:wrap; align-items:center; gap:20px 48px; margin-top:64px; padding-top:28px; border-top:1px solid var(--border); }
.partners-t { width:100%; font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--text-muted); }
.partners img { height:64px; width:auto; padding:10px 16px; background:#fff; border:1px solid var(--border); border-radius:var(--r); }

/* ============================================================================
   KONFERENCJA - PIERWSZY EKRAN
============================================================================ */
.conf-hero .hero-grid { display:grid; gap:40px; }
@media (min-width:1024px) { .conf-hero .hero-grid { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:72px; align-items:end; } }
.conf-hero .hero-h1 { max-width:14ch; }
.conf-when { padding:28px; border:1px solid var(--line-dark); border-radius:var(--r-lg); background:rgba(255,255,255,.03); }
.conf-when-date { font-size:clamp(1.5rem,2.6vw,2rem); font-weight:750; letter-spacing:-.03em; line-height:1.1; }
.conf-when-list { display:flex; flex-wrap:wrap; gap:6px 18px; margin-top:10px; font-size:.95rem; color:rgba(255,255,255,.78); }
.conf-when-list li { display:inline-flex; align-items:center; gap:8px; }
.conf-when-list i { color:var(--brand-on-dark); font-size:.85em; }
.conf-when .hero-btns { margin-top:24px; }
.conf-when .hero-btns .btn { flex:1 1 auto; }
@media (max-width:640px) { .conf-when { padding:20px; } }
/* Licznik do startu - tylko z JS */
.countdown { display:none; }
.js .countdown { display:block; margin-top:24px; padding-top:20px; border-top:1px solid var(--line-dark); }
.js .countdown[hidden], .cd-row[hidden] { display:none; }
.cd-cap { margin-bottom:8px; font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.62); }
.cd-row { display:flex; gap:20px; }
.cd-unit { min-width:0; }
.cd-n { display:block; font-size:1.9rem; font-weight:750; line-height:1; letter-spacing:-.03em; color:#fff; font-variant-numeric:tabular-nums; }
.cd-l { display:block; margin-top:4px; font-size:.78rem; color:rgba(255,255,255,.58); }
.countdown.is-live .cd-cap, .countdown.is-done .cd-cap { margin:0; font-size:.9rem; color:#fff; letter-spacing:.06em; }
.countdown.is-live .cd-cap::before { content:""; display:inline-block; width:8px; height:8px; margin-right:10px; border-radius:50%; background:var(--red-soft); vertical-align:1px; }
@media (max-width:640px) { .cd-n { font-size:1.6rem; } .cd-row { gap:16px; } }

/* ============================================================================
   KONFERENCJA - IDEA I FORMUŁA
============================================================================ */
.c-about { display:grid; gap:48px; align-items:start; }
@media (min-width:980px) { .c-about { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:80px; } }
.c-about .about-text p:first-of-type { font-size:1.15rem; color:var(--text); }
.c-legacy { padding-top:24px; border-top:2px solid var(--text); }
.c-legacy .c-legacy-n { margin:0; font-size:clamp(2.8rem,5vw,3.8rem); font-weight:800; letter-spacing:-.045em; line-height:1; color:var(--brand); }
.c-legacy h3 { margin:8px 0 12px; font-size:1.1rem; font-weight:700; }
.c-legacy p { font-size:.97rem; color:var(--text-body); line-height:1.65; }
.c-legacy .orgs { margin-top:12px; font-size:.93rem; line-height:1.6; color:var(--text); }
.c-legacy .j-link { margin-top:6px; }
.c-legacy .tags { display:none; }

/* Formuła: zwarty blok definicji */
.format { display:grid; grid-template-columns:repeat(1,minmax(0,1fr)); margin-top:56px; border-top:1px solid var(--border); }
@media (min-width:640px) { .format { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1000px) { .format { grid-template-columns:repeat(3,minmax(0,1fr)); } }
.format > div { padding:20px 24px 22px 0; border-bottom:1px solid var(--border); }
@media (min-width:640px) { .format > div:nth-child(odd) { padding-right:28px; } }
.format dt { font-size:.78rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted); }
.format dd { margin-top:6px; font-size:1.02rem; font-weight:550; line-height:1.5; color:var(--text); }

/* ============================================================================
   KONFERENCJA - PROGRAM
============================================================================ */
.agenda-note { display:flex; align-items:flex-start; gap:12px; max-width:none; margin:-16px 0 36px; padding:14px 18px; font-size:.97rem; line-height:1.5; color:var(--text); background:var(--white); border:1px solid var(--border); border-left:3px solid var(--brand); border-radius:var(--r); }
.agenda-note i { margin-top:3px; color:var(--brand); }
.tracks { display:grid; gap:40px; }
@media (min-width:900px) { .tracks { grid-template-columns:1fr 1fr; gap:48px; } }
.track { --tc:var(--brand); }
.track.is-men { --tc:var(--red); }
.track-head { padding-bottom:18px; border-bottom:2px solid var(--tc); }
.track-k { display:flex; align-items:center; gap:10px; font-size:.82rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--tc); }
.track-k::before { content:""; width:10px; height:10px; border-radius:2px; background:var(--tc); }
.track-head h3 { margin-top:8px; font-size:clamp(1.3rem,2.2vw,1.55rem); font-weight:750; line-height:1.25; letter-spacing:-.02em; color:var(--text); }
.track-n { margin-top:6px; font-size:.9rem; color:var(--text-muted); }
.track-n a { color:var(--brand); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.track-list { counter-reset:t; }
.track-list li { counter-increment:t; display:grid; grid-template-columns:36px minmax(0,1fr); gap:4px 12px; padding:16px 0; border-bottom:1px solid var(--border); }
.track-list li::before { content:counter(t,decimal-leading-zero); grid-row:1 / span 2; padding-top:2px; font-size:.85rem; font-weight:700; color:var(--text-muted); font-variant-numeric:tabular-nums; }
.track-list strong { font-size:1.02rem; font-weight:650; color:var(--text); line-height:1.4; }
.track-list span { font-size:.95rem; line-height:1.55; color:var(--text-body); }
.track-list li.debate { margin-top:-1px; padding:16px 14px; border:0; background:var(--white); border-left:3px solid var(--tc); }
.track-list li.debate::before { content:"CIO"; color:var(--tc); }

/* ============================================================================
   KONFERENCJA - PRELEGENCI
============================================================================ */
.spk-filter { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 28px; }
.spk-filter[hidden] { display:none; }
.spk-filter .chip i { font-size:.8rem; }
.spk-filter .n { font-size:.78rem; font-weight:700; padding:1px 8px; border-radius:var(--r-full); background:var(--surface-2); color:var(--text-muted); font-variant-numeric:tabular-nums; }
.spk-filter .chip.active .n { background:rgba(255,255,255,.18); color:#fff; }
@media (max-width:640px) {
    .spk-filter { flex-wrap:nowrap; overflow-x:auto; margin:0 calc(-1 * var(--gutter)) 24px; padding:2px var(--gutter) 6px; scrollbar-width:none; }
    .spk-filter::-webkit-scrollbar { display:none; }
    .spk-filter .chip { flex:none; }
}
.spk-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px; }
@media (max-width:400px) { .spk-grid { grid-template-columns:minmax(0,1fr); } }
.spk { --tc:var(--brand); position:relative; min-width:0; display:grid; grid-template-columns:72px minmax(0,1fr); grid-template-rows:auto auto auto 1fr; column-gap:16px; align-content:start; padding:20px 20px 18px; background:var(--white); border:1px solid var(--border); border-radius:var(--r-lg); transition:border-color .2s; }
.spk[data-track="men"] { --tc:var(--red); }
.spk:hover { border-color:var(--text-subtle); }
.spk[hidden] { display:none; }
.spk-photo { grid-column:1; grid-row:1 / span 3; width:72px; height:72px; border-radius:var(--r); object-fit:cover; object-position:50% 20%; background:var(--surface-2); }
.spk-ini { display:flex; align-items:center; justify-content:center; color:var(--text-muted); font-size:1.35rem; font-weight:700; letter-spacing:.02em; user-select:none; background:var(--surface-2); }
.spk-name { grid-column:2; align-self:end; font-size:1.06rem; font-weight:700; line-height:1.3; letter-spacing:-.01em; color:var(--text); overflow-wrap:break-word; }
.spk-role { grid-column:2; margin-top:2px; font-size:.88rem; color:var(--text-muted); line-height:1.4; }
.spk-org { grid-column:2; margin-top:2px; font-size:.9rem; font-weight:650; line-height:1.4; color:var(--text); }
.spk-talk { grid-column:1 / -1; margin-top:16px; padding-top:14px; border-top:1px solid var(--border-light); }
.spk-track { display:flex; align-items:center; gap:8px; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.09em; color:var(--tc); }
.spk-track i { display:none; }
.spk-track::before { content:""; width:8px; height:8px; border-radius:2px; background:var(--tc); }
.spk-title { margin-top:6px; font-size:1rem; font-weight:650; line-height:1.4; color:var(--text); }
.spk-with { margin-top:6px; font-size:.88rem; line-height:1.5; color:var(--text-body); }
.spk-with a { color:var(--brand); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.spk-status { display:flex; align-items:center; gap:6px; margin-top:8px; font-size:.8rem; color:var(--text-muted); }
.spk-status i { font-size:.7rem; }
.spk-li { position:absolute; top:10px; right:8px; width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; font-size:0; color:var(--text-muted); border-radius:var(--r); }
.spk-li:hover { color:#0A66C2; }
.spk-li i { font-size:1.15rem; }
.spk-name, .spk-role, .spk-org { padding-right:30px; }

/* ============================================================================
   KONFERENCJA - ODBIORCY I KORZYŚCI
============================================================================ */
.aud-grid { display:grid; gap:64px; }
@media (min-width:1000px) { .aud-grid { grid-template-columns:1fr 1fr; gap:80px; } }
.aud-grid .sec-sub { margin-bottom:8px; }
.aud-list { margin-top:28px; border-top:1px solid var(--border); }
.aud-list > div { padding:18px 0; border-bottom:1px solid var(--border); }
.aud-list dt { font-size:1.08rem; font-weight:700; color:var(--text); }
.aud-list dd { margin-top:6px; font-size:.97rem; line-height:1.6; color:var(--text-body); }
.gain-list { margin-top:28px; counter-reset:g; border-top:1px solid var(--border); }
.gain-list li { counter-increment:g; display:grid; grid-template-columns:36px minmax(0,1fr); gap:6px 12px; padding:18px 0; border-bottom:1px solid var(--border); }
.gain-list li::before { content:counter(g,decimal-leading-zero); grid-row:1 / span 2; padding-top:3px; font-size:.85rem; font-weight:700; color:var(--red); font-variant-numeric:tabular-nums; }
.gain-list h3 { font-size:1.08rem; font-weight:700; line-height:1.35; }
.gain-list p { font-size:.97rem; line-height:1.6; color:var(--text-body); }

/* ============================================================================
   KONFERENCJA - DOTYCHCZASOWE EDYCJE
============================================================================ */
.ev-grid { display:grid; gap:0; border-top:2px solid var(--text); }
@media (min-width:1000px) { .ev-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .ev-grid > .ev + .ev { border-left:1px solid var(--border); } .ev-grid > .ev { padding:28px 28px 8px; } .ev-grid > .ev:first-child { padding-left:0; } .ev-grid > .ev:last-child { padding-right:0; } }
.ev { display:flex; flex-direction:column; padding:28px 0 8px; }
@media (max-width:999px) { .ev + .ev { border-top:1px solid var(--border); } }
.ev-top { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; margin-bottom:10px; }
.ev-step { font-size:.85rem; font-weight:700; color:var(--text-muted); font-variant-numeric:tabular-nums; }
.ev-date { font-size:.92rem; font-weight:650; color:var(--brand-soft); }
.ev-date i { display:none; }
.ev h3 { font-size:1.35rem; font-weight:750; letter-spacing:-.02em; line-height:1.2; }
.ev-claim { margin:6px 0 12px; font-size:1rem; font-weight:600; line-height:1.45; color:var(--text); }
.ev > p:not(.ev-claim) { margin-bottom:14px; font-size:.95rem; line-height:1.65; color:var(--text-body); }
.ev-facts { margin-bottom:14px; }
.ev-facts li { position:relative; padding-left:16px; margin-bottom:6px; font-size:.93rem; line-height:1.5; color:var(--text-body); }
.ev-facts li::before { content:""; position:absolute; left:0; top:.66em; width:6px; height:2px; background:var(--text-muted); }
.ev-facts i { display:none; }
.ev-orgs { margin-bottom:10px; font-size:.88rem; line-height:1.6; color:var(--text-muted); }
.ev-orgs b { font-weight:650; color:var(--text); }
.ev-link { margin-top:auto; }
.legacy-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:48px; border-top:1px solid var(--border); }
@media (min-width:900px) { .legacy-stats { grid-template-columns:repeat(4,minmax(0,1fr)); } }
.legacy-stats div { padding:22px 16px 6px 0; }
.legacy-stats strong { display:block; font-size:2.2rem; font-weight:750; letter-spacing:-.035em; color:var(--text); line-height:1; font-variant-numeric:tabular-nums; }
.legacy-stats span { display:block; margin-top:6px; font-size:.9rem; color:var(--text-muted); }

/* ============================================================================
   FAQ
============================================================================ */
.faq-grid { display:grid; gap:32px; }
@media (min-width:980px) { .faq-grid { grid-template-columns:minmax(0,4fr) minmax(0,7fr); gap:64px; } .faq-grid .sec-head { margin-bottom:0; display:block; position:sticky; top:calc(var(--head-h) + 32px); align-self:start; } .faq-grid .sec-head .sec-sub { margin-top:18px; } }
.faq { border-top:1px solid var(--border); }
.faq details { border-bottom:1px solid var(--border); }
.faq summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:64px; padding:16px 0; font-weight:650; font-size:1.05rem; line-height:1.4; color:var(--text); }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"\f067"; flex-shrink:0; width:32px; height:32px; display:flex; align-items:center; justify-content:center; border-radius:50%; border:1px solid var(--border); font:900 12px/1 "Font Awesome 6 Free"; color:var(--brand); transition:transform .2s; }
.faq details[open] summary::after { transform:rotate(45deg); }
.faq summary:hover { color:var(--brand); }
.faq .a { max-width:66ch; padding:0 48px 22px 0; font-size:1rem; line-height:1.7; color:var(--text-body); }
.faq .a a { color:var(--brand); font-weight:600; text-decoration:underline; }
@media (max-width:640px) { .faq .a { padding-right:0; } }

/* ============================================================================
   CIEMNY BLOK AKCJI (rejestracja, zachęty pod analizami)
============================================================================ */
.section-dark { background:var(--navy); color:#fff; }
.conf-card { position:relative; color:#fff; }
.section:not(.section-dark) .conf-card { padding:48px; border-radius:var(--r-xl); background:var(--navy); }
@media (max-width:640px) { .section:not(.section-dark) .conf-card { padding:28px 20px; } }
.conf-grid { display:grid; gap:40px; align-items:start; }
@media (min-width:980px) { .conf-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:72px; } }
.conf-badge { display:inline-flex; align-items:center; gap:10px; margin-bottom:16px; font-size:.82rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--brand-on-dark); }
.conf-badge .dot { display:none; }
.conf-title { font-size:clamp(1.9rem,3.8vw,2.75rem); font-weight:800; letter-spacing:-.035em; line-height:1.08; color:#fff; }
.conf-lead { max-width:58ch; margin-top:16px; font-size:1.06rem; color:rgba(255,255,255,.8); line-height:1.65; }
.conf-legal { margin-top:20px; font-size:.88rem; color:rgba(255,255,255,.68); }
.conf-legal a { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.conf-meta { display:flex; flex-wrap:wrap; gap:6px 18px; }
.conf-meta span { display:inline-flex; align-items:center; gap:8px; font-size:.95rem; font-weight:600; }
.conf-meta i { color:var(--brand-on-dark); font-size:.85em; }
.conf-track { padding:16px 0; border-top:1px solid var(--line-dark); }
.conf-track .k { display:flex; align-items:center; gap:10px; font-weight:700; color:#fff; }
.conf-track .k i { color:var(--brand-on-dark); }
.conf-track p { margin-top:4px; font-size:.93rem; color:rgba(255,255,255,.72); line-height:1.6; }
.c-cta .conf-card { text-align:left; }
.c-cta .hero-btns { justify-content:flex-start; }

/* Rejestracja */
.signup-facts { display:grid; gap:12px; margin-top:24px; }
.signup-facts li { display:flex; align-items:flex-start; gap:12px; font-size:.98rem; line-height:1.55; color:rgba(255,255,255,.86); }
.signup-facts i { flex:none; width:18px; margin-top:4px; text-align:center; font-size:.85rem; color:var(--brand-on-dark); }
.signup-facts a { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.signup-card { position:relative; padding:30px 30px 24px; background:var(--white); color:var(--text); border-radius:var(--r-lg); }
@media (max-width:640px) { .signup-card { padding:22px 18px 18px; } }
.signup-title { margin-bottom:16px; font-size:1.2rem; font-weight:750; letter-spacing:-.01em; color:var(--text); }
.signup-notice { display:grid; gap:10px; margin:0 0 20px; padding:14px 16px; border-radius:var(--r); background:var(--paper); border:1px solid var(--border-light); }
.signup-notice li { display:flex; align-items:flex-start; gap:10px; font-size:.88rem; line-height:1.5; color:var(--text-body); }
.signup-notice i { flex:none; width:16px; margin-top:3px; font-size:.8rem; text-align:center; color:var(--brand); }
.signup-notice strong { color:var(--text); }
.signup-notice a { color:var(--brand); font-weight:600; text-decoration:underline; }
.signup-submit { width:100%; margin-top:22px; }
.signup-submit[disabled] { opacity:.65; cursor:wait; }
.signup-form .kform-status a { color:var(--brand); text-decoration:underline; }
.signup-state { padding:18px 6px 8px; text-align:center; }
.signup-state:focus { outline:none; }
.signup-ico { width:52px; height:52px; margin:0 auto 16px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:20px; color:var(--brand); background:var(--brand-light); }
.signup-ico.is-ok { color:#fff; background:var(--brand); }
.signup-state h3 { margin-bottom:8px; font-size:1.3rem; font-weight:750; letter-spacing:-.02em; color:var(--text); }
.signup-state p { font-size:.97rem; line-height:1.65; color:var(--text-body); }
.signup-state p + p { margin-top:10px; }
.signup-state a { color:var(--brand); font-weight:600; text-decoration:underline; }
.signup-state strong { color:var(--text); word-break:break-all; }
.signup-state .signup-note { font-size:.88rem; color:var(--text-muted); }
.signup-noscript { font-size:.93rem; line-height:1.6; color:var(--text-body); }
.signup-noscript a { color:var(--brand); text-decoration:underline; }

/* ============================================================================
   FORMULARZE I KONTAKT
============================================================================ */
.kontakt-layout { display:grid; gap:48px; align-items:start; }
@media (min-width:980px) { .kontakt-layout { grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:72px; } }
.kontakt-aside h2 { font-size:1.35rem; font-weight:750; letter-spacing:-.02em; }
.kontakt-aside > p { margin-top:10px; font-size:1rem; line-height:1.65; color:var(--text-body); }
.kd-links { display:grid; gap:0; margin-top:20px; border-top:1px solid var(--border); }
.kd-link { display:flex; align-items:center; gap:14px; min-height:64px; padding:12px 0; border-bottom:1px solid var(--border); }
.kd-link i { width:20px; flex:none; text-align:center; font-size:1rem; color:var(--brand); }
.kd-link span { display:flex; flex-direction:column; min-width:0; line-height:1.35; }
.kd-link small { font-size:.8rem; color:var(--text-muted); }
.kd-link b { font-size:1.05rem; font-weight:650; color:var(--text); overflow-wrap:anywhere; }
.kd-link:hover b { color:var(--brand); text-decoration:underline; text-underline-offset:3px; }
.kd-org { margin-top:32px; font-style:normal; }
.kd-org strong { display:block; font-size:1rem; font-weight:700; color:var(--text); line-height:1.4; }
.kd-addr { margin-top:4px; font-size:.97rem; color:var(--text-body); line-height:1.5; }
.kd-addr i { display:none; }
.kd-reg { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:16px; }
.kd-reg dt { font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted); }
.kd-reg dd { margin-top:2px; font-size:.95rem; font-weight:600; color:var(--text); font-variant-numeric:tabular-nums; }
.kontakt-card { position:relative; padding:32px; background:var(--white); border:1px solid var(--border); border-radius:var(--r-lg); }
@media (max-width:640px) { .kontakt-card { padding:22px 16px 18px; } }
.kontakt-card .kc-title { margin-bottom:20px; font-size:1.35rem; font-weight:750; letter-spacing:-.02em; }
/* elementy z poprzedniej wersji */
.kc-head, .kc-ico { display:none; }
.kontakt-dane { display:none; }

.kform-row { display:grid; gap:0 16px; }
@media (min-width:600px) { .kform-row { grid-template-columns:1fr 1fr; } }
.kfield { margin-bottom:18px; }
.kfield label { display:block; margin-bottom:7px; font-size:.93rem; font-weight:600; color:var(--text); }
.req { color:var(--red); font-weight:700; }
.opt { color:var(--text-muted); font-weight:500; }
.kfield input, .kfield textarea { width:100%; min-height:48px; padding:12px 14px; font:inherit; font-size:1rem; color:var(--text); background:var(--white); border:1px solid #CFCBC1; border-radius:var(--r); transition:border-color .2s, box-shadow .2s; }
.kfield textarea { min-height:160px; resize:vertical; line-height:1.6; }
.kfield input:hover, .kfield textarea:hover { border-color:var(--text-muted); }
.kfield input:focus, .kfield textarea:focus { outline:none; border-color:var(--brand); box-shadow:0 0 0 3px rgba(53,28,117,.16); }
.kfield [aria-invalid="true"] { border-color:var(--red); }
.kfield [aria-invalid="true"]:focus { box-shadow:0 0 0 3px rgba(161,29,43,.14); }
.kerr { margin-top:6px; font-size:.86rem; font-weight:500; color:var(--red); }
.kerr:empty { display:none; }
.khint { margin-top:6px; font-size:.85rem; color:var(--text-muted); }
.hp { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.kform-foot { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:6px; }
.kform-foot .btn[disabled] { opacity:.65; cursor:wait; }
@media (max-width:640px) { .kform-foot .btn { width:100%; } }
.kform-note { font-size:.86rem; color:var(--text-muted); }
.kform-status { margin-top:14px; font-size:.93rem; font-weight:600; }
.kform-status:empty { display:none; }
.kform-status.is-error { color:var(--red); }
.kform-rodo { margin-top:20px; padding-top:16px; border-top:1px solid var(--border-light); font-size:.82rem; line-height:1.6; color:var(--text-muted); }
.kform-rodo a { color:var(--brand); text-decoration:underline; }
.kform-ok { padding:28px 8px 12px; text-align:center; }
.kform-ok:focus { outline:none; }
.kform-ok-ico { width:56px; height:56px; margin:0 auto 18px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:22px; color:#fff; background:var(--brand); }
.kform-ok h2 { margin-bottom:8px; font-size:1.5rem; font-weight:750; letter-spacing:-.02em; }
.kform-ok p { margin-bottom:22px; color:var(--text-body); }
.kcheck { display:flex; align-items:flex-start; gap:12px; margin-top:12px; }
.kcheck input { flex:none; width:22px; height:22px; margin-top:1px; accent-color:var(--brand); cursor:pointer; }
.kcheck input[aria-invalid="true"] { outline:2px solid var(--red); outline-offset:2px; }
.kcheck label { font-size:.9rem; line-height:1.55; color:var(--text-body); cursor:pointer; }
.kcheck a { color:var(--brand); font-weight:600; text-decoration:underline; }
.kcheck + .kerr { margin-left:34px; }

/* ============================================================================
   MATERIAŁY DO POBRANIA (karty z rzeczywistymi podglądami dokumentów)
============================================================================ */
.materials { display:grid; gap:24px; }
@media (min-width:640px) { .materials { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1100px) { .materials { grid-template-columns:repeat(4,minmax(0,1fr)); } }
.mat { display:flex; flex-direction:column; min-width:0; background:var(--white); border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden; }
.mat-img, a.mat-img { display:flex; align-items:flex-end; justify-content:center; aspect-ratio:4/3; padding:20px 20px 0; overflow:hidden; background:var(--surface-2); }
.mat-img img { max-height:100%; width:auto; border-radius:3px 3px 0 0; box-shadow:0 6px 20px -6px rgba(21,18,44,.3); object-fit:cover; object-position:top; }
.mat-body { display:flex; flex-direction:column; flex:1; padding:20px 20px 20px; }
.mat-kind { margin-bottom:8px; font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--brand-soft); }
.mat h3 { margin-bottom:8px; font-size:1.1rem; font-weight:700; letter-spacing:-.01em; line-height:1.3; }
.mat p { margin-bottom:16px; font-size:.93rem; color:var(--text-body); line-height:1.6; }
.mat-files { display:grid; gap:0; margin-top:auto; border-top:1px solid var(--border-light); }
.mat-files a { display:flex; align-items:center; gap:12px; min-height:52px; padding:8px 0; border-bottom:1px solid var(--border-light); font-size:.93rem; font-weight:600; color:var(--text); }
.mat-files li:last-child a { border-bottom:0; }
.mat-files a:hover { color:var(--brand); }
.mat-files a:hover span > :first-child { text-decoration:underline; text-underline-offset:3px; }
.mat-files i { width:20px; flex:none; text-align:center; color:var(--brand); font-size:1.05rem; }
.mat-files span { display:flex; flex-direction:column; line-height:1.3; }
.mat-files small { font-size:.8rem; font-weight:500; color:var(--text-muted); }
.mat-files li.primary a { color:var(--brand); }
.mat-note { margin-top:28px; font-size:.9rem; color:var(--text-muted); }

/* ============================================================================
   STOPKA
============================================================================ */
.footer { padding:48px 0 40px; background:var(--navy-deep); color:#fff; }
.footer-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px 40px; }
.footer-row > a { display:inline-flex; min-height:44px; align-items:center; }
.footer-logo { height:22px; width:auto; filter:brightness(0) invert(1); opacity:.92; }
.footer-links { display:flex; flex-wrap:wrap; gap:0 6px; margin:0 -10px; }
.footer-links a { display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:0 10px; font-size:.92rem; font-weight:500; color:rgba(255,255,255,.75); transition:color .2s; }
.footer-links a[target="_blank"]::after { content:"\f08e"; font:900 .62rem/1 "Font Awesome 6 Free"; opacity:.6; }
.footer-links a:hover { color:#fff; }
.footer-legal { margin-top:24px; padding-top:20px; border-top:1px solid var(--line-dark); font-size:.85rem; color:rgba(255,255,255,.6); }
.footer-docs { display:flex; flex-wrap:wrap; gap:0 22px; }
.footer-docs a, .footer-docs button { display:inline-flex; align-items:center; min-height:44px; font:inherit; font-size:.85rem; color:rgba(255,255,255,.7); background:none; border:0; cursor:pointer; text-decoration:underline; text-decoration-color:rgba(255,255,255,.3); text-underline-offset:3px; }
.footer-docs a:hover, .footer-docs button:hover { color:#fff; text-decoration-color:currentColor; }
.footer-docs a[aria-current="page"] { color:#fff; text-decoration:none; }
@media (max-width:640px) { .footer-row { flex-direction:column; align-items:flex-start; } }

/* ============================================================================
   RUCH
   Treść jest widoczna od razu; zostają tylko reakcje elementów interaktywnych.
============================================================================ */
@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    *, *::before, *::after { transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}

/* ============================================================================
   DOKUMENTY PRAWNE
============================================================================ */
.reg { padding-top:calc(var(--head-h) + 56px); background:var(--paper); }
.reg .sec-title { max-width:none; }
.reg-body { max-width:820px; margin:0 auto; padding:40px 44px; background:var(--white); border:1px solid var(--border); border-radius:var(--r-lg); }
@media (max-width:640px) { .reg-body { padding:24px 16px; } }
.reg-body h2 { margin:32px 0 12px; font-size:1.12rem; font-weight:750; letter-spacing:-.01em; color:var(--text); }
.reg-body h2:first-child { margin-top:0; }
.reg-body p { margin-bottom:8px; font-size:.97rem; line-height:1.7; color:var(--text-body); }
.reg-body p.reg-sub { padding-left:22px; }
.reg-body a { color:var(--brand); text-decoration:underline; word-break:break-word; }
.reg-form { padding:20px 22px; border:1px dashed var(--border); border-radius:var(--r); background:var(--paper); }
.reg-meta { max-width:820px; margin:8px auto 22px; font-size:.93rem; color:var(--text-muted); }
.legal-nav { display:flex; flex-wrap:wrap; gap:8px; max-width:820px; margin:20px auto 24px; }
.legal-nav a { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 16px; font-size:.9rem; font-weight:600; color:var(--text-body); background:var(--white); border:1px solid var(--border); border-radius:var(--r-full); }
.legal-nav a:hover { color:var(--brand); border-color:var(--brand); }
.legal-nav a[aria-current="page"] { color:#fff; background:var(--text); border-color:var(--text); }
.legal-nav i { font-size:.8rem; }
.reg .sec-label, .reg .sec-title, .reg .sec-sub { max-width:820px; margin-left:auto; margin-right:auto; }
.reg-body ol { padding-left:26px; margin:0 0 10px; list-style:decimal; }
.reg-body ol ol { padding-left:24px; margin:6px 0 4px; }
.reg-body ol ol > li::marker { content:counter(list-item) ") "; }
.reg-body li { margin-bottom:6px; padding-left:4px; font-size:.97rem; line-height:1.7; color:var(--text-body); }
.reg-body li::marker { color:var(--brand); font-weight:700; }
.reg-body ul.reg-ul { list-style:disc; padding-left:24px; margin:0 0 12px; }
.reg-body strong { color:var(--text); }
.reg-body h3 { margin:18px 0 8px; font-size:1rem; font-weight:700; color:var(--text); }
.reg-note { margin:0 0 22px; padding:16px 18px; border-radius:var(--r); background:var(--brand-light); border:1px solid var(--brand-border); }
.reg-body .reg-note p:last-child { margin-bottom:0; }
.reg-end { margin-top:28px; padding-top:16px; border-top:1px solid var(--border-light); font-size:.88rem; }
.reg-body.reg-wide { max-width:1060px; }
.reg-body.reg-wide > :not(.reg-table-wrap) { max-width:820px; }
.reg-table-wrap { margin:0 0 16px; border:1px solid var(--border); border-radius:var(--r); overflow:hidden; }
.reg-table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:.86rem; line-height:1.55; color:var(--text-body); }
.reg-table caption { padding:12px 14px 0; text-align:left; font-size:.84rem; color:var(--text-muted); }
.reg-table th, .reg-table td { padding:11px 12px; text-align:left; vertical-align:top; border-bottom:1px solid var(--border-light); overflow-wrap:break-word; }
.reg-table thead th { font-size:.74rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--text-muted); background:var(--paper); }
.reg-table tbody tr:last-child > * { border-bottom:0; }
.reg-table tbody th { font-weight:600; color:var(--text); }
.reg-table code { padding:1px 5px; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.8rem; background:var(--surface-2); border-radius:4px; }
@media (max-width:860px) {
    .reg-table-wrap { border:0; overflow:visible; }
    .reg-table, .reg-table tbody, .reg-table tr, .reg-table th, .reg-table td { display:block; width:auto; }
    .reg-table caption { display:block; padding:0 0 10px; }
    .reg-table colgroup, .reg-table thead { display:none; }
    .reg-table tbody tr { margin-bottom:12px; padding:6px 14px; border:1px solid var(--border); border-radius:var(--r); background:var(--white); }
    .reg-table tbody th, .reg-table tbody td { display:grid; grid-template-columns:minmax(104px,34%) minmax(0,1fr); gap:12px; padding:8px 0; border-bottom:1px solid var(--border-light); }
    .reg-table tbody tr > :last-child { border-bottom:0; }
    .reg-table tbody th::before, .reg-table tbody td::before { content:attr(data-label); padding-top:2px; font-size:.7rem; font-weight:700; text-transform:uppercase; color:var(--text-muted); overflow-wrap:normal; }
    .reg-table tbody th { font-size:.92rem; }
    .reg-table tbody th > *, .reg-table tbody td > * { justify-self:start; }
    .reg-table .tag { white-space:normal; }
}
.tag { display:inline-block; padding:2px 9px; border-radius:var(--r-full); font-size:.76rem; font-weight:700; white-space:nowrap; }
.tag-ok { background:#E6F3EC; color:#14532D; }
.tag-opt { background:var(--surface-2); color:var(--text-muted); }
.reg-body .btn { text-decoration:none; }
.reg-inline-btn { font:inherit; color:var(--brand); background:none; border:0; padding:0; text-decoration:underline; cursor:pointer; }
.reg-inline-btn:hover { color:var(--brand-dark); }

/* ============================================================================
   STRONA 404
============================================================================ */
.err { min-height:100vh; min-height:100svh; display:flex; align-items:center; }
.err-intro { max-width:760px; }
.err-code { display:block; margin-bottom:12px; font-size:.82rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--brand-on-dark); }
.err-links { display:grid; margin-top:44px; border-top:1px solid var(--line-dark); max-width:960px; }
@media (min-width:860px) { .err-links { grid-template-columns:repeat(3,minmax(0,1fr)); } .err-links a + a { border-left:1px solid var(--line-dark); padding-left:28px; } }
.err-links a { display:flex; flex-direction:column; gap:6px; padding:24px 24px 24px 0; border-bottom:1px solid var(--line-dark); }
@media (min-width:860px) { .err-links a { border-bottom:0; } }
.err-links small { font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--brand-on-dark); }
.err-links strong { font-size:1.2rem; font-weight:700; letter-spacing:-.015em; line-height:1.3; }
.err-links span { font-size:.93rem; line-height:1.55; color:rgba(255,255,255,.7); }
.err-links em { margin-top:auto; padding-top:8px; font-style:normal; font-size:.93rem; font-weight:650; color:#fff; }
.err-links a:hover strong { text-decoration:underline; text-underline-offset:4px; }
.err-note { margin-top:32px; font-size:.95rem; color:rgba(255,255,255,.7); }
.err-note a { color:#fff; font-weight:600; text-decoration:underline; text-decoration-color:rgba(255,255,255,.4); text-underline-offset:3px; }
.err-note a:hover { text-decoration-color:currentColor; }

/* Wyróżnienie bezpłatnego udziału w konferencji */
.conf-free { display:inline-flex; align-items:center; gap:8px; margin-top:14px; padding:6px 12px; border-radius:var(--r); background:#fff; color:var(--brand); font-size:.88rem; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.conf-free::before { content:"\f00c"; font:900 .8rem/1 "Font Awesome 6 Free"; color:var(--red); }
.hero-lead strong, .conf-lead strong { color:#fff; font-weight:700; }
.chrono-item p strong { color:var(--text); }
.format > .is-key dd { color:var(--brand); font-weight:700; }
/* Źródła statystyk: wygodny cel dotykowy */
.stat-card .src { display:inline-flex; align-items:center; min-height:44px; padding-top:0; margin-top:auto; }
/* Najwęższe telefony: długie polskie słowa w tytułach mieszczą się w szerokości */
@media (max-width:380px) {
    .hero-h1, .hero-h1.h1-long, .page-head h1, .art-head h1 { font-size:1.95rem; letter-spacing:-.035em; }
    .home-claim { font-size:1.15rem; }
    .sec-title { font-size:1.7rem; }
}
/* 1120-1279 px: pięć linków i przycisk w jednym rzędzie, bez łamania etykiety */
.nav-right > .btn { white-space:nowrap; }
@media (min-width:1120px) and (max-width:1279px) {
    .nav-few { display:flex; }
    .nav-few .nav-links { margin:0 auto; }
    .nav-few .nav-links a { padding:0 9px; font-size:.9rem; }
}
.hero-split .hero-btns .btn-lg { padding-left:20px; padding-right:20px; }

/* Poprzednie wydarzenia (konferencja.html#kontynuacja) - wyeksponowany ciemny blok */
.legacy .sec-title { color:#fff; max-width:18ch; }
.legacy .sec-sub { color:rgba(255,255,255,.78); }
.legacy .ev-grid { border-top-color:rgba(255,255,255,.55); }
.legacy .ev-grid > .ev + .ev { border-color:var(--line-dark); }
.legacy .ev-step { color:var(--brand-on-dark); }
.legacy .ev-date { color:var(--red-soft); }
.legacy .ev h3 { color:#fff; font-size:1.5rem; }
.legacy .ev-claim { color:var(--brand-on-dark-bright); }
.legacy .ev > p:not(.ev-claim), .legacy .ev-facts li { color:rgba(255,255,255,.78); }
.legacy .ev-facts li::before { background:var(--red-soft); }
.legacy .ev-orgs { color:rgba(255,255,255,.66); }
.legacy .ev-orgs b { color:#fff; }
.legacy .ev-link { color:#fff; }
.legacy .legacy-stats { border-top-color:var(--line-dark); }
.legacy .legacy-stats strong { color:#fff; font-size:2.6rem; }
.legacy .legacy-stats span { color:rgba(255,255,255,.66); }
.legacy :focus-visible { outline-color:var(--brand-on-dark); }
@media (max-width:999px) { .legacy .ev + .ev { border-top-color:var(--line-dark); } }
/* Poprzednie wydarzenia: liczby w osobnym, jednolitym polu z wyraźnym podziałem kolumn */
.legacy .legacy-stats { margin-top:56px; border:0; border-radius:var(--r-lg); background:#1C1745; overflow:hidden; }
.legacy .legacy-stats div { position:relative; padding:26px 24px 24px; }
.legacy .legacy-stats div + div { box-shadow:inset 1px 0 0 rgba(255,255,255,.1); }
.legacy .legacy-stats div::before { content:""; display:block; width:20px; height:2px; margin-bottom:16px; background:var(--red-soft); }
.legacy .legacy-stats span { max-width:20ch; font-size:.92rem; line-height:1.4; }
@media (max-width:899px) {
    .legacy .legacy-stats div:nth-child(3) { box-shadow:inset 0 1px 0 rgba(255,255,255,.1); }
    .legacy .legacy-stats div:nth-child(4) { box-shadow:inset 1px 0 0 rgba(255,255,255,.1), inset 0 1px 0 rgba(255,255,255,.1); }
    .legacy .legacy-stats div { padding:20px 16px; }
    .legacy .legacy-stats strong { font-size:2rem; }
}

/* ============================================================================
   AKCENTY KOLORYSTYCZNE (finalny przegląd)
   Kolor tylko tam, gdzie niesie znaczenie: ścieżka konferencji, początek
   cytatu, rok w chronologii. Bez gradientów, poświat i półprzezroczystości.
============================================================================ */
:root { --lavender:#F3F0FA; --lavender-line:#DCD4EF; --rose:#F8EDEE; }

/* Inicjały prelegentów bez zdjęcia: tło w kolorze ścieżki */
.spk[data-track="tech"] .spk-ini { background:var(--lavender); color:var(--brand); }
.spk[data-track="men"] .spk-ini { background:var(--rose); color:var(--red); }

/* Cytaty i statystyki: krótki odcinek koloru na górnej linii */
.quote, .stat-card { position:relative; }
.quote::before, .stat-card::before { content:""; position:absolute; top:-1px; left:0; width:48px; height:2px; }
.quote::before { background:var(--red); }
.stat-card::before { background:var(--brand); }

/* Filary cyklu 2025 w kolorze marki */
.pillar { border-top-color:var(--brand); }

/* Chronologia: rok w kolorze marki */
.chrono-y { color:var(--brand); }

/* Program konferencji na delikatnie fioletowym tle - odróżnia treści konferencji od społeczności */
#program.section-paper { background:var(--lavender); }
#program .track-list li { border-bottom-color:var(--lavender-line); }
#program .agenda-note { border-color:var(--lavender-line); border-left-color:var(--brand); }

/* Stopka: linia w barwach logo (czerwień i fiolet) */
.footer { position:relative; }
.footer::before { content:none; }

/* Odbiorcy konferencji: nazwa roli z markerem */
.aud-list dt { position:relative; padding-left:18px; }
.aud-list dt::before { content:""; position:absolute; left:0; top:.55em; width:8px; height:8px; border-radius:2px; background:var(--brand); }
/* Przełącznik dokumentów prawnych: same nazwy, bez ozdobnych ikon */
.legal-nav i { display:none; }

/* ============================================================================
   FOTOGRAFIA REPORTAŻOWA (wdrożenie audytu graficznego)
   Zdjęcia z konferencji „Analityk & Architekt w erze AI” (1.10.2026),
   eksporty WebP w assets/img/foto-*. Naturalne kolory, podpis pod zdjęciem.
============================================================================ */
.photo, .head-photo { margin:0; }
.head-photo img, .photo img { width:100%; height:auto; border-radius:var(--r-lg); background:#2A2550; }
.head-photo figcaption, .photo figcaption { margin-top:10px; font-size:.84rem; line-height:1.45; }
.head-photo figcaption, .photo figcaption { color:var(--text-muted); }
.hero .head-photo figcaption { color:rgba(255,255,255,.62); }


/* Konferencja: tytuł | zdjęcie poprzedniej edycji + termin i rejestracja; na telefonie termin przed zdjęciem */
.conf-hero .hero-grid { grid-template-areas:"text" "when" "photo"; row-gap:28px; }
.conf-hero .hero-grid > div:first-child { grid-area:text; }
.conf-hero .conf-when { grid-area:when; }
.conf-hero .conf-photo { grid-area:photo; }
@media (min-width:1024px) {
    .conf-hero .hero-grid { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); grid-template-areas:"text photo" "text when"; column-gap:64px; row-gap:20px; align-items:start; }
    .conf-hero .hero-grid > div:first-child { align-self:center; }
}
.conf-photo img { aspect-ratio:16/10; object-fit:cover; }
.conf-when { background:#1C1745; border-color:rgba(255,255,255,.12); }
/* Licznik: spokojniej, bez sekundnika */
.cd-n { font-size:1.45rem; }
.js .countdown { margin-top:20px; padding-top:16px; }

/* Nagłówek ze zdjęciem (materialy.html) - lokalny wariant .page-head */
.ph-grid { display:grid; gap:32px; align-items:center; }
@media (min-width:960px) { .ph-grid { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:56px; } }
.page-head--photo { padding-bottom:48px; }
@media (max-width:959px) { .page-head--photo .head-photo img { aspect-ratio:16/9; object-fit:cover; object-position:60% 45%; } }

/* Społeczność: zdjęcie sali pod „Kim jesteśmy” */
.about-photo { margin-top:36px; }
.about-photo img { aspect-ratio:16/9; object-fit:cover; }

/* Archiwum spotkań: tło wycinków prelegentów według tematu (obrazy mają przezroczystość) */
.meet[data-tags^="ai"] .meet-img { background:#F3F0FA; }
.meet[data-tags^="produkt"] .meet-img, .meet[data-tags^="transformacja"] .meet-img { background:#EEF2F6; }
.meet[data-tags^="bezpieczenstwo"] .meet-img { background:#F8EDEE; }
.meet.featured .meet-img { background:#F8EDEE; }
.meet { transition:background-color .2s; }
.meet:hover { background-color:#FAF8FD; }

/* Organizatorzy: portrety na jasnej lawendzie zamiast szarości */
.org-grid > .org img { background:#F3F0FA; }

/* Poprzednie wydarzenia: nagłówek z fotografią z wystąpienia */
.legacy-head { display:grid; gap:32px; margin-bottom:48px; align-items:center; }
@media (min-width:960px) { .legacy-head { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:64px; } }
.legacy-head .sec-sub { margin-top:20px; }
@media (max-width:959px) { .legacy-head .head-photo img { aspect-ratio:16/9; object-fit:cover; object-position:50% 0%; } }

/* Program: debata CIO na jasnym różu (ścieżka menedżerska) */
#program .track-list li.debate { background:#F8EDEE; }

/* Prelegenci: większe portrety */
.spk { grid-template-columns:84px minmax(0,1fr); }
.spk-photo { width:84px; height:84px; }
.spk-status i { display:none; }

/* Aktywny filtr w kolorze marki */
.chip.active, .chip[aria-pressed="true"] { background:var(--brand); border-color:var(--brand); }
@media (min-width:1024px) { .conf-hero .hero-grid > div:first-child { align-self:start; padding-top:24px; } }
.conf-photo img { aspect-ratio:16/9; object-position:50% 30%; }

/* ============================================================================
   DOKUMENTY: spis treści, czytelniejsze paragrafy, tabela cookies
============================================================================ */
.reg-toc { max-width:820px; margin:0 auto 20px; background:var(--white); border:1px solid var(--border); border-radius:var(--r-lg); }
.reg-toc > summary { list-style:none; cursor:pointer; display:flex; align-items:center; min-height:52px; padding:0 20px; font-weight:700; color:var(--text); }
.reg-toc > summary::-webkit-details-marker { display:none; }
.reg-toc > summary::after { content:"\f078"; margin-left:auto; font:900 .75rem/1 "Font Awesome 6 Free"; color:var(--brand); transition:transform .2s; }
.reg-toc[open] > summary::after { transform:rotate(180deg); }
.reg-toc ol { display:grid; gap:0 32px; padding:0 20px 14px; border-top:1px solid var(--border-light); }
@media (min-width:760px) { .reg-toc ol { grid-template-columns:1fr 1fr; } }
.reg-toc a { display:flex; align-items:center; min-height:44px; font-size:.93rem; color:var(--brand); }
.reg-toc a:hover { text-decoration:underline; text-underline-offset:3px; }
.reg-body h2 { padding-top:20px; border-top:1px solid var(--border-light); }
.reg-body h2:first-child { padding-top:0; border-top:0; }
.reg-body h2:target, .reg-body h2:target + * { background:var(--brand-light); }
.reg-body h2:target { box-shadow:-8px 0 0 var(--brand-light), 8px 0 0 var(--brand-light); }
.legal-nav a { border-radius:var(--r); }
.legal-nav a[aria-current="page"] { color:var(--brand); background:var(--brand-light); border-color:var(--brand-border); }
.reg-table thead th { background:#F3F0FA; color:var(--brand); letter-spacing:.02em; }
.reg-table tbody tr:nth-child(even) > * { background:#FAF9FC; }
@media (max-width:860px) { .reg-table tbody tr:nth-child(even) > * { background:transparent; } .reg-table tbody tr > th { background:#F3F0FA !important; margin:-6px -14px 0; padding:10px 14px !important; } }

/* 404: bez wymuszonej pełnej wysokości */
.err { min-height:0; padding-bottom:96px; }
/* Lista organizacji: krótsza lista początkowa */
.companies.collapsed span:nth-child(n+33) { display:none; }

/* Konferencja: zdjęcie z poprzedniej edycji jako tło pierwszego ekranu.
   Przyciemnienie od lewej (tekst) ku prawej (prelegent) zapewnia kontrast tekstu. */
.hero.has-photo { background-image:none; isolation:isolate; }
.hero-bg { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:50% 0%; }
.hero.has-photo::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgba(17,13,43,.95) 0%, rgba(17,13,43,.88) 42%, rgba(17,13,43,.62) 100%); }
.conf-hero.has-photo .hero-grid { grid-template-areas:"text" "when"; }
@media (min-width:1024px) {
    .conf-hero.has-photo .hero-grid { grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr); grid-template-areas:"text when"; align-items:center; column-gap:72px; }
    .conf-hero.has-photo .hero-grid > div:first-child { align-self:center; padding-top:0; }
}
.conf-hero.has-photo .conf-when { background:rgba(17,13,43,.82); border-color:rgba(255,255,255,.18); }
.hero-bg-cap { margin-top:40px; font-size:.82rem; color:rgba(255,255,255,.6); }
@media (max-width:1023px) { .hero.has-photo::before { background:rgba(17,13,43,.86); } .hero-bg { object-position:70% 40%; } }

/* Portrety po ujednoliceniu (wspólne tło #E6E3EC, ta sama skala twarzy i linia oczu) */
:root { --portrait-bg:#E6E3EC; }
.expert img, .faces-wall li, .quote figcaption img, .signature .avs img, .meet-img .faces img, .spk-photo, .org-grid > .org img, .host img, .err-avs img { background:var(--portrait-bg); }
.expert img { object-position:50% 50%; }
.faces-wall img, .meet-img .faces img, .quote figcaption img { object-position:50% 40%; }
.org-grid > .org img { object-position:50% 30%; }
.host img { object-position:50% 30%; }

/* Licznik do konferencji: wyraźnie większy */
.js .countdown { margin-top:24px; padding-top:20px; }
.cd-cap { font-size:.82rem; }
.cd-row { gap:28px; }
.cd-n { font-size:clamp(2.4rem,4vw,3.1rem); font-weight:800; letter-spacing:-.04em; }
.cd-l { margin-top:6px; font-size:.9rem; color:rgba(255,255,255,.7); }
@media (max-width:640px) { .cd-row { gap:22px; } .cd-n { font-size:2.3rem; } }

/* Formuła konferencji: jasnofioletowy panel, ikony przy etykietach, mocniejsze wartości */
.format { margin-top:56px; padding:8px 32px; border:0; border-radius:var(--r-xl); background:#F3F0FA; }
.format > div { position:relative; padding:24px 0; border-bottom:1px solid #DCD4EF; }
.format dt { display:flex; align-items:center; gap:10px; font-size:.8rem; letter-spacing:.1em; color:var(--brand-soft); }
.format dt i { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; flex:none; border-radius:50%; background:#fff; color:var(--brand); font-size:.82rem; box-shadow:0 0 0 1px #DCD4EF; }
.format dd { margin-top:10px; font-size:1.06rem; font-weight:600; line-height:1.5; color:var(--text); }
.format > .is-key { }
.format > .is-key dt i { background:var(--brand); color:#fff; box-shadow:none; }
.format > .is-key dd { color:var(--brand); }
@media (max-width:639px) {
    .format { padding:4px 20px; }
    .format > div:last-child { border-bottom:0; }
}
@media (min-width:640px) and (max-width:999px) {
    .format > div:nth-child(even) { padding-left:28px; border-left:1px solid #DCD4EF; }
    .format > div:nth-child(odd) { padding-right:28px; }
    .format > div:nth-last-child(-n+2) { border-bottom:0; }
}
@media (min-width:1000px) {
    .format { padding:8px 36px; }
    .format > div { padding:28px 28px; }
    .format > div:nth-child(3n+1) { padding-left:0; }
    .format > div:nth-child(3n) { padding-right:0; }
    .format > div:not(:nth-child(3n+1)) { border-left:1px solid #DCD4EF; }
    .format > div:nth-last-child(-n+3) { border-bottom:0; }
}

/* Licznik: trzy równe kolumny na całą szerokość karty, podpis tuż pod liczbą */
.countdown .cd-cap { text-align:center; margin-bottom:14px; }
.cd-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
.cd-unit { text-align:center; padding:2px 8px; }
.cd-unit + .cd-unit { border-left:1px solid var(--line-dark); }
.cd-n { font-size:clamp(2.4rem,3.6vw,3rem); line-height:1; }
.cd-l { margin-top:6px; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.62); }
.countdown.is-live .cd-cap, .countdown.is-done .cd-cap { display:block; text-align:center; }
@media (max-width:640px) { .cd-n { font-size:2.3rem; } }

/* Strona główna: karta konferencji - ciemna, z blokiem daty i jednym jasnym przyciskiem
   (zamiast jaskrawej białej planszy na ciemnym tle) */
.home-panels .panel-conf { display:grid; grid-template-columns:auto minmax(0,1fr); column-gap:28px; align-items:start; background:#211B52; border:1px solid rgba(201,184,255,.42); color:#fff; }
.home-panels .panel-conf:hover { background:#251F5C; border-color:var(--brand-on-dark); }
.pc-date { display:flex; flex-direction:column; align-items:flex-start; padding-right:26px; border-right:1px solid rgba(255,255,255,.16); min-width:112px; }
.pc-day { font-size:3.6rem; font-weight:800; line-height:.9; letter-spacing:-.05em; color:#fff; font-variant-numeric:tabular-nums; }
.pc-month { margin-top:8px; font-size:.95rem; font-weight:650; color:var(--brand-on-dark-bright); line-height:1.3; }
.pc-time { margin-top:6px; font-size:.8rem; color:rgba(255,255,255,.62); line-height:1.4; }
.pc-body { display:flex; flex-direction:column; min-width:0; height:100%; }
.home-panels .panel-conf .panel-kicker { color:var(--red-soft); }
.home-panels .panel-conf h2 { margin-top:10px; }
.home-panels .panel-conf p { color:rgba(255,255,255,.78); }
.home-panels .panel-conf p strong { color:#fff; }
.home-panels .panel-conf .panel-cta { align-self:flex-start; margin-top:auto; padding:0 20px; min-height:46px; border-radius:8px; background:#fff; color:var(--brand); }
.home-panels .panel-conf:hover .panel-cta { background:var(--brand-on-dark-bright); }
.home-panels .panel-conf .pc-body > p { margin-bottom:24px; }
@media (max-width:699px) {
    .home-grid { grid-template-areas:"intro" "hosts" "conf" "photo" "comm"; }
    .home-hosts { padding-top:0; border-top:0; gap:12px; }
    .home-hosts-t { margin-bottom:-2px; }
    .home-panels .panel-conf { grid-template-columns:minmax(0,1fr); }
    .pc-date { flex-direction:row; flex-wrap:wrap; align-items:baseline; gap:4px 10px; min-width:0; padding:0 0 14px; margin-bottom:16px; border-right:0; border-bottom:1px solid rgba(255,255,255,.16); }
    .pc-day { font-size:2.4rem; }
    .pc-month, .pc-time { margin-top:0; }
    .home-panels .panel-conf .panel-cta { align-self:stretch; justify-content:center; min-height:50px; }
    .home-panels .panel-conf .pc-body > p { margin-bottom:20px; }
}
@media (max-width:699px) {
    .home-grid { row-gap:22px; }
    .home-photo { margin-bottom:-22px; }
    .home-hosts { gap:10px; }
    .host img { width:40px; height:40px; }
    .host figcaption strong { font-size:.9rem; }
    .host figcaption { font-size:.8rem; }
}

/* Rejestracja: pomoc pod przyciskiem i daty wysyłki linku w komunikacie po rejestracji */
.signup-help { margin-top:14px; font-size:.86rem; line-height:1.55; color:var(--text-muted); }
.signup-help a { color:var(--brand); font-weight:600; text-decoration:underline; }
.signup-state .signup-when { margin-top:14px; font-weight:600; color:var(--text); }
.signup-dates { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:10px 0 14px; text-align:left; }
.signup-dates li { padding:12px 14px; border-radius:var(--r); background:var(--brand-light); border:1px solid var(--brand-border); }
.signup-dates b { display:block; font-size:.95rem; color:var(--brand); }
.signup-dates span { display:block; margin-top:2px; font-size:.85rem; color:var(--text-body); }
@media (max-width:420px) { .signup-dates { grid-template-columns:1fr; } }
@media (max-width:400px) { .cd-unit { padding:2px 4px; } .cd-n { font-size:2rem; } .cd-l { font-size:.72rem; letter-spacing:.05em; } }
