/* Matex Transport — prezentacja Senuso
   Tokeny: patrz design-tokens.md */
:root{
  --ink:#0D1013;          /* tło ciemne / tekst na jasnym */
  --asphalt:#161B20;      /* powierzchnia ciemna 2 */
  --asphalt-2:#1F252C;    /* karty na ciemnym */
  --line-d:#2E363F;       /* linie na ciemnym */
  --paper:#ECEFF1;        /* chłodny jasny neutral */
  --paper-2:#DDE2E6;      /* karty / tory na jasnym */
  --line-l:#C5CCD2;       /* linie na jasnym */
  --t-d:#E8ECEF;          /* tekst na ciemnym */
  --m-d:#9AA5AF;          /* tekst drugorzędny na ciemnym (6.9:1) */
  --t-l:#101418;          /* tekst na jasnym */
  --m-l:#4E5964;          /* tekst drugorzędny na jasnym (6.2:1) */
  --amber:#FFB300;        /* akcent sygnałowy */
  --amber-ink:#8A5300;    /* akcent jako tekst na jasnym (5.5:1) */
  --deco:#6E7A85;         /* tylko dekoracja, nie tekst */

  --f-d:"Archivo", "Helvetica Neue", Helvetica, sans-serif;
  --f-m:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  --pad-x:clamp(1.25rem, 5vw, 5.5rem);
  --ease:cubic-bezier(.2,.7,.1,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-snap-type:y proximity;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ink);color:var(--t-d);font-family:var(--f-d);font-size:clamp(1rem,.95rem + .2vw,1.0625rem);line-height:1.55;font-variation-settings:"wdth" 100;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
h1,h2,h3{margin:0;font-weight:800;line-height:1.02;letter-spacing:-.02em;hyphens:manual;overflow-wrap:normal;word-break:normal;text-wrap:balance}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
dl,dd{margin:0}
a{color:inherit}
small{font-size:.6em;font-weight:600;letter-spacing:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mono{font-family:var(--f-m);font-size:.92em}

:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:2px}
.slide--light :focus-visible{outline-color:var(--ink);box-shadow:0 0 0 6px var(--amber)}

.skip{position:fixed;left:1rem;top:-4rem;z-index:100;background:var(--amber);color:var(--ink);padding:.6rem 1rem;font-weight:700;text-decoration:none;transition:top .2s}
.skip:focus{top:1rem}

/* progress + top bar ------------------------------------------------ */
.progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:60;background:transparent}
.progress__bar{display:block;height:100%;width:100%;background:var(--amber);transform-origin:0 50%;transform:scaleX(var(--p,0))}
.topbar{position:fixed;top:3px;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem var(--pad-x);font-family:var(--f-m);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--t-d);pointer-events:none;transition:color .3s,background .3s}
.topbar.is-light{color:var(--t-l)}
.topbar.is-light .topbar__mark{background:var(--amber-ink)}
.topbar a{pointer-events:auto;text-decoration:none;display:flex;align-items:center;gap:.55rem}
.topbar__mark{width:.85rem;height:.85rem;background:var(--amber);clip-path:polygon(0 0,100% 50%,0 100%)}
.topbar__sep{opacity:.5}
.topbar__count{white-space:nowrap}
.topbar__of{opacity:.55}
.topbar__name{margin-left:.5rem}
@media (max-width:640px){.topbar__name,.topbar__brand .topbar__sep~*{display:none}.topbar{font-size:.68rem}}

/* dots nav ---------------------------------------------------------- */
.dots{position:fixed;right:clamp(.6rem,1.6vw,1.6rem);top:50%;transform:translateY(-50%);z-index:55}
.dots ol{display:flex;flex-direction:column;gap:.15rem}
.dots a{position:relative;display:grid;place-items:center;width:28px;height:28px;text-decoration:none}
.dots a::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--deco);box-shadow:0 0 0 2px rgba(13,16,19,.25);transition:transform .25s var(--ease),background .25s,height .25s,border-radius .25s}
.dots a:hover::before{transform:scale(1.4);background:var(--amber)}
.dots a[aria-current="true"]::before{background:var(--amber);height:22px;border-radius:4px}
.dots a::after{content:attr(data-label);position:absolute;right:34px;white-space:nowrap;font-family:var(--f-m);font-size:.72rem;padding:.25rem .5rem;background:var(--ink);color:var(--t-d);border:1px solid var(--line-d);opacity:0;transform:translateX(6px);transition:.2s var(--ease);pointer-events:none}
.dots a:hover::after,.dots a:focus-visible::after{opacity:1;transform:none}
@media (max-width:760px){.dots{display:none}}

/* slides ------------------------------------------------------------ */
.slide{position:relative;min-height:100vh;min-height:100svh;scroll-snap-align:start;display:flex;align-items:center;padding:clamp(4.5rem,9vh,6.5rem) var(--pad-x) clamp(3rem,7vh,5rem)}
.slide--light{background:var(--paper);color:var(--t-l)}
.slide--dark{background:var(--ink);color:var(--t-d)}
.slide--dark:nth-of-type(odd){background:var(--asphalt)}
.wrap{width:100%;max-width:1320px;margin:0 auto;padding-right:clamp(0rem,2vw,2rem)}

.shead{display:grid;grid-template-columns:auto 1fr;column-gap:clamp(1rem,2.5vw,2.25rem);align-items:end;margin-bottom:clamp(1.75rem,4vh,3rem)}
.shead h2{font-size:clamp(2rem,1.2rem + 3.6vw,4.25rem);font-variation-settings:"wdth" 112;grid-column:2}
.shead .slead{grid-column:2;max-width:62ch;margin-top:.9rem;color:var(--m-l);font-size:1.05em}
.slide--dark .slead{color:var(--m-d)}
.snum{grid-row:1 / span 2;align-self:start;font-family:var(--f-m);font-weight:500;font-size:.8rem;padding:.3rem .45rem;border:1.5px solid currentColor;line-height:1;margin-top:.4rem}
.slide--light .snum{color:var(--amber-ink)}
.slide--dark .snum{color:var(--amber)}
.shead--split{grid-template-columns:1fr auto;align-items:end;gap:1.5rem}
.shead--split > div{display:grid;grid-template-columns:auto 1fr;column-gap:clamp(1rem,2.5vw,2.25rem)}
.shead--split .slead{grid-column:auto;margin:0;max-width:40ch;justify-self:end}
@media (max-width:760px){
  .shead{grid-template-columns:1fr}
  .shead h2,.shead .slead{grid-column:1}
  .snum{grid-row:auto;justify-self:start;margin:0 0 .9rem}
  .shead--split{grid-template-columns:1fr}
  .shead--split>div{grid-template-columns:1fr}
  .shead--split .slead{justify-self:start}
}

.h3{font-size:clamp(1.05rem,1rem + .35vw,1.3rem);font-weight:750;letter-spacing:-.01em;font-variation-settings:"wdth" 106;display:inline-block}
.src{display:block;font-family:var(--f-m);font-size:.72rem;letter-spacing:.01em;color:var(--m-l);margin-top:.35rem}
.slide--dark .src,.slide--hero .src{color:var(--m-d)}
.note{font-size:.88rem;color:var(--m-d);margin-top:.9rem;max-width:62ch}
.note--ink,.slide--light .note{color:var(--m-l)}
.tag{font-style:normal;font-family:var(--f-m);font-size:.68rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;padding:.12rem .4rem;border:1px solid var(--amber-ink);color:var(--amber-ink);white-space:nowrap;vertical-align:.12em}
.tag--dark,.slide--dark .tag{border-color:var(--amber);color:var(--amber)}
.flag{display:block;font-size:.8rem;color:var(--amber);margin-top:.2rem}

.kv{display:grid;gap:0}
.kv>div{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--line-l)}
.kv dt{color:var(--m-l);font-size:.9rem}
.kv dd{text-align:right;font-weight:600}
.kv--dark>div{border-color:var(--line-d)}
.kv--dark dt{color:var(--m-d)}

/* media placeholder ------------------------------------------------- */
.media{position:relative;margin:0;overflow:hidden;background:var(--asphalt-2)}
.media img{width:100%;height:100%;object-fit:cover}
.media--missing{background:
  repeating-linear-gradient(-45deg,transparent 0 22px,rgba(255,179,0,.07) 22px 24px),
  linear-gradient(180deg,#1A2026,#11151A)}
.media--missing::after{content:"Miejsce na grafikę · " attr(data-src);position:absolute;left:1rem;bottom:1rem;font-family:var(--f-m);font-size:.72rem;color:var(--m-d);border:1px dashed var(--deco);padding:.35rem .6rem}

/* 01 hero ----------------------------------------------------------- */
.slide--hero{align-items:flex-end;padding-bottom:clamp(2.5rem,7vh,5rem);background:var(--ink);overflow:hidden}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__media::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(13,16,19,.92) 0%,rgba(13,16,19,.7) 45%,rgba(13,16,19,.15) 100%),linear-gradient(0deg,rgba(13,16,19,.9) 0%,transparent 45%)}
.hero__media.media--missing::after{left:auto;right:var(--pad-x);bottom:auto;top:5rem;z-index:2}
.hero__inner{position:relative;z-index:2;width:100%;max-width:1320px;margin:0 auto}
.eyebrow{font-family:var(--f-m);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--amber);margin-bottom:1.4rem;display:flex;align-items:center;gap:.7rem}
.eyebrow::before{content:"";width:2.5rem;height:2px;background:var(--amber)}
.hero__title{font-size:clamp(2.5rem,1rem + 6.4vw,7.25rem);font-variation-settings:"wdth" 118;font-weight:850;letter-spacing:-.035em;max-width:14ch;line-height:.95}
.hero__dash{color:var(--amber)}
.hero__sub{display:block;font-size:.42em;font-weight:600;letter-spacing:-.015em;font-variation-settings:"wdth" 100;line-height:1.1;margin-top:.5em;max-width:22ch;color:var(--t-d)}
.hero__lead{margin-top:1.6rem;max-width:52ch;color:var(--m-d);font-size:1.05em}
.hero__facts{display:grid;grid-template-columns:repeat(3,minmax(0,max-content));gap:0;margin-top:clamp(2rem,5vh,3.25rem);border-top:1px solid var(--line-d)}
.hero__facts>div{padding:1rem clamp(1rem,3vw,2.75rem) 0 0;margin-right:clamp(1rem,3vw,2.75rem);border-right:1px solid var(--line-d)}
.hero__facts>div:last-child{border:0}
.hero__facts dt{font-family:var(--f-m);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--m-d)}
.hero__facts dd:not(.src){font-size:clamp(1.5rem,1.1rem + 1.5vw,2.5rem);font-weight:800;font-variation-settings:"wdth" 110;letter-spacing:-.02em;white-space:nowrap}
.hero__next{display:inline-block;margin-top:2rem;font-family:var(--f-m);font-size:.75rem;color:var(--m-d);text-decoration:none;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.hero__next:hover{color:var(--amber);border-color:var(--amber)}
@media (max-width:640px){
  .hero__facts{grid-template-columns:1fr 1fr}
  .hero__facts>div{border:0;margin:0}
  .hero__facts>div:last-child{grid-column:1 / -1}
}

/* 02 profil --------------------------------------------------------- */
.grid-profil{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,4vw,4rem)}
.card-id{background:#fff;padding:clamp(1.25rem,2.5vw,2rem);border-top:4px solid var(--ink);align-self:start}
.entity{font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem);font-weight:800;font-variation-settings:"wdth" 108;letter-spacing:-.02em;margin:.3rem 0 1rem;line-height:1.1}
.callout{margin-top:1.25rem;padding:1rem 1.1rem;background:var(--paper);border-left:4px solid var(--amber);font-size:.9rem}
.profil-right{display:grid;gap:clamp(1.5rem,3vh,2.25rem)}
.timeline{position:relative;display:grid;gap:.15rem;padding-left:1.25rem;border-left:2px solid var(--line-l)}
.timeline li{position:relative;display:grid;grid-template-columns:7.2rem 1fr;gap:.75rem;padding:.35rem 0;font-size:.93rem}
.timeline li::before{content:"";position:absolute;left:calc(-1.25rem - 6px);top:.8rem;width:10px;height:10px;border-radius:50%;background:var(--paper);border:2px solid var(--deco)}
.timeline li.is-key::before{background:var(--amber);border-color:var(--ink)}
.timeline li.is-key .tl-txt{font-weight:650}
.tl-date{font-family:var(--f-m);font-size:.82rem;color:var(--m-l);padding-top:.1rem}
.fin{margin:0}
.fin figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem}
.fin__nums{display:flex;flex-wrap:wrap;gap:.5rem clamp(1.25rem,3vw,3rem);margin:.8rem 0 1.1rem}
.fin__nums dt{font-size:.82rem;color:var(--m-l)}
.fin__nums dd{font-size:clamp(1.8rem,1.3rem + 1.6vw,2.9rem);font-weight:800;letter-spacing:-.03em;font-variation-settings:"wdth" 108;line-height:1}
.stack__title{font-size:.85rem;color:var(--m-l);margin-bottom:.4rem}
.stack__bar{display:flex;gap:2px;height:20px}
.stack__seg{flex:0 0 calc(var(--w) * 1% - 1px);transition:filter .2s}
.stack__seg:hover{filter:brightness(.85)}
.stack__seg--eq,.sw--eq{background:var(--amber)}
.stack__seg--li,.sw--li{background:var(--ink)}
.stack__seg--eq{border-radius:4px 0 0 4px}.stack__seg--li{border-radius:0 4px 4px 0}
.stack__legend{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;margin-top:.5rem;font-size:.85rem}
.sw{display:inline-block;width:.75rem;height:.75rem;margin-right:.4rem;vertical-align:-.05em;border-radius:2px}
.facts-mini{display:grid;gap:.55rem;font-size:.92rem}
.facts-mini li{padding-left:1rem;position:relative}
.facts-mini li::before{content:"";position:absolute;left:0;top:.6em;width:.45rem;height:2px;background:var(--amber-ink)}
.slide--dark .facts-mini li::before{background:var(--amber)}
@media (max-width:900px){.grid-profil{grid-template-columns:1fr}}
@media (max-width:480px){.timeline li{grid-template-columns:1fr;gap:0}}

/* 03 zasięg --------------------------------------------------------- */
.grid-zasieg{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}
.map{margin:0;background:var(--ink);border:1px solid var(--line-d)}
.map svg{display:block;width:100%;height:auto}
.map__ctry text{fill:#8995A0;font-family:var(--f-m);letter-spacing:.05em}
.route{stroke-width:2;transition:stroke-width .2s,opacity .2s}
.route--daily{stroke:var(--amber)}
.route--pl{stroke:#E8ECEF;stroke-dasharray:5 6;opacity:.75}
.map:hover .route{opacity:.45}
.map:hover .route:hover{opacity:1;stroke-width:3.5}
@media (prefers-reduced-motion:no-preference){
  .route--pl{animation:dash 1.6s linear infinite}
  @keyframes dash{to{stroke-dashoffset:-22}}
  .pulse{animation:pulse 2.4s var(--ease) infinite;transform-origin:419px 239px}
  @keyframes pulse{from{transform:scale(1);opacity:.7}to{transform:scale(3);opacity:0}}
}
.node circle{fill:var(--ink);stroke:var(--amber);stroke-width:2.5}
.node--hq circle{fill:var(--amber);stroke:var(--ink)}
.node--hq .pulse{fill:none;stroke:var(--amber);stroke-width:1.5}
.node text{fill:var(--t-d);font-family:var(--f-d);font-weight:700;font-size:14px}
.node .node__sub{fill:var(--m-d);font-family:var(--f-m);font-weight:400;font-size:10.5px}
.node{outline:none;cursor:default}
.node:focus-visible circle,.node:hover circle:first-child{stroke-width:4}
.map__legend{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;padding:.75rem 1rem;border-top:1px solid var(--line-d);font-size:.82rem;color:var(--m-d)}
.map__legend .src{width:100%;margin:0}
.ln{display:inline-block;width:1.6rem;height:0;border-top:2px solid var(--amber);margin-right:.45rem;vertical-align:.25em}
.ln--pl{border-top:2px dashed var(--t-d)}
.zasieg-side{display:grid;gap:2rem}
.loc{display:grid}
.loc>div{display:grid;grid-template-columns:8.5rem 1fr;gap:.75rem;padding:.55rem 0;border-bottom:1px solid var(--line-d);font-size:.92rem}
.loc dt{font-family:var(--f-m);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--m-d);padding-top:.15rem}
.bars{margin:0}
.bars figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .75rem;margin-bottom:.8rem}
.bars figcaption .src{width:100%;margin:0}
.hbar{display:grid;gap:.4rem}
.hbar li{display:grid;grid-template-columns:6.5rem 1fr 3.6rem;gap:.6rem;align-items:center;font-size:.85rem;padding:.1rem 0;border-radius:3px;transition:background .15s}
.hbar li:hover{background:var(--asphalt-2)}
.hbar__t{height:12px}
.hbar__f{display:block;height:100%;width:calc(var(--v) / var(--max) * 100%);min-width:3px;background:var(--amber);border-radius:0 4px 4px 0;transform-origin:0 50%}
.hbar__v{font-family:var(--f-m);font-size:.8rem;text-align:right}
@media (max-width:900px){.grid-zasieg{grid-template-columns:1fr}}
@media (max-width:480px){.loc>div{grid-template-columns:1fr;gap:.1rem}.hbar li{grid-template-columns:5.6rem 1fr 3.3rem}}

/* 04 flota ---------------------------------------------------------- */
.bignum{text-align:right;font-weight:600;font-size:1.05rem;color:var(--m-l)}
.bignum>span:first-child{display:block;font-size:clamp(3rem,2rem + 4vw,6rem);line-height:.9;font-weight:850;font-variation-settings:"wdth" 115;letter-spacing:-.04em;color:var(--t-l)}
@media (max-width:760px){.bignum{text-align:left}}
.grid-flota{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}
.cap{margin:0;display:grid;gap:1.4rem}
.cap figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem}
.veh{display:grid;gap:.45rem;padding-bottom:1.1rem;border-bottom:1px solid var(--line-l)}
.veh__head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.veh__name{font-weight:800;font-size:1.1rem;font-variation-settings:"wdth" 108}
.veh__name span{font-weight:500;font-size:.85rem;color:var(--m-l);margin-left:.4rem}
.veh__count{font-family:var(--f-m);font-size:.82rem;white-space:nowrap}
.veh__deck{--u:clamp(14px,4.6vw,46px);display:grid;grid-template-columns:repeat(var(--cols),var(--u));grid-template-rows:repeat(2,calc(var(--u) * .66));grid-auto-flow:row;gap:3px;padding:5px;border:2px solid var(--ink);border-radius:3px 10px 10px 3px;width:max-content;max-width:100%;position:relative}
.veh__deck--3{grid-template-rows:repeat(3,calc(var(--u) * .66))}
.veh__deck::after{content:"";position:absolute;right:-12px;top:20%;bottom:20%;width:8px;background:var(--ink);border-radius:0 4px 4px 0}
.veh__deck i{background:var(--amber);border-radius:2px;transition:transform .2s var(--ease)}
.veh__deck i.opt{background:transparent;border:1.5px dashed var(--amber-ink)}
.veh__deck i.ghost{background:transparent}
.veh:hover .veh__deck i:not(.ghost){transform:translateY(-2px)}
.veh__spec{font-size:.88rem;color:var(--m-l)}
.veh__spec b{color:var(--t-l)}
.legend-inline{display:flex;gap:1.25rem;font-size:.82rem;color:var(--m-l)}
.pal{display:inline-block;width:.9rem;height:.6rem;background:var(--amber);border-radius:2px;margin-right:.4rem}
.pal--opt{background:transparent;border:1.5px dashed var(--amber-ink)}
.flota-side{display:grid;gap:1.5rem}
.media--flota{aspect-ratio:16/9;border-radius:2px}
.missing{padding:1.1rem 1.2rem;border:1.5px dashed var(--deco)}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.7rem}
.chips li{font-family:var(--f-m);font-size:.75rem;padding:.3rem .55rem;background:var(--ink);color:var(--t-d)}
@media (max-width:900px){.grid-flota{grid-template-columns:1fr}}
@media (max-width:480px){.veh__head{flex-wrap:wrap;gap:.2rem}.veh__name span{display:block;margin:0}}

/* 05 oferta --------------------------------------------------------- */
.grid-oferta{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}
.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line-d)}
.svc{display:grid;grid-template-columns:2rem 1fr;gap:.9rem;padding:1.1rem 1.25rem 1.2rem 0;border-bottom:1px solid var(--line-d);transition:background .2s}
.svc:nth-child(odd){padding-right:1.75rem}
.svc:nth-child(even){padding-left:1.25rem;border-left:1px solid var(--line-d)}
.svc:hover{background:var(--asphalt-2)}
.svc__n{font-family:var(--f-m);font-size:.8rem;color:var(--amber);padding-top:.2rem}
.svc h3{font-size:1.15rem;font-weight:750;font-variation-settings:"wdth" 106;margin-bottom:.35rem;letter-spacing:-.01em}
.svc p{font-size:.9rem;color:var(--m-d)}
.svc--core{grid-column:span 1}
.svc--core h3{color:var(--amber)}
.contact{background:var(--ink);border:1px solid var(--line-d);border-top:4px solid var(--amber);padding:1.25rem 1.35rem;font-size:.92rem;display:grid;gap:.75rem}
.contact .kv dd{font-size:.82rem}
.mails{display:flex;flex-wrap:wrap;gap:.35rem;font-size:.8rem}
.mails__k{width:100%;color:var(--m-d);font-size:.9rem}
.mails .mono{padding:.2rem .45rem;border:1px solid var(--line-d)}
@media (max-width:1000px){.grid-oferta{grid-template-columns:1fr}}
@media (max-width:640px){.services{grid-template-columns:1fr}.svc:nth-child(n){padding:1rem 0;border-left:0}.contact .kv>div{flex-direction:column;gap:.1rem}.contact .kv dd{text-align:left}}

/* 06 opinie --------------------------------------------------------- */
.grid-opinie{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}
.dots-chart{margin:0;--lbl:13rem;--valw:2.5rem}
.dots-chart figcaption{margin-bottom:1rem}
.dc__axis{display:flex;justify-content:space-between;margin-left:calc(var(--lbl) + .75rem);margin-right:calc(var(--valw) + .75rem);font-family:var(--f-m);font-size:.72rem;color:var(--m-l);border-bottom:1px solid var(--line-l);padding-bottom:.3rem}
.dc{display:grid}
.dc li{display:grid;grid-template-columns:var(--lbl) 1fr var(--valw);gap:.75rem;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--line-l)}
.dc__lbl{font-size:.92rem;line-height:1.3}
.dc__lbl span{display:block;font-family:var(--f-m);font-size:.7rem;color:var(--m-l)}
.dc__track{position:relative;height:22px;background:linear-gradient(90deg,var(--line-l) 1px,transparent 1px) 0 0/25% 100%,linear-gradient(var(--line-l),var(--line-l)) 0 50%/100% 2px no-repeat;border-right:1px solid var(--line-l)}
.dc__track::before{content:"";position:absolute;left:0;top:50%;height:4px;margin-top:-2px;width:calc((var(--v) - 1) / 4 * 100%);background:var(--ink);border-radius:0 2px 2px 0}
.dc__dot{position:absolute;top:50%;left:calc((var(--v) - 1) / 4 * 100%);width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--amber);border:3px solid var(--ink);transition:transform .2s var(--ease);cursor:help}
.dc__dot:hover,.dc__dot:focus-visible{transform:scale(1.35)}
.dc__val{font-weight:800;font-size:1.25rem;text-align:right;font-variation-settings:"wdth" 110}
.dc li.is-muted .dc__dot{background:var(--paper)}
.dc li.is-muted .dc__track::before{background:var(--deco)}
.opinie-side{display:grid;gap:1.4rem}
.themes__list{display:grid;gap:.5rem;margin-top:.7rem}
.themes__list li{padding:.55rem .8rem;background:#fff;border-left:3px solid var(--amber);font-size:.92rem}
.award{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.4rem 1.25rem;padding:1rem 1.1rem;background:var(--ink);color:var(--t-d)}
.award__k{font-weight:700;font-size:.95rem}
.award__years{display:flex;gap:1rem;justify-content:flex-end}
.award__years li{display:grid;text-align:center;font-family:var(--f-m);font-size:.72rem;color:var(--m-d)}
.award__years b{font-family:var(--f-d);font-size:1.15rem;color:var(--amber)}
.award .src{grid-column:1 / -1;color:var(--m-d);margin:0}
.drivers{padding-top:1rem;border-top:1.5px dashed var(--deco);font-size:.9rem}
.drivers p{margin-top:.45rem;color:var(--m-l)}
@media (max-width:900px){.grid-opinie{grid-template-columns:1fr}}
@media (max-width:560px){.dots-chart{--lbl:100%}.dc li{grid-template-columns:1fr var(--valw);row-gap:.4rem}.dc__lbl{grid-column:1 / -1}.dc__axis{margin-left:0}.award{grid-template-columns:1fr}.award__years{justify-content:flex-start}}

/* 07 scorecard ------------------------------------------------------ */
.score{display:grid;border-top:2px solid var(--t-d)}
.score__row{display:grid;grid-template-columns:minmax(0,3.2fr) minmax(0,3fr) minmax(0,5fr);gap:clamp(1rem,2.5vw,2.5rem);align-items:center;padding:.95rem .5rem;border-bottom:1px solid var(--line-d);transition:background .2s}
.score__row:not(.score__row--head):hover{background:var(--asphalt-2)}
.score__row--head{font-family:var(--f-m);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--m-d);padding-block:.6rem}
.score__cat{font-weight:700;font-size:1.05rem;font-variation-settings:"wdth" 106;line-height:1.25}
.score__cat small{display:block;font-family:var(--f-m);font-weight:400;font-size:.7rem;color:var(--m-d);margin-top:.15rem}
.score__val{display:grid;grid-template-columns:3rem 1fr;align-items:center;gap:.8rem}
.score__val b{font-size:clamp(1.6rem,1.2rem + 1vw,2.2rem);font-weight:850;font-variation-settings:"wdth" 112;letter-spacing:-.03em}
.meter{position:relative;height:10px;background:repeating-linear-gradient(90deg,var(--line-d) 0 calc(20% - 2px),transparent calc(20% - 2px) 20%)}
.meter>span{position:absolute;inset:0 auto 0 0;width:calc(var(--s) / 5 * 100%);background:var(--amber);border-radius:0 4px 4px 0;transform-origin:0 50%}
.score__why{font-size:.9rem;color:var(--m-d)}
.score__row--info{opacity:.92}
.score__row--info .meter>span{background:repeating-linear-gradient(135deg,var(--amber) 0 3px,transparent 3px 6px)}
.score__foot{display:grid;grid-template-columns:1fr auto;gap:1.5rem 3rem;align-items:start;margin-top:1.5rem}
.key{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:.8rem;color:var(--m-d)}
.key>div{display:flex;gap:.4rem;align-items:baseline}
.key dt{font-family:var(--f-m);font-weight:600;color:var(--amber)}
.disclaimer{max-width:34ch;font-size:.88rem;font-weight:600;padding:.8rem 1rem;border:1.5px solid var(--amber);color:var(--t-d)}
@media (max-width:900px){
  .score__row--head{display:none}
  .score__row{grid-template-columns:1fr;gap:.45rem;padding:1rem 0}
  .score__val{max-width:26rem}
  .score__foot{grid-template-columns:1fr}
  .disclaimer{max-width:none}
}

/* 08 ledger --------------------------------------------------------- */
.ledger{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--ink)}
.ledger__col{padding:1.1rem 0 1.25rem}
.ledger__col--plus{padding-right:clamp(1rem,3vw,2.75rem)}
.ledger__col--minus{padding-left:clamp(1rem,3vw,2.75rem);border-left:1px solid var(--line-l);background:linear-gradient(90deg,rgba(13,16,19,.035),transparent 60%)}
.ledger__h{display:flex;align-items:center;gap:.6rem;font-size:1.25rem;font-variation-settings:"wdth" 108;margin-bottom:.75rem}
.ledger__h span{display:grid;place-items:center;width:1.7rem;height:1.7rem;font-size:1.2rem;font-weight:800;line-height:1}
.ledger__col--plus .ledger__h span{background:var(--amber);color:var(--ink)}
.ledger__col--minus .ledger__h span{border:2px solid var(--ink)}
.ledger ol{counter-reset:l}
.ledger li{counter-increment:l;display:grid;grid-template-columns:1.8rem 1fr;gap:.5rem;padding:.55rem .4rem;border-bottom:1px solid var(--line-l);font-size:.9rem;transition:background .15s,padding .2s var(--ease)}
.ledger li::before{content:counter(l,decimal-leading-zero);font-family:var(--f-m);font-size:.72rem;color:var(--m-l);padding-top:.18rem}
.ledger li:hover{background:#fff;padding-left:.8rem}
.transp{margin-top:clamp(1.5rem,4vh,2.5rem);padding:1.25rem clamp(1rem,2vw,1.5rem);background:var(--ink);color:var(--t-d)}
.diffs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 2rem;margin-top:1rem}
.diffs>div{border-top:1px solid var(--line-d);padding-top:.6rem}
.diffs dt{font-family:var(--f-m);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--amber);margin-bottom:.25rem}
.diffs dd{font-size:.86rem;color:var(--m-d)}
@media (max-width:1000px){.diffs{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.ledger{grid-template-columns:1fr}.ledger__col--plus{padding-right:0}.ledger__col--minus{padding-left:0;border-left:0;border-top:2px solid var(--ink)}.diffs{grid-template-columns:1fr}}

/* 09 rynek ---------------------------------------------------------- */
.grid-rynek{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;background:var(--line-d);border:2px solid var(--line-d)}
.mk{grid-column:span 2;background:var(--asphalt);padding:1.15rem 1.25rem 1.2rem;display:flex;flex-direction:column;gap:.35rem;transition:background .2s}
.slide--dark:nth-of-type(odd) .mk{background:var(--ink)}
.mk:hover{background:var(--asphalt-2)!important}
.mk--lead{grid-column:span 3;grid-row:span 2;background:var(--amber)!important;color:var(--ink)}
.mk--lead .mk__k,.mk--lead .src,.mk--lead .mk__t{color:var(--ink)}
.mk--lead .mk__v{font-size:clamp(3.2rem,2rem + 5vw,6.5rem)}
.mk--wide{grid-column:span 3}
.mk__k{font-family:var(--f-m);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--m-d)}
.mk__v{font-size:clamp(2rem,1.4rem + 2vw,3rem);font-weight:850;font-variation-settings:"wdth" 112;letter-spacing:-.035em;line-height:1;margin-top:.2rem}
.mk__v2{color:var(--m-d)}
.mk__t{font-size:.88rem;color:var(--t-d);max-width:48ch}
.mk .src{margin-top:auto;padding-top:.5rem}
.idx{display:flex;gap:2rem;flex-wrap:wrap;margin:.3rem 0}
.idx>div{display:grid}
.idx__n{font-size:2rem;font-weight:850;font-variation-settings:"wdth" 112;letter-spacing:-.03em}
.idx__d{font-family:var(--f-m);font-size:.72rem;color:var(--m-d)}
.mk:nth-child(2),.mk:nth-child(3){grid-column:span 3}
.mk:nth-child(4){grid-column:span 3}
.concl{display:grid;grid-template-columns:14rem 1fr;gap:1rem 2rem;margin-top:clamp(1.5rem,3.5vh,2.25rem);padding-left:1.1rem;border-left:4px solid var(--amber)}
.concl__k{font-weight:800;font-size:1.1rem;font-variation-settings:"wdth" 108;line-height:1.3}
.concl__k .tag{display:inline-block;margin-top:.4rem}
.concl p:last-child{max-width:72ch}
@media (max-width:1000px){.grid-rynek{grid-template-columns:1fr 1fr}.mk,.mk:nth-child(n){grid-column:span 1;grid-row:auto}.mk--lead,.mk--wide{grid-column:1 / -1!important}}
@media (max-width:560px){.grid-rynek{grid-template-columns:1fr}.mk,.mk:nth-child(n){grid-column:1 / -1}.concl{grid-template-columns:1fr}}

/* 10 weryfikacja ---------------------------------------------------- */
.grid-wer{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}
.check{background:#fff;padding:clamp(1.1rem,2.2vw,1.75rem);border-top:4px solid var(--ink)}
.check__head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.6rem}
.check__count{font-family:var(--f-m);font-size:.8rem;color:var(--m-l);white-space:nowrap}
.check li{border-bottom:1px solid var(--line-l)}
.check label{display:grid;grid-template-columns:1.6rem 1fr;gap:.6rem;align-items:start;padding:.6rem .3rem;cursor:pointer;font-size:.92rem;transition:background .15s}
.check label:hover{background:var(--paper)}
.check input{appearance:none;-webkit-appearance:none;margin:.12rem 0 0;width:1.25rem;height:1.25rem;border:2px solid var(--ink);border-radius:3px;display:grid;place-items:center;cursor:pointer;transition:background .15s}
.check input::after{content:"";width:.35rem;height:.65rem;border:solid var(--ink);border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(0);margin-top:-.15rem;transition:transform .2s var(--ease)}
.check input:checked{background:var(--amber)}
.check input:checked::after{transform:rotate(45deg) scale(1)}
.check input:checked + span{color:var(--m-l);text-decoration:line-through;text-decoration-color:var(--deco)}
.check input:focus-visible{outline:3px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 6px var(--amber)}
.fit{display:grid;gap:.7rem}
.fit__k{font-weight:800;font-size:1.2rem;font-variation-settings:"wdth" 108;line-height:1.25}
.fit__k--2{font-size:1rem;margin-top:.8rem}
.fit__yes{display:grid;gap:.5rem}
.fit__yes li{padding:.75rem .9rem;background:var(--ink);color:var(--t-d);font-size:.92rem;border-left:4px solid var(--amber)}
.fit__yes b{color:var(--amber)}
.fit__ask{display:grid;gap:.3rem;font-size:.9rem;color:var(--m-l)}
.fit__ask li::before{content:"? ";font-family:var(--f-m);font-weight:600;color:var(--amber-ink)}
.foot{display:flex;justify-content:space-between;align-items:end;gap:1.5rem 3rem;margin-top:clamp(2rem,5vh,3.5rem);padding-top:1.1rem;border-top:2px solid var(--ink);font-size:.82rem;color:var(--m-l)}
.foot p{max-width:95ch}
.foot__top{font-family:var(--f-m);white-space:nowrap;text-decoration:none;border-bottom:1px solid currentColor;color:var(--t-l)}
.foot__top:hover{color:var(--amber-ink)}
@media (max-width:900px){.grid-wer{grid-template-columns:1fr}.foot{flex-direction:column;align-items:start}}

/* reveal (tylko gdy JS i brak reduced motion) ----------------------- */
@media (prefers-reduced-motion:no-preference){
  .js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
  .js .reveal.is-in{opacity:1;transform:none}
  .js .reveal .hbar__f,.js .reveal .meter>span{transform:scaleX(0);transition:transform 1s var(--ease) .25s}
  .js .reveal.is-in .hbar__f,.js .reveal.is-in .meter>span{transform:none}
}

@media print{
  html{scroll-snap-type:none}
  .topbar,.dots,.progress,.skip{display:none}
  .slide{min-height:auto;break-inside:avoid}
}
@media (forced-colors:active){
  .hbar__f,.meter>span,.stack__seg,.veh__deck i,.dc__dot{forced-color-adjust:none}
}
@media (max-width:560px){
  .node text{font-size:22px}
  .node .node__sub{display:none}
  .map__ctry text{font-size:17px}
}
