*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --black: #000; --white: #fff; --orange: #FFA149; --blue: #CAE1F3;
  --gray-light: #F0EEE8; --gray-mid: #DDDBD4;
  --text-dark: #1A1A1A; --text-muted: #6B6B6B;
  --font-sans: 'DM Sans', sans-serif; --font-mono: 'IBM Plex Mono', monospace;
  --max-w: 1600px; --pad: 25px;
}
html { scroll-behavior: smooth; }
body { font-family: var(--font-sans); background: var(--blue); color: var(--text-dark); overflow-x: hidden; }
body::before { content:''; display:block; height:25px; background:var(--blue); }
.page-wrap { max-width: var(--max-w); margin: 0 auto; padding: 0 var(--pad); position: relative; }

/* NAV */
.nav-outer {
  position: fixed;
  top: 25px;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 50px);
  max-width: calc(1600px - 50px);
  z-index: 100;
  background: var(--black);
}
.nav-inner { display:flex; align-items:center; justify-content:space-between; padding:6px 24px; height:40px; }
.logo-link { display:flex; align-items:center; text-decoration:none; }
.nav-right { display:flex; align-items:center; gap:12px; }
.nav-cta {
  background:var(--orange); color:var(--black);
  font-family:var(--font-sans); font-size:0.55rem; font-weight:700;
  letter-spacing:0.08em; text-transform:uppercase;
  padding:5px 12px; text-decoration:none; display:inline-block;
  white-space:nowrap; line-height:1;
}
.nav-lang { display:flex; align-items:center; justify-content:center; width:28px; height:28px; cursor:pointer; opacity:0.7; transition:opacity 0.2s; }
.nav-lang:hover { opacity:1; }
.nav-lang svg { display:block; }

/* HERO */
.hero-outer { background:var(--black); padding-top:calc(40px + 25px); overflow:hidden; }
.hero-inner { display:flex; align-items:stretch; height:895px; max-height:895px; }
.hero-left { flex:1; padding:48px 24px 64px; display:flex; flex-direction:column; justify-content:space-between; }
.hero-stat { display:flex; align-items:baseline; gap:20px; padding:5px 0; border-bottom:1px solid rgba(255,255,255,0.12); }
.hero-stat:first-child { border-top:1px solid rgba(255,255,255,0.12); }
.hero-stat-num { font-family:var(--font-mono); font-size:18px; color:var(--white); font-weight:500; min-width:50px; }
.hero-stat-label { font-family:var(--font-mono); font-size:11px; color:rgba(255,255,255,0.38); letter-spacing:0.05em; }
.hero-headline { font-size:clamp(34px,4vw,52px); letter-spacing:-0.025em; font-weight:400; color:var(--white); line-height:1.05; }
.hero-sub { font-family:var(--font-mono); font-size:13px; color:var(--white); line-height:1.5; max-width:380px; }
.btn-primary { display:inline-block; background:var(--orange); color:var(--black); font-size:0.6rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:8px 20px; text-decoration:none; align-self:flex-start; }
.hero-text-block { display:flex; flex-direction:column; gap:20px; }
.hero-right { flex:1; overflow:hidden; position:relative; display:flex; align-items:center; max-height:895px; padding-right: 10px; }
.ticker-art { position:relative; display:flex; align-items:center; overflow:hidden; width:100%; height:100%; }
.ticker-track { display:flex; align-items:center; gap:5px; flex-shrink:0; animation:tickRight 30s linear infinite; will-change:transform; }
@keyframes tickRight { from{transform:translateX(calc(-100% / 3));} to{transform:translateX(0);} }
.tbar { display:inline-block; flex-shrink:0; }
.tbar.bl { background:var(--blue); }
.tbar.or { background:var(--orange); }

/* WHY SECTION */
.why-section { background:var(--white); border-top:1px solid var(--gray-mid); }
.why-top { display:grid; grid-template-columns:1fr 1fr; }
.why-top-left { padding:48px 25px; border-right:1px solid var(--gray-mid); border-bottom:1px solid var(--gray-mid); }
.why-top-right { padding:48px 25px; border-bottom:1px solid var(--gray-mid); }
.why-title { font-size:clamp(24px,2.4vw,32px); font-weight:400; line-height:1.15; letter-spacing:-0.015em; }
.why-cols { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--gray-mid); }
.why-col { padding:24px 25px 32px; font-size:13px; line-height:1.65; color:var(--text-muted); font-weight:300; font-family:var(--font-mono); }
.why-col+.why-col { border-left:1px solid var(--gray-mid); }
.why-bottom { padding:28px 25px; font-size:15px; color:var(--text-dark); }

/* SIT SECTION */
.sit-section { background:var(--blue); }
.sit-top { padding:48px 25px 40px; border-bottom:1px solid rgba(0,0,0,0.12); }
.sit-title { font-size:clamp(16px,1.6vw,20px); font-weight:400; line-height:1.3; letter-spacing:-0.005em; max-width:45%; }
.sit-grid { display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid rgba(0,0,0,0.12); }
.sit-item { padding:28px 25px 36px; }
.sit-item+.sit-item { border-left:1px solid rgba(0,0,0,0.12); }
.sit-item p { font-size:13px; line-height:1.7; font-weight:300; font-family:var(--font-mono); }

/* REVEAL */
.reveal-section { background:var(--black); overflow:hidden; position:relative; }
.reveal-layout { display:flex; flex-direction:column; min-height:600px; }
.reveal-static { flex-shrink:0; display:flex; flex-direction:column; }
.reveal-middle { flex:1; position:relative; display:flex; align-items:center; justify-content:center; min-height:280px; }
.reveal-inner { position:relative; z-index:10; display:flex; flex-direction:column; align-items:center; text-align:center; padding:0 25px; gap:12px; pointer-events:none; }
.reveal-label { font-family:var(--font-mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.6); }
.reveal-text { font-family:var(--font-sans); font-size:clamp(22px,2.8vw,38px); font-weight:400; line-height:1.2; color:var(--white); max-width:800px; margin:0 auto; }
.reveal-cta { font-family:var(--font-mono); font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.5); text-decoration:none; pointer-events:all; }
.reveal-mid-bars { position:absolute; inset:0; display:flex; flex-direction:column; z-index:2; pointer-events:none; }
.rbar-row { display:flex; align-items:stretch; flex-shrink:0; }
.rbar-row.fixed { flex:none; }
.rbar-row.animated { transition:gap 1.1s cubic-bezier(0.16,1,0.3,1); }
.rbar-row.h14 { height:14px; }
.rb { flex:1; }
.rb.black{background:var(--black);} .rb.navy{background:var(--blue);} .rb.orange{background:var(--orange);}

/* SERVICES — CSS sticky najeżdżanie kart */
.srv-stack { background:var(--white); }
.srv-header {
  position:sticky; top:65px; z-index:40;
  background:var(--blue); border-top:0.5px solid #000; border-bottom:0.5px solid #000;
}
.srv-header-inner { max-width:var(--max-w); margin:0 auto; padding:24px 25px; }
.srv-header h2 { font-size:clamp(24px,2.4vw,32px); font-weight:400; color:var(--text-dark); line-height:1.15; margin:0; letter-spacing:-0.015em; }
.srv-card { position:sticky; background:var(--white); border-top:0.5px solid #000; }
.srv-card[data-card="1"] { top:calc(65px + 73px + 0px);   z-index:21; }
.srv-card[data-card="2"] { top:calc(65px + 73px + 60px);  z-index:22; }
.srv-card[data-card="3"] { top:calc(65px + 73px + 120px); z-index:23; }
.srv-card[data-card="4"] { top:calc(65px + 73px + 180px); z-index:24; }
.srv-card-inner { max-width:var(--max-w); margin:0 auto; border-left:0.5px solid #000; border-right:0.5px solid #000; border-bottom:0.5px solid #000; }
.srv-card-head { display:grid; grid-template-columns:24px 1fr; border-bottom:0.5px solid #000; min-height:60px; background:var(--white); }
.srv-marker-white {
  background: var(--white);
  border-right: 0.5px solid #000;
  width: 24px;
  transition: background 0.35s ease;
}
.srv-card.is-active .srv-marker-white {
  background: var(--orange);
}
.srv-card-title-row { display:flex; align-items:center; gap:20px; padding:16px 25px; }
.srv-card-num { font-family:var(--font-mono); font-size:11px; letter-spacing:0.1em; color:var(--text-muted); flex-shrink:0; }
.srv-card-title { font-size:clamp(16px,1.6vw,20px); font-weight:400; color:var(--text-dark); line-height:1.2; letter-spacing:-0.005em; }
.srv-card-body { display:grid; grid-template-columns:24px 1fr min(30%,220px) 24px; align-items:stretch; }
.srv-marker-blue {
  background: var(--blue);
  border-right: 0.5px solid #000;
  align-self: stretch;
  width: 24px;
  transition: background 0.35s ease;
}
.srv-card.is-active .srv-marker-blue {
  background: var(--orange);
}
.srv-card-text { padding:36px 25px; }
.srv-card-text p { font-size:13px; line-height:1.8; color:var(--text-muted); font-weight:300; font-family:var(--font-mono); max-width:460px; }
.srv-card-img { display:flex; align-items:flex-start; justify-content:center; padding:20px 12px 20px 0; overflow:hidden; }
.srv-marker-right {
  background: var(--white);
  border-left: 0.5px solid #000;
  align-self: stretch;
  width: 24px;
  transition: background 0.35s ease;
}
.srv-card.is-active .srv-marker-right {
  background: var(--orange);
}
.srv-card-img img { width:100%; height:auto; max-width:220px; max-height:180px; object-fit:contain; display:block; }
.srv-title-only { border-top:0.5px solid #000; }
.srv-title-only .srv-card-inner { max-width:var(--max-w); margin:0 auto; border-left:0.5px solid #000; border-right:0.5px solid #000; }
.srv-title-only .srv-card-head { border-bottom:none; }

/* WN2 */
.wn2-section { background:var(--white); border-top:1px solid var(--gray-mid); margin-top:40px; }
.wn2-title-row { padding:48px 25px 32px; border-bottom:1px solid var(--gray-mid); }
.wn2-title { font-size:clamp(24px,2.4vw,32px); font-weight:400; color:var(--text-dark); line-height:1.15; letter-spacing:-0.015em; }
.wn2-photo-wrap { position:relative; overflow:visible; line-height:0; border:1px solid var(--gray-mid); border-top:none; }
.wn2-photo { width:100%; height:640px; object-fit:cover; object-position:center 20%; display:block; }
.wn2-bubble { position:absolute; display:flex; flex-direction:column; gap:0; opacity:0; pointer-events:none;
  transition:opacity 0.7s cubic-bezier(0.16,1,0.3,1), transform 0.7s cubic-bezier(0.16,1,0.3,1); }
.wn2-bubble--right { right:8%; top:38%; align-items:flex-end; transform:translateX(60px); }
.wn2-bubble--left  { left:18%; top:58%; align-items:flex-start; transform:translateX(-60px); transition-delay:0.3s; }
.wn2-bubble.bubble-visible { opacity:1; transform:translateX(0); }
.wn2-bubble-label {
  font-family:var(--font-sans); font-size:11px; font-weight:700;
  color:var(--white); background:var(--black);
  padding:5px 12px 6px; letter-spacing:0.06em; text-transform:uppercase;
  position:relative; z-index:2; margin-bottom:-2px; width:fit-content;
}
.wn2-bubble--right .wn2-bubble-label { align-self:flex-end; }
.wn2-bubble--left  .wn2-bubble-label { align-self:flex-start; }
.wn2-bubble-text {
  font-family:var(--font-mono); font-size:13px; color:var(--black);
  background:var(--orange); padding:16px 20px; line-height:1.5; max-width:380px;
  position:relative; z-index:1;
}

/* HOW — CSS sticky najeżdżanie kroków */
.how-stack { background:var(--white); }
.how-header {
  position:sticky; top:65px; z-index:40;
  background:var(--blue); border-top:0.5px solid #000; border-bottom:0.5px solid #000;
}
.how-header-inner { max-width:var(--max-w); margin:0 auto; padding:24px 25px; }
.how-header h2 { font-size:clamp(24px,2.4vw,32px); font-weight:400; color:var(--text-dark); line-height:1.15; margin:0; letter-spacing:-0.015em; }
.how-card { position:sticky; background:var(--white); border-top:0.5px solid #000; }
.how-card[data-step="1"] { top:calc(65px + 73px + 0px);   z-index:21; }
.how-card[data-step="2"] { top:calc(65px + 73px + 60px);  z-index:22; }
.how-card[data-step="3"] { top:calc(65px + 73px + 120px); z-index:23; }
.how-card[data-step="4"] { top:calc(65px + 73px + 180px); z-index:24; }
.how-card-inner { max-width:var(--max-w); margin:0 auto; border-left:0.5px solid #000; border-right:0.5px solid #000; border-bottom:0.5px solid #000; }
.how-card-head { display:grid; grid-template-columns:8px 1fr; border-bottom:0.5px solid #000; min-height:60px; background:var(--white); }
.how-marker-white {
  background: var(--white);
  border-right: 0.5px solid #000;
  width: 24px;
  transition: background 0.35s ease;
}
.how-card.is-active .how-marker-white {
  background: var(--orange);
}
.how-card-title-row { display:flex; align-items:center; gap:20px; padding:16px 25px; }
.how-card-num { font-family:var(--font-mono); font-size:11px; letter-spacing:0.1em; color:var(--text-muted); flex-shrink:0; }
.how-card-title { font-size:clamp(16px,1.6vw,20px); font-weight:400; color:var(--text-dark); line-height:1.2; letter-spacing:-0.005em; }
.how-card-body { display:grid; grid-template-columns:24px 1fr 24px; }
.how-marker-right {
  background: var(--white);
  border-left: 0.5px solid #000;
  align-self: stretch;
  width: 24px;
  transition: background 0.35s ease;
}
.how-card.is-active .how-marker-right {
  background: var(--orange);
}
.how-marker-blue {
  background: var(--blue);
  border-right: 0.5px solid #000;
  align-self: stretch;
  width: 24px;
  transition: background 0.35s ease;
}
.how-card.is-active .how-marker-blue {
  background: var(--orange);
}
.how-card-content { padding:36px 25px 40px; display:flex; flex-direction:column; gap:28px; }
.how-card-content p { font-size:13px; line-height:1.8; color:var(--text-muted); font-weight:300; margin:0; font-family:var(--font-mono); max-width:460px; }

/* FAQ */
.faq-section { background:var(--white); }
.faq-header { background:var(--blue); border-top:0.5px solid #000; border-bottom:0.5px solid #000; padding:32px 25px; }
.faq-heading { font-family:var(--font-sans); font-size:clamp(24px,2.4vw,32px); letter-spacing:-0.015em; text-transform:none; color:var(--text-dark); font-weight:400; margin:0; }
.faq-grid { display:grid; grid-template-columns:1fr 1fr; border-left:0.5px solid #000; border-right:0.5px solid #000; max-width:var(--max-w); margin:0 auto; }
.faq-col { display:flex; flex-direction:column; position:relative; }
.faq-col:first-child { border-right:0.5px solid #000; }
/* pionowa linia od zewnątrz — lewa kolumna: 24px od lewej, prawa: 24px od prawej */
.faq-col:first-child::before {
  content:''; position:absolute; top:0; bottom:0;
  left:24px; width:0.5px; background:#000; pointer-events:none;
}
.faq-col:last-child::after {
  content:''; position:absolute; top:0; bottom:0;
  right:24px; width:0.5px; background:#000; pointer-events:none;
}
.faq-item { border-top:0.5px solid #000; padding:20px 25px; cursor:pointer; display:flex; flex-direction:column; }
/* 4px odstep od kreski w lewej kolumnie */
.faq-col:first-child .faq-item { padding-left:29px; }
/* 4px odstep miedzy tekstem a plusem/minusem w prawej kolumnie */
.faq-col:last-child .faq-item { padding-right:29px; }
.faq-item:last-child { border-bottom:0.5px solid #000; }
.faq-q { font-size:14px; font-weight:500; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.faq-icon { font-size:20px; font-weight:300; color:var(--text-muted); flex-shrink:0; line-height:1; }
.faq-a { font-size:13px; color:var(--text-muted); line-height:1.75; max-height:0; overflow:hidden; transition:max-height .35s ease, margin-top .35s ease; font-weight:300; font-family:var(--font-mono); }
.faq-item.open .faq-a { max-height:200px; margin-top:12px; }

/* TESTIMONIALS */
.tst-section { background:var(--blue); }
.tst-header { border-top:0.5px solid #000; border-bottom:0.5px solid #000; padding:48px 25px; }
.tst-title { font-size:clamp(24px,2.4vw,32px); font-weight:400; color:var(--text-dark); margin:0; letter-spacing:-0.015em; }
.tst-body { padding:40px 25px 0; }
.tst-slider-outer { overflow:hidden; position:relative; }
.tst-grid { display:flex; gap:12px; transition:transform 0.45s cubic-bezier(0.16,1,0.3,1); will-change:transform; }
.tst-card { background:transparent; border:1px solid rgba(0,0,0,0.2); padding:32px 28px; display:flex; flex-direction:column; min-height:260px; flex:0 0 calc((100% - 24px) / 3); box-sizing:border-box; }
.tst-text { font-family:var(--font-mono); font-size:13px; line-height:1.75; color:var(--text-dark); font-weight:400; flex:1; }
.tst-author { margin-top:28px; }
.tst-author-top { border-top:1px solid rgba(0,0,0,0.2); padding-top:14px; display:flex; justify-content:space-between; align-items:flex-end; }
.tst-name { font-family:var(--font-sans); font-size:13px; font-weight:600; color:var(--text-dark); margin-bottom:3px; }
.tst-role { font-family:var(--font-mono); font-size:10px; color:var(--text-muted); letter-spacing:0.04em; }
.tst-num { font-family:var(--font-mono); font-size:10px; color:var(--text-muted); letter-spacing:0.06em; flex-shrink:0; }
.tst-arrows { display:flex; gap:0; padding:20px 25px 40px; }
.tst-arrow { width:48px; height:48px; background:var(--orange); border:none; cursor:pointer; font-size:18px; display:flex; align-items:center; justify-content:center; color:var(--black); transition:background 0.15s; }
.tst-arrow:hover { background:#e8903a; }
.tst-arrow:disabled { opacity:0.35; cursor:default; }
.tst-arrow+.tst-arrow { border-left:1px solid rgba(0,0,0,0.15); }

/* FOOTER CTA */
.fcta { background:var(--black); padding:0; text-align:center; overflow:hidden; }
.fcta-graphic {
  display: flex;
  justify-content: center;
  padding-top: 80px;
  padding-bottom: 0;
}
.fcta-graphic svg {
  width: min(501px, 90%);
  height: auto;
  display: block;
}
.fcta-content { padding:48px 25px 100px; }
.fcta-title { font-size:clamp(24px,2.4vw,32px); font-weight:400; color:var(--white); line-height:1.15; margin-bottom:20px; letter-spacing:-0.015em; }
.fcta-sub { font-family:var(--font-mono); font-size:13px; color:var(--white); margin-bottom:40px; font-weight:400; line-height:1.7; max-width:520px; margin-left:auto; margin-right:auto; opacity:0.85; }

/* SITE FOOTER */
.site-footer { background:var(--blue); border:1px solid #000; border-bottom:none; font-family:var(--font-mono); }
.footer-contacts { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid #000; }
.footer-contact-cell { padding:32px 28px; font-size:clamp(16px,2vw,26px); color:var(--black); }
.footer-contact-cell+.footer-contact-cell { border-left:1px solid #000; }
.footer-brand-row { overflow:hidden; min-height:120px; display:flex; align-items:center; }
.footer-ticker-wrap { flex:1; overflow:hidden; padding:24px 0; }
.footer-ticker-track { display:flex; align-items:center; gap:60px; white-space:nowrap; animation:footerTickLeft 18s linear infinite; will-change:transform; }
@keyframes footerTickLeft { from{transform:translateX(0);} to{transform:translateX(-50%);} }
.footer-ticker-item {
  font-family: var(--font-sans);
  font-size: clamp(28px,4vw,56px);
  font-weight: 400;
  color: var(--black);
  letter-spacing: -0.02em;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;  /* wyśrodkuj WSZYSTKIE dzieci pionowo */
  gap: 6px;
  line-height: 1;       /* usuń dodatkowe miejsce od line-height */
}
.footer-logo-svg {
  display: block;       /* blok — bez baseline gap */
  height: 0.75em;       /* proporcjonalne do fonta */
  width: auto;
  fill: currentColor;
}
.footer-ticker-item strong { font-weight:700; }
.footer-clock-row { padding:12px 28px 20px; display:flex; flex-direction:column; gap:3px; border-top:1px solid #000; }
.footer-tz,.footer-time { font-size:11px; letter-spacing:0.08em; color:var(--black); }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; padding:14px 28px; border-top:1px solid #000; }
.footer-bottom span { font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--black); }

/* MODAL */
.modal-overlay {
  display: none;
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.65);
  z-index: 200;
  align-items: flex-start;
  justify-content: center;
  padding: 72px 80px 0;
}
.modal-overlay.open {
  display: flex;
}
.modal-box {
  background: var(--white);
  padding: 40px 44px 52px;
  max-width: 720px;
  width: 100%;
  position: relative;
}
.modal-close {
  position: absolute;
  top: 0; right: -52px;
  width: 52px; height: 52px;
  background: var(--orange);
  border: none; cursor: pointer;
  font-size: 22px; font-weight: 300;
  display: flex; align-items: center; justify-content: center;
  color: var(--black); line-height: 1;
  transition: background 0.15s;
}
.modal-close:hover { background: #e8903a; }
.modal-label {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin-bottom: 44px;
}
.modal-contact-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 4px;
}
.modal-contact-value {
  font-family: var(--font-sans);
  font-size: clamp(30px,3.4vw,52px);
  font-weight: 400;
  color: var(--text-dark);
  line-height: 1.15;
  text-decoration: none;
  transition: color 0.15s;
}
.modal-contact-value:hover { color: var(--orange); }
.modal-copy-wrap { position: relative; flex-shrink: 0; }
.modal-copy-btn {
  width: 44px; height: 44px;
  background: var(--orange);
  border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--black);
  transition: background 0.15s;
}
.modal-copy-btn:hover { background: #e8903a; }
.modal-copy-btn svg { width: 18px; height: 18px; display: block; }
.modal-copy-tooltip {
  position: absolute;
  bottom: calc(100% + 6px);
  right: 0;
  background: var(--black);
  color: var(--white);
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  padding: 4px 8px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
}
.modal-copy-wrap.copied .modal-copy-tooltip { opacity: 1; }


/* ═══════════════════════════════════════════════════
   TABLET — max-width: 1024px
═══════════════════════════════════════════════════ */
@media (max-width: 1024px) {

  /* NAV — dokładnie 25px od krawędzi, tak jak padding sekcji */
  .nav-outer { top: 25px; left: 25px; right: 25px; width: auto; transform: none; max-width: none; }
  body::before { height: 25px; }

  /* HERO — tekst na górze, animacja na dole */
  .hero-outer { padding-top: calc(40px + 25px); }
  .hero-inner { flex-direction: column; height: auto; max-height: none; }
  .hero-left {
    padding: 40px 25px 36px;
    flex: none;
    justify-content: flex-start;
    gap: 32px;
  }
  /* animacja — padding 25px z boków + 10px dół */
  .hero-right { height: 330px; overflow: hidden; padding: 0 25px 10px; width: 100%; flex: none; max-height: none; min-height: 280px; }
  .ticker-art { width: 100%; height: 320px; overflow: hidden; }
  .ticker-track { height: 320px; }

  /* WHY */
  .why-cols { grid-template-columns: repeat(2, 1fr); }
  .why-col:nth-child(3) { border-left: none; border-top: 1px solid var(--gray-mid); }
  .why-col:nth-child(4) { border-top: 1px solid var(--gray-mid); }

  /* SIT */
  .sit-title { max-width: 70%; }

  /* SERVICES sticky — mniejszy offset */
  .srv-header { top: 56px; }
  .srv-card[data-card="1"] { top: calc(56px + 65px + 0px); }
  .srv-card[data-card="2"] { top: calc(56px + 65px + 56px); }
  .srv-card[data-card="3"] { top: calc(56px + 65px + 112px); }
  .srv-card[data-card="4"] { top: calc(56px + 65px + 168px); }
  .srv-card-body { grid-template-columns: 24px 1fr 24px; }
  .srv-card-img { display: none; }

  /* HOW sticky */
  .how-header { top: 56px; }
  .how-card[data-step="1"] { top: calc(56px + 65px + 0px); }
  .how-card[data-step="2"] { top: calc(56px + 65px + 56px); }
  .how-card[data-step="3"] { top: calc(56px + 65px + 112px); }
  .how-card[data-step="4"] { top: calc(56px + 65px + 168px); }

  /* TESTIMONIALS — 2 karty */
  .tst-card { flex: 0 0 calc((100% - 12px) / 2); }

  /* REVEAL — usuń czarną przerwę na tablecie */
  .reveal-layout { min-height: auto; }
  .reveal-middle { min-height: 200px; }

  /* FOOTER */
  .footer-bottom { flex-wrap: wrap; gap: 8px; }
  .modal-overlay { padding: 72px 40px 0; }
  .modal-close { right: -44px; width: 44px; height: 44px; }
}

/* ═══════════════════════════════════════════════════
   MOBILE — max-width: 600px
═══════════════════════════════════════════════════ */
@media (max-width: 600px) {

  /* PAGE-WRAP — 10px padding zamiast 25px, to naprawia WSZYSTKIE sekcje jednocześnie */
  .page-wrap { padding: 0 10px; }

  /* NAV — dopasowany dokładnie do 10px marginesu strony */
  .nav-outer { top: 10px; width: calc(100% - 20px); left: 10px; transform: none; }
  body::before { height: 10px; }
  .nav-inner { padding: 6px 14px; }
  .nav-cta { font-size: 0.5rem; padding: 5px 10px; }

  /* HERO */
  .hero-outer { padding-top: calc(40px + 10px); }
  .hero-inner { flex-direction: column; height: auto; max-height: none; }
  .hero-left {
    padding: 24px 10px 24px;
    gap: 20px;
  }
  .hero-stat-num { font-size: 15px; }
  .hero-headline { font-size: clamp(26px, 7vw, 36px); }
  .hero-sub { font-size: 12px; }
  /* animacja hero — padding 10px, przycinamy overflow, bary mają naturalną wysokość z JS */
  .hero-right {
    height: 240px;
    overflow: hidden;
    width: 100%;
    padding: 0 10px;
  }
  .ticker-art { width: 100%; height: 240px; overflow: hidden; }
  .ticker-track { height: 240px; }

  /* WHY */
  .why-top { grid-template-columns: 1fr; }
  .why-top-left { border-right: none; padding: 28px 10px; }
  .why-top-right { padding: 28px 10px; }
  .why-cols { grid-template-columns: 1fr; }
  .why-col + .why-col { border-left: none; border-top: 1px solid var(--gray-mid); }
  .why-col:nth-child(3) { border-left: none; }
  .why-col:nth-child(4) { border-left: none; }
  .why-col { padding: 18px 10px 24px; }
  .why-bottom { padding: 18px 10px; }

  /* SIT */
  .sit-top { padding: 28px 10px 24px; }
  .sit-title { max-width: 100%; font-size: 16px; }
  .sit-grid { grid-template-columns: 1fr; }
  .sit-item { padding: 18px 10px 24px; }
  .sit-item + .sit-item { border-left: none; border-top: 1px solid rgba(0,0,0,0.12); }

  /* REVEAL */
  .reveal-text { font-size: clamp(18px, 5vw, 26px); }
  .reveal-inner { padding: 0 10px; }

  /* SERVICES — NIE ruszamy padding/margin srv-stack, tylko sticky topy i rozmiary markerów */
  .srv-stack { padding: 0; }
  .srv-header { top: 52px; }
  .srv-header-inner { padding: 14px 10px; }
  .srv-header h2 { font-size: 18px; }
  .srv-card[data-card="1"] { top: calc(52px + 51px + 0px); }
  .srv-card[data-card="2"] { top: calc(52px + 51px + 52px); }
  .srv-card[data-card="3"] { top: calc(52px + 51px + 104px); }
  .srv-card[data-card="4"] { top: calc(52px + 51px + 156px); }
  .srv-card-body { grid-template-columns: 14px 1fr 14px; }
  .srv-card-img { display: none; }
  .srv-card-text { padding: 20px 10px; }
  .srv-card-title-row { padding: 10px 10px; }
  .srv-marker-white,
  .srv-marker-blue,
  .srv-marker-right { width: 14px; }

  /* HOW — tak samo */
  .how-stack { padding: 0; }
  .how-header { top: 52px; }
  .how-header-inner { padding: 14px 10px; }
  .how-header h2 { font-size: 18px; }
  .how-card[data-step="1"] { top: calc(52px + 51px + 0px); }
  .how-card[data-step="2"] { top: calc(52px + 51px + 52px); }
  .how-card[data-step="3"] { top: calc(52px + 51px + 104px); }
  .how-card[data-step="4"] { top: calc(52px + 51px + 156px); }
  .how-card-body { grid-template-columns: 14px 1fr 14px; }
  .how-marker-white,
  .how-marker-blue,
  .how-marker-right { width: 14px; }
  .how-card-title-row { padding: 10px 10px; }
  .how-card-content { padding: 20px 10px 28px; }

  /* WN2 */
  .wn2-section { margin-top: 20px; }
  .wn2-title-row { padding: 28px 10px 20px; }
  .wn2-photo { height: 280px; }
  .wn2-bubble { display: none; }

  /* FAQ — grid jednokolumnowy, bordery z srv-card-inner */
  .faq-header { padding: 20px 10px; }
  .faq-grid { grid-template-columns: 1fr; }
  .faq-col:first-child { border-right: none; border-bottom: 0.5px solid #000; }
  .faq-col:first-child::before { display: none; }
  .faq-col:last-child::after { display: none; }
  .faq-item { padding: 14px 10px; }
  .faq-col:first-child .faq-item { padding-left: 10px; }
  .faq-col:last-child .faq-item { padding-right: 10px; }

  /* TESTIMONIALS — 1 karta */
  .tst-header { padding: 28px 10px; }
  .tst-body { padding: 20px 10px 0; }
  .tst-card { flex: 0 0 100%; }
  .tst-arrows { padding: 14px 10px 28px; }

  /* FOOTER CTA */
  .fcta-graphic { padding-top: 40px; }
  .fcta-content { padding: 28px 10px 56px; }
  .fcta-title { font-size: 22px; }

  /* SITE FOOTER */
  .footer-contacts { grid-template-columns: 1fr; }
  .footer-contact-cell + .footer-contact-cell { border-left: none; border-top: 1px solid #000; }
  .footer-contact-cell { padding: 18px 10px; font-size: 16px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 6px; padding: 10px 10px; }
  .footer-clock-row { padding: 10px 10px 14px; }

  /* MODAL */
  .modal-overlay { padding: 52px 10px 0; }
  .modal-box { padding: 24px 16px 32px; }
  .modal-close { top: -44px; right: 0; width: 44px; height: 44px; font-size: 18px; }
  .modal-contact-value { font-size: clamp(22px, 6vw, 32px); }
  .modal-label { margin-bottom: 24px; }
}