@font-face{font-family:'Archivo';src:url(/fonts/archivo-latin-ext.woff2) format('woff2');font-weight:700 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Archivo';src:url(/fonts/archivo-latin.woff2) format('woff2');font-weight:700 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--a:"Archivo",system-ui,sans-serif}

body .pdiv{display:none}

/* ---- section grounds (live CSS has none: .band is background:none) ---- */
body .band.tint{background:var(--surf);padding-top:clamp(26px,3vw,40px)}
body .band.dark{background:var(--ink);color:var(--paper);padding-top:clamp(26px,3vw,40px)}
body .facts{background:var(--surf);padding-top:clamp(18px,2vw,26px)}

/* ---- section heads ---- */
body .band-head .eyebrow,body .contact .eyebrow{display:flex;align-items:center;gap:13px;font-family:var(--a);font-weight:700;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
body .band-head .eyebrow::after,body .contact .eyebrow::after{content:"";flex:1 1 auto;height:2px;background:var(--ink)}
body .band-head h2{font-family:var(--a);font-weight:800;font-size:clamp(26px,3.4vw,40px);line-height:1.0;letter-spacing:-.04em;text-transform:none;max-width:22ch}
body .band.dark .band-head h2{color:var(--paper)}
body .band.dark .band-head .eyebrow,body .contact .eyebrow{color:var(--redL)}
body .band.dark .band-head .eyebrow::after,body .contact .eyebrow::after{background:var(--paper)}
body .band.dark .band-head p{color:#A8A8B0}

/* ---- facts strip ---- */
body .facts .it::before{display:none}
body .facts .fnum{display:block;font-family:var(--a);font-weight:900;font-size:clamp(32px,3.6vw,42px);line-height:.8;letter-spacing:-.05em;color:var(--red);margin:0 0 11px;font-variant-numeric:tabular-nums}
body .facts b{font-family:var(--a);font-weight:800;font-size:16px;line-height:1.15;letter-spacing:-.025em;text-transform:none;color:var(--ink);margin-bottom:7px}
body .facts p{color:var(--mut)}

/* ---- lanes ---- */
body .lane h3{font-family:var(--a);font-weight:700;font-size:clamp(17px,1.9vw,21px);line-height:1.15;letter-spacing:-.028em;text-transform:none}
body .lane .num{font-family:var(--a);font-weight:900;font-size:clamp(28px,3vw,38px);line-height:.85;letter-spacing:-.05em;color:var(--red);font-variant-numeric:tabular-nums;text-transform:none}
body .lane .mark{display:block;margin-top:12px;border-left:3px solid var(--red);padding-left:14px;font-family:var(--b);font-size:13.5px;line-height:1.55;color:var(--ink)}
body .lane .doc .tab{font-family:var(--a);font-weight:700;letter-spacing:.14em}
body .lane .doc .body b{font-family:var(--a);letter-spacing:-.005em}
body .proof i{font-family:var(--a);font-weight:700;letter-spacing:.13em}
body .proof .src{font-family:var(--a);font-weight:700;letter-spacing:.06em;color:var(--ink)}

/* ---- data blocks ---- */
body .stat{display:flex;align-items:flex-start;gap:clamp(14px,1.8vw,22px);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:18px 0;margin:0}
body .stat+.stat{border-top:0}
body .stat .n{font-family:var(--a);font-weight:900;font-size:clamp(32px,3.8vw,44px);line-height:.78;letter-spacing:-.05em;color:var(--ink);font-variant-numeric:tabular-nums;margin-top:6px;flex:0 0 auto;min-width:3.2em}
body .stat .n i{font-style:normal;color:var(--red);font-size:.5em;margin-left:.12em;letter-spacing:-.02em}
body .stat p{font-family:var(--b);font-size:15px;line-height:1.45;color:var(--mut);margin:0;max-width:44ch}
body .stat p b{display:block;font-family:var(--b);color:var(--ink);font-weight:600;margin-bottom:3px;text-transform:none;font-size:15px}
body .stat .src{display:inline-block;margin-top:7px;font-family:var(--a);font-weight:700;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--red);text-decoration:none;border:0}
body .stat.ink{background:var(--ink);border:0;padding:24px 26px;margin:0 0 2px}
body .stat.ink .n{color:var(--paper)}
body .stat.ink .n i,body .stat.ink .src{color:var(--redL)}
body .stat.ink p{color:#B9B9C0}
body .stat.ink p b{color:var(--paper)}

/* ---- talks, recordings ---- */
body .sub{font-family:var(--a);font-weight:800;letter-spacing:.1em;color:var(--ink)}
body .talk h3{font-family:var(--a);font-weight:700;font-size:16.5px;line-height:1.16;letter-spacing:-.025em;text-transform:none}
body .talk .tvenue{font-family:var(--a);font-weight:700;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
body .talk .fmt{font-family:var(--a);font-weight:600;letter-spacing:.07em}
body .talk .fmt b{font-weight:800;color:var(--ink)}
body .wcard b{font-family:var(--a);font-weight:700;font-size:15px;line-height:1.22;letter-spacing:-.022em;text-transform:none}
body .wcard span{font-family:var(--a);font-weight:600;letter-spacing:.09em;text-transform:uppercase}

/* ---- texts ---- */
body .tx h3{font-family:var(--a);font-weight:700;font-size:17.5px;line-height:1.16;letter-spacing:-.028em;text-transform:none}
body .tx.feature h3{font-weight:800;font-size:clamp(20px,2.4vw,27px);line-height:1.06;letter-spacing:-.035em}
body .tx .meta em{font-family:var(--a);font-style:normal;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
body .tx .meta span{font-family:var(--a);font-weight:600;letter-spacing:.06em;font-variant-numeric:tabular-nums}
body .tx p.fig{border-left:3px solid var(--red);padding-left:14px;margin-top:4px}
body .more a{font-family:var(--a);font-weight:800;letter-spacing:.05em;text-transform:none;font-size:14px}

/* ---- calendar ---- */
body .rec .what b{font-family:var(--a);font-weight:700;font-size:15.5px;letter-spacing:-.022em;text-transform:none}
body .rec .when{font-family:var(--a);font-weight:800;letter-spacing:.04em;font-variant-numeric:tabular-nums;text-transform:none}
body .band.dark .rec{border-top-color:#2E2E36}
body .band.dark .rec > div{border-bottom-color:#2E2E36}
body .band.dark .rec .what{color:#A8A8B0}
body .band.dark .rec .what b{color:var(--paper)}
body .band.dark .rec a{color:var(--paper);border-bottom-color:#4A4A52}
body .band.dark .rec .when{color:#7A7A84}
body .band.dark .rec .when.soon{color:var(--redL)}

/* ---- firms, limits ---- */
body .firms li b{font-family:var(--a);font-weight:700;letter-spacing:-.022em;text-transform:none}
body .not li{font-family:var(--a);font-weight:600;letter-spacing:-.015em;text-transform:none}
body .not .why{border-left:3px solid var(--red);padding-left:15px}

/* ===================== pass 3 ===================== */

/* ---- data blocks: fixed numeral column, one register, link on its own line ---- */
body .stat{display:grid;grid-template-columns:clamp(96px,11vw,150px) 1fr;align-items:start;gap:clamp(14px,2vw,26px);border:0;padding:15px 0;margin:0}
body .stat .n{margin-top:2px;min-width:0}
body .stat .n i{font-size:.46em;margin-left:.18em}
body .stat p{max-width:52ch}
body .stat p b{margin-bottom:5px}
body .stat .src{display:block;margin-top:9px}
body .stat.ink{display:grid;grid-template-columns:clamp(96px,11vw,150px) 1fr;padding:22px clamp(18px,2vw,26px);margin:0 0 0 0}
body .stat.ink .n{margin-left:clamp(0px,.6vw,8px)}
body .stat.ink + .stat{border-top:2px solid var(--ink)}
body .stat:not(.ink){border-bottom:1px solid var(--rule)}
body .stat:last-child{border-bottom:2px solid var(--ink)}

/* ---- limits: full measure, ruled register, no browser bullets ---- */
body .not{max-width:none;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(22px,3vw,46px);align-items:start}
body .not ul{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
body .not li{font-family:var(--a);font-weight:600;font-size:15.5px;line-height:1.3;letter-spacing:-.015em;text-transform:none;color:var(--ink);padding:11px 0;border-bottom:1px solid var(--rule);margin:0}
body .not li:last-child{border-bottom:2px solid var(--ink)}
body .not .why{margin:0;border-left:3px solid var(--red);padding-left:15px;color:var(--ink);font-size:15px;line-height:1.6}

/* ---- calendar: tighter ground, nothing flush to the edge ---- */
body .band.dark{padding-top:clamp(22px,2.4vw,32px);padding-bottom:clamp(28px,3.2vw,44px)}
body .band.dark .band-head{padding-top:0;margin-bottom:18px}
body .band.dark .rec .when{padding-right:clamp(10px,1.4vw,22px)}
body .band.dark .rec a{border-bottom:0;text-decoration:none}
body .band.dark .rec a:hover{color:var(--redL)}

/* ---- facts strip rhythm ---- */
body .facts b{margin-bottom:9px}
body .facts p{line-height:1.5}

@media (max-width:860px){
  body .not{grid-template-columns:1fr}
  body .stat,body .stat.ink{grid-template-columns:1fr;gap:6px}
  body .stat .n{margin-top:0}
}

/* ===================== pass 4 ===================== */
/* The coloured grounds were painted inside .main's own horizontal padding
   (clamp(28px,4.4vw,72px)), so each band stopped ~62px short of the page edges
   and its text sat flush against the band edge. Bleed them out to .main's
   border box and restore the same inset as padding, so text keeps the page's
   left edge while the colour reaches the edges. */
body .facts,
body .band.tint,
body .band.dark{
  margin-left:calc(-1 * clamp(28px,4.4vw,72px));
  margin-right:calc(-1 * clamp(28px,4.4vw,72px));
  padding-left:clamp(28px,4.4vw,72px);
  padding-right:clamp(28px,4.4vw,72px);
}
@media(max-width:900px){
  body .facts,
  body .band.tint,
  body .band.dark{
    margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px;
  }
}
/* the date no longer needs its own inset now the band has real padding */
body .band.dark .rec .when{padding-right:0}

/* ===================== pass 5 ===================== */
/* The right-hand gutter came from .main{max-width:1120px}: the bands bleed to
   .main's border box, but .main itself stopped short on wide screens. Move the
   measure cap off the container and onto the content, so colour runs to the
   right edge of the page while the text keeps its readable width. */
body .main{max-width:none}
body .shell{max-width:1120px}
body .facts > .shell,
body .band > .shell,
body .contact > .shell{margin:0}

/* ===================== pass 6 ===================== */
/* buttons: invert on hover so the letters go black */
body .btn{transition:background-color .15s ease,color .15s ease,border-color .15s ease}
body .btn:hover,body .btn:focus-visible{background:var(--paper);color:var(--ink);border-color:var(--ink)}
body .btn.ghost:hover,body .btn.ghost:focus-visible{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* facts: the method item carries a mark, not a count */
body .facts .fnum.sym{font-size:clamp(30px,3.4vw,40px);line-height:.9}

/* ===================== pass 7 ===================== */
/* solid button keeps its red ground; only the letters go black */
body .btn:hover,body .btn:focus-visible{background:var(--red);color:var(--ink);border-color:var(--red)}
/* ghost button back to the site's own hover */
body .btn.ghost:hover,body .btn.ghost:focus-visible{background:transparent;color:var(--red);border-color:var(--red)}

/* ===================== pass 8 ===================== */
/* calendar: the linked name underlines itself on hover, left to right */
body .rec a{position:relative;display:inline-block;border-bottom:0;text-decoration:none}
body .rec a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;
  background:currentColor;transform:scaleX(0);transform-origin:left;
  transition:transform .25s cubic-bezier(.4,0,.2,1)}
body .rec a:hover::after,body .rec a:focus-visible::after{transform:scaleX(1)}
body .rec a:hover,body .rec a:focus-visible{color:var(--red)}
body .band.dark .rec a:hover,body .band.dark .rec a:focus-visible{color:var(--redL)}
@media (prefers-reduced-motion:reduce){body .rec a::after{transition:none}}
/* ===================== pass 9 ===================== */
body #liczby .shell{max-width:none}
body #liczby .band-head,body #liczby .stat:not(.ink){max-width:1120px}
body .stat.ink{
  margin-left:calc(-1 * clamp(28px,4.4vw,72px));
  margin-right:calc(-1 * clamp(28px,4.4vw,72px));
  padding-left:clamp(28px,4.4vw,72px);
  padding-right:clamp(28px,4.4vw,72px);
}
body .stat.ink .n{margin-left:0}
@media(max-width:900px){
  body .stat.ink{margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px}
  body #liczby .band-head,body #liczby .stat:not(.ink){max-width:none}
}
/* ===================== pass 10 ===================== */
body .stat.ink + .stat{border-top:0}
body .not ul{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
body .not li{border-bottom:0;padding:10px 0}
body .not li:last-child{border-bottom:0}
/* ============ pass 11 — Dla firm ============ */
body[data-p="firm"] .facts .it::before{display:block}

body[data-p="firm"] .lead{font-family:var(--b);font-size:clamp(17px,1.6vw,20px);line-height:1.6;max-width:62ch}

/* kroki — rejestr zamiast kart */
body[data-p="firm"] .steps{background:none;border:0;border-top:2px solid var(--ink);gap:clamp(20px,2.6vw,42px)}
body[data-p="firm"] .step{background:none;padding:18px 0 2px}
body[data-p="firm"] .step i{display:block;font-family:var(--a);font-weight:900;font-size:clamp(30px,3.2vw,38px);line-height:.8;letter-spacing:-.05em;color:var(--red);margin:0 0 11px;font-variant-numeric:tabular-nums}
body[data-p="firm"] .step b{display:block;font-family:var(--a);font-weight:800;font-size:16px;line-height:1.15;letter-spacing:-.025em;text-transform:none;color:var(--ink);margin-bottom:7px}
body[data-p="firm"] .step p{font-family:var(--b);font-size:14.5px;line-height:1.5;color:var(--mut)}

/* warunki */
body[data-p="firm"] .terms{border-top:1px solid var(--rule);padding-top:clamp(18px,2vw,26px);margin-top:clamp(16px,2vw,24px)}
body[data-p="firm"] .terms b{display:block;font-family:var(--a);font-weight:800;font-size:16px;line-height:1.15;letter-spacing:-.025em;text-transform:none;color:var(--ink);margin-bottom:6px}
body[data-p="firm"] .terms div{font-family:var(--b);font-size:14.5px;line-height:1.6;color:var(--mut)}

/* narzedzie warstw */
body[data-p="firm"] .lay i{font-family:var(--a);font-weight:700;font-size:11px;letter-spacing:.1em}
body[data-p="firm"] .lay b{font-family:var(--a);font-weight:700;font-size:14px;line-height:1.2;letter-spacing:-.015em;text-transform:none}
body[data-p="firm"] .laydet h4{font-family:var(--a);font-weight:700;font-size:11px;letter-spacing:.13em;color:var(--red)}
body[data-p="firm"] .laydet p,body[data-p="firm"] .toolnote{font-family:var(--b)}

@media(max-width:900px){
  body[data-p="firm"] .steps{gap:0}
  body[data-p="firm"] .step{padding:16px 0;border-bottom:1px solid var(--rule)}
  body[data-p="firm"] .step:last-child{border-bottom:0}
}

/* lista "Czego nie robie" — pozycje wielowierszowe, wiec cienka linia wraca */
body[data-p="firm"] .not li{border-bottom:1px solid var(--rule);padding:11px 0}
body[data-p="firm"] .not li:last-child{border-bottom:0}

/* ===== pass 12 — pasy sesji na czarnym tle: kontrast ===== */
body .band.dark .lane p{color:#A8A8B0}
body .band.dark .lane .num{color:var(--redL)}
body .band.dark .lane h3{color:var(--paper)}
body .band.dark .lane .proof{color:#A8A8B0;border-top-color:#2E2E36}
body .band.dark .lane .proof i{color:var(--redL)}
body .band.dark .lane .proof .src{color:var(--paper)}
body .band.dark .lane{border-top-color:var(--redL)}

/* ===== pass 13 — sesje na jasnym tle ===== */
body[data-p="firm"] .band.tint .lane .doc{background:var(--paper);border-color:var(--rule)}
body[data-p="firm"] .lanes{row-gap:clamp(26px,3vw,40px)}

/* ===== pass 14 — czarne pasy: warunki wstepne + granice ===== */
body .facts.dark{background:var(--ink);color:var(--paper)}
body .facts.dark b{color:var(--paper)}
body .facts.dark p{color:#A8A8B0}
body .facts.dark .it::before{background:var(--redL)}

body .band.dark .not ul{border-top-color:var(--paper);border-bottom-color:var(--paper)}
body .band.dark .not li{color:var(--paper);border-bottom-color:#2E2E36}
body .band.dark .not li b{color:var(--paper)}
body .band.dark .not .why{color:#A8A8B0;border-left-color:var(--redL)}
body .band.dark .not .why em,body .band.dark .not .why i{color:var(--paper)}

/* ===== pass 15 — bez kreski nad naglowkiem sekcji ===== */
body .band-head{border-top:0;padding-top:clamp(24px,2.8vw,34px)}

/* ===== pass 16 — teksty: kolumna artykulu + indeks ===== */
body.plain .art .back,
body.plain .art .kick{font-family:var(--a);font-weight:700;letter-spacing:.13em}
body.plain .art .kick{font-size:11.5px;color:var(--red);margin-bottom:12px}

body.plain .art h1{font-family:var(--a);font-weight:800;font-size:clamp(30px,4vw,44px);line-height:1.03;letter-spacing:-.035em;max-width:20ch;margin:0 0 16px}
body.plain .art.wide h1{max-width:26ch}

body.plain .art .dateline{font-family:var(--a);font-weight:700;font-size:11.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);padding-bottom:20px;border-bottom:2px solid var(--ink);margin:0 0 32px}

body.plain .art h2,body.plain .art h3{font-family:var(--a);font-weight:800;font-size:clamp(21px,2.3vw,26px);line-height:1.1;letter-spacing:-.03em;margin:44px 0 14px;max-width:28ch}

body.plain .art blockquote{border-left:3px solid var(--red);padding:2px 0 2px 18px;margin:28px 0}
body.plain .art blockquote p{font-size:17px;line-height:1.6}

body.plain .art figcaption{font-family:var(--b);font-size:13px;line-height:1.45;color:var(--mut);margin-top:9px}

body.plain .art .orig{border-top:0;padding-top:0;margin-top:26px;font-family:var(--b);font-size:14px;color:var(--mut)}

/* indeks tekstow */
body.plain .idx a.row span{font-family:var(--a);font-weight:700;font-size:11px;letter-spacing:.11em}
body.plain .idx a.row b{font-family:var(--a);font-weight:800;font-size:20px;line-height:1.14;letter-spacing:-.03em;margin:9px 0 9px}
body.plain .idx a.row em{font-family:var(--b)}

/* ===== pass 17 — kolumna tresci wysrodkowana w pasie ===== */
body .facts > .shell,body .band > .shell,body .contact > .shell{margin-left:auto;margin-right:auto}
body #liczby .band-head,body #liczby .stat:not(.ink){margin-left:auto;margin-right:auto}
