/* icomSEO: identyfikacja 2.0 (księga znaku 2.0) */
.logo.logo-svg{display:inline-flex;align-items:center;font-size:0;line-height:0;letter-spacing:0}
.logo.logo-svg .icom-logo{display:block;height:34px;width:auto}
.foot-logo.foot-logo-svg{font-size:0;line-height:0}
.foot-logo.foot-logo-svg .icom-logo{display:block;height:38px;width:auto}
@media(max-width:640px){.logo.logo-svg .icom-logo{height:28px}.foot-logo.foot-logo-svg .icom-logo{height:32px}}

/* fale z kropki w nagłówkach stron (tam, gdzie motyw ma czerwoną poświatę) */
.hero::after{content:"";position:absolute;right:-150px;top:-330px;width:900px;height:900px;background:url(fale.svg) center/contain no-repeat;pointer-events:none;z-index:0}
.hero>.wrap{z-index:1}
@media(min-width:1200px){.hero:not(.icom-ha)::after{background-image:url(fale-kropka.svg)}}
@media(max-width:768px){.hero::after{width:560px;height:560px;right:-230px;top:-250px;opacity:.75}}

/* biała lupa w czerwonym bloku CTA */
.cta-box::after{content:"";position:absolute;right:-60px;bottom:-90px;width:320px;height:320px;background:url(lupa-biala.svg) center/contain no-repeat;opacity:.13;pointer-events:none;transform:rotate(-8deg)}
.cta-box>*{position:relative;z-index:1}
@media(max-width:640px){.cta-box::after{width:200px;height:200px;right:-50px;bottom:-60px}}

/* fale w prawym górnym rogu stopki */
footer.site{position:relative;overflow:hidden}
footer.site::before{content:"";position:absolute;right:-260px;top:-300px;width:760px;height:760px;background:url(fale-stopka.svg) center/contain no-repeat;pointer-events:none}
footer.site>.wrap{position:relative;z-index:1}

/* ===== strona główna (2.1) ===== */
.icom-hm-art{display:none}
@media(min-width:1200px){
  .home-hero::after{display:none}
  .home-hero>.wrap{position:relative;padding-right:calc(28px + 470px);min-height:600px}
  .icom-hm-art{display:block;position:absolute;right:28px;top:50%;width:440px;height:440px;transform:translateY(-50%);pointer-events:none;z-index:0}
}
.icom-hm-art svg{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible}
.icom-hm-chip{position:absolute;background:#fff;color:#5B6175;border-radius:16px;padding:14px 20px;box-shadow:0 22px 44px rgba(4,8,30,.38);font-size:14px;line-height:1.35;white-space:nowrap}
.icom-hm-chip b{display:block;color:#0C1444;font-size:26px;font-weight:800;letter-spacing:-.6px;line-height:1.1}
.icom-hm-chip b i{font-style:normal;color:#CF1B4B}
.icom-hm-c1{right:-6px;top:300px}
.icom-hm-c2{left:-10px;top:330px;display:flex;align-items:center;gap:10px;color:#0C1444;font-size:16px;font-weight:800;padding:14px 18px}
.icom-hm-dot{width:12px;height:12px;border-radius:50%;background:#CF1B4B;box-shadow:0 0 0 5px #FDEAF0}
@media(prefers-reduced-motion:no-preference){
  .icom-hm-art svg .icom-hm-r{animation:icomFala 4.8s ease-in-out infinite}
  .icom-hm-chip{animation:icomUnos 6s ease-in-out infinite}.icom-hm-c2{animation-delay:-3s}
}
@keyframes icomFala{0%,100%{opacity:1}50%{opacity:.55}}
@keyframes icomUnos{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* wzory sekcji: fale w sekcjach białych, siatka kropek w jasnych, lupa w granatowej */
body.home .ilf-band + .visibility,body.home .process{position:relative;overflow:hidden}
body.home .ilf-band + .visibility::before{content:"";position:absolute;right:-260px;top:-300px;width:760px;height:760px;background:url(fale-granat.svg) center/contain no-repeat;pointer-events:none}
body.home .whyus,body.home .approach,body.home .ipro-wyr,body.home .branze,body.home .faq{position:relative}
body.home .ipro-wyr::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(12,20,68,.11) 1.5px,transparent 1.8px);background-size:26px 26px;-webkit-mask-image:linear-gradient(105deg,transparent 45%,#000 100%);mask-image:linear-gradient(105deg,transparent 45%,#000 100%);pointer-events:none}
body.home .ilf-band + .visibility>.wrap,body.home .process>.wrap,body.home .whyus>.wrap,body.home .approach>.wrap,body.home .ipro-wyr>.wrap,body.home .branze>.wrap,body.home .faq>.wrap{position:relative;z-index:1}
body.home .seo26::after{content:"";position:absolute;right:-120px;top:-215px;width:520px;height:520px;background:url(lupa-tlo.svg) center/contain no-repeat;pointer-events:none;z-index:0}
body.home .seo26>.wrap{position:relative;z-index:1}

/* karty: czerwona kreska po najechaniu */
body.home .svc,body.home .why-card{position:relative;overflow:hidden}
body.home .svc::before,body.home .why-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:#CF1B4B;transform:scaleX(0);transform-origin:left;transition:transform .25s cubic-bezier(.2,.7,.2,1)}
body.home .svc:hover::before,body.home .why-card:hover::before,body.home .svc:focus-visible::before{transform:scaleX(1)}
@media(max-width:768px){body.home .seo26::after{width:320px;height:320px;right:-90px;top:-140px}}

/* ===== animowane logo w nagłówku (2.2): raz na wizytę i po najechaniu ===== */
.icom-logo-anim{overflow:visible}
.icom-logo-anim .il-lupa,.icom-logo-anim .il-kropka,.icom-logo-anim .il-fala{transform-box:fill-box;transform-origin:50% 50%}
.icom-logo-anim .il-lupa{transform-origin:41% 41%}
.icom-logo-anim .il-fala{opacity:0}
@media(prefers-reduced-motion:no-preference){
  .icom-logo-intro .icom-logo-anim .il-lupa{animation:ilLupa .6s cubic-bezier(.2,.7,.2,1) both}
  .icom-logo-intro .icom-logo-anim .il-kropka{animation:ilKropka .45s cubic-bezier(.3,1.6,.5,1) .35s both}
  .icom-logo-intro .icom-logo-anim .il-fala{animation:ilFala 1s ease-out .7s forwards}
  .icom-logo-intro .icom-logo-anim .il-napis{animation:ilNapis .6s cubic-bezier(.2,.7,.2,1) .45s both}
  .icom-logo-intro .icom-logo-anim .il-tkropka{animation:ilTkropka .5s cubic-bezier(.3,1.5,.5,1) 1s both}
  .logo-svg:hover .il-fala,.logo-svg:focus-visible .il-fala{animation:ilFala .9s ease-out both}
  .logo-svg:hover .il-kropka,.logo-svg:focus-visible .il-kropka{animation:ilPuls .9s ease-in-out both}
}
@keyframes ilLupa{from{opacity:0;transform:scale(.55) rotate(-25deg)}to{opacity:1;transform:none}}
@keyframes ilKropka{from{opacity:0;transform:scale(0)}to{opacity:1;transform:none}}
@keyframes ilFala{0%{opacity:.6;transform:scale(1)}100%{opacity:0;transform:scale(3.4)}}
@keyframes ilNapis{from{opacity:0;transform:translateX(-240px)}to{opacity:1;transform:none}}
@keyframes ilTkropka{from{opacity:0;transform:translateY(-500px)}to{opacity:1;transform:none}}
@keyframes ilPuls{0%,100%{transform:scale(1)}45%{transform:scale(.8)}}

/* ===== 2.3: ruch w grafice nagłówka strony głównej ===== */
.icom-hm-w{opacity:0;vector-effect:non-scaling-stroke}
.icom-hm-licz{font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:no-preference){
  .icom-hm-w{transform-box:view-box;transform-origin:230px 190px;animation:icomHmFala 6s cubic-bezier(.25,.6,.35,1) infinite}
  .icom-hm-w2{animation-delay:2s}.icom-hm-w3{animation-delay:4s}
  .icom-hm-lupa{transform-box:view-box;transform-origin:230px 190px;animation:icomHmLupa 10s ease-in-out infinite}
  .icom-hm-kropka{transform-box:view-box;transform-origin:230px 190px;animation:icomHmKropka 3s ease-in-out infinite}
  .icom-hm-art{animation:icomHmWejscie .9s cubic-bezier(.2,.7,.2,1) both}
  .icom-hm-c1{animation:icomHmChip .7s .35s cubic-bezier(.2,.7,.2,1) both,icomUnos 6s 1.1s ease-in-out infinite}
  .icom-hm-c2{animation:icomHmChip .7s .55s cubic-bezier(.2,.7,.2,1) both,icomUnos 6s 1.3s ease-in-out infinite}
}
@keyframes icomHmFala{0%{transform:scale(1);opacity:.5}80%{opacity:.04}100%{transform:scale(8);opacity:0}}
@keyframes icomHmLupa{0%,100%{transform:rotate(0)}50%{transform:rotate(-7deg)}}
@keyframes icomHmKropka{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes icomHmWejscie{from{opacity:0;transform:translateY(-50%) scale(.94)}to{opacity:1;transform:translateY(-50%) scale(1)}}
@keyframes icomHmChip{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

/* ===== 2.4: fale przechodzące płynnie między sekcjami strony głównej =====
   Środek fal leży na granicy dwóch sekcji (40 px pod granicą, żeby kropka nie była przecięta).
   Sekcja wyżej pokazuje górną część fal, sekcja niżej dolną, więc linie łączą się bez cięcia. */
body.home{--fs:820px;--fo:40px}
body.home .icom-s-oferta,body.home .whyus,body.home .process,body.home .icom-s-efekty,body.home .icom-s-case-studies,body.home .icom-s-opinie,body.home .branze,body.home .icom-s-wiedza,body.home .icom-s-zaufali-nam,body.home .icom-gdzie,body.home .faq,body.home .cta{position:relative;overflow:hidden}
body.home .icom-s-oferta>.wrap,body.home .whyus>.wrap,body.home .process>.wrap,body.home .icom-s-efekty>.wrap,body.home .icom-s-case-studies>.wrap,body.home .icom-s-opinie>.wrap,body.home .branze>.wrap,body.home .icom-s-wiedza>.wrap,body.home .icom-s-zaufali-nam>.wrap,body.home .icom-gdzie>.wrap,body.home .faq>.wrap,body.home .cta>.wrap{position:relative;z-index:1}
/* elementy: górna część (sekcja wyżej) */
body.home .icom-s-oferta::after,body.home .process::before,body.home .icom-s-case-studies::after,body.home .branze::after,body.home .icom-s-zaufali-nam::after,body.home .faq::after,
/* dolna część (sekcja niżej) */
body.home .whyus::after,body.home .icom-s-efekty::after,body.home .icom-s-opinie::after,body.home .icom-s-wiedza::after,body.home .icom-gdzie::after,body.home .cta::after{content:"";position:absolute;width:var(--fs);height:var(--fs);background:url(fale-szare.svg) center/contain no-repeat;pointer-events:none;z-index:0;top:auto;bottom:auto;left:auto;right:auto;inset:auto}
body.home .icom-s-oferta::after,body.home .process::before,body.home .icom-s-case-studies::after,body.home .branze::after,body.home .icom-s-zaufali-nam::after,body.home .faq::after{bottom:calc(var(--fs) / -2 - var(--fo))}
body.home .whyus::after,body.home .icom-s-efekty::after,body.home .icom-s-opinie::after,body.home .icom-s-wiedza::after,body.home .icom-gdzie::after,body.home .cta::after{top:calc(var(--fs) / -2 + var(--fo))}
/* 1. Oferta / Dlaczego icomSEO: lewa strona, z kropką */
body.home .icom-s-oferta::after,body.home .whyus::after{left:calc(70px - var(--fs) / 2)}
/* 2. Jak pracujemy / Wyniki: lewa strona */
body.home .process::before,body.home .icom-s-efekty::after{left:calc(-20px - var(--fs) / 2)}
/* 3. Case studies / Opinie: prawa strona, z kropką */
body.home .icom-s-case-studies::after,body.home .icom-s-opinie::after{right:calc(70px - var(--fs) / 2)}
/* 4. Branże / Wiedza: lewa strona */
body.home .branze::after,body.home .icom-s-wiedza::after{left:calc(-40px - var(--fs) / 2)}
/* 5. Zaufali nam / Gdzie jesteśmy: prawa strona */
body.home .icom-s-zaufali-nam::after,body.home .icom-gdzie::after{right:calc(-60px - var(--fs) / 2)}
/* 6. Najczęstsze pytania / Zbudujmy widoczność: lewa strona, z kropką */
body.home .faq::after,body.home .cta::after{left:calc(70px - var(--fs) / 2)}
@media(min-width:1400px){body.home .whyus::after,body.home .icom-s-opinie::after,body.home .cta::after{background-image:url(fale-szare-kropka.svg)}}
@media(max-width:768px){body.home{--fs:520px;--fo:26px}}

/* fale w sekcji Oferta: w całości wewnątrz sekcji, bez cięcia przy formularzu */
body.home .ilf-band + .visibility::before{right:-410px;top:40px;width:var(--fs);height:var(--fs);background-image:url(fale-szare.svg)}
@media(max-width:768px){body.home .ilf-band + .visibility::before{right:-300px;top:30px}}

/* elementy przy granatowych krawędziach: łagodne wygaszenie zamiast ostrego cięcia */
.hero::after{-webkit-mask-image:linear-gradient(to bottom,transparent 330px,#000 410px);mask-image:linear-gradient(to bottom,transparent 330px,#000 410px)}
@media(max-width:768px){.hero::after{-webkit-mask-image:linear-gradient(to bottom,transparent 250px,#000 310px);mask-image:linear-gradient(to bottom,transparent 250px,#000 310px)}}
footer.site::before{-webkit-mask-image:linear-gradient(to bottom,transparent 300px,#000 460px);mask-image:linear-gradient(to bottom,transparent 300px,#000 460px)}
body.home .seo26::after{-webkit-mask-image:linear-gradient(to bottom,transparent 215px,#000 340px);mask-image:linear-gradient(to bottom,transparent 215px,#000 340px)}
@media(max-width:768px){body.home .seo26::after{-webkit-mask-image:linear-gradient(to bottom,transparent 140px,#000 220px);mask-image:linear-gradient(to bottom,transparent 140px,#000 220px)}}

/* ===== 2.3: formularz bezpłatnego audytu pod nagłówkiem strony głównej ===== */
body.home .ilf-band-home .ilf{position:relative;overflow:hidden;background:linear-gradient(135deg,#0C1444 0%,#16205E 62%,#1C2A7A 100%);border:0;border-radius:24px;padding:34px 40px 30px;box-shadow:0 28px 60px rgba(12,20,68,.22);color:#fff}
body.home .ilf-band-home .ilf::before{content:"";position:absolute;right:-210px;top:-250px;width:620px;height:620px;background:url(fale-form.svg) center/contain no-repeat;pointer-events:none}
body.home .ilf-band-home .ilf>*{position:relative;z-index:1}
body.home .ilf-band-home .ilf-txt::before{content:"Bezpłatny audyt";display:flex;align-items:center;gap:10px;font-size:12px;font-weight:800;letter-spacing:2.4px;text-transform:uppercase;color:#FF7AA0;margin-bottom:10px;background:linear-gradient(#FF7AA0,#FF7AA0) left center/26px 2px no-repeat;padding-left:36px}
body.home .ilf-band-home .ilf h3{color:#fff;font-size:24px;letter-spacing:-.4px;max-width:70%}
body.home .ilf-band-home .ilf-txt p{color:#C7CDF0;max-width:70%}
body.home .ilf-band-home .ilf-pola input,body.home .ilf-band-home .ilf-pola select{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#fff}
body.home .ilf-band-home .ilf-pola input::placeholder{color:#AEB6E0;opacity:1}
body.home .ilf-band-home .ilf-pola input:focus,body.home .ilf-band-home .ilf-pola select:focus{background:rgba(255,255,255,.14);outline:2px solid #FF7AA0;outline-offset:1px}
body.home .ilf-band-home .ilf-pola button{box-shadow:0 10px 24px rgba(207,27,75,.35)}
body.home .ilf-band-home .ilf-pola button:hover{filter:none;background:#B3163F}
body.home .ilf-band-home .ilf .ilf-kl{color:#AEB6E0}
body.home .ilf-band-home .ilf .ilf-kl a{color:#fff}
body.home .ilf-band-home .ilf .ilf-alt{color:#fff}
body.home .ilf-band-home .ilf .ilf-alt a{color:#FF7AA0}
@media(max-width:768px){body.home .ilf-band-home .ilf{padding:28px 22px 24px;border-radius:20px}body.home .ilf-band-home .ilf h3,body.home .ilf-band-home .ilf-txt p{max-width:none}body.home .ilf-band-home .ilf::before{width:380px;height:380px;right:-150px;top:-150px;opacity:.7}}

/* ===== 2.3: sekcja „Gdzie jesteśmy” ===== */
.icom-gdzie .od-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px;margin-top:40px}
.icom-gdzie .od{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid #E3E6EF;border-radius:20px;padding:30px 30px 28px;box-shadow:0 1px 0 rgba(12,20,68,.03);transition:box-shadow .25s,transform .25s}
.icom-gdzie .od::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:#CF1B4B;transform:scaleX(0);transform-origin:left;transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.icom-gdzie .od::after{content:"";position:absolute;right:-112px;top:-112px;width:300px;height:300px;background:url(fale-szare-kropka.svg) center/contain no-repeat;pointer-events:none;opacity:.9}
.icom-gdzie .od:hover{box-shadow:0 22px 44px rgba(12,20,68,.10);transform:translateY(-3px)}
.icom-gdzie .od:hover::before{transform:scaleX(1)}
.icom-gdzie .od>*{position:relative;z-index:1}
.icom-gdzie .od .oi{width:56px;height:56px;border-radius:16px;background:#FDEAF0;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.icom-gdzie .od .oi svg{width:34px;height:34px}
.icom-gdzie .od .tag{font-size:12px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:#CF1B4B}
.icom-gdzie .od h3{font-size:26px;font-weight:800;letter-spacing:-.6px;color:#0C1444;margin:6px 0 2px}
.icom-gdzie .od p{font-size:15px;line-height:1.6;color:#5B6175;margin:8px 0 0}
.icom-gdzie .od>a{margin-top:auto;padding-top:18px;color:#CF1B4B;font-weight:700;font-size:14.5px;text-decoration:none}
.icom-gdzie .od>a:hover{color:#B3163F;text-decoration:underline}
.icom-gdzie .od-swiat{background:linear-gradient(150deg,#0C1444 0%,#16205E 70%,#1C2A7A 100%);border:0;color:#fff}
.icom-gdzie .od-swiat::after{width:520px;height:520px;right:-205px;top:-205px;background-image:url(fale-form.svg);opacity:1}
.icom-gdzie .od-swiat .oi{background:rgba(255,255,255,.10)}
.icom-gdzie .od-swiat .tag{color:#FF7AA0}
.icom-gdzie .od-swiat h3{color:#fff}
.icom-gdzie .od-kraje{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.icom-gdzie .od-kraje a{font-size:13px;font-weight:600;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.25);border-radius:20px;padding:5px 11px;transition:background .2s,border-color .2s}
.icom-gdzie .od-kraje a:hover{background:#CF1B4B;border-color:#CF1B4B}
.icom-gdzie .od-swiat .od-dalej{color:#FF7AA0}
.icom-gdzie .od-swiat .od-dalej:hover{color:#fff}
.icom-gdzie .icom-od-linki{margin:26px 0 0;font-size:15px}
.icom-gdzie .icom-od-linki a{color:#CF1B4B;font-weight:700;text-decoration:none}
.icom-gdzie .icom-od-linki a:hover{text-decoration:underline}
@media(max-width:1024px){.icom-gdzie .od-grid{grid-template-columns:1fr 1fr!important}.icom-gdzie .od-swiat{grid-column:1/-1}}
@media(max-width:640px){.icom-gdzie .od-grid{grid-template-columns:1fr!important}.icom-gdzie .od{padding:26px 24px 24px}.icom-gdzie .od h3{font-size:23px}}

/* ===== 2.5: ruchoma grafika z lupą w nagłówkach stron z głównego menu ===== */
@media(min-width:1200px){
  .hero.icom-hs::after{display:none}
  .hero.icom-hs>.wrap{position:relative;padding-right:calc(28px + 440px)}
  .hero.icom-hs .icom-hm-art{width:400px;height:400px;right:24px}
}
.icom-ha-fale{position:absolute;left:50%;top:50%;width:880px;height:880px;transform:translate(-50%,-50%);z-index:-1;pointer-events:none;overflow:visible}
.icom-hf{opacity:0;vector-effect:non-scaling-stroke}
@media(prefers-reduced-motion:no-preference){
  .icom-hf{transform-box:view-box;transform-origin:450px 450px;animation:icomHmFala 6s cubic-bezier(.25,.6,.35,1) infinite}
  .icom-hf2{animation-delay:2s}.icom-hf3{animation-delay:4s}
}
