.stage1-v45{overflow-x:hidden}
/* ========================================================================== 
   V45 / STAGE 1 — homepage changes from client notes "uwagi do v41.docx"
   Scope: homepage structure/copy, hero corrections, About, Competences,
   software + construction-type modules, Offer, confirmed homepage contact data.
   ========================================================================== */

.stage1-v45 #firma,
.stage1-v45 #kompetencje,
.stage1-v45 #oferta,
.stage1-v45 #projekty,
.stage1-v45 #kontakt{scroll-margin-top:calc(var(--header) + 8px)}

/* Navigation: seven client-approved tabs still need to breathe at desktop size. */
.stage1-v45 .desktop-nav{gap:clamp(18px,1.65vw,30px);font-size:13.5px}
.stage1-v45 .desktop-nav a:first-child{color:var(--release-ink,#111923)}

/* Hero ------------------------------------------------------------------ */
.stage1-v45 .hero-signature-copy{width:min(670px,42vw)}
.stage1-v45 .hero-signature h1{max-width:635px}
.stage1-v45 .hero-signature-lead{max-width:610px}
.stage1-v45 .hero-signature-media img{object-position:center center}

/* The client requested four facts: keep them equally weighted and calm. */
.stage1-v45 .credibility-grid{grid-template-columns:repeat(4,minmax(0,1fr));min-height:112px}
.stage1-v45 .credibility-grid .fact{height:100%;justify-content:center;padding-inline:34px}
.stage1-v45 .credibility-grid .fact:first-child{padding-left:0}
.stage1-v45 .credibility-grid .fact:last-child{border-right:0;padding-right:0}
.stage1-v45 .credibility-grid .fact strong{font-size:22px;line-height:1.04}
.stage1-v45 .credibility-grid .fact span{font-size:12px;line-height:1.35}

/* About ----------------------------------------------------------------- */
.stage1-v45 .about-pro{background:#fff}
.stage1-v45 .about-pro .about-accent{color:var(--release-blue-soft,#557da3)}
.stage1-v45 .about-pro-copy .about-lead{max-width:620px}
.stage1-v45 .about-pro-principles article{min-height:202px}
.stage1-v45 .about-pro-principles h3{max-width:290px}

/* Competences ----------------------------------------------------------- */
.stage1-v45 .expertise{background:#f7f9fb}
.stage1-v45 .expertise .section-head{align-items:end}
.stage1-v45 .expertise-grid{background:rgba(255,255,255,.56)}
.stage1-v45 .expertise-item{min-height:184px;padding-top:34px;padding-bottom:34px}
.stage1-v45 .expertise-item h3{font-size:18px}
.stage1-v45 .expertise-item p{max-width:285px}

/* Software module — the client specifically asked for names + logos only. */
.stage1-v45 .software-module{margin-top:82px;border-top:1px solid #cfd8e0;border-bottom:1px solid #cfd8e0;display:grid;grid-template-columns:220px minmax(0,1fr)}
.stage1-v45 .software-module .module-label{padding:30px 30px 30px 0}
.stage1-v45 .software-module .module-label .overline{margin:0;color:#667989}
.stage1-v45 .software-groups{border-left:1px solid #d9e0e6}
.stage1-v45 .software-group{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:center;min-height:152px}
.stage1-v45 .software-group + .software-group{border-top:1px solid #d9e0e6}
.stage1-v45 .software-group h3{margin:0;padding:30px 30px 30px 34px;font-size:16px;line-height:1.25;letter-spacing:-.015em;font-weight:500;color:#1a2631}
.stage1-v45 .software-logos{min-width:0;display:grid;grid-template-columns:repeat(5,minmax(118px,1fr));align-items:center;border-left:1px solid #e1e6eb}
.stage1-v45 .software-logos--four{grid-template-columns:repeat(4,minmax(130px,1fr))}
.stage1-v45 .software-logo{min-width:0;min-height:122px;padding:18px 18px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;border-right:1px solid #e1e6eb;background:rgba(255,255,255,.32);text-align:center}
.stage1-v45 .software-logo:last-child{border-right:0}
.stage1-v45 .software-logo img{display:block;width:auto;max-width:100%;max-height:54px;object-fit:contain}
.stage1-v45 .software-logo span{font-size:13px;font-weight:600;line-height:1.2;letter-spacing:-.01em;color:#293644;white-space:normal}

/* Structure-types strip — five images, one line, in the exact client order. */
.stage1-v45 .structure-module{margin-top:76px}
.stage1-v45 .structure-module>.overline{margin:0 0 20px;color:#667989}
.stage1-v45 .structure-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.stage1-v45 .structure-card{margin:0;min-width:0;background:#fff;overflow:hidden;border-bottom:1px solid #ccd6df}
.stage1-v45 .structure-card img{width:100%;aspect-ratio:1.05/1;object-fit:cover;filter:saturate(.86) contrast(.98);transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .35s ease}
.stage1-v45 .structure-card:nth-child(1) img{object-position:58% 50%}
.stage1-v45 .structure-card:nth-child(2) img{object-position:51% 48%}
.stage1-v45 .structure-card:nth-child(3) img{object-position:50% 42%}
.stage1-v45 .structure-card:nth-child(4) img{object-position:52% 48%}
.stage1-v45 .structure-card:nth-child(5) img{object-position:50% 46%}
.stage1-v45 .structure-card figcaption{min-height:66px;padding:17px 4px 18px;font-size:15px;line-height:1.25;letter-spacing:-.018em;font-weight:500;color:#17212b}
.stage1-v45 .structure-card:hover img{transform:scale(1.025);filter:saturate(.94) contrast(1)}

/* Offer ----------------------------------------------------------------- */
.stage1-v45 .offer-pro{padding:112px 0 104px;background:#fff;border-top:1px solid #dfe5ea;border-bottom:1px solid #dfe5ea}
.stage1-v45 .offer-head{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:92px;align-items:end}
.stage1-v45 .offer-head .overline{margin:0 0 16px;color:#667989}
.stage1-v45 .offer-head h2{margin:0;max-width:790px;font-size:clamp(44px,4.6vw,70px);line-height:.99;letter-spacing:-.058em;font-weight:400}
.stage1-v45 .offer-head>p{margin:0 0 4px;max-width:560px;font-size:17px;line-height:1.7;color:#53616e}
.stage1-v45 .offer-stages{margin-top:68px;border-top:1px solid #cbd5de;border-bottom:1px solid #cbd5de;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.stage1-v45 .offer-stages span{position:relative;min-height:104px;padding:27px 24px 26px 38px;display:flex;align-items:flex-start;border-right:1px solid #dbe2e8;font-size:15px;line-height:1.4;font-weight:500;letter-spacing:-.015em}
.stage1-v45 .offer-stages span:last-child{border-right:0}
.stage1-v45 .offer-stages span::before{content:"→";position:absolute;left:8px;top:28px;color:var(--release-blue,#315f8d);font-size:15px}
.stage1-v45 .offer-more{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #cbd5de}
.stage1-v45 .offer-more article{min-height:220px;padding:40px 54px 42px 0;border-right:1px solid #dbe2e8}
.stage1-v45 .offer-more article+article{padding-left:54px;padding-right:0;border-right:0}
.stage1-v45 .offer-more h3{margin:0 0 20px;font-size:27px;line-height:1.08;letter-spacing:-.04em;font-weight:500}
.stage1-v45 .offer-more p{margin:0;max-width:560px;font-size:15px;line-height:1.75;color:#586673}

/* Contact: preserve existing visual composition; only confirmed factual changes live in HTML. */
.stage1-v45 .closing-contact{border-top:0}
.stage1-v45 .footer-brand>span{text-transform:uppercase}

@media (max-width:1220px){
  .stage1-v45 .desktop-nav{gap:16px;font-size:13.5px}
  .stage1-v45 .header-inner{grid-template-columns:210px 1fr auto}
  .stage1-v45 .software-module{grid-template-columns:180px minmax(0,1fr)}
  .stage1-v45 .software-group{grid-template-columns:160px minmax(0,1fr)}
  .stage1-v45 .software-group h3{padding-left:26px;padding-right:22px}
  .stage1-v45 .software-logo{padding-inline:14px}
  .stage1-v45 .structure-card figcaption{font-size:14px}
}

@media (max-width:1020px){
  .stage1-v45 .hero-signature-copy{width:100%}
  .stage1-v45 .credibility-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .stage1-v45 .credibility-grid .fact{padding-inline:18px}
  .stage1-v45 .credibility-grid .fact strong{font-size:19px}
  .stage1-v45 .about-pro-principles article{min-height:0}
  .stage1-v45 .software-module{grid-template-columns:1fr}
  .stage1-v45 .software-module .module-label{padding:25px 0 18px}
  .stage1-v45 .software-groups{border-left:0}
  .stage1-v45 .software-group{grid-template-columns:1fr;min-height:0}
  .stage1-v45 .software-group h3{padding:24px 0 14px}
  .stage1-v45 .software-logos{border-left:0}
  .stage1-v45 .structure-strip{gap:8px}
  .stage1-v45 .structure-card figcaption{font-size:13px;padding-inline:2px}
  .stage1-v45 .offer-head{grid-template-columns:1fr;gap:34px}
  .stage1-v45 .offer-head>p{max-width:720px}
  .stage1-v45 .offer-stages{grid-template-columns:repeat(2,1fr)}
  .stage1-v45 .offer-stages span{border-bottom:1px solid #dbe2e8}
  .stage1-v45 .offer-stages span:nth-child(2n){border-right:0}
  .stage1-v45 .offer-stages span:last-child{grid-column:1/-1;border-bottom:0}
}

@media (max-width:820px){
  .stage1-v45 .credibility-grid{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0}
  .stage1-v45 .credibility-grid .fact{min-height:92px;padding:20px 20px!important;border-right:1px solid var(--line)}
  .stage1-v45 .credibility-grid .fact:nth-child(2n){border-right:0}
  .stage1-v45 .credibility-grid .fact:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .stage1-v45 .software-logos,.stage1-v45 .software-logos--four{grid-template-columns:repeat(3,1fr)}
  .stage1-v45 .software-logo{border-bottom:1px solid #e1e6eb}
  .stage1-v45 .software-logo:nth-child(3n){border-right:0}
  .stage1-v45 .software-logos--four .software-logo:nth-child(3){border-right:0}
  .stage1-v45 .software-logos--four .software-logo:nth-child(4){border-bottom:0}
  .stage1-v45 .structure-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-right:0;padding-right:0;width:100%;box-sizing:border-box}
  .stage1-v45 .structure-strip::-webkit-scrollbar{display:none}
  .stage1-v45 .structure-card{flex:0 0 46vw;scroll-snap-align:start}
  .stage1-v45 .structure-card img{aspect-ratio:1.08/1}
  .stage1-v45 .offer-pro{padding:82px 0 76px}
  .stage1-v45 .offer-more{grid-template-columns:1fr}
  .stage1-v45 .offer-more article,.stage1-v45 .offer-more article+article{min-height:0;padding:32px 0;border-right:0;border-bottom:1px solid #dbe2e8}
  .stage1-v45 .offer-more article:last-child{border-bottom:0}
}

@media (max-width:640px){
  .stage1-v45 .hero-signature-inner{padding-bottom:30px}
  .stage1-v45 .hero-signature-lead{font-size:14.5px;line-height:1.62}
  .stage1-v45 .credibility-grid .fact{min-height:86px;padding:17px 14px!important}
  .stage1-v45 .credibility-grid .fact strong{font-size:17px}
  .stage1-v45 .credibility-grid .fact span{font-size:10px}
  .stage1-v45 .about-pro-head h2{font-size:40px}
  .stage1-v45 .software-module{margin-top:58px}
  .stage1-v45 .software-group h3{font-size:15px}
  .stage1-v45 .software-logos,.stage1-v45 .software-logos--four{grid-template-columns:repeat(2,1fr)}
  .stage1-v45 .software-logo{min-height:108px;padding:16px 12px;border-right:1px solid #e1e6eb}
  .stage1-v45 .software-logo:nth-child(2n){border-right:0}
  .stage1-v45 .software-logo:nth-child(3n){border-right:1px solid #e1e6eb}
  .stage1-v45 .software-logos--four .software-logo:nth-child(3){border-right:1px solid #e1e6eb}
  .stage1-v45 .software-logos--four .software-logo:nth-child(4){border-right:0}
  .stage1-v45 .software-logo img{max-height:48px}
  .stage1-v45 .structure-module{margin-top:58px}
  .stage1-v45 .structure-card{flex-basis:72vw}
  .stage1-v45 .structure-card figcaption{min-height:56px;font-size:14px;padding:14px 2px 15px}
  .stage1-v45 .offer-head h2{font-size:40px}
  .stage1-v45 .offer-head>p{font-size:15px}
  .stage1-v45 .offer-stages{margin-top:48px;grid-template-columns:1fr}
  .stage1-v45 .offer-stages span,.stage1-v45 .offer-stages span:nth-child(2n),.stage1-v45 .offer-stages span:last-child{grid-column:auto;border-right:0;border-bottom:1px solid #dbe2e8;min-height:0;padding:20px 16px 20px 34px}
  .stage1-v45 .offer-stages span:last-child{border-bottom:0}
  .stage1-v45 .offer-stages span::before{top:20px;left:4px}
  .stage1-v45 .offer-more h3{font-size:24px}
  .stage1-v45 .offer-more p{font-size:14px}
}

@media (max-width:560px){
  .stage1-v45 .project-grid{box-sizing:border-box;width:100%}
}
