/* ============ TOKENS ============ */
:root{
  --white:#FFFFFF;
  --canvas:#FBF7F0;       /* tło strony - ciepła kremowa baza z projektu */
  --paper:#F5F0E6;        /* powierzchnia sekcji przeplatanych */
  --ink:#14110E;
  --graphite:#5A5148;
  --muted:#6B635A;
  --faint:#8A8074;        /* tylko etykiety i podpisy, nie tekst ciągły */
  --line:#E5DED2;
  --line-strong:#DDD4C6;

  --flame:#f08a25;        /* pomarańcz z logo - powierzchnie, akcenty */
  --flame-ink:#a85408;    /* tekst i linki na jasnym tle (5.0:1 na kremie) */
  --flame-deep:#8a4305;
  --flame-soft:#FBE3D8;   /* poświata pola formularza */
  --ember:#f08a25;

  --heat:linear-gradient(125deg,#ffa94d 0%,#f08a25 50%,#dd7714 100%);
  --heat-rev:linear-gradient(125deg,#dd7714 0%,#f08a25 50%,#ffa94d 100%);
  --heat-text:linear-gradient(125deg,#c2660a 0%,#a85408 60%,#8a4305 100%);
  --heat-soft:linear-gradient(180deg,#FDEDDC 0%,#FBF7F0 70%);

  --display:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --body:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;

  --maxw:1180px;
  --gut:clamp(1.25rem,4vw,3rem);
  --radius:16px;
  --radius-lg:20px;

  --shadow-sm:0 1px 2px rgba(20,17,14,.04),0 8px 24px rgba(20,17,14,.05);
  --shadow-lg:0 24px 60px -32px rgba(20,17,14,.28);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip;}
body{
  margin:0;font-family:var(--body);color:var(--graphite);
  background:var(--canvas);font-size:.98rem;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:clip;width:100%;max-width:100%;
}
/* nic nie może przewijać strony w poziomie na mobile (poza grafiką/tabelą w .scroll-x) */
p,li,a,summary,label,span,h1,h2,h3,h4{overflow-wrap:break-word;}
img,svg,video,iframe{max-width:100%;height:auto;}
.scroll-x{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
h1,h2,h3,h4{font-family:var(--display);color:var(--ink);margin:0;
  letter-spacing:-.02em;line-height:1.05;font-weight:700;overflow-wrap:break-word;}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
::selection{background:#FBD9C9;color:var(--ink);}

.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.section{padding-block:clamp(4.5rem,9vw,7.5rem);}
.eyebrow{
  font-family:var(--mono);font-size:.74rem;letter-spacing:.22em;
  text-transform:uppercase;font-weight:500;
  background:var(--heat-text);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:var(--flame-ink);
}
.lead{font-size:clamp(.93rem,1.2vw,1.06rem);color:var(--graphite);line-height:1.6;}

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex;align-items:center;gap:.55em;
  font-family:var(--body);font-weight:600;font-size:1rem;
  padding:.95em 1.6em;border-radius:999px;cursor:pointer;border:0;
  transition:transform .18s ease,box-shadow .25s ease,background .25s ease;
  text-align:center;line-height:1;
}
.btn-heat{background:var(--heat);color:var(--ink);box-shadow:0 10px 24px -8px rgba(194,102,10,.5);}
.btn-heat:hover{transform:translateY(-2px);box-shadow:0 16px 34px -10px rgba(194,102,10,.6);}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line-strong);}
.btn-ghost:hover{border-color:var(--ink);transform:translateY(-2px);}
.btn-arrow{transition:transform .2s ease;}
.btn:hover .btn-arrow{transform:translateX(3px);}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{
  outline:3px solid var(--ember);outline-offset:3px;border-radius:6px;
}

/* ============ SKIP LINK ============ */
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:#fff;
  padding:.7rem 1.1rem;border-radius:0 0 8px 0;font-size:.9rem;}
.skip-link:focus{left:0;}

/* ============ NAV ============ */
header.nav{position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.82);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  transition:transform .28s ease,opacity .28s ease;}
/* chowany tylko tam, gdzie jego role przejmuje przypiety CTA na dole */
@media (max-width:640px){
  header.nav.is-hidden{transform:translateY(-100%);opacity:0;pointer-events:none;}
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;
  height:70px;}
.logo{display:flex;align-items:center;flex:none;}
.logo img{height:36px;width:auto;display:block;}
@media (max-width:560px){.logo img{height:30px;}}
.nav-links{display:flex;align-items:center;gap:1.9rem;list-style:none;margin:0;padding:0;}
.nav-links a{font-size:.95rem;font-weight:500;color:var(--graphite);transition:color .15s;}
.nav-links a:hover{color:var(--ink);}
.nav-cta{display:flex;align-items:center;gap:1.25rem;}
.nav-menu-cta{display:none;}
/* pasek bez menu (strona glowna): CTA widoczny zawsze, takze na waskim ekranie */
.nav-simple .nav-cta .btn-heat{display:inline-flex;}
@media (max-width:420px){
  .nav-simple .nav-cta .btn-heat{padding-inline:1rem;font-size:.9rem;}
}
.nav-phone{font-family:var(--mono);font-size:.92rem;color:var(--ink);font-weight:500;white-space:nowrap;}
.nav-phone span{color:var(--muted);}
.burger{display:none;background:none;border:0;cursor:pointer;width:42px;height:42px;
  flex-direction:column;justify-content:center;gap:5px;padding:0;}
.burger i{display:block;height:2px;width:22px;background:var(--ink);margin-inline:auto;border-radius:2px;transition:.25s;}

/* ============ HERO ============ */
.hero{position:relative;overflow:hidden;padding-top:clamp(3rem,6vw,5rem);
  padding-bottom:clamp(3.5rem,7vw,6rem);
  background:radial-gradient(1100px 480px at 82% -10%,#FDEDDC 0%,rgba(251,247,240,0) 62%);}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(2.2rem,5vw,4rem);
  align-items:center;text-align:left;}
.hero .eyebrow{display:inline-block;}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;}
  /* wykres cen ma byc pod naglowkiem i przyciskiem CTA, nie nad nimi */
  .hero-aside{order:1;}
}
.hero h1{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:800;letter-spacing:-.035em;
  line-height:1.02;margin:1.1rem 0 1rem;}
.hero h1 em{font-style:normal;background:var(--heat);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.hero-sub{font-family:var(--display);font-weight:600;font-size:clamp(1.05rem,1.8vw,1.35rem);
  color:var(--graphite);margin:0 0 1.1rem;letter-spacing:-.01em;}
.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem;}

/* przewagi strip directly under hero */
.przewagi-band{padding-block:clamp(2.4rem,5vw,3.4rem);}

/* ============ TRUST STRIP ============ */
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);}
.trust-inner{display:flex;flex-wrap:wrap;gap:1rem 2.5rem;justify-content:space-between;align-items:center;
  padding-block:1.6rem;}
.trust-item{display:flex;align-items:baseline;gap:.6rem;}
.trust-item b{font-family:var(--display);font-size:1.45rem;color:var(--ink);font-weight:700;letter-spacing:-.02em;}
.trust-item span{font-size:.86rem;color:var(--muted);}
.trust-sep{width:1px;height:26px;background:var(--line-strong);}

/* ============ SECTION HEADING ============ */
.sec-head{max-width:660px;margin:0 auto clamp(2.5rem,5vw,3.5rem);text-align:center;}
.sec-head h2{font-size:clamp(1.55rem,2.9vw,2.25rem);font-weight:700;margin:.9rem 0 1rem;letter-spacing:-.03em;}
.sec-head.center{margin-inline:auto;text-align:center;}

/* ============ PROCESS ============ */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,3vw,2rem);}
.step{position:relative;padding-top:2.2rem;border-top:2px solid var(--ink);}
.step .num{position:absolute;top:-.1rem;right:0;font-family:var(--mono);font-size:.8rem;color:var(--muted);}
.step .idx{font-family:var(--display);font-size:1.15rem;font-weight:700;
  background:var(--heat);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.step h3{font-size:1.35rem;margin:.6rem 0 .7rem;font-weight:700;}
.step p{font-size:1rem;color:var(--graphite);}
.scheme{margin-top:clamp(2.5rem,5vw,3.8rem);border:1px solid var(--line);border-radius:var(--radius);
  background:var(--paper);padding:clamp(1.2rem,3vw,2.4rem);box-shadow:var(--shadow-sm);}
.scheme img{width:100%;max-width:760px;margin-inline:auto;height:auto;display:block;}
.scheme figcaption{text-align:center;font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);margin-top:1.1rem;}

/* ============ BENEFITS / FACTORS ============ */
.bg-paper{background:var(--paper);border-block:1px solid var(--line);}
.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;}
.factors{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;}
.bcard{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.7rem 1.5rem;transition:transform .2s ease,box-shadow .25s ease,border-color .2s;}
.bcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:var(--line-strong);}
.bicon{width:46px;height:46px;border-radius:13px;background:var(--heat);margin-bottom:1.1rem;
  display:grid;place-items:center;color:var(--ink);font-size:1.3rem;box-shadow:0 8px 18px -8px rgba(194,102,10,.5);}
.bcard h3{font-size:1.18rem;margin-bottom:.5rem;font-weight:700;}
.bcard p{font-size:.96rem;color:var(--graphite);}

/* ============ DOTACJE / FEATURE BAND ============ */
.grants{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;
  margin-top:clamp(1.8rem,3.5vw,2.6rem);}
.grant{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:clamp(1.8rem,3vw,2.4rem);display:flex;flex-direction:column;
  transition:transform .2s ease,box-shadow .25s ease,border-color .2s;}
.grant:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:var(--line-strong);}
.grant h3{font-size:1.3rem;font-weight:800;letter-spacing:-.02em;}
.grant-amount{display:block;font-family:var(--display);font-weight:800;font-size:1.28rem;letter-spacing:-.02em;
  margin:.1rem 0 1.1rem;background:var(--heat);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.grant p{color:var(--ink);font-weight:600;font-size:1rem;line-height:1.6;margin-bottom:.9rem;}
.grant-more{align-self:flex-start;font-weight:700;color:var(--flame-ink);text-decoration:none;
  margin-bottom:1.5rem;transition:opacity .15s;}
.grant-more:hover{opacity:.65;}
.grant .btn{align-self:flex-start;margin-top:auto;}

/* ============ PATHS (masz/nie masz) ============ */
.paths{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;}
.path{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:clamp(1.8rem,3vw,2.4rem);display:flex;flex-direction:column;gap:.7rem;
  transition:transform .2s ease,box-shadow .25s ease,border-color .2s;}
.path:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:var(--line-strong);}
.path-tag{align-self:flex-start;font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink);background:var(--heat);padding:.35rem .8rem;border-radius:999px;}
.path h3{font-size:1.3rem;font-weight:700;letter-spacing:-.02em;}
.path p{color:var(--graphite);font-size:1rem;flex:1;}
.path .btn{align-self:flex-start;margin-top:.4rem;}

/* ============ WAITLIST BANNER ============ */
.waitlist{margin-top:1.4rem;display:grid;grid-template-columns:1fr auto;gap:1.4rem 2.5rem;align-items:center;
  background:var(--ink);color:#cfcfd6;border-radius:var(--radius);padding:clamp(1.8rem,3.5vw,2.8rem);}
.waitlist h2,.waitlist h3{color:#fff;font-size:clamp(1.25rem,2.2vw,1.6rem);font-weight:800;letter-spacing:-.02em;margin:.5rem 0 .7rem;}
.waitlist p{color:#b9b9c1;font-size:1rem;max-width:60ch;}
.waitlist .btn{white-space:nowrap;}
.waitlist.is-light{background:var(--white);color:var(--graphite);border:1px solid var(--line-strong);box-shadow:var(--shadow-sm);}
.waitlist.is-light h2,.waitlist.is-light h3{color:var(--ink);}
.waitlist.is-light p{color:var(--graphite);}

/* ============ REALIZACJE ============ */

/* ============ FAQ ============ */
.faq{max-width:760px;margin-inline:auto;}
.faq-group{margin-top:2.6rem;}
.faq-group:first-child{margin-top:0;}
.faq-cat{font-family:var(--display);font-weight:700;font-size:1.45rem;letter-spacing:-.02em;
  color:var(--ink);margin:0 0 .4rem;padding-bottom:.7rem;border-bottom:2px solid var(--ink);}
.qa{border-bottom:1px solid var(--line);}
.qa summary{list-style:none;cursor:pointer;padding:1.3rem 0;display:flex;justify-content:space-between;
  align-items:center;gap:1rem;font-family:var(--display);font-weight:600;font-size:1.15rem;color:var(--ink);letter-spacing:-.01em;}
.qa summary::-webkit-details-marker{display:none;}
.qa .plus{flex:none;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line-strong);
  position:relative;transition:.25s;}
.qa .plus::before,.qa .plus::after{content:"";position:absolute;background:var(--ink);border-radius:2px;
  left:50%;top:50%;transform:translate(-50%,-50%);}
.qa .plus::before{width:11px;height:1.6px;}
.qa .plus::after{width:1.6px;height:11px;transition:.25s;}
.qa[open] .plus{border-color:var(--ember);background:var(--heat);}
.qa[open] .plus::before,.qa[open] .plus::after{background:var(--ink);}
.qa[open] .plus::after{transform:translate(-50%,-50%) scaleY(0);}
.qa p{padding:0 0 1.4rem;color:var(--graphite);max-width:64ch;}

/* ============ FINAL CTA / FORM ============ */
.cta-final{background:var(--paper);border-top:1px solid var(--line);}
.cta-grid{display:grid;grid-template-columns:1fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
/* bez tego element siatki nie zwezi sie ponizej szerokosci swojej tresci */
.cta-grid>*{min-width:0;}
.cta-pitch{text-align:center;}
.cta-grid h1,.cta-grid h2{font-size:clamp(1.55rem,2.9vw,2.3rem);font-weight:800;letter-spacing:-.03em;margin:.9rem 0 1.1rem;}
.cta-grid h1 em,.cta-grid h2 em{font-style:normal;background:var(--heat);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.cta-list{list-style:none;padding:0;margin:1.6rem auto 0;display:flex;flex-direction:column;gap:.7rem;width:max-content;max-width:100%;text-align:left;}
.cta-list li{display:flex;align-items:center;gap:.7rem;color:var(--graphite);font-size:1rem;}
.cta-list li::before{content:"";width:20px;height:20px;border-radius:50%;background:var(--heat);flex:none;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/14px no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/14px no-repeat;}
.form{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:clamp(1.7rem,3vw,2.4rem);
  box-shadow:var(--shadow-sm);}
.form h3{font-size:1.4rem;font-weight:700;margin-bottom:.3rem;}
.form .fsub{color:var(--muted);font-size:.92rem;margin-bottom:1.6rem;}
.field{margin-bottom:1rem;}
.field label{display:block;color:var(--graphite);margin-bottom:.4rem;font-weight:500;
  font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;font-size:.7rem;}
.field input,.field select{width:100%;padding:.85rem 1rem;border:1.5px solid var(--line-strong);border-radius:11px;
  font-family:var(--body);font-size:1rem;color:var(--ink);background:var(--white);transition:border-color .15s;}
.field input::placeholder{color:#b3b3ba;}
.field input:focus,.field select:focus{border-color:var(--ember);outline:none;}
.form .btn{width:100%;justify-content:center;margin-top:.6rem;}
.form .legal{font-size:.76rem;color:var(--muted);margin-top:1rem;line-height:1.5;}

/* ============ CONSENT / RODO ============ */
/* licznik zapisow nad formularzem - dowod, ze lista zyje */
.licznik{display:inline-flex;align-items:center;gap:.5rem;
  margin:-.9rem 0 1.5rem;padding:.4rem .8rem .4rem .7rem;
  background:var(--flame-soft);border-radius:999px;
  font-size:.84rem;color:var(--flame-deep);}
.licznik b{font-weight:700;font-variant-numeric:tabular-nums;}
.licznik-kropka{width:7px;height:7px;border-radius:50%;background:var(--flame);flex:none;
  animation:licznik-puls 2.4s ease-out infinite;}
@keyframes licznik-puls{
  0%{box-shadow:0 0 0 0 rgba(240,138,37,.55);}
  70%{box-shadow:0 0 0 7px rgba(240,138,37,0);}
  100%{box-shadow:0 0 0 0 rgba(240,138,37,0);}
}
@media (prefers-reduced-motion:reduce){.licznik-kropka{animation:none;}}

.consent{margin-top:1.1rem;}
.chk{display:flex;gap:.55rem;align-items:flex-start;font-size:.82rem;color:var(--graphite);line-height:1.4;cursor:pointer;}
.chk input[type=checkbox]{margin-top:.12rem;width:16px;height:16px;flex:none;accent-color:var(--flame-ink);cursor:pointer;}
.chk .req{color:var(--flame-ink);font-weight:700;margin-left:.15rem;}
.consent-details{margin:.35rem 0 0 1.7rem;}
.consent-details>summary{cursor:pointer;list-style:none;color:var(--flame-ink);font-weight:600;font-size:.75rem;display:inline-block;}
.consent-details>summary::-webkit-details-marker{display:none;}
.consent-details>summary::after{content:"Rozwiń treść zgody";}
.consent-details[open]>summary::after{content:"Zwiń";}
.consent-details p{margin-top:.4rem;font-size:.76rem;color:var(--muted);line-height:1.5;}
.privacy-note{margin-top:1rem;font-size:.76rem;color:var(--muted);line-height:1.5;}
.privacy-note>summary{cursor:pointer;list-style:none;}
.privacy-note>summary::-webkit-details-marker{display:none;}
.privacy-note>summary::after{content:" Rozwiń";color:var(--flame-ink);font-weight:600;white-space:nowrap;}
.privacy-note[open]>summary::after{content:" Zwiń";color:var(--flame-ink);font-weight:600;}
.privacy-note p{margin-top:.5rem;}
.privacy-note a{color:var(--flame-ink);text-decoration:underline;}

/* ============ BLOK DEFINICYJNY / DANE / TABELE ============ */
.answer{background:var(--white);border:1px solid var(--line);border-left:4px solid var(--flame);
  border-radius:var(--radius);padding:clamp(1.4rem,2.6vw,2rem);margin-bottom:1.6rem;}
.answer p{font-size:1.08rem;color:var(--ink);line-height:1.6;}
.answer p+p{margin-top:.9rem;color:var(--graphite);font-size:1rem;}

.datatable{width:100%;border-collapse:collapse;font-size:.95rem;background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.datatable caption{caption-side:bottom;text-align:left;font-size:.82rem;color:var(--muted);
  padding-top:.8rem;line-height:1.5;}
.datatable th,.datatable td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--line);
  vertical-align:top;}
.datatable thead th{background:var(--paper);font-family:var(--display);font-weight:700;
  font-size:.86rem;letter-spacing:-.01em;color:var(--ink);}
.datatable tbody tr:last-child td{border-bottom:0;}
.datatable td b{color:var(--ink);}
.datatable .hi{background:#fff7ef;}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}

.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin-top:1.6rem;}
.fact{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem;}
.fact b{display:block;font-family:var(--display);font-size:1.65rem;font-weight:800;
  letter-spacing:-.03em;color:var(--ink);line-height:1;margin-bottom:.45rem;}
.fact span{font-size:.92rem;color:var(--graphite);display:block;}
.fact cite{display:block;margin-top:.6rem;font-size:.76rem;color:var(--muted);font-style:normal;}

.sources{margin-top:1.8rem;font-size:.86rem;color:var(--muted);}
.sources h3{font-size:.8rem;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;
  color:var(--graphite);margin-bottom:.6rem;font-weight:500;}
.sources li{margin-bottom:.35rem;line-height:1.5;}
.sources a{color:var(--flame-ink);text-decoration:underline;}

.crumbs{font-size:.85rem;color:var(--muted);padding-top:1.2rem;}
.crumbs a{color:var(--graphite);text-decoration:none;}
.crumbs a:hover{color:var(--flame-ink);text-decoration:underline;}
.crumbs span{margin:0 .45rem;color:var(--line-strong);}

/* ============ FORMULARZ: honeypot + status ============ */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.form-status{background:#fff3f3;border:1px solid #f5c2c2;color:#8a1a1a;border-radius:12px;
  padding:.85rem 1rem;font-size:.9rem;line-height:1.5;margin-bottom:.9rem;}
.form-status:focus{outline:3px solid var(--ember);outline-offset:2px;}

/* ============ KOMPONENTY Z PROJEKTU ============ */

/* plakietka statusu w hero */
.badge{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--flame);
  color:var(--flame-ink);border-radius:999px;padding:.4rem .9rem;font-size:.82rem;
  font-weight:600;letter-spacing:.01em;margin-bottom:1.6rem;}
.badge::before{content:"";width:6px;height:6px;border-radius:999px;background:var(--flame);flex:none;}

/* wykres cen godzinowych */
.pricecard{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:1.6rem 1.6rem 1.4rem;box-shadow:var(--shadow-lg);}
.pricecard-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;}
.pricecard-head b{font-size:.95rem;font-weight:700;letter-spacing:-.01em;color:var(--ink);}
.pricecard-head span{font-family:var(--mono);font-size:.7rem;color:var(--faint);letter-spacing:.04em;}
.pricecard-sub{font-size:.82rem;color:var(--faint);margin-bottom:1.4rem;}
.bars{display:flex;align-items:flex-end;gap:3px;height:190px;}
.bars .col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%;gap:5px;}
.bars .bar{border-radius:4px 4px 2px 2px;background:#D8D0C4;transform-origin:bottom;}
.bars .col.cheap .bar{background:var(--flame);}
.bars .run{height:4px;border-radius:999px;background:transparent;}
.bars .col.cheap .run{background:var(--ink);}
.bars-axis{display:flex;justify-content:space-between;font-family:var(--mono);
  font-size:.68rem;color:var(--faint);margin-top:.5rem;}
.legend{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.25rem;padding-top:1.1rem;
  border-top:1px solid #F0EAE0;}
.legend i{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--graphite);font-style:normal;}
.legend .sw{width:12px;height:12px;border-radius:3px;display:block;flex:none;}
.legend .sw.run{height:4px;border-radius:999px;background:var(--ink);}
@media (prefers-reduced-motion:no-preference){
  .bars .bar{animation:riseIn 520ms cubic-bezier(.22,1,.36,1) backwards;}
  @keyframes riseIn{from{transform:scaleY(.2);opacity:0}to{transform:scaleY(1);opacity:1}}
}

/* pasek marek */
.brands{background:var(--paper);border-block:1px solid var(--line);}
.brands-inner{display:flex;flex-wrap:wrap;gap:1.4rem 2.5rem;align-items:center;
  justify-content:space-between;padding-block:1.7rem;}
.brands-label{font-size:.88rem;color:var(--muted);font-weight:500;}
.brands-list{display:flex;flex-wrap:wrap;gap:2rem;}
.brands-list span{font-size:1rem;font-weight:600;color:var(--faint);letter-spacing:-.01em;}

/* desktop: druga kopia listy marek sluzy tylko animacji na mobile */
.brands-marquee{display:flex;}
.brands-list[aria-hidden]{display:none;}

/* mobile: producenci jako pas jadacy w kolko od prawej do lewej */
@media (max-width:760px){
  .brands-inner{display:block;padding-block:1.4rem;}
  .brands-label{margin-bottom:.9rem;}
  .brands-track{position:relative;margin-inline:calc(var(--gut) * -1);overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 1.8rem,#000 calc(100% - 1.8rem),transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 1.8rem,#000 calc(100% - 1.8rem),transparent 100%);}
  .brands-marquee{width:max-content;gap:.6rem;
    animation:brands-jazda 26s linear infinite;}
  .brands-list{flex-wrap:nowrap;gap:.6rem;}
  .brands-list[aria-hidden]{display:flex;}
  .brands-list span{flex:none;
    background:var(--white);border:1px solid var(--line-strong);border-radius:999px;
    padding:.55rem 1.1rem;color:var(--graphite);white-space:nowrap;}
}

/* przesuniecie o dokladnie jedna kopie listy - petla jest niewidoczna */
@keyframes brands-jazda{
  from{transform:translateX(0);}
  to{transform:translateX(calc(-50% - .3rem));}
}

@media (prefers-reduced-motion:reduce){
  .brands-marquee{animation:none;}
  @media (max-width:760px){
    .brands-track{overflow-x:auto;scrollbar-width:none;}
    .brands-track::-webkit-scrollbar{display:none;}
  }
}

/* ==========================================================================
   Os czasu statusu projektu (#etap)
   ========================================================================== */
.tl{--tl-gap:clamp(1.4rem,3vw,2.4rem);--tl-dot:18px;
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--tl-gap);}
.tl-item{position:relative;padding-top:2.9rem;}

/* odcinek toru nalezacy do danego etapu - siega az pod kolejna kropke */
.tl-item::before{content:"";position:absolute;top:calc(var(--tl-dot) / 2 - 1px);
  left:calc(var(--tl-dot) / 2);right:calc(var(--tl-gap) * -1 - var(--tl-dot) / 2);height:2px;
  background:repeating-linear-gradient(90deg,var(--line-strong) 0 5px,transparent 5px 11px);}
/* etap biezacy i wczesniejsze: tor ciagly */
.tl-item.is-now::before{background:var(--heat);}
/* ostatni etap nie ma dokad prowadzic - odcinek wygasza sie */
.tl-item:last-child::before{right:0;
  -webkit-mask-image:linear-gradient(90deg,#000 0,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0,transparent 100%);}

.tl-dot{position:absolute;top:0;left:0;z-index:1;
  width:var(--tl-dot);height:var(--tl-dot);border-radius:50%;
  background:var(--canvas);border:2px solid var(--line-strong);}
.tl-item.is-now .tl-dot{background:var(--heat);border-color:transparent;
  box-shadow:0 0 0 4px var(--flame-soft);}
/* pulsujaca obwodka wskazuje etap, na ktorym jestesmy dzisiaj */
.tl-item.is-now .tl-dot::after{content:"";position:absolute;inset:-2px;border-radius:50%;
  border:2px solid var(--flame);animation:tl-puls 2.2s ease-out infinite;}
@keyframes tl-puls{
  0%{transform:scale(1);opacity:.7;}
  70%{transform:scale(2.4);opacity:0;}
  100%{transform:scale(2.4);opacity:0;}
}

.tl-when{display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--faint);margin-bottom:.5rem;}
.tl-item.is-now .tl-when{background:var(--heat-text);-webkit-background-clip:text;
  background-clip:text;-webkit-text-fill-color:transparent;color:var(--flame-ink);font-weight:600;}
.tl-item h3{font-size:1.28rem;letter-spacing:-.02em;margin-bottom:.5rem;}
.tl-item p{color:var(--muted);line-height:1.6;font-size:.97rem;}

/* mobile: os obraca sie do pionu, tresc ustawia sie obok kropek */
@media (max-width:760px){
  .tl{grid-template-columns:1fr;gap:0;}
  .tl-item{padding:0 0 var(--tl-gap) calc(var(--tl-dot) + 1.1rem);}
  .tl-item:last-child{padding-bottom:0;}
  .tl-item::before{top:var(--tl-dot);bottom:0;left:calc(var(--tl-dot) / 2 - 1px);
    right:auto;width:2px;height:auto;
    background:repeating-linear-gradient(180deg,var(--line-strong) 0 5px,transparent 5px 11px);}
  .tl-item.is-now::before{background:var(--heat);}
  .tl-item:last-child::before{bottom:auto;height:1.8rem;
    -webkit-mask-image:linear-gradient(180deg,#000 0,transparent 100%);
    mask-image:linear-gradient(180deg,#000 0,transparent 100%);}
  .tl-when{margin-bottom:.35rem;}
  .tl-item h3{font-size:1.18rem;}
}

@media (prefers-reduced-motion:reduce){
  .tl-item.is-now .tl-dot::after{animation:none;opacity:.5;}
}

/* ciemna karta porownania doby */
.compare{background:var(--ink);border-radius:24px;padding:clamp(1.6rem,3.4vw,2.5rem);color:var(--canvas);}
.compare-head{display:flex;flex-wrap:wrap;gap:1.4rem;align-items:flex-end;
  justify-content:space-between;margin-bottom:2rem;}
.compare-head b{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:#fff;display:block;}
.compare-head small{font-size:.92rem;color:#9C9287;margin-top:.35rem;display:block;}
.compare-key{display:flex;gap:1.6rem;flex-wrap:wrap;}
.compare-key i{display:flex;align-items:center;gap:.55rem;font-size:.86rem;color:#C9C0B4;font-style:normal;}
.compare-key .sw{width:12px;height:12px;border-radius:3px;display:block;}
.cbars{display:flex;align-items:flex-end;gap:4px;height:200px;}
.cbars .h{flex:1;height:100%;display:flex;align-items:flex-end;gap:2px;}
.cbars .base{flex:1;background:#5C5348;border-radius:3px 3px 0 0;}
.cbars .smart{flex:1;background:var(--flame);border-radius:3px 3px 0 0;}
.cbars-axis{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.68rem;
  color:#7A7166;margin-top:.6rem;}
/* wykres doby przewijany w poziomie - na waskim ekranie 24 godziny sie nie mieszcza */
.cbars-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
  padding-bottom:1.6rem;border-bottom:1px solid #2A2620;scrollbar-width:thin;
  scrollbar-color:#3A342C transparent;}
.cbars-scroll::-webkit-scrollbar{height:6px;}
.cbars-scroll::-webkit-scrollbar-track{background:transparent;}
.cbars-scroll::-webkit-scrollbar-thumb{background:#3A342C;border-radius:3px;}
.cbars-scroll:focus-visible{outline:2px solid var(--flame);outline-offset:4px;border-radius:6px;}
.cbars-canvas{min-width:100%;}
.cbars-hint{display:none;font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;
  color:#7A7166;margin-top:.7rem;}

/* legenda pod wykresem, nie w naglowku */
.compare .compare-key{margin-top:1.5rem;}

/* klikalna legenda: wylaczanie serii na wykresie doby */
.key-btn{display:flex;align-items:center;gap:.55rem;font:inherit;font-size:.86rem;
  color:#C9C0B4;background:none;border:0;padding:.25rem .1rem;cursor:pointer;
  border-bottom:1px solid transparent;transition:color .18s,opacity .18s;}
.key-btn:hover{color:#fff;border-bottom-color:#3A342C;}
.key-btn:focus-visible{outline:2px solid var(--flame);outline-offset:3px;border-radius:4px;}
.key-btn[aria-pressed="false"]{color:#6E665C;}
.key-btn[aria-pressed="false"] .sw{opacity:.3;}
.key-hint{font-size:.78rem;color:#7A7166;margin-top:.7rem;}

/* wygaszona seria znika, druga rozciaga sie na cala szerokosc godziny */
.compare.off-base .cbars .base,
.compare.off-smart .cbars .smart{display:none;}
.cbars .base,.cbars .smart{transform-origin:bottom;transition:opacity .18s,transform .45s cubic-bezier(.2,.7,.2,1);}

/* tabela porownawcza w ciemnej karcie */
.ctable-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:1.8rem;}
.ctable{width:100%;border-collapse:collapse;font-size:.93rem;min-width:520px;}
.ctable caption{text-align:left;font-size:.82rem;color:#7A7166;line-height:1.5;
  margin-bottom:.9rem;caption-side:top;}
.ctable th,.ctable td{padding:.85rem 1rem;text-align:right;border-bottom:1px solid #2A2620;}
.ctable thead th{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;
  text-transform:uppercase;color:#7A7166;font-weight:500;border-bottom-color:#3A342C;}
.ctable tbody th{text-align:left;font-weight:500;color:#C9C0B4;font-size:.93rem;}
.ctable td{color:#fff;font-family:var(--mono);font-variant-numeric:tabular-nums;}
.ctable td small{display:block;font-size:.72rem;color:#7A7166;margin-top:.2rem;}
.ctable tbody tr:last-child th,.ctable tbody tr:last-child td{border-bottom:0;}
.ctable tr.hi{background:rgba(240,138,37,.09);}
.ctable tr.hi th,.ctable tr.hi td{color:#fff;font-weight:700;}
.ctable .win{color:var(--flame);font-weight:700;}
.ctable .neutral{color:#7A7166;}

.cstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2rem;margin-top:1.8rem;}
.cstats>div>b{font-family:var(--mono);font-size:2rem;font-weight:700;letter-spacing:-.03em;
  color:var(--flame);display:block;line-height:1;}
.cstats span b{font:inherit;font-weight:700;color:#fff;display:inline;}
.cstats span{font-size:.92rem;color:#C9C0B4;margin-top:.45rem;display:block;line-height:1.45;}
/* przypis metodologiczny - domyslnie zwiniety, zeby nie przytlaczal wykresu */
.compare-note{margin-top:1.6rem;border-top:1px solid #2A2620;padding-top:1.1rem;}
.compare-note>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:.5rem;
  font-size:.82rem;font-weight:600;color:#C9C0B4;transition:color .15s;}
.compare-note>summary::-webkit-details-marker{display:none;}
.compare-note>summary:hover{color:#fff;}
.compare-note>summary:focus-visible{outline:2px solid var(--flame);outline-offset:3px;border-radius:4px;}
.cn-plus{position:relative;width:13px;height:13px;flex:none;}
.cn-plus::before,.cn-plus::after{content:"";position:absolute;inset:50% 0 auto 0;height:1.5px;
  background:var(--flame);transition:transform .22s ease;}
.cn-plus::after{transform:rotate(90deg);}
.compare-note[open] .cn-plus::after{transform:rotate(0);}
.compare-note>p{font-size:.78rem;color:#7A7166;line-height:1.55;margin-top:.9rem;}

/* pasy drogich godzin na wykresie porownania */
.cbars .h{position:relative;padding-inline:1px;border-radius:4px 4px 0 0;}
.cbars .h.peak{background:rgba(224,83,58,.12);box-shadow:inset 0 0 0 1px rgba(224,83,58,.3);
  border-radius:3px;animation:peak-alert 2.4s ease-in-out infinite;}
/* godziny, w ktorych pompa nie powinna grzac - pulsuja jak ostrzezenie */
@keyframes peak-alert{
  0%,100%{background-color:rgba(224,83,58,.10);box-shadow:inset 0 0 0 1px rgba(224,83,58,.22);}
  50%{background-color:rgba(224,83,58,.26);box-shadow:inset 0 0 0 1px rgba(224,83,58,.55);}
}
@media (prefers-reduced-motion:reduce){
  .cbars .h.peak{animation:none;background:rgba(224,83,58,.18);}
}
.compare-key .sw.band{background:rgba(224,83,58,.22);box-shadow:inset 0 0 0 1px rgba(224,83,58,.55);}

/* symulacja doby krok po kroku - klase .sim i data-krok ustawia skrypt w index.html; bez JS widac cala plansze */
.cbars-canvas{transition:filter .5s ease;}
.compare.sim[data-krok="0"] .cbars-canvas{filter:blur(6px);}
/* krok 1: same drogie godziny, krok 2: dochodza slupki "bez sterowania", krok 3: "ze sterowaniem" */
.compare.sim[data-krok="1"] .cbars .base,
.compare.sim[data-krok="1"] .cbars .smart,
.compare.sim[data-krok="2"] .cbars .smart{transform:scaleY(0);}
/* ramka z komunikatem i przyciskami nad wykresem */
.sim-step:not([hidden]){display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
  gap:1rem 1.6rem;margin:0 0 1.75rem;padding:1.1rem 1.25rem 1.1rem 1.4rem;
  border:1px solid rgba(240,138,37,.35);border-radius:16px;background:rgba(240,138,37,.07);}
.sim-msg{margin:0;max-width:62ch;line-height:1.45;}
.sim-msg b{display:block;font-size:1.05rem;font-weight:600;color:#fff;}
.sim-msg span{display:block;font-size:.93rem;color:#C9C0B4;margin-top:.3rem;}
.sim-msg span:empty{display:none;}
.sim-msg.sim-msg-in{animation:sim-in .35s ease both;}
/* na koncu ramka zostaje z opisem wykresu - zwykla czcionka, zeby nie przytlaczala tabeli */
.compare.sim[data-krok="4"] .sim-msg b{font-size:.95rem;font-weight:400;line-height:1.6;color:#C9C0B4;}
.sim-akcje{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem .9rem;flex:none;}
/* .btn ustawia display, wiec schowany przycisk trzeba ukryc jawnie */
.sim-akcje [hidden]{display:none;}
/* glowny przycisk w ramce lekko pulsuje przez caly czas */
.sim-next{animation:sim-puls 2.2s ease-out infinite;}
@keyframes sim-puls{
  0%{box-shadow:0 10px 24px -8px rgba(194,102,10,.5),0 0 0 0 rgba(240,138,37,.5);}
  70%,100%{box-shadow:0 10px 24px -8px rgba(194,102,10,.5),0 0 0 12px rgba(240,138,37,0);}
}
/* powrot do poprzedniego kroku - delikatny, zeby nie konkurowal z glownym przyciskiem */
.sim-wstecz{font:inherit;font-size:.86rem;font-weight:500;color:#9C9287;background:none;
  border:1px solid #3A342C;border-radius:999px;padding:.62em 1.1em;cursor:pointer;
  transition:color .18s,border-color .18s;}
.sim-wstecz:hover{color:#fff;border-color:#7A7166;}
.sim-wstecz:focus-visible{outline:2px solid var(--flame);outline-offset:3px;}
/* legenda dochodzi razem z elementami wykresu: pasy (krok 1), "bez sterowania" (2), "ze sterowaniem" (3) */
.compare.sim[data-krok="0"] .compare-key,
.compare.sim[data-krok="1"] .compare-key [data-serie],
.compare.sim[data-krok="2"] .compare-key [data-serie="smart"]{display:none;}
.compare.sim:not([data-krok="4"]) .key-btn{cursor:default;}
/* tabela od kroku 2, kolumny wypelniaja sie po kolei; puste komorki maja szary znacznik */
.compare.sim[data-krok="0"] .ctable-scroll,
.compare.sim[data-krok="1"] .ctable-scroll{display:none;}
.ctable td,.ctable td small{transition:color .4s ease;}
.compare.sim[data-krok="2"] .ctable td:nth-of-type(n+2),
.compare.sim[data-krok="3"] .ctable td:nth-of-type(3){color:transparent;
  background:linear-gradient(#2A2620,#2A2620) no-repeat right 1rem center/3rem .45rem;}
.compare.sim[data-krok="2"] .ctable td:nth-of-type(n+2) small,
.compare.sim[data-krok="3"] .ctable td:nth-of-type(3) small{color:transparent;}
.ctable-scroll{scroll-margin-top:6rem;}
.ctable-scroll:focus{outline:none;}
/* podsumowanie, podpowiedz do legendy i przypis dopiero po ostatnim kroku */
.compare.sim:not([data-krok="4"]) :is(.key-hint,.cstats,.compare-note){display:none;}
.compare.sim :is(.compare-key>*,.ctable-scroll,.key-hint,.compare-note){animation:sim-in .5s ease both;}
/* podsumowanie: liczby wchodza powoli jedna po drugiej, gdy plansza do nich dojedzie (klase dodaje skrypt) */
.compare.sim .cstats>div{opacity:0;transform:translateY(16px);transition:opacity .9s ease,transform .9s ease;}
.compare.sim .cstats.is-widoczne>div{opacity:1;transform:none;}
.compare.sim .cstats.is-widoczne>div:nth-child(2){transition-delay:.45s;}
.compare.sim .cstats.is-widoczne>div:nth-child(3){transition-delay:.9s;}
@media (prefers-reduced-motion:reduce){
  .compare.sim .cstats>div{opacity:1;transform:none;transition:none;}
}
@keyframes sim-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* siatka krokow z projektu */
/* ============ ZJAZD DLA INNEJ GRUPY (#nie-masz-pompy) ============
   Ciemny pas odcina sciezke "mam pompe" od oferty dla osob bez pompy.
   Wczesniej ta sekcja miala to samo tlo co formularz i zlewala sie z nim. */
.detour{background:var(--ink);color:var(--canvas);
  padding-block:clamp(3.2rem,6vw,4.6rem);
  border-block:1px solid #2A2620;}
.detour .sec-head{margin-bottom:0;}
.detour .eyebrow{background:none;-webkit-text-fill-color:currentColor;color:var(--flame);}
.detour h2{color:#fff;}
.detour .lead{color:#C9C0B4;}
.detour .hero-actions{margin-top:1.8rem;}

/* ============ DOKUMENTY TEKSTOWE (polityka prywatnosci) ============ */
.doc{max-width:780px;}
.doc h2{font-size:clamp(1.25rem,2.2vw,1.55rem);letter-spacing:-.02em;line-height:1.25;
  margin:2.6rem 0 .9rem;padding-top:1.6rem;border-top:1px solid var(--line);}
.doc h3{font-size:1.08rem;font-weight:700;letter-spacing:-.015em;margin:1.6rem 0 .6rem;}
.doc p{color:var(--graphite);line-height:1.7;margin-bottom:.9rem;}
.doc ul{margin:0 0 1.2rem;padding-left:1.2rem;}
.doc li{color:var(--graphite);line-height:1.7;margin-bottom:.35rem;}
.doc a{color:var(--flame-ink);text-decoration:underline;}
.doc b{color:var(--ink);}
.doc .answer{margin:1.2rem 0 1.6rem;}
.doc .answer p{color:var(--ink);margin-bottom:0;}
.doc .table-scroll{margin-bottom:1.4rem;}
.doc .datatable small{display:block;color:var(--muted);font-size:.8rem;margin-top:.2rem;}
.doc-meta{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;color:var(--faint);}
.doc h2:first-of-type{border-top:0;padding-top:0;}

/* ============ SCIEZKA UZYTKOWNIKA (#jak) ============ */
.flow{--flow-gap:clamp(1.6rem,3vw,2.4rem);
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:var(--flow-gap);}
.flow-step{position:relative;
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:2.1rem 1.5rem 1.6rem;
  transition:transform .2s ease,box-shadow .25s ease,border-color .2s;}
.flow-step:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:var(--line-strong);}

/* strzalka prowadzaca do kolejnego kroku, rysowana w odstepie miedzy kartami */
.flow-step:not(:last-child)::after{content:"→";position:absolute;top:50%;
  right:calc(var(--flow-gap) / -1);width:var(--flow-gap);
  transform:translateY(-50%);text-align:center;
  font-size:1.05rem;line-height:1;color:var(--line-strong);pointer-events:none;}

.flow-badge{position:absolute;top:-13px;left:1.5rem;
  width:26px;height:26px;border-radius:50%;
  display:grid;place-content:center;
  font-family:var(--mono);font-size:.78rem;font-weight:700;
  color:var(--white);background:var(--ink);}
.flow-step h3{font-size:1.15rem;font-weight:700;letter-spacing:-.015em;
  margin-bottom:.55rem;line-height:1.25;}
.flow-step p{font-size:.94rem;line-height:1.6;color:var(--muted);}

/* ostatni krok to nagroda - dlatego wyglada inaczej niz droga do niej */
.flow-step.is-goal{background:var(--heat);border-color:transparent;
  box-shadow:0 18px 40px -24px rgba(221,119,20,.75);}
.flow-step.is-goal .flow-badge{background:var(--ink);}
.flow-step.is-goal h3{color:#fff;}
.flow-step.is-goal p{color:rgba(255,255,255,.92);}

.flow-note{max-width:760px;margin:2.2rem auto 0;text-align:center;
  font-size:.88rem;line-height:1.6;color:var(--muted);}

@media (max-width:980px){
  .flow{grid-template-columns:repeat(2,1fr);}
  /* przy dwoch kolumnach strzalka w prawo ma sens tylko wewnatrz wiersza */
  .flow-step:nth-child(2)::after{display:none;}
}
@media (max-width:620px){
  .flow{grid-template-columns:1fr;}
  .flow-step:not(:last-child)::after{content:"↓";top:auto;right:auto;
    bottom:calc(var(--flow-gap) / -1);left:50%;height:var(--flow-gap);width:auto;
    transform:translateX(-50%);display:grid;place-content:center;}
  .flow-step:nth-child(2)::after{display:grid;}
}

@media (max-width:860px){
  .bars{height:150px;} .cbars{height:150px;}
}

/* dwukolumnowy uklad tresc + mechanika */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4.5vw,4rem);align-items:start;}
.two-col .lead+.lead{margin-top:1rem;}
.two-col h2{font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.08;letter-spacing:-.03em;
  margin:.9rem 0 1.1rem;}
.mechanics{display:grid;gap:1.1rem;}
.mech{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.4rem 1.5rem;display:flex;gap:1.2rem;align-items:flex-start;}
.mech .no{font-family:var(--mono);font-size:.82rem;font-weight:700;color:var(--flame-ink);
  padding-top:.2rem;flex:none;}
.mech b{font-size:1.05rem;font-weight:600;letter-spacing:-.01em;display:block;margin-bottom:.35rem;color:var(--ink);}
.mech p{font-size:.94rem;line-height:1.55;color:var(--muted);}
@media (max-width:860px){.two-col{grid-template-columns:1fr;}}

/* ============ FOOTER ============ */
footer{background:var(--ink);color:#9b9ba2;padding-block:clamp(2.4rem,5vw,3.4rem) 1.7rem;}
.foot-inner{display:flex;justify-content:space-between;align-items:center;gap:1.2rem 2rem;flex-wrap:wrap;
  padding-bottom:1.6rem;border-bottom:1px solid #2a2a31;}
.foot-inner .logo{color:#fff;}
.foot-links{display:flex;gap:1.6rem;flex-wrap:wrap;}
.foot-links a{color:#9b9ba2;font-size:.9rem;transition:color .15s;}
.foot-links a:hover{color:#fff;}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.7rem;
  margin-top:1.5rem;font-size:.82rem;color:#73737b;}
.foot-bottom a{color:#73737b;transition:color .15s;}
.foot-bottom a:hover{color:#fff;}

/* ============ REVEAL ============ */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}

/* ============ RESPONSIVE ============ */
@media(max-width:980px){
  .benefits{grid-template-columns:repeat(2,1fr);}
  .factors{grid-template-columns:1fr;}
  .grants{grid-template-columns:1fr;}
  .paths{grid-template-columns:1fr;}
  .waitlist{grid-template-columns:1fr;}
  .cta-grid{grid-template-columns:1fr;}
}
@media(max-width:760px){
  .nav-links,.nav-phone,.nav-cta .btn-heat{display:none;}
  .burger{display:flex;}
  .nav-links.open{display:flex;position:absolute;top:70px;left:0;right:0;flex-direction:column;
    background:#fff;border-bottom:1px solid var(--line);padding:1.2rem var(--gut);gap:1.1rem;align-items:flex-start;}
  .nav-links.open .nav-menu-cta{display:block;width:100%;margin-top:.4rem;}
  .nav-links.open .nav-menu-cta .btn-heat{width:100%;justify-content:center;}
  .steps{grid-template-columns:1fr;}
  .trust-sep{display:none;}
  .trust-inner{flex-direction:column;flex-wrap:nowrap;gap:0;padding-block:0;}
  .trust-item{flex-direction:column;align-items:center;text-align:center;gap:.5rem;
    width:100%;padding-block:2.2rem;border-top:1px solid var(--line);}
  .trust-item:first-child{border-top:0;}
  .trust-item b{font-size:1.9rem;}
  .trust-item span{font-size:1rem;}
  .waitlist .btn{width:100%;justify-content:center;white-space:normal;}
  .hero-actions{width:100%;}
  .hero-actions .btn{width:100%;justify-content:center;}
  .path .btn,.grant .btn{width:100%;justify-content:center;}
}
@media(max-width:520px){
  .benefits{grid-template-columns:1fr;}
}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto!important;}
  .reveal{opacity:1;transform:none;}
}

/* ==========================================================================
   Zlecenia dla ekip (landing rekrutacyjny) - /zlecenia-dla-ekip/
   ========================================================================== */
/* hero landingu ze zleceniami: jedna wysrodkowana kolumna, bez kolumny bocznej */
.pp-hero .hero-grid{grid-template-columns:1fr;max-width:860px;margin-inline:auto;text-align:center;}
.pp-hero .hero-actions{justify-content:center;}
.pp-hero .pp-ticks{width:max-content;max-width:100%;margin-inline:auto;text-align:left;}

/* druga mysl naglowka idzie do osobnego wiersza, takze na mobile */
.pp-hero h1{font-size:clamp(1.95rem,5vw,3.6rem);line-height:1.04;text-wrap:balance;}
.pp-hero h1 em{display:block;margin-top:.15em;}
.pp-hero .hero-sub{max-width:44rem;margin-inline:auto;text-wrap:pretty;}
@media (max-width:640px){
  .pp-hero .hero-grid{text-align:left;}
  .pp-hero h1{font-size:clamp(1.8rem,8.2vw,2.4rem);}
  .pp-hero .hero-actions{justify-content:stretch;flex-direction:column;}
  .pp-hero .hero-actions .btn{width:100%;justify-content:center;}
  .pp-hero .pp-ticks{width:100%;}
}

/* sekcja "Kogo szukamy" - wyrazniej odcieta od hero i od reszty */
#segmenty{border-top:1px solid var(--line);}
#segmenty .pp-seg-card{box-shadow:var(--shadow-sm);}

.pp-ticks{list-style:none;padding:0;margin:1.9rem 0 0;display:flex;flex-direction:column;gap:.55rem;}
.pp-ticks li{display:flex;align-items:flex-start;gap:.6rem;color:var(--graphite);font-size:.95rem;line-height:1.45;}
.pp-ticks li::before{content:"✓";color:var(--flame-ink);font-weight:700;flex:none;line-height:1.45;}

#jak .steps{grid-template-columns:repeat(4,1fr);}

.pp-seg{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;}
.pp-seg-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;
  text-align:left;font:inherit;color:inherit;cursor:pointer;
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.8rem 1.6rem 1.5rem;transition:transform .2s ease,box-shadow .25s ease,border-color .2s;}
.pp-seg-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:var(--flame);}
.pp-seg-card:focus-visible{outline:2px solid var(--flame-ink);outline-offset:3px;}
.pp-seg-card h3{font-family:var(--display);font-size:1.28rem;font-weight:700;letter-spacing:-.02em;line-height:1.25;}
.pp-seg-hak{color:var(--ink);font-weight:500;line-height:1.5;}
.pp-seg-cta{margin-top:auto;display:inline-flex;align-items:center;gap:.5em;
  padding:.72em 1.35em;border-radius:999px;
  background:var(--heat);color:var(--ink);font-weight:600;font-size:.92rem;line-height:1;
  box-shadow:0 8px 20px -8px rgba(194,102,10,.5);
  transition:transform .18s ease,box-shadow .25s ease;}
.pp-seg-card:hover .pp-seg-cta{transform:translateY(-2px);box-shadow:0 14px 28px -10px rgba(194,102,10,.6);}
.pp-seg-card:hover .pp-seg-cta .btn-arrow{transform:translateX(3px);}

.pp-fieldset{border:0;padding:0;margin-bottom:1rem;
  /* fieldset ma domyslnie min-inline-size:min-content i rozpycha formularz */
  min-width:0;}
.pp-fieldset legend{display:block;color:var(--graphite);margin-bottom:.5rem;font-weight:500;font-size:.9rem;}
.pp-checks{display:flex;flex-direction:column;gap:.6rem;}
.pp-checks .chk{font-size:.92rem;align-items:flex-start;line-height:1.35;}
.pp-checks .chk input[type=checkbox]{margin-top:.1rem;}
.pp-opt{color:var(--faint);font-weight:400;}

@media (max-width:560px){
  .form{padding:1.4rem 1.2rem;border-radius:18px;}
  .form h3{font-size:1.25rem;}
  .pp-checks{gap:.75rem;}
  .pp-checks .chk{font-size:.95rem;}
  .pp-checks .chk input[type=checkbox]{width:20px;height:20px;margin-top:0;}
  .consent-details{margin-left:1.35rem;}
  /* dolny przyklejony CTA nie moze zaslaniac konca formularza */
  #zglos{padding-bottom:5.5rem;}
}

.sticky-cta,
.pp-sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;
  padding:.7rem var(--gut) calc(.7rem + env(safe-area-inset-bottom));
  background:rgba(251,247,240,.92);backdrop-filter:blur(8px);border-top:1px solid var(--line);}
.sticky-cta .btn,
.pp-sticky .btn{width:100%;justify-content:center;}

@media(max-width:900px){
  #jak .steps{grid-template-columns:repeat(2,1fr);}
  .pp-seg{grid-template-columns:1fr;}
}
@media(max-width:640px){
  #jak .steps{grid-template-columns:1fr;}
  .sticky-cta:not([hidden]),
  .pp-sticky:not([hidden]){display:block;}
}

/* mobile: wykres doby dostaje stala szerokosc i przewija sie palcem */
@media (max-width:760px){
  .cbars-canvas{min-width:620px;}
  .cbars-hint{display:block;}
  .compare .compare-key{gap:.9rem 1.4rem;}
  .ctable{min-width:460px;font-size:.88rem;}
  .ctable th,.ctable td{padding:.7rem .7rem;}
}
