/* Express Trucks — układ redakcyjny ("case study"): hero + liczby + sticky spis + sekcje. Używany na /realizacje/, /transport-ftl/, /ladunki-powrotne/ (PL+EN). */
.cs-hero h1{max-width:900px}
.cs-hero h1 .lime{color:var(--lime)}
.cs-hero .lead{max-width:680px;font-size:1.08rem}
.cs-logo{display:inline-flex;align-items:center;gap:14px;margin-bottom:26px}
.cs-logo img{height:40px;width:auto;display:block}
.cs-logo span{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8b939b;padding-left:14px;border-left:1px solid rgba(255,255,255,.18)}
.cs-trust{margin-top:26px;display:flex;flex-wrap:wrap;gap:8px 22px;font-family:'JetBrains Mono',monospace;font-size:.74rem;letter-spacing:.03em;color:#8b939b}
.cs-trust a{color:#b9c0bd}
/* liczby — bez ramek, nabijane */
.cs-nums{padding:54px 0 44px;background:var(--card);border-bottom:1px solid var(--line)}
.cs-nums .wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}
.cs-num{position:relative;padding:16px 16px 0 0;min-width:0}
.cs-num::before{content:"";position:absolute;left:0;top:0;width:34px;height:3px;background:var(--lime);transform-origin:left;transform:scaleX(0);transition:transform .9s var(--ease)}
.cs-num.in::before{transform:scaleX(1)}
.cs-num b{display:block;font-family:'Manrope',sans-serif;font-weight:800;font-size:clamp(2rem,3.6vw,3.3rem);line-height:1.05;letter-spacing:-.04em;color:var(--ink2);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.cs-num b small{font-size:.42em;font-weight:700;letter-spacing:0;margin-left:4px;color:var(--grn)}
.cs-num span{display:block;margin-top:10px;font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
/* treść + spis */
.cs-body{padding:84px 0 40px}
.cs-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:48px}
.cs-toc{position:sticky;top:92px;align-self:start}
.cs-toc .eyebrow{margin-bottom:12px}
.cs-toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.cs-toc li a{display:block;padding:8px 0 8px 16px;margin-left:-2px;border-left:2px solid transparent;color:var(--mut);text-decoration:none;font-size:14.5px;font-weight:600;transition:.2s}
.cs-toc li a.on,.cs-toc li a:hover{color:var(--ink2);border-left-color:var(--grn)}
.cs-toc .btn{margin-top:22px;width:100%;justify-content:center}
.cs-toc .cs-call{display:block;margin-top:12px;font-size:13px;color:var(--mut)}
.cs-toc .cs-call a{color:var(--ink2);font-weight:700}
.cs-sec{padding:0 0 64px}
.cs-sec+.cs-sec{border-top:1px solid var(--line);padding-top:56px}
.cs-sec .no{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.2em;color:var(--grn);font-weight:700}
.cs-sec h2{font-size:clamp(1.6rem,3vw,2.3rem);letter-spacing:-.03em;line-height:1.1;margin:10px 0 18px;max-width:720px}
.cs-sec h2 .grn{color:var(--grn)}
.cs-sec p{max-width:680px;line-height:1.65;font-size:1.02rem}
.cs-sec p+p{margin-top:14px}
.cs-sec a:not(.btn){color:var(--grn);font-weight:600}
.cs-pull{margin:28px 0 0;padding:0;font-family:'Manrope',sans-serif;font-weight:800;font-size:clamp(1.25rem,2.4vw,1.7rem);letter-spacing:-.02em;line-height:1.25;color:var(--ink2);max-width:640px}
.cs-fig{margin:30px 0 0;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh)}
.cs-fig img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.cs-fig figcaption{padding:10px 14px;font-size:12.5px;color:var(--mut);background:var(--card)}
.cs-figs{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:30px}
.cs-figs .cs-fig{margin:0}
.cs-figs .cs-fig img{aspect-ratio:4/3}
/* trasa */
.cs-route{margin-top:34px;position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
.cs-route::before{content:"";position:absolute;left:11px;top:14px;bottom:14px;width:2px;background:var(--line)}
.cs-route::after{content:"";position:absolute;left:11px;top:14px;bottom:14px;width:2px;background:var(--grn);transform-origin:top;transform:scaleY(0);transition:transform 1.6s var(--ease)}
.cs-route.in::after{transform:scaleY(1)}
.cs-stop{position:relative;padding-left:40px}
.cs-stop::before{content:"";position:absolute;left:5px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--card);border:3px solid var(--grn);box-sizing:border-box;z-index:1}
.cs-stop b{display:block;font-size:15.5px;color:var(--ink2)}
.cs-stop span{display:block;font-size:13.5px;color:var(--mut);margin-top:3px;line-height:1.5}
.cs-stop em{font-style:normal;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--grn)}
/* listy bez kafelków */
.cs-fx{margin-top:26px;max-width:680px;padding:0;list-style:none}
.cs-fx li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:baseline;padding:16px 0;border-top:1px solid var(--line)}
.cs-fx li:last-child{border-bottom:1px solid var(--line)}
.cs-fx li b{font-family:'Manrope',sans-serif;font-weight:800;font-size:1.9rem;letter-spacing:-.03em;color:var(--ink2);min-width:3.2ch;font-variant-numeric:tabular-nums;white-space:nowrap}
.cs-fx li span{font-size:15px;line-height:1.5}
.cs-check{list-style:none;padding:0;margin:22px 0 0;max-width:680px}
.cs-check li{position:relative;padding-left:32px;margin-top:12px;line-height:1.55;font-size:1.02rem}
.cs-check li::before{content:"✓";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:var(--grn);color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center}
.cs-price{margin-top:26px;max-width:680px}
.cs-price div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:baseline;padding:18px 0;border-top:1px solid var(--line)}
.cs-price div:last-child{border-bottom:1px solid var(--line)}
.cs-price b{font-family:'Manrope',sans-serif;font-weight:800;font-size:clamp(1.3rem,2.4vw,1.8rem);letter-spacing:-.03em;color:var(--ink2);white-space:nowrap}
.cs-price b small{font-size:.55em;color:var(--grn);margin-left:4px}
.cs-price span{display:block;font-size:15px;line-height:1.5}
.cs-price span em{display:block;font-style:normal;font-size:13px;color:var(--mut);margin-top:3px}
/* cytat */
.cs-quote{margin-top:40px;padding:30px 32px;background:var(--ink2);color:#f3f5f1;border-radius:var(--r);position:relative;overflow:hidden}
.cs-quote::before{content:"\201D";position:absolute;right:22px;top:-18px;font-family:'Manrope',sans-serif;font-size:9rem;line-height:1;color:var(--lime);opacity:.25}
.cs-quote p{font-size:1.25rem;line-height:1.5;font-weight:600;max-width:720px;color:#f3f5f1}
.cs-quote footer{margin-top:16px;display:flex;align-items:center;gap:14px;font-size:13.5px;color:#b9c0bd}
.cs-quote footer img{height:22px;width:auto}
/* o kliencie */
.cs-about{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:center;margin-top:8px}
.cs-about .cs-card{background:var(--ink2);border-radius:var(--r);padding:30px;display:flex;align-items:center;justify-content:center;min-height:150px}
.cs-about .cs-card img{height:48px;width:auto}
.cs-about a.cs-link{display:inline-block;margin-top:14px;color:var(--grn);font-weight:700;text-decoration:none;border-bottom:2px solid var(--lime)}
/* FAQ w sekcji */
.cs-sec .faq-q{max-width:760px}
/* formularz */
.cs-form{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px 24px;max-width:760px;margin-top:24px;box-shadow:var(--sh)}
/* reveal */
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}
@media(min-width:760px){.cs-nums .wrap{grid-template-columns:repeat(var(--cs-cols,5),minmax(0,1fr))}.cs-about{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr)}.cs-figs{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-route{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.cs-route::before,.cs-route::after{left:14px;right:14px;top:11px;bottom:auto;width:auto;height:2px}.cs-route::after{transform-origin:left;transform:scaleX(0)}.cs-route.in::after{transform:scaleX(1)}.cs-stop{padding-left:0;padding-top:34px}.cs-stop::before{left:0;top:4px}}
@media(min-width:980px){.cs-grid{grid-template-columns:230px minmax(0,1fr);gap:64px}}
@media(max-width:520px){.phero-cta{flex-direction:column}.phero-cta .btn{width:100%;white-space:normal;text-align:center}.cs-quote{padding:24px 22px}.cs-price div{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.rv,.cs-num::before,.cs-route::after{transition:none}.rv{opacity:1;transform:none}.cs-num::before{transform:none}.cs-route::after{transform:none}}
