/* =========================================================================
   wycena-maszyn.eu — v2  "Industrial Command Deck"
   Design system faithfully derived from the refero.design "Orderful" reference
   (see REFERENCE.md): near-achromatic surfaces, disciplined 8px geometry,
   grotesk type at light display weights, and a SINGLE red accent (brand
   #B50D0D, swapped for the reference's vermillion) reserved strictly for
   actionable elements. Class vocabulary kept identical to v1 so the shared
   dziekujemy.html / polityka-prywatnosci.html keep rendering.
   ========================================================================= */

/* ---------- fonts ---------- */
/* Self-hosted, so no page makes a request to Google Fonts. tools/subset_fonts.py cuts each
   family into two variable WOFF2 files: *-latin-pl (Google's "latin" range + the Polish
   letters; every page needs it, so partials/font-preload.html preloads it) and *-latin-ext
   (the rest of Google's "latin-ext"; fetched only for a page that uses one of its letters).
   Characters outside both ranges fall back to the system font, as they did with Google Fonts.
   The URLs are relative to this file, so they resolve under the staging subpath and at the
   production root alike. Licences: ../fonts/OFL-*.txt. */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;
  src:url(../fonts/inter-latin-pl.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0104-0107, U+0118-0119, U+0131, U+0141-0144, U+0152-0153, U+015A-015B, U+0179-017C, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;
  src:url(../fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-0103, U+0108-0117, U+011A-0130, U+0132-0140, U+0145-0151, U+0154-0159, U+015C-0178, U+017D-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;
  src:url(../fonts/space-grotesk-latin-pl.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0104-0107, U+0118-0119, U+0131, U+0141-0144, U+0152-0153, U+015A-015B, U+0179-017C, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;
  src:url(../fonts/space-grotesk-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-0103, U+0108-0117, U+011A-0130, U+0132-0140, U+0145-0151, U+0154-0159, U+015C-0178, U+017D-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}

/* ---------- tokens ---------- */
:root{
  --paper:#ffffff;        /* page / cards */
  --fog:#f5f5f5;          /* light section bg (≈ brand #F5F5F3) */
  --fog-2:#eceef1;
  --border:#e5e7eb;       /* hairline */
  --border-2:#d4d4d4;     /* input / cell border */
  --muted:#99a1af;        /* placeholder / faint */
  --slate:#4a5565;        /* body text */
  --slate-d:#364153;      /* strong body / grayscale logos */
  --carbon:#1f1f1f;       /* dark surface / secondary button */
  --ink:#101828;          /* display + heading text, dark hero */
  --ink-2:#0b1220;        /* deepest dark */
  --black:#000000;        /* hairlines, small marks, wordmark */
  --red:#b50d0d;          /* THE accent — actions only */
  --red-d:#8f0a0a;        /* accent hover */
  --red-tint:#fbecec;     /* faint accent wash (backgrounds only, sparingly) */
  --red-on-dark:#ef4444;  /* lighter red for eyebrows/marks on dark surfaces (AA-legible) */

  --radius:8px;           /* the one universal radius */
  --shadow:0 1px 3px 0 rgba(16,24,40,.10), 0 1px 2px -1px rgba(16,24,40,.10);
  --shadow-lift:0 8px 24px -12px rgba(16,24,40,.35), 0 2px 6px -3px rgba(16,24,40,.12);
  --maxw:1200px;
  --gap:64px;             /* section breathing (40–64px scale) */

  --f-display:'Space Grotesk', ui-sans-serif, system-ui, sans-serif;
  --f-body:'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}

/* ---------- reset / base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;font-family:var(--f-body);font-size:16px;line-height:1.6;
  color:var(--slate);background:var(--paper);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
h1,h2,h3,h4{font-family:var(--f-display);color:var(--ink);margin:0 0 .5em;font-weight:400;line-height:1.12}
h1{font-size:clamp(2.3rem,5.2vw,3.75rem);font-weight:300;letter-spacing:-.03em}
h2{font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:300;letter-spacing:-.025em}
h3{font-size:1.3rem;font-weight:500;letter-spacing:-.01em}
h4{font-size:.86rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--slate-d)}
p{margin:0 0 1rem}
strong{color:var(--ink);font-weight:600}
::selection{background:var(--red);color:#fff}

/* ---------- layout ---------- */
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}
section[id],#main{scroll-margin-top:80px}
.section{padding:var(--gap) 0}
.section--paper{background:var(--fog)}
.section--dark{background:var(--ink);color:#c9cfdb}
.section--dark h1,.section--dark h2,.section--dark h3{color:#fff}
.section__intro{max-width:720px;margin:0 0 40px}
.section__intro.center{margin-left:auto;margin-right:auto;text-align:center}
.section__intro .lead{margin-top:.4rem}
.section__intro h1{overflow-wrap:break-word}
article .section__intro h1{-webkit-hyphens:auto;hyphens:auto}
.section__intro .hero__cta{margin-bottom:24px}
.center{text-align:center}
.lead{font-size:1.15rem;line-height:1.6;color:var(--slate)}
.section--dark .lead{color:#aab2c2}

/* eyebrow — uppercase micro-label */
.eyebrow,.hero__eyebrow{
  display:inline-block;font-family:var(--f-display);font-size:.75rem;font-weight:500;
  letter-spacing:.025em;text-transform:uppercase;color:var(--red);margin-bottom:14px;
}
.section--dark .eyebrow{color:var(--red-on-dark)}
.eyebrow--muted{color:var(--slate)}

/* arrow link */
.linkarrow{
  display:inline-flex;align-items:center;gap:.4em;font-family:var(--f-display);
  font-weight:500;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);
  border-bottom:1px solid var(--border-2);padding-bottom:3px;transition:.15s;
}
.linkarrow:hover{border-color:var(--ink)}
.section--dark .linkarrow{color:#fff;border-color:rgba(255,255,255,.3)}
.section--dark .linkarrow:hover{border-color:#fff}

.skip-link{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:200;border-radius:var(--radius)}
.skip-link:focus{left:12px;top:12px}

/* ---------- buttons ---------- */
.btn{
  --btn-bg:var(--carbon);--btn-fg:#fff;--btn-bd:transparent;
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:var(--f-display);font-size:.84rem;font-weight:500;letter-spacing:.08em;
  text-transform:uppercase;line-height:1;cursor:pointer;white-space:nowrap;
  padding:14px 24px;border-radius:var(--radius);border:1px solid var(--btn-bd);
  background:var(--btn-bg);color:var(--btn-fg);transition:background .15s,border-color .15s,color .15s,transform .05s;
}
.btn:active{transform:translateY(1px)}
.btn--primary{--btn-bg:var(--red);--btn-fg:#fff;--btn-bd:var(--red)}
.btn--primary:hover{--btn-bg:var(--red-d);--btn-bd:var(--red-d)}
.btn--dark,.btn--call{--btn-bg:var(--carbon);--btn-fg:#fff;--btn-bd:var(--carbon)}
.btn--dark:hover,.btn--call:hover{--btn-bg:#000;--btn-bd:#000}
.btn--ghost{--btn-bg:transparent;--btn-fg:var(--ink);--btn-bd:var(--border-2)}
.btn--ghost:hover{--btn-bd:var(--ink)}
.btn--light{--btn-bg:transparent;--btn-fg:#fff;--btn-bd:rgba(255,255,255,.4)}
.btn--light:hover{--btn-bd:#fff;--btn-bg:rgba(255,255,255,.06)}
.btn--lg{padding:17px 30px;font-size:.9rem}
.btn--block{width:100%}
.btn__arrow{font-size:1.05em;transform:translateY(-1px)}

/* ---------- header ---------- */
.header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--border)}
.header__bar{max-width:var(--maxw);margin:0 auto;padding:8px 24px;min-height:72px;display:flex;align-items:center;gap:20px}
.brand{display:flex;align-items:center;gap:12px;flex:none}
.brand img{width:auto;height:48px}
.brand__txt{display:flex;flex-direction:column;line-height:1.1;border-left:1px solid var(--border);padding-left:12px}
.brand__name{font-family:var(--f-display);font-weight:600;font-size:.98rem;color:var(--black);letter-spacing:-.01em;white-space:nowrap}
.nav{display:flex;gap:4px;margin-left:6px;align-items:center}
.nav__item{position:relative;display:flex;align-items:center}
.nav__link{font-family:var(--f-display);font-size:.8rem;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:var(--slate-d);padding:8px 9px;white-space:nowrap;position:relative}
.nav__link:hover{color:var(--ink)}
.nav__link::after{content:"";position:absolute;left:9px;right:100%;bottom:2px;height:2px;background:var(--red);transition:right .2s}
.nav__link:hover::after,.nav__item--drop:hover .nav__link::after,.nav__item--drop:focus-within .nav__link::after{right:9px}
.nav__toggle{border:0;background:none;cursor:pointer;display:inline-flex;align-items:center}
.nav__car{margin-left:5px;font-size:.58rem;line-height:1;display:inline-block;transition:transform .2s;color:var(--slate)}
.nav__car::before{content:"\25BE"}
.nav__menu{position:absolute;top:100%;left:0;min-width:230px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lift);padding:8px;display:none;flex-direction:column;gap:2px;z-index:120}
.nav__menu a{font-family:var(--f-display);font-size:.82rem;font-weight:500;letter-spacing:.01em;color:var(--slate-d);padding:9px 12px;border-radius:8px;white-space:nowrap;display:block}
.nav__menu a:hover{background:var(--red-tint);color:var(--red)}
.nav__mega{position:absolute;top:100%;left:0;display:none;grid-template-columns:1fr 1fr;gap:4px 28px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lift);padding:18px 20px;z-index:120;width:min(600px,90vw)}
.nav__col{display:flex;flex-direction:column;gap:1px;min-width:0}
.nav__col-hub{font-family:var(--f-display);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);padding:4px 12px 8px;margin-bottom:4px;border-bottom:1px solid var(--border)}
.nav__col-hub:hover{color:var(--red)}
.nav__mega a{font-family:var(--f-display);font-size:.82rem;font-weight:500;letter-spacing:.01em;color:var(--slate-d);padding:8px 12px;border-radius:8px;white-space:nowrap;display:block}
.nav__mega a:not(.nav__col-hub):hover{background:var(--red-tint);color:var(--red)}
.nav__mega a.nav__col-more{color:var(--red);font-weight:600;margin-top:6px}
.nav__col-more::after{content:" \2192";font-weight:400}
@media (min-width:1025px){
  .nav__item--drop:hover .nav__menu,.nav__item--drop:focus-within .nav__menu{display:flex}
  .nav__item--drop:hover .nav__mega,.nav__item--drop:focus-within .nav__mega{display:grid}
  .nav__item--drop:hover .nav__car,.nav__item--drop:focus-within .nav__car{transform:rotate(180deg)}
}
.header__cta{display:flex;align-items:center;gap:14px;margin-left:auto;flex:none}
/* .header__call: the desktop call button. Ghost, so the red CTA stays the one action colour; at <=1024 px both
   buttons hide and the call bar shows the number instead. */
.header__cta .btn--primary,.header__cta .header__call{font-size:.76rem;letter-spacing:.04em;padding:12px 18px}
.navtoggle{display:none;width:44px;height:44px;border:1px solid var(--border-2);border-radius:var(--radius);background:#fff;position:relative}
.navtoggle span,.navtoggle span::before,.navtoggle span::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:2px;background:var(--ink);transform:translate(-50%,-50%);transition:.2s}
.navtoggle span::before{transform:translate(-50%,-7px)}
.navtoggle span::after{transform:translate(-50%,5px)}

/* ---------- hero (dark, industrial — screenshot adaptation) ---------- */
.hero{position:relative;background:var(--ink-2);color:#fff;overflow:hidden;isolation:isolate}
.hero__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.55}
.hero::before{ /* base gradient — great even without a photo */
  content:"";position:absolute;inset:0;z-index:-2;
  background:
    radial-gradient(120% 90% at 78% 15%, rgba(181,13,13,.28), transparent 55%),
    radial-gradient(90% 80% at 10% 90%, rgba(60,72,102,.35), transparent 60%),
    linear-gradient(160deg,#0b1220 0%,#141a29 48%,#0b0e17 100%);
}
.hero::after{ /* legibility veil + subtle grid texture */
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(90deg, rgba(8,11,18,.86) 0%, rgba(8,11,18,.6) 42%, rgba(8,11,18,.2) 100%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.03) 0 1px, transparent 1px 40px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 40px);
}
.hero__inner{position:relative;max-width:760px;padding:96px 0 104px}
.hero h1{color:#fff;overflow-wrap:break-word}
.hero__eyebrow{color:var(--red)}
.hero__sub{font-size:1.22rem;line-height:1.6;color:#c9cfdb;max-width:600px;margin:20px 0 32px}
.hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.hero__bridge{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:1.25rem;line-height:1.3;color:#fff;border-left:3px solid var(--red-on-dark);padding-left:16px;margin:14px 0 0;max-width:520px}
.hero h1:has(+ .hero__bridge){margin-bottom:12px}
@media (max-width:520px){.hero__bridge{font-size:1.1rem;padding-left:14px;margin-top:12px}}

/* ---------- logo trust bar ---------- */
.logobar{background:var(--fog);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:40px 0}
.logobar__label{text-align:center;font-family:var(--f-body);font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin:0 0 28px}
.logobar__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:32px 48px}
.logobar__row img{height:42px;width:auto;object-fit:contain;filter:grayscale(1) opacity(.6);transition:filter .25s,opacity .25s}
.logobar__row img:hover{filter:none;opacity:1}
.logobar__row a{display:inline-flex;border-radius:var(--radius)}
.logobar__row a:hover img,.logobar__row a:focus-visible img{filter:none;opacity:1}
.logobar__row a:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.logobar__more{text-align:center;margin:22px 0 0}

/* ---------- services / goals cards ---------- */
.grid{display:grid;gap:20px}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc{
  display:block;
  background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);
  padding:32px;transition:box-shadow .2s,border-color .2s,transform .2s;
}
.svc:hover{box-shadow:var(--shadow);border-color:var(--border-2);transform:translateY(-2px)}
.svc__ic{width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--slate-d);margin-bottom:16px}
.svc__ic svg{width:26px;height:26px}
.svc h3{font-size:1.25rem;font-weight:400;margin:0 0 8px}
.svc p{font-size:.95rem;color:var(--slate);margin:0}

/* goal pills (cele wyceny) */
.goals{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.goal{
  display:inline-flex;align-items:center;gap:8px;background:var(--paper);
  border:1px solid var(--border-2);border-radius:var(--radius);padding:12px 16px;min-height:44px;
  font-size:.92rem;color:var(--ink);transition:.15s;
}
.goal:hover{border-color:var(--ink);box-shadow:var(--shadow)}
.goal::before{content:"";width:6px;height:6px;background:var(--red);border-radius:50%;flex:none}
.morelink-wrap{margin-top:24px}
.morelink{display:inline-flex;align-items:center;gap:8px;color:var(--red);font-weight:600;font-size:.95rem}
.morelink:hover{text-decoration:underline}
.section--dark .morelink{color:var(--red-on-dark)}

/* ---------- dark statement band ---------- */
.band{background:var(--ink);color:#fff;padding:52px 0}
.band h2{color:#fff;max-width:900px;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:300;letter-spacing:-.025em;margin:0}
.band__sub{margin:14px 0 0;font-size:1.05rem;line-height:1.6;color:#c9cfdb;max-width:640px}
.band .hero__cta{margin-top:26px}

/* ---------- stats ---------- */
.stats-head{max-width:760px;margin:0 0 44px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.stat__n{font-family:var(--f-display);font-weight:300;font-size:clamp(2.6rem,5vw,3.6rem);line-height:1;letter-spacing:-.03em;color:#fff}
.stat__l{margin-top:10px;font-size:.9rem;color:#9aa2b3;line-height:1.4}
.stats--flag .stat__n{color:#fff}
.flagnote{font-size:.8rem;color:#8a93a6;margin-top:20px}

/* ---------- process / how it works ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:step}
.step-card{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:32px;position:relative}
.step-card__n{font-family:var(--f-display);font-weight:500;font-size:.78rem;letter-spacing:.025em;color:var(--red);margin-bottom:14px}
.step-card h3{font-size:1.08rem;font-weight:500;margin:0 0 8px}
.step-card p{font-size:.92rem;color:var(--slate);margin:0}

/* ---------- why ---------- */
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.why__item{border-top:1px solid var(--ink);padding-top:20px}
.why__item h3{font-size:1.08rem;font-weight:500;margin:0 0 8px}
.why__item p{font-size:.94rem;color:var(--slate);margin:0}
.why--3{grid-template-columns:repeat(3,1fr)}
.section--dark .why__item{border-color:rgba(255,255,255,.2)}
.section--dark .why__item p{color:#aab2c2}

/* ---------- expert ---------- */
.expert{display:grid;grid-template-columns:210px 1fr;gap:40px;align-items:center;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:40px}
.expert img{width:210px;height:210px;object-fit:cover;border-radius:var(--radius)}
.expert__quote{font-family:var(--f-display);font-weight:300;font-size:clamp(1.5rem,4.5vw,1.875rem);line-height:1.35;color:var(--ink);letter-spacing:-.025em;margin:6px 0 18px;position:relative}
.expert__quote::before{content:"\201C";color:var(--red);font-size:1.2em;line-height:0;margin-right:.06em}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.badge{font-family:var(--f-display);font-size:.75rem;font-weight:500;letter-spacing:.025em;text-transform:uppercase;color:var(--slate-d);border:1px solid var(--border-2);border-radius:var(--radius);padding:6px 12px}

/* ---------- references ---------- */
.refletters{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:900px;margin-inline:auto}
.refletters figure{margin:0;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.refletters img{width:100%;height:auto}
.refletters figcaption{font-size:.875rem;color:var(--slate);padding:12px 16px;border-top:1px solid var(--border)}
.refletters figure{scroll-margin-top:96px;transition:box-shadow .2s,border-color .2s}
.refletters a{display:block}
.refletters figure:hover{box-shadow:var(--shadow-lift)}
.refletters figure:target{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}
.refletters__yr{color:var(--muted)}
.refletters__hint{text-align:center;color:var(--slate);font-size:.9rem;margin:0 0 28px}
.refletters__all{text-align:center;margin:28px 0 0}
.trust__link{color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.5);transition:text-decoration-color .15s}
.trust__link:hover{text-decoration-color:#fff}
.certfig{max-width:360px;margin:28px 0;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.certfig>a{display:block;transition:opacity .2s}
.certfig>a:hover{opacity:.92}
.certfig img{width:100%;height:auto}
.certfig figcaption{font-size:.8125rem;color:var(--slate);padding:12px 16px;border-top:1px solid var(--border)}
.certfig figcaption a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin:0 auto}
.faq details{border-bottom:1px solid var(--border);padding:4px 0}
.faq summary{list-style:none;cursor:pointer;padding:18px 40px 18px 0;position:relative;font-family:var(--f-display);font-weight:500;font-size:1.05rem;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--red);font-weight:300;transition:transform .2s}
.faq details[open] summary::after{content:"\2212"}
.faq details>div{padding:0 40px 20px 0;color:var(--slate);font-size:.98rem}

/* ---------- lead form / contact ---------- */
.finalcta{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:start}
.contactlist{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:18px}
.contactlist li{display:flex;gap:14px;align-items:flex-start}
.contactlist .ic{width:38px;height:38px;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);color:#fff}
.contactlist a{color:#dfe4ee;border-bottom:1px solid transparent;transition:.15s}
.contactlist a:hover{border-color:#dfe4ee}
.contactlist small{color:#8b93a6}

.leadcard{background:var(--paper);color:var(--slate);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);padding:32px}
.leadcard__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.leadcard__head h2{color:var(--ink);font-size:1.5rem;font-weight:500;letter-spacing:-.01em;margin:0}
.leadcard__step{font-family:var(--f-display);font-size:.75rem;font-weight:500;letter-spacing:.025em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.leadcard__promise{font-size:.86rem;color:var(--slate);margin:8px 0 18px}
.progress{height:4px;background:var(--fog-2);border-radius:var(--radius);overflow:hidden;margin-bottom:24px}
.progress__bar{height:100%;width:33%;background:var(--red);border-radius:var(--radius);transition:width .3s}
/* contact card: the right column while the lead form is off (params.leadForm in hugo.toml) */
.leadcard__actions{display:grid;gap:10px}
.leadcard__actions .btn{flex-wrap:wrap;white-space:normal;line-height:1.25;text-align:center;padding-left:16px;padding-right:16px}
.leadcard__mail{text-transform:none;letter-spacing:.01em}  /* an address reads, and is copied, as written */
.leadcard__hours{font-size:.86rem;color:var(--slate);text-align:center;margin:10px 0 18px}
.leadcard__ask{font-family:var(--f-display);font-size:.82rem;font-weight:500;letter-spacing:.025em;color:var(--ink);margin:0 0 6px}
.leadcard__list{margin:0;padding-left:1.2em;font-size:.92rem;color:var(--slate)}

.step{display:none}
.step.active{display:block;animation:fade .25s ease}
@keyframes fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.field{margin-bottom:18px}
.field>label{display:block;font-family:var(--f-display);font-size:.82rem;font-weight:500;letter-spacing:.025em;color:var(--ink);margin-bottom:8px}
.hint{color:var(--muted);font-weight:400;font-size:.82rem}
input[type=text],input[type=tel],input[type=email],select,textarea{
  width:100%;font-family:var(--f-body);font-size:1rem;color:var(--ink);background:#fff;
  border:1px solid var(--border-2);border-radius:var(--radius);padding:0 14px;height:48px;transition:border-color .15s;
}
textarea{height:auto;padding:12px 14px;min-height:96px;resize:vertical}
input::placeholder,textarea::placeholder{color:var(--muted)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ink)}
select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%234a5565' stroke-width='1.5'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}

.optgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.optcard{position:relative}
.optcard input{position:absolute;opacity:0;inset:0;cursor:pointer}
.optcard label{display:block;text-align:center;border:1px solid var(--border-2);border-radius:var(--radius);padding:14px 10px;font-size:.92rem;color:var(--ink);cursor:pointer;transition:.15s;font-weight:500}
.optcard input:hover+label{border-color:var(--slate)}
.optcard input:checked+label{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red);color:var(--red)}
.optcard input:focus-visible+label{outline:2px solid var(--ink);outline-offset:2px}

.file-drop{display:flex;align-items:center;gap:8px;justify-content:center;text-align:center;border:1px dashed var(--border-2);border-radius:var(--radius);padding:16px;font-size:.9rem;color:var(--slate);cursor:pointer;transition:.15s}
.file-drop:hover{border-color:var(--slate);background:var(--fog)}

.consent{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;color:var(--slate);margin-bottom:8px}
.consent input{margin-top:3px;width:16px;height:16px;flex:none;accent-color:var(--red)}
.consent a{color:var(--red);border-bottom:1px solid transparent}
.consent a:hover{border-color:var(--red)}

.err{display:none;color:var(--red);font-size:.82rem;margin:6px 0 0}
.field.invalid input,.field.invalid select{border-color:var(--red)}
.field.invalid .err{display:block}
.form-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}

/* callback mini form */
.callback{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:22px;margin-top:22px}
.callback h3{font-size:1.02rem;font-weight:500;margin:0 0 4px;color:var(--ink)}
.callback p{font-size:.85rem;color:var(--slate);margin:0 0 14px}
.callback .row{display:flex;gap:10px;flex-wrap:wrap}
.callback .row input{flex:1;min-width:130px}

/* ---------- footer ---------- */
.footer{background:var(--ink-2);color:#8b93a6;padding:56px 0 28px}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:36px}
.footer p{font-size:.9rem;line-height:1.6}
.footer strong{color:#fff}
.footer h2{font-size:.86rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin:0 0 14px}
.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.footer ul a{font-size:.9rem;color:#aab2c2;border-bottom:1px solid transparent}
.footer ul a:hover{color:#fff;border-color:rgba(255,255,255,.3)}
.footer__legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:22px;font-size:.82rem}
.footer__legal a{color:#aab2c2}
.footer__legal a:hover{color:#fff}
/* legal identification (partials/legal-id.html): its own full-width row of the legal bar; the long CEIDG name wraps */
.footer__id{flex-basis:100%;min-width:0}
.footer .footer__id p{font-size:.78rem;line-height:1.55;margin:0 0 4px;overflow-wrap:break-word}
.footer .note{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14);color:#c7ccd6}

/* ---------- mobile sticky call bar ---------- */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--border)}
.callbar .btn{flex:1;white-space:normal;line-height:1.15}


/* ---------- misc ---------- */
.note{background:var(--red-tint);border:1px solid #f1cfcf;border-radius:var(--radius);padding:12px 14px;font-size:.85rem;color:#7a1f1f}

@media (max-width:1120px){
  .nav{gap:2px;margin-left:2px}
  .nav__link{padding-left:6px;padding-right:6px}
  .header__bar{gap:14px}
  .header__cta .btn--primary,.header__cta .header__call{font-size:.72rem;padding:11px 14px}
}

/* ---------- responsive ---------- */
@media (max-width:960px){
  :root{--gap:52px}
  .finalcta{grid-template-columns:1fr;gap:36px}
  .services,.steps{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr 1fr;gap:28px}
  .why{grid-template-columns:1fr 1fr}
  .footer__grid{grid-template-columns:1fr 1fr}
  .footer__grid>div:first-child{grid-column:1/-1}
  .expert{grid-template-columns:1fr;text-align:left}
  .expert img{width:150px;height:150px;justify-self:center}
}
@media (max-width:1024px){
  .nav{position:absolute;top:72px;left:0;right:0;flex-direction:column;gap:0;background:#fff;border-bottom:1px solid var(--border);padding:8px 20px 20px;display:none;box-shadow:var(--shadow);max-height:calc(100vh - 72px);overflow-y:auto}
  .nav.open{display:flex}
  .nav__item{flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--border)}
  .nav__link{flex:1;padding:14px 2px;font-size:.95rem}
  .nav__link::after{display:none}
  .nav__toggle{width:100%;justify-content:space-between;padding:16px 2px;font-size:.95rem;color:var(--slate-d)}
  .nav__car{font-size:.8rem;margin-left:auto}
  .nav__menu{position:static;display:none;width:100%;background:none;box-shadow:none;border:0;border-radius:0;padding:0 0 10px 6px;min-width:0}
  .nav__menu a{text-transform:none;font-weight:500;padding:10px 12px;white-space:normal}
  .nav__item--open .nav__menu{display:flex}
  .nav__mega{position:static;display:none;grid-template-columns:1fr;gap:0;width:100%;background:none;box-shadow:none;border:0;border-radius:0;padding:0 0 10px 6px}
  .nav__item--open .nav__mega{display:grid}
  .nav__col{gap:0}
  .nav__mega a{text-transform:none;font-weight:500;padding:10px 12px 10px 20px;white-space:normal;border-radius:0}
  .nav__mega a:hover{background:none;color:var(--red)}
  .nav__mega a.nav__col-hub{padding:14px 12px 4px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--slate-d);border-bottom:0;margin:0}
  .navtoggle{display:block}
  .header__cta .btn--primary,.header__cta .header__call{display:none}
  .callbar{display:flex}
  body #cookiescript_badge{bottom:80px!important} /* lift CookieScript CMP badge above the sticky call-bar (else it covers ZADZWOŃ) */
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  .refletters{grid-template-columns:1fr}
}
@media (max-width:520px){
  .services,.steps,.stats,.why,.footer__grid,.optgrid{grid-template-columns:1fr}
  .hero__inner{padding:36px 0 40px}
  .hero h1{font-size:clamp(1.8rem,6.4vw,2.55rem)}
  .section__intro h1{font-size:clamp(1.8rem,6.4vw,2.55rem)}
  .hero__sub{font-size:1.08rem;margin:14px 0 22px}
  .hero__cta{flex-direction:column;align-items:stretch}
  .hero__cta .btn{width:100%}
  .leadcard{padding:24px}
  .form-nav{flex-wrap:wrap;gap:10px}
  .form-nav .btn{flex:1 1 auto;padding-left:16px;padding-right:16px}
  .prose table{display:block;overflow-x:auto}
}
@media (max-width:400px){
  .brand img{height:42px}
  .header__bar{padding-left:14px;padding-right:14px;gap:10px}
  .brand__name{font-size:.86rem}
  /* the standalone headers' only button: /dziekujemy/'s call button, /polityka-prywatnosci/'s „← Główna” (the main
     header's buttons are hidden at this width) */
  .header__cta .btn--call,.header__cta .btn--ghost{font-size:.72rem;padding:9px 12px;letter-spacing:.02em}
  .callbar{gap:8px;padding:10px 10px}
  .callbar .btn{min-width:0;padding-left:12px;padding-right:12px;letter-spacing:.04em}
  .leadcard{padding:18px}
}
@media (max-width:340px){
  .btn--lg{white-space:normal}
}

/* reduced motion */
@media (prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

/* ---------- breadcrumbs (v3 multi-page) ---------- */
.breadcrumbs{border-bottom:1px solid var(--border);background:var(--paper)}
.breadcrumbs ol{max-width:var(--maxw);margin:0 auto;padding:12px 24px;list-style:none;display:flex;flex-wrap:wrap;gap:6px;font-size:.8rem;color:var(--muted)}
.breadcrumbs li{display:flex;align-items:center;gap:6px}
.breadcrumbs li+li::before{content:"\203A";color:var(--muted)}
.breadcrumbs a{color:var(--slate);border-bottom:1px solid transparent;transition:.15s}
.breadcrumbs a:hover{color:var(--ink);border-color:var(--border-2)}
.breadcrumbs [aria-current=page]{color:var(--slate-d)}

/* ---------- prose (markdown body on content pages) ---------- */
.prose{max-width:820px}
.prose h2{margin-top:1.7em;font-size:clamp(1.5rem,2.6vw,2rem)}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:1.5em;font-size:1.2rem}
.prose p{margin:0 0 1rem;color:var(--slate)}
.prose ul,.prose ol{margin:0 0 1.2rem;padding-left:1.3em;color:var(--slate)}
.prose li{margin:.4rem 0}
.prose li>strong:first-child{color:var(--ink)}
.prose a{color:var(--red);border-bottom:1px solid transparent;transition:.15s}
.prose a:hover{border-color:var(--red)}
.prose table{width:100%;border-collapse:collapse;margin:0 0 1.4rem;font-size:.95rem}
.prose th,.prose td{border:1px solid var(--border);padding:10px 12px;text-align:left;vertical-align:top}
.prose th{background:var(--fog);font-family:var(--f-display);font-weight:500;color:var(--ink)}

/* ---------- baza wiedzy (blog) ---------- */
.postmeta{font-size:.85rem;color:var(--muted);margin:-6px 0 0;font-family:var(--f-display);letter-spacing:.02em}
.postgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.postcard{display:flex;flex-direction:column;gap:10px;padding:24px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);transition:box-shadow .2s,transform .2s,border-color .2s}
.postcard:hover{box-shadow:var(--shadow);transform:translateY(-2px);border-color:var(--border-2)}
.postcard__eyebrow{font-family:var(--f-display);font-size:.7rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--red)}
.postcard__title{font-size:1.15rem;line-height:1.3;margin:0;color:var(--ink)}
.postcard__desc{font-size:.9rem;color:var(--slate);margin:0;flex:1}
.postcard__more{font-family:var(--f-display);font-weight:500;font-size:.85rem;color:var(--red)}
@media (max-width:960px){.postgrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.postgrid{grid-template-columns:1fr}}
