:root{
  --steel:#D9D4CB;
  --steel-2:#DDD8CF;
  --steel-3:#D4CFC6;
  --rail-d:#7E7A73;
  --paper:#FDFCF6;
  --ink:#22272A;
  --soft:#4E555A;
  --stamp:#B3122B;
  --stamp-d:#8F0E22;
  --yellow:#FBE78F;
  --pink:#F7C3CF;
  --dash:#9C978F;
  --zigzag:polygon(0 0,100% 0,100% calc(100% - 9px),95% 100%,90% calc(100% - 9px),85% 100%,80% calc(100% - 9px),75% 100%,70% calc(100% - 9px),65% 100%,60% calc(100% - 9px),55% 100%,50% calc(100% - 9px),45% 100%,40% calc(100% - 9px),35% 100%,30% calc(100% - 9px),25% 100%,20% calc(100% - 9px),15% 100%,10% calc(100% - 9px),5% 100%,0 calc(100% - 9px));
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px;overflow-x:hidden}
body{
  font-family:'Barlow',system-ui,sans-serif;color:var(--ink);font-size:18px;line-height:1.55;
  background:repeating-linear-gradient(90deg,var(--steel) 0 3px,var(--steel-2) 3px 5px,var(--steel-3) 5px 9px);
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.narrow{max-width:800px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

h1,h2,.logo,.tel{font-family:'Anton',Impact,sans-serif;font-weight:400}
h1{font-size:clamp(42px,5.6vw,76px);line-height:1.04}
h2{font-size:clamp(34px,4.2vw,54px);line-height:1.05;margin-bottom:10px}
h3{font-size:19px;font-weight:600;line-height:1.3}
.sub{max-width:36em;margin-bottom:30px;font-size:19px}
section{padding:80px 0 0}
main>section:last-child{padding-bottom:90px}

/* przyciski */
.btn{display:inline-block;padding:14px 22px;font-weight:600;font-size:16.5px;text-decoration:none;text-align:center;background:var(--stamp);color:#fff;border:2px solid var(--stamp);transition:background .2s}
.btn:hover{background:var(--stamp-d);border-color:var(--stamp-d)}
.btn-dark{background:var(--ink);border-color:var(--ink)}
.btn-dark:hover{background:#000;border-color:#000}
.btn-paper{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn-paper:hover{background:#fff;border-color:var(--ink)}
.btn-sm{padding:9px 16px;font-size:15.5px}

/* nawigacja */
.nav{position:sticky;top:0;z-index:10;background:rgba(217,212,203,.95);backdrop-filter:blur(6px);border-bottom:2px solid var(--ink)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:64px}
.logo{font-size:27px;text-decoration:none}
.links{display:flex;gap:26px;font-weight:600;font-size:16px}
.links a{text-decoration:none}
.links a:hover{text-decoration:underline}

/* bon (wspólny wygląd) */
.ticket{background:var(--paper);padding:24px 20px 32px;clip-path:var(--zigzag);font-size:16px}
.t-head,.ticket .ln,.ticket hr,.stamp,.feats,.sum,.pos-tag{font-family:'Courier Prime','Courier New',monospace}
.t-head{font-weight:700;font-size:17px;letter-spacing:.02em}
.ticket hr{border:0;border-top:1px dashed var(--ink);margin:10px 0}
.ln{display:flex;justify-content:space-between;gap:10px}
.stamp{display:inline-block;margin-top:12px;border:3px solid var(--stamp);color:var(--stamp);font-weight:700;padding:3px 10px;transform:rotate(-5deg)}

/* hero */
.hero{padding:44px 0 20px;overflow-x:clip}
.hero-in{display:grid;grid-template-columns:minmax(0,1fr) 500px;gap:44px}
.lede{max-width:31em;margin-top:20px;font-size:20px}
.cta{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.note{margin-top:14px;font-size:16px}
.rail-box{align-self:start;margin-top:10px}
.rail{height:30px;background:linear-gradient(#F2F0EC,#A9A49B 60%,var(--rail-d));box-shadow:0 7px 12px -5px rgba(34,39,42,.5);position:relative;z-index:2;margin-right:-400px}
.rail-tickets{display:flex;gap:16px;align-items:flex-start;margin-top:-10px}
.rail-tickets .ticket{width:236px;flex:none;font-family:'Courier Prime','Courier New',monospace;font-size:15px;line-height:1.45;transform-origin:top center}
.rail-tickets .ticket:first-child{transform:rotate(-1.2deg)}
.rail-tickets .ticket:last-child{transform:rotate(.9deg);margin-top:8px}
.print{animation:print .7s steps(9) both}
.print-2{animation-delay:.35s}
@keyframes print{from{clip-path:inset(0 0 100% 0)}}

/* co możesz zgłosić */
.receipt{max-width:860px;padding:30px 34px 40px}
.pos{display:flex;justify-content:space-between;gap:28px;padding:16px 0;border-top:1px dashed var(--dash)}
.pos:first-child{border-top:0;padding-top:0}
.pos p{color:var(--soft)}
.pos-tag{flex:none;max-width:230px;text-align:right;font-weight:700;font-size:15px;color:var(--ink)!important}

/* przeniesienie */
.steps{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.steps .ticket{padding:18px 16px 28px;font-size:16px}
.steps .t-head{font-size:16px;margin-bottom:6px}
.steps p:not(.t-head){color:var(--soft)}

/* porównanie */
.tbl-wrap{overflow-x:auto;background:var(--paper);border:2px solid var(--ink)}
.tbl{width:100%;border-collapse:collapse;min-width:600px}
.tbl th,.tbl td{padding:15px 18px;text-align:left;border-bottom:1px dashed var(--dash);vertical-align:top;font-size:16.5px}
.tbl tr:last-child>*{border-bottom:0}
.tbl thead th{border-bottom:2px solid var(--ink);font-size:15px}
.tbl tbody th{font-weight:600;width:22%}
.tbl td{color:var(--soft)}
.tbl .hi{background:var(--yellow);color:var(--ink);font-weight:600}

/* cennik */
.common{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}
.common li{font-size:15px;font-weight:600;padding:5px 12px;background:var(--paper);border:1px solid var(--ink)}
.common li::before{content:"✓ ";color:var(--stamp)}
.toggle{display:inline-flex;background:var(--paper);border:2px solid var(--ink);margin-bottom:30px}
.toggle button{border:0;background:transparent;font:inherit;font-weight:600;font-size:16px;color:var(--ink);padding:9px 18px;cursor:pointer;display:flex;align-items:center;gap:8px}
.toggle button.on{background:var(--ink);color:var(--paper)}
.save{font-size:12.5px;background:var(--stamp);color:#fff;padding:1px 7px}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.plan{position:relative;display:flex;flex-direction:column;padding:26px 22px 38px}
.plan-y{background:var(--yellow)}
.plan-p{background:var(--pink)}
.ribbon{position:absolute;top:16px;right:18px;border:3px solid var(--stamp);color:var(--stamp);font-family:'Courier Prime','Courier New',monospace;font-weight:700;font-size:14px;padding:1px 8px;transform:rotate(4deg)}
.tagline{color:var(--soft);font-size:15.5px;margin:2px 0 4px}
.feats{list-style:none;margin:12px 0;padding:10px 0;border-top:1px dashed var(--ink);border-bottom:1px dashed var(--ink);font-size:15.5px}
.feats li{display:flex;justify-content:space-between;gap:10px;padding:3px 0}
.feats li span:last-child{text-align:right;font-weight:700}
.plan-note{font-size:15px;font-weight:600;margin-bottom:10px}
.sum{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;font-size:20px}
.amt{font-size:34px}
.per-line{font-size:14.5px;color:var(--soft);margin-bottom:16px}
.extra{margin-top:20px;font-size:16.5px}
.extra a{font-weight:700;color:var(--stamp-d)}

/* FAQ */
.faq details{background:var(--paper);margin-bottom:8px;border-left:4px solid var(--ink)}
.faq summary{cursor:pointer;padding:15px 50px 15px 18px;font-weight:600;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:24px;color:var(--stamp)}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 18px 16px;color:var(--soft)}

/* umowa */
.cta-band{margin-top:80px;padding:70px 0;background:var(--ink);color:var(--paper);text-align:center}
.cta-band p{max-width:34em;margin:0 auto 24px;font-size:19px}
.cta-band .fine{font-size:15px;margin:16px auto 0;opacity:.75}

/* kontakt */
.contact{text-align:center}
.contact .sub{margin-left:auto;margin-right:auto}
.tel{display:block;font-size:clamp(44px,8vw,76px);text-decoration:none;margin-bottom:16px;line-height:1.1}
.tel:hover{color:var(--stamp)}

.foot{border-top:2px solid var(--ink);padding:24px 0;font-size:15px}
.foot-in{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

@media (max-width:1000px){
  .hero-in{grid-template-columns:1fr}
  .rail{margin-right:0}
  .steps{grid-template-columns:1fr 1fr}
  .plans{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  section{padding-top:60px}
  .wrap{padding:0 18px}
  .links{display:none}
  .rail-tickets{flex-direction:column;align-items:center}
  .rail-tickets .ticket:last-child{margin-top:0}
  .receipt{padding:22px 18px 34px}
  .pos{flex-direction:column;gap:6px}
  .pos-tag{text-align:left;max-width:none}
  .steps,.plans{grid-template-columns:1fr}
  .plans{max-width:420px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .print{animation:none}
  .btn{transition:none}
}

/* polityka prywatności */
.doc h1{margin-bottom:24px}
.doc h2{font-size:28px;margin:30px 0 8px}
.doc p{margin-bottom:12px}
.doc a{font-weight:600;color:var(--stamp-d)}
.doc-sheet{background:var(--paper);padding:34px 34px 40px;clip-path:var(--zigzag)}

/* porównanie na telefonie: wiersze jako karty, obie kolumny widoczne */
@media (max-width:680px){
  .tbl{min-width:0}
  .tbl thead{display:none}
  .tbl tr,.tbl th,.tbl td{display:block;width:auto}
  .tbl tbody th{padding-bottom:4px;border-bottom:0;width:auto}
  .tbl td{border-bottom:0;padding-top:6px}
  .tbl td::before{content:attr(data-label);display:block;font-size:13px;font-weight:700;color:var(--soft)}
  .tbl tr{border-bottom:1px solid var(--line);padding-bottom:8px}
  .tbl tr:last-child{border-bottom:0}
}
