/* ===================================================================
   KABI CHEMIE — arkusz stylów
   Paleta: woda / przemysł (granat + błękit + cyjan)
   =================================================================== */
:root{
  --navy:#0b3d5c; --navy-2:#0a3147;
  --brand:#0066cc; --brand-dark:#0052a3;
  --accent:#7fd4ef; --accent-soft:#d7eef8;
  --ink:#16252e; --muted:#5c6b75;
  --line:#e3eaef; --bg:#ffffff; --bg-alt:#f4f8fb; --bg-soft:#eaf3f8;
  --ok:var(--brand); --warn:#b9772a;
  --radius:14px; --radius-sm:9px;
  --shadow:0 8px 30px rgba(11,61,92,.10);
  --shadow-sm:0 2px 10px rgba(11,61,92,.07);
  --wrap:1160px; --narrow:820px; --header-h:88px;
  --font:"Aptos","Segoe UI Variable Text","Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  --font-display:"Bahnschrift","Aptos Display","Segoe UI Variable Display","DIN Condensed","Arial Narrow",var(--font);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);
  line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg{max-width:100%;display:block;height:auto}
a{color:var(--brand-dark);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.18;color:var(--navy);font-weight:780;letter-spacing:-.01em}
h1{font-size:clamp(1.85rem,4vw,2.9rem);margin:.1em 0 .35em}
h2{font-size:clamp(1.4rem,2.6vw,2rem);margin:0 0 .5em}
h3{font-size:1.16rem;margin:0 0 .4em}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:22px}
.narrow{max-width:var(--narrow);margin-inline:auto}
.muted{color:var(--muted)}
.skip{position:absolute;left:-999px}
.skip:focus{left:12px;top:12px;background:#fff;padding:10px 16px;border-radius:8px;z-index:200;box-shadow:var(--shadow)}

/* ---------- przyciski ---------- */
.btn{display:inline-flex;align-items:center;gap:.5em;font-weight:680;font-size:.97rem;
  padding:.72em 1.4em;border-radius:999px;border:2px solid transparent;cursor:pointer;
  transition:.18s ease;text-decoration:none;white-space:nowrap}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand)}
.btn-primary:hover{background:var(--brand-dark);border-color:var(--brand-dark);box-shadow:var(--shadow-sm)}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--brand);color:var(--brand-dark)}
.btn-ghost-light{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.55)}
.btn-ghost-light:hover{background:rgba(255,255,255,.18)}
.btn-arrow{gap:.72em}
.btn-arrow::after{content:"↗";display:inline-block;flex:0 0 auto;font-size:.94em;font-weight:850;line-height:1;
  transform:translate(0,0);transition:transform .2s cubic-bezier(.2,.8,.2,1)}
.btn-arrow:hover::after,.btn-arrow:focus-visible::after{transform:translate(2px,-2px)}
.cta-row{display:flex;flex-wrap:wrap;gap:.7em;margin-top:1.3em}

/* ---------- header / nawigacja ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);
  backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line)}
.site-header>.wrap{max-width:1280px}
.header-inner{display:flex;align-items:center;gap:1.2rem;min-height:68px}
.brand{display:flex;align-items:center;flex:0 0 auto}
.primary{margin-left:auto;display:flex;align-items:center;gap:.75rem}
.menu{list-style:none;display:flex;gap:.05rem;margin:0;padding:0}
.menu>li{position:relative}
.menu>li>a{display:flex;align-items:center;gap:.25em;padding:.5em .55em;border-radius:0;
  color:var(--navy);font-weight:600;font-size:.9rem}
.menu>li>a:hover,.menu>li>a[aria-current]{background:transparent;color:var(--brand-dark);text-decoration:underline;text-underline-offset:.32em}
.caret{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);margin-left:.15em;opacity:.6;margin-top:-3px}
.nav-panel{position:fixed;top:var(--header-h);left:50%;z-index:120;width:min(1480px,calc(100vw - 56px));
  color:#fff;background:rgba(4,22,33,.88);border:1px solid rgba(205,235,245,.22);border-top-color:rgba(255,255,255,.34);
  border-radius:0 0 14px 14px;box-shadow:0 24px 58px rgba(0,13,21,.28);overflow:hidden;
  -webkit-backdrop-filter:blur(24px) saturate(120%);backdrop-filter:blur(24px) saturate(120%);
  transform:translateX(-50%) translateY(-9px);transform-origin:top center;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .2s ease,transform .32s cubic-bezier(.2,.82,.22,1),visibility .2s}
.nav-panel::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.has-sub.is-open .nav-panel{
  opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.nav-panel__main{display:grid;grid-template-columns:minmax(360px,380px) minmax(0,1fr);min-height:300px}
.nav-panel__identity{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:clamp(1.65rem,2.2vw,2.25rem);border-right:1px solid rgba(220,240,247,.2);background:rgba(3,25,36,.22)}
.nav-panel__identity::before{content:"";position:absolute;z-index:-1;right:-74px;bottom:-78px;width:230px;aspect-ratio:1;
  background:url('/assets/kabi-sygnet.svg') center/contain no-repeat;opacity:.08;filter:brightness(0) invert(1)}
.nav-panel__lockup{display:inline-grid;justify-items:center;gap:.18rem;align-items:start}
.nav-panel__lockup-logo{width:min(300px,100%);height:auto;object-fit:contain}
.nav-panel__lockup .logo-tagline{color:#8eddf5;font-size:.72rem;letter-spacing:.24em;text-align:center}
.nav-panel__identity-copy{display:flex;flex-direction:column;gap:.55rem;max-width:none}
.nav-panel__identity-copy span{color:#8eddf5;font-size:.67rem;font-weight:850;text-transform:uppercase}
.nav-panel__identity-copy strong{color:#fff;font-size:clamp(.92rem,.96vw,.98rem);line-height:1.15;white-space:nowrap}
.nav-panel__services{display:flex;flex-direction:column;padding:clamp(1.4rem,1.8vw,1.75rem) clamp(1.6rem,2.4vw,2.6rem)}
.nav-panel__services-head{display:block}
.nav-panel__section-title{display:block;margin-bottom:.48rem;color:#8eddf5;font-size:.7rem;font-weight:850;line-height:1.2;
  letter-spacing:.15em;text-transform:uppercase}
.nav-panel__links{list-style:none;margin:.7rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem clamp(.8rem,1.8vw,1.8rem)}
.nav-panel__groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(1rem,2.4vw,2.6rem);margin-top:0}
.nav-panel__group+.nav-panel__group{padding-left:clamp(1rem,2.4vw,2.6rem);border-left:1px solid rgba(220,240,247,.16)}
/* padding linku (.7rem) + kolumna ikony (30px) + gap (.6rem) = nagłówek w jednej osi z nazwami pozycji */
.nav-panel__group-title{display:block;padding-left:calc(.7rem + 30px + .6rem);color:#82daf4;font-size:.68rem;font-weight:820;letter-spacing:.14em;text-transform:uppercase}
.nav-panel__links--stack{grid-template-columns:1fr;margin-top:.5rem}
.nav-panel__links li{opacity:0;transform:translateY(8px);transition:opacity .26s ease,transform .3s cubic-bezier(.2,.82,.22,1)}
.nav-panel__links li:nth-child(1),.nav-panel__links li:nth-child(2){transition-delay:.04s}
.nav-panel__links li:nth-child(3),.nav-panel__links li:nth-child(4){transition-delay:.08s}
.nav-panel__links li:nth-child(5),.nav-panel__links li:nth-child(6){transition-delay:.12s}
.nav-panel__links li:nth-child(7),.nav-panel__links li:nth-child(8){transition-delay:.16s}
.has-sub.is-open .nav-panel__links li{opacity:1;transform:none}
.nav-panel__links a{display:grid;grid-template-columns:30px 1fr 18px;align-items:center;gap:.6rem;min-height:51px;padding:.45rem .7rem;
  border-radius:10px;color:rgba(246,251,253,.92);font-size:.93rem;font-weight:680;text-decoration:none;
  transition:color .18s ease,background-color .18s ease,transform .2s ease}
.nav-panel__links a:hover,.nav-panel__links a:focus-visible{color:#fff;background:rgba(255,255,255,.1);transform:translateX(3px);outline:none}
.nav-panel__item-logo{width:28px;height:28px;object-fit:contain;opacity:.92;filter:drop-shadow(0 2px 5px rgba(0,20,31,.18));transition:opacity .18s ease,transform .2s ease,filter .18s ease}
.nav-panel__links a:hover .nav-panel__item-logo,.nav-panel__links a:focus-visible .nav-panel__item-logo{opacity:1;transform:rotate(-7deg) scale(1.06)}
.nav-panel__link-label{line-height:1.22}
.nav-panel__links svg,.nav-panel__cta svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.nav-panel__links a:hover svg,.nav-panel__links a:focus-visible svg{transform:translateX(3px)}
.nav-panel__action{display:grid;grid-template-columns:minmax(250px,1.2fr) minmax(170px,.8fr) auto;align-items:center;gap:clamp(1rem,2vw,2rem);margin-top:auto;padding-top:1rem;
  border-top:1px solid rgba(220,240,247,.16)}
.nav-panel__action-title{color:#fff;font-size:.96rem;font-weight:740;line-height:1.25;text-wrap:balance}
.nav-panel__action-note{color:rgba(203,226,235,.7);font-size:.72rem;line-height:1.3;text-wrap:pretty}
.nav-panel__cta{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;flex:0 0 auto;min-height:41px;padding:.68rem 1.05rem;
  border:1px solid rgba(194,234,247,.6);border-radius:999px;background:rgba(255,255,255,.04);color:#fff;font-size:.77rem;font-weight:820;text-decoration:none;white-space:nowrap;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.nav-panel__cta:hover,.nav-panel__cta:focus-visible{background:#82daf4;border-color:#82daf4;color:#03202e;transform:translateY(-1px);outline:none;text-decoration:none}
.nav-panel__cta:hover svg,.nav-panel__cta:focus-visible svg{transform:translateX(3px)}
.nav-panel__identity,.nav-panel__services{opacity:0;transition:opacity .26s ease,transform .34s cubic-bezier(.2,.82,.22,1)}
.nav-panel__identity{transform:translateX(-12px)}
.nav-panel__services{transform:translateY(8px)}
.has-sub.is-open .nav-panel__identity,.has-sub.is-open .nav-panel__services{opacity:1;transform:none}
.has-sub.is-open .nav-panel__services{transition-delay:.04s}
@media (prefers-reduced-motion:reduce){
  .nav-panel,.nav-panel__identity,.nav-panel__services,.nav-panel__links li{transition-duration:.01ms!important;transition-delay:0s!important}
}
.nav-cta{display:flex;gap:.5rem}
.nav-cta .btn{padding:.55em 1.05em;font-size:.9rem}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:8px;cursor:pointer;margin-left:auto}
.nav-toggle span{width:24px;height:2px;background:var(--navy);border-radius:2px;transition:.2s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ===== Logo lockup + tagline ===== */
.brand{display:inline-grid;justify-items:center;gap:.14rem;flex:0 0 auto;min-width:0}
.brand-logo{width:clamp(176px,10.5vw,210px);height:auto;aspect-ratio:456/90;display:block;object-fit:contain}
.logo-tagline{display:block;width:100%;color:var(--navy);font-family:var(--font-display);font-size:.66rem;line-height:1.05;letter-spacing:.2em;font-weight:650;text-transform:uppercase;white-space:nowrap;text-align:center}

/* ===== Nagłówek nakładkowy nad hero z wideo / ciemnym hero ===== */
.has-video-hero .site-header,
.has-dark-hero .site-header{
  position:fixed;top:0;left:0;right:0;width:100%;
  margin-bottom:0}
.has-video-hero .site-header:not(.solid),
.has-dark-hero .site-header:not(.solid){
  background:transparent;
  backdrop-filter:none;border-bottom-color:transparent}
.has-video-hero .site-header:not(.solid) .brand-logo,
.has-dark-hero .site-header:not(.solid) .brand-logo{filter:none}
.has-video-hero .site-header:not(.solid) .logo-tagline,
.has-dark-hero .site-header:not(.solid) .logo-tagline{color:#fff}
.has-video-hero .site-header:not(.solid) .nav-toggle span,
.has-dark-hero .site-header:not(.solid) .nav-toggle span{background:#fff}
.has-video-hero .hero-inner-v{padding-top:calc(var(--header-h) + clamp(2rem,5vw,3.5rem))}
@media(min-width:1161px){
  .has-video-hero .site-header:not(.solid) .menu>li>a,
  .has-dark-hero .site-header:not(.solid) .menu>li>a{color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.25)}
  .has-video-hero .site-header:not(.solid) .menu>li>a:hover,
  .has-video-hero .site-header:not(.solid) .menu>li>a[aria-current],
  .has-dark-hero .site-header:not(.solid) .menu>li>a:hover,
  .has-dark-hero .site-header:not(.solid) .menu>li>a[aria-current]{
    background:transparent;color:#fff;text-decoration:underline;text-underline-offset:.32em}
}
/* okruszki jako nakładka na ciemny hero (bez białego paska nad hero) */
.has-dark-hero .breadcrumbs{position:absolute;top:calc(var(--header-h) + 6px);left:0;right:0;z-index:60;
  background:transparent;border-bottom:0}
.has-dark-hero .breadcrumbs li{color:rgba(214,236,245,.72)}
.has-dark-hero .breadcrumbs a{color:rgba(214,236,245,.72)}
.has-dark-hero .breadcrumbs a:hover{color:#fff}
.has-dark-hero .breadcrumbs li[aria-current]{color:#fff}
.has-dark-hero .breadcrumbs li+li::before{color:var(--accent);opacity:.8}
/* po przewinięciu pasek staje się solidny i „przyklejony" (czytelność nad białą treścią) */
.site-header.solid{box-shadow:0 4px 18px rgba(11,61,92,.10)}

/* ---------- breadcrumbs ---------- */
.breadcrumbs{background:var(--bg-alt);border-bottom:1px solid var(--line);font-size:.84rem}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.2em;margin:0;padding:.6em 0}
.breadcrumbs li{display:flex;align-items:center;color:var(--muted)}
.breadcrumbs li+li::before{content:"›";margin:0 .55em;color:var(--brand);opacity:.7}
.breadcrumbs a{color:var(--muted)}
.breadcrumbs a:hover{color:var(--brand-dark)}
.breadcrumbs li[aria-current]{color:var(--ink);font-weight:600}

/* ---------- hero ---------- */
.hero{background:linear-gradient(180deg,var(--bg-soft),#fff);border-bottom:1px solid var(--line)}
.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center;
  padding:clamp(2.5rem,6vw,4.5rem) 0}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;
  color:var(--brand);margin:0 0 .8em}
.hero-copy .lead{font-size:1.12rem;color:#33454f;max-width:36em}
.hero-media svg{border-radius:18px;box-shadow:var(--shadow)}
.hero-stats{display:flex;flex-wrap:wrap;gap:1.6rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.hero-stats div{display:flex;flex-direction:column}
.hero-stats strong{font-size:1.7rem;color:var(--brand-dark);font-weight:800;letter-spacing:-.02em}
.hero-stats span{font-size:.82rem;color:var(--muted)}

/* hero z wideo w tle — główny motyw strony głównej */
.hero-video{position:relative;overflow:hidden;background:#0D1830;isolation:isolate;border-bottom:0}
.hero-video .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}
.hero-video .hero-overlay{position:absolute;inset:0;z-index:1;
  background:
    repeating-linear-gradient(0deg,rgba(4,11,26,.5) 0 1px,transparent 1px 40px),
    repeating-linear-gradient(90deg,rgba(4,11,26,.5) 0 1px,transparent 1px 40px),
    linear-gradient(100deg,rgba(7,38,56,.94),rgba(7,38,56,.74) 55%,rgba(7,38,56,.48))}
.hero-inner-v{position:relative;z-index:2;display:flex;align-items:center;
  min-height:100svh;padding:clamp(4.5rem,8vw,7rem) 0 clamp(5rem,10vw,8rem)}
@supports (height: 100dvh){
  .hero-inner-v{min-height:100dvh}
}
.hero-video .hero-copy{max-width:660px}
.hero-video .eyebrow{color:var(--accent)}
.hero-video h1{color:#fff}
.hero-video .lead{color:#e6f2f8}
.hero-video .hero-stats{border-top-color:rgba(255,255,255,.28)}
.hero-video .hero-stats strong{color:var(--accent)}
.hero-video .hero-stats span{color:#cfe2ee}
.hero-video .btn-ghost{color:#fff;border-color:rgba(255,255,255,.55)}
.hero-video .btn-ghost:hover{background:rgba(255,255,255,.14);border-color:#fff;color:#fff}
@media (prefers-reduced-motion: reduce){
  .hero-video .hero-bg{display:none}
}

/* ---------- sekcje ---------- */
.section{padding:clamp(2.4rem,5vw,3.8rem) 0}
.section.alt{background:var(--bg-alt)}
.section-head{max-width:680px;margin:0 auto 2.2rem;text-align:center}
.section-head p{color:var(--muted);font-size:1.05rem;margin:0}
.prose h2{margin-top:1.6em}.prose h2:first-child{margin-top:0}
.prose ul{padding-left:1.2em}.prose li{margin:.35em 0}
.prose .note,.note{background:var(--bg-soft);border-left:4px solid var(--brand);
  padding:.9em 1.1em;border-radius:0 10px 10px 0;color:#2c3d46;font-size:.96rem}
.bluf{padding:clamp(1.8rem,4vw,2.6rem) 0}
.bluf-text{font-size:1.18rem;color:#2c3d46;font-weight:500;margin:0;text-align:center}

/* ---------- features ---------- */
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.1rem}
.feature{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;
  transition:.18s;box-shadow:var(--shadow-sm)}
.feature:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:var(--shadow)}
.ficon{width:46px;height:46px;border-radius:12px;background:var(--bg-soft);color:var(--brand-dark);
  display:grid;place-items:center;margin-bottom:1rem}
.ficon svg{width:24px;height:24px}
.feature h3{margin-bottom:.35em}
.feature p{margin:0;color:var(--muted);font-size:.96rem}

/* ---------- steps ---------- */
.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.3rem}
.steps li{display:flex;gap:1rem;align-items:flex-start}
.step-num{flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:var(--brand);color:#fff;
  display:grid;place-items:center;font-weight:800;font-size:1.05rem;box-shadow:0 4px 12px rgba(23,137,182,.35)}
.steps h3{margin-bottom:.2em}.steps p{margin:0;color:var(--muted);font-size:.95rem}

/* ---------- tabele ---------- */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
table{width:100%;border-collapse:collapse;min-width:460px}
th,td{padding:.85em 1.1em;text-align:left;border-bottom:1px solid var(--line);font-size:.96rem}
thead th{background:var(--navy);color:#fff;font-weight:650;letter-spacing:.01em}
tbody tr:nth-child(even){background:var(--bg-alt)}
tbody tr:last-child td{border-bottom:0}
.compare td:last-child{color:var(--ok);font-weight:650}

/* ---------- FAQ ---------- */
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:.7rem;
  box-shadow:var(--shadow-sm);overflow:hidden}
.faq summary{cursor:pointer;padding:1em 1.2em;font-weight:650;color:var(--navy);list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:1em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;color:var(--brand);font-weight:400;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details[open] summary{border-bottom:1px solid var(--line)}
.faq-a{padding:1em 1.2em}.faq-a p{margin:0;color:#33454f}
.faq .section-head{margin-bottom:1.3rem}

/* ---------- karty / card-grid ---------- */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.1rem}
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:1.5rem;color:inherit;transition:.18s;box-shadow:var(--shadow-sm)}
.card:hover{border-color:var(--brand);transform:translateY(-3px);box-shadow:var(--shadow);text-decoration:none}
.card h3{color:var(--navy)}
.card p{color:var(--muted);font-size:.96rem;flex:1}
.card-link{color:var(--brand-dark);font-weight:680;font-size:.92rem;margin-top:.6em}

/* ---------- cta band ---------- */
.cta-band{background:linear-gradient(120deg,var(--navy),var(--brand-dark));color:#fff}
.cta-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;
  padding:clamp(2rem,4vw,3rem) 0}
.cta-band h2{color:#fff;margin-bottom:.25em}
.cta-band p{margin:0;color:var(--accent-soft);max-width:46em}
.cta-actions{display:flex;gap:.7rem;flex-wrap:wrap}

/* ---------- logos ---------- */
.logos-title{text-align:center;color:var(--muted);font-size:.92rem;margin-bottom:1.2rem}
.logo-row{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}
.logo-chip{background:#fff;border:1px dashed var(--line);border-radius:10px;padding:.7em 1.3em;
  color:var(--muted);font-weight:650;font-size:.9rem}

/* ---------- homepage premium blocks ---------- */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.in-view{opacity:1;transform:none}
.partner-marquee{position:relative;overflow:hidden;display:flex;align-items:center;min-height:115vh;
  background:#0D1830;color:#eaf4ff;
  padding:clamp(4.2rem,8vh,6rem) 0;border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08)}
@supports (height: 100dvh){
  .partner-marquee{min-height:115dvh}
}
.partner-marquee::before{display:none}
.partner-marquee::after{content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(90deg,rgba(2,7,11,.92),transparent 12%,transparent 88%,rgba(2,7,11,.92));
  pointer-events:none}
.partner-rails{position:relative;z-index:1;display:grid;width:100%;
  gap:clamp(4rem,10vh,8rem);padding:clamp(5.6rem,12vh,8rem) 0 clamp(4rem,9vh,7rem)}
.partner-trust-panel{--trust-x:-100vw;--trust-opacity:0;position:absolute;left:50%;
  top:clamp(2.4rem,7vh,5.4rem);z-index:2;color:#fff;font-weight:820;letter-spacing:-.025em;
  width:min(760px,72vw);max-width:calc(100% - 2rem);text-align:center;opacity:var(--trust-opacity);
  transform:translate3d(calc(-50% + var(--trust-x)),0,0);filter:drop-shadow(0 18px 40px rgba(0,0,0,.28));
  will-change:transform,opacity;pointer-events:none}
.partner-trust-label{display:inline-block;font-size:clamp(1.35rem,2.25vw,2.75rem);line-height:1;font-weight:840}
.partner-trust-label::after{content:"";display:block;width:100%;height:3px;border-radius:999px;
  margin:.42em 0 0;background:linear-gradient(90deg,transparent,var(--accent),transparent);box-shadow:0 0 24px rgba(127,212,239,.42);
  transform:scaleX(var(--trust-opacity));transform-origin:center}
.partner-trust-panel p{max-width:68ch;margin:.95rem auto 0;color:#a9c1ce;font-size:clamp(.86rem,1vw,1rem);
  line-height:1.55;font-weight:520;letter-spacing:0}
.partner-scale-badge{--scale-x:260px;--scale-opacity:0;position:absolute;right:clamp(1.25rem,5vw,5.5rem);
  bottom:clamp(2.2rem,7vh,5.2rem);z-index:2;display:grid;gap:.15rem;min-width:clamp(210px,22vw,320px);
  padding:1rem 1.15rem;border:1px solid rgba(127,212,239,.24);border-radius:18px;
  background:linear-gradient(135deg,rgba(7,38,56,.78),rgba(2,7,11,.54));box-shadow:0 24px 70px rgba(0,0,0,.24);
  backdrop-filter:blur(8px);opacity:var(--scale-opacity);transform:translate3d(var(--scale-x),0,0);
  will-change:transform,opacity}
.partner-scale-badge::before{content:"";position:absolute;inset:0 0 auto;height:2px;border-radius:18px 18px 0 0;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.75;transform:scaleX(var(--scale-opacity))}
.partner-scale-badge strong{color:#fff;font-size:clamp(2.2rem,4.5vw,4.4rem);line-height:.9;font-weight:850;
  letter-spacing:-.06em}
.partner-scale-badge span{color:#d7eef8;font-weight:720;font-size:clamp(.86rem,1.2vw,1rem)}
.partner-scale-badge em{color:#8fb0c2;font-style:normal;font-size:.82rem}
.partner-rail{--logo-scroll:0;position:relative;overflow:hidden;contain:layout paint;max-width:100%;
  height:clamp(68px,7vw,100px);
  padding:.18rem 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.partner-track{position:absolute;left:0;top:50%;display:flex;align-items:center;gap:clamp(1.15rem,2.4vw,2.4rem);width:max-content;
  transform:translate3d(calc(var(--logo-scroll) * 1px),-50%,0);will-change:transform}
.partner-track-compact{gap:clamp(1rem,2.5vw,2.3rem)}
.partner-logo{position:relative;display:grid;place-items:center;flex:0 0 clamp(150px,12.4vw,208px);
  height:clamp(60px,6vw,84px);padding:.5rem .75rem;border-radius:16px;isolation:isolate;
  opacity:.9;transition:transform .18s ease,opacity .18s ease}
.partner-logo::before{content:"";position:absolute;inset:.28rem;border-radius:16px;background:rgba(255,255,255,.93);
  box-shadow:0 18px 38px rgba(0,0,0,.24);opacity:0;transform:scale(.96);transition:opacity .18s ease,transform .18s ease}
.partner-logo img{grid-area:1/1;position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;
  max-width:88%;max-height:76%;transition:opacity .18s ease,filter .18s ease;
  filter:grayscale(1) brightness(1.48) contrast(.82) drop-shadow(0 10px 24px rgba(127,212,239,.12))}
.partner-logo .logo-color{opacity:0;filter:none;max-height:80%}
.partner-logo:hover,.partner-logo:focus-within{transform:translateY(-2px);z-index:3}
.partner-logo:hover::before,.partner-logo:focus-within::before{opacity:1;transform:scale(1)}
.partner-logo:hover .logo-muted,.partner-logo:focus-within .logo-muted{opacity:0}
.partner-logo:hover .logo-color,.partner-logo:focus-within .logo-color{opacity:1}
.home-proof{background:linear-gradient(180deg,#ffffff 0%,#f1f6fa 100%);overflow:visible}
.proof-grid,.chart-grid,.mission-grid,.certificate-grid,.expert-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2.2rem;align-items:center}
.proof-copy h2,.chart-copy h2,.mission-copy h2,.expert-copy h2{max-width:13em}
.savings-panel{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--navy),#116f93);
  color:#fff;border-radius:18px;padding:2rem;box-shadow:var(--shadow)}
.savings-panel::after{content:"";position:absolute;inset:auto -60px -90px auto;width:230px;height:230px;
  border-radius:50%;background:rgba(127,212,239,.18)}
.panel-kicker{display:block;color:var(--accent);font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;font-weight:750;margin-bottom:.7rem}
.money-counter{display:block;font-size:clamp(2.2rem,5vw,4rem);line-height:1;font-weight:850;letter-spacing:-.04em}
.savings-panel>span:last-of-type{display:block;color:#d7eef8;margin-top:.5rem}
.mini-meter{height:10px;border-radius:999px;background:rgba(255,255,255,.18);margin-top:1.4rem;overflow:hidden}
.mini-meter span{display:block;height:100%;width:var(--w);border-radius:inherit;background:linear-gradient(90deg,var(--accent),#fff);
  animation:meterPulse 2.4s ease-in-out infinite}

/* --- Sekcja "proof": lewitujące struktury wykresu + wyraźny przechył 3D --- */
.home-proof{padding-top:clamp(5rem,9vw,8.5rem)}
.proof-head{max-width:820px;margin:0 auto;text-align:center;
  opacity:var(--proof-opacity,1);transform:translateY(var(--proof-head-y,0));will-change:transform,opacity}
.proof-head .eyebrow{justify-content:center}
.proof-head h2{margin-inline:auto;max-width:18em}
.proof-head>p:last-child{margin:.9rem auto 0;max-width:46em;color:var(--muted)}

.proof-stage{margin-top:clamp(2.6rem,5.5vw,4.6rem);perspective:820px;perspective-origin:50% 32%;overflow:visible}
.proof-screen{
  position:relative;max-width:1240px;margin-inline:auto;background:transparent;border:0;
  transform-origin:50% 50%;will-change:transform;
  transform:rotateX(calc((1 - var(--proof-progress,1)) * 54deg))
    scale(calc(1 + (1 - var(--proof-progress,1)) * .07))}

.proof-app{position:relative;display:grid;gap:clamp(1.6rem,3vw,2.8rem)}
.proof-app__grid{display:grid;grid-template-columns:1.7fr 1fr;gap:clamp(1.6rem,3.4vw,3.4rem);align-items:center}

.proof-chart{display:flex;flex-direction:column}
.proof-chart__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.3rem}
.proof-chart__kicker{margin:0 0 .2rem;color:#c8781f;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.proof-chart__head h3{margin:0;font-size:clamp(1.1rem,1.7vw,1.5rem);line-height:1.16;color:#0d1726}
.proof-trend{flex:none;align-self:center;padding:.3rem .64rem;border-radius:999px;font-size:.74rem;font-weight:800;white-space:nowrap;
  color:#a85a18;background:rgba(244,161,78,.16);border:1px solid rgba(244,161,78,.4)}
.proof-chart__plot{position:relative;margin-top:.3rem}
.proof-svg{display:block;width:100%;height:auto;overflow:visible}
.proof-gridlines{display:none}
.proof-svg__xlab text{fill:#0d1726}
.proof-ylab text{fill:#41535f}
.proof-yaxis{stroke:rgba(13,23,38,.32);stroke-width:1.4}
.proof-baseline{stroke:rgba(13,23,38,.14);stroke-width:1.4}
.proof-yticks line{stroke:rgba(13,23,38,.32);stroke-width:1.4}
.proof-loss-area,.proof-save-area{opacity:0;transition:opacity .8s ease .55s}
.proof-loss-line,.proof-save-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:1000;stroke-dashoffset:1000;transition:stroke-dashoffset 1.3s cubic-bezier(.4,0,.2,1) .25s}
.proof-loss-line{stroke:#ef7a3d;filter:drop-shadow(0 4px 9px rgba(226,83,63,.32))}
.proof-save-line{stroke:#0f6f93;stroke-width:3.8;filter:drop-shadow(0 5px 12px rgba(15,111,147,.45))}
.proof-end-dot{opacity:0;transition:opacity .4s ease 1.15s}
.proof-chart.in-view .proof-loss-area,.proof-chart.in-view .proof-save-area,.proof-chart.in-view .proof-end-dot{opacity:1}
.proof-chart.in-view .proof-loss-line,.proof-chart.in-view .proof-save-line{stroke-dashoffset:0}
.proof-legend{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:.95rem 0 0;padding:0}
.proof-legend li{display:flex;align-items:center;gap:.5rem;color:#22323d;font-size:.84rem;font-weight:700}
.proof-leg-ic{width:20px;height:20px;flex:none;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.proof-leg-ic--loss{stroke:#e2533f}
.proof-leg-ic--save{stroke:#0f6f93}

.proof-counter{position:relative;border-radius:20px;padding:clamp(1.5rem,2.6vw,2.1rem);
  background:rgba(255,255,255,.62);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 34px 70px rgba(15,52,79,.18),0 10px 24px rgba(15,52,79,.1),inset 0 1px 0 rgba(255,255,255,.85)}
.proof-counter .panel-kicker{color:var(--brand-dark);margin-bottom:.55rem}
.proof-counter .money-counter{color:var(--navy);font-size:clamp(2.1rem,4vw,3.2rem);font-variant-numeric:tabular-nums}
.proof-counter__sub{display:block;margin-top:.5rem;color:#41535f;font-size:.95rem}
.proof-counter__sub strong{color:#0d1726}
.proof-counter .mini-meter{background:rgba(15,31,53,.1)}
.proof-counter .mini-meter span{background:linear-gradient(90deg,var(--brand),var(--accent))}

.proof-kpis{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;padding:0;
  padding-top:clamp(1.1rem,2.2vw,1.8rem);border-top:1px solid rgba(13,23,38,.16)}
.proof-kpi{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start;padding:.1rem clamp(1rem,2.2vw,2rem)}
.proof-kpi:first-child{padding-left:0}
.proof-kpi+.proof-kpi{border-left:1px solid rgba(13,23,38,.16)}
.proof-kpi__val{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:850;letter-spacing:-.02em;color:var(--brand-dark);font-variant-numeric:tabular-nums}
.proof-kpi__label{font-size:.8rem;line-height:1.3;color:#2e3f49;font-weight:600}

@media(max-width:920px){
  .proof-app__grid{grid-template-columns:1fr;gap:1.6rem}
  .proof-kpis{grid-template-columns:1fr 1fr}
  .proof-kpi:nth-child(3){grid-column:1 / -1;border-left:0;border-top:1px solid rgba(13,23,38,.16);padding-top:1rem;margin-top:.4rem}
  .proof-screen{transform:rotateX(calc((1 - var(--proof-progress,1)) * 34deg)) scale(1)}
}
@media(max-width:560px){
  .proof-chart__head{flex-direction:column;gap:.4rem}
  .proof-trend{align-self:flex-start}
  .proof-kpis{grid-template-columns:1fr}
  .proof-kpi{padding:.1rem 0}
  .proof-kpi+.proof-kpi{border-left:0;border-top:1px solid rgba(13,23,38,.16);padding-top:.8rem;margin-top:.6rem}
  .proof-kpi:nth-child(3){border-top:1px solid rgba(13,23,38,.16)}
}
.proof-timer-only{position:relative;overflow:hidden;padding:clamp(4.2rem,8vw,7.2rem) 0;
  background:linear-gradient(180deg,#ffffff 0%,#eef4f8 100%)}
.proof-timer-wrap{position:relative;min-height:clamp(260px,36vh,420px);display:grid;place-items:center}
.proof-timer-shell{width:min(440px,92vw);opacity:0;transform:translate3d(112vw,0,0);
  transition:transform .86s cubic-bezier(.18,.88,.24,1),opacity .42s ease;will-change:transform,opacity}
.proof-timer-only.is-timer-visible .proof-timer-shell{opacity:1;transform:translate3d(0,0,0)}
.proof-timer-only.is-timer-hidden-left .proof-timer-shell{opacity:0;transform:translate3d(-112vw,0,0)}
.proof-timer-only.is-timer-hidden-right .proof-timer-shell{opacity:0;transform:translate3d(112vw,0,0)}
.proof-counter--solo{width:100%;padding:clamp(1.55rem,2.8vw,2.25rem);background:rgba(255,255,255,.72)}
.proof-counter--solo .money-counter{display:block}
.impact-showcase-section{background:#fff;overflow:clip}
.impact-showcase{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(540px,1fr);gap:clamp(2rem,5vw,5.2rem);align-items:center}
.impact-copy{max-width:520px}
.impact-copy .eyebrow{margin-bottom:.65rem;color:var(--brand-dark)}
.impact-copy h2{font-size:clamp(2.4rem,4.6vw,4.7rem);line-height:1.08;letter-spacing:-.055em;color:#0d1726;margin-bottom:1.2rem}
.impact-copy p:not(.eyebrow){max-width:36em;color:#334958;font-size:1.08rem;line-height:1.65}
.impact-copy__cta{margin-top:1rem;border-radius:9px;background:#0d1726;border-color:#0d1726;box-shadow:0 16px 34px rgba(13,23,38,.18)}
.impact-copy__cta:hover{background:#07111f;border-color:#07111f}
.impact-grid{display:flex;align-items:stretch;justify-content:flex-end;gap:1rem;min-height:450px;margin-inline:auto;overflow:visible}
.impact-card{position:relative;isolation:isolate;display:flex;flex:0 0 54px;min-height:450px;overflow:hidden;border:0;border-radius:14px;
  padding:1.2rem;background:#050608;color:#fff;box-shadow:0 24px 50px rgba(3,18,29,.18);cursor:pointer;outline:0;
  transition:flex-basis .72s cubic-bezier(.2,.8,.2,1),transform .28s ease,box-shadow .28s ease,filter .28s ease}
.impact-card::before{content:"";position:absolute;inset:0;z-index:-3;background:
  linear-gradient(135deg,rgba(0,0,0,.26),rgba(0,0,0,.08)),
  var(--card-img),
  linear-gradient(135deg,var(--card-a,#050608),#050608 45%,var(--card-b,#0f6f93) 120%);
  background-size:cover;background-position:var(--card-pos,center);opacity:.38;filter:saturate(.92) contrast(1.08);
  transition:opacity .32s ease,transform .72s cubic-bezier(.2,.8,.2,1),filter .32s ease}
.impact-card::after{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.68)),
  radial-gradient(circle at 70% 22%,rgba(127,212,239,.28),transparent 34%);
  opacity:.72;transition:opacity .32s ease}
.impact-card__visual{position:absolute;inset:0;z-index:-2;opacity:.18;background:
  repeating-linear-gradient(110deg,transparent 0 18px,rgba(127,212,239,.20) 19px 20px),
  radial-gradient(circle at 42% 40%,rgba(127,212,239,.55),transparent 24%),
  linear-gradient(135deg,transparent,rgba(255,255,255,.18));
  transform:scale(1.06);transition:opacity .36s ease,transform .72s cubic-bezier(.2,.8,.2,1)}
.impact-card:hover,.impact-card:focus-visible{box-shadow:0 28px 62px rgba(3,18,29,.24);transform:translateY(-2px)}
.impact-card:focus-visible{outline:3px solid rgba(127,212,239,.86);outline-offset:4px}
.impact-card--active{flex:1 1 400px;min-width:min(400px,44vw);box-shadow:0 32px 78px rgba(3,18,29,.28)}
.impact-card--active::before{opacity:1;filter:saturate(1.02) contrast(1.04);transform:scale(1.02)}
.impact-card--active::after{opacity:.88}
.impact-card--active .impact-card__visual{opacity:.38;transform:scale(1)}
.impact-card__number{position:relative;z-index:2;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;
  background:rgba(255,255,255,.10);color:var(--card-accent,var(--accent));font-weight:900;margin-bottom:.8rem;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);backdrop-filter:blur(7px)}
.impact-card__content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;width:100%;height:100%;min-height:372px}
.impact-card__kicker{max-height:0;margin:0;color:var(--card-accent,var(--accent));font-size:.75rem;font-weight:850;letter-spacing:.12em;
  text-transform:uppercase;opacity:0;overflow:hidden;transform:translateY(8px);transition:opacity .24s ease,transform .24s ease,max-height .24s ease}
.impact-card h3{max-width:16em;margin:0;color:#fff;font-size:1rem;line-height:1.18;transition:font-size .32s ease,transform .32s ease,color .22s ease}
.impact-card p:not(.impact-card__kicker){max-width:35ch;max-height:0;margin:0;color:rgba(234,247,255,.9);font-size:.98rem;line-height:1.65;opacity:0;overflow:hidden;
  transform:translateY(10px);transition:opacity .28s ease .08s,transform .28s ease .08s,max-height .32s ease}
.impact-card:not(.impact-card--active) .impact-card__number{position:absolute;top:1rem;left:50%;transform:translateX(-50%)}
.impact-card:not(.impact-card--active) h3{position:absolute;left:50%;top:50%;max-width:none;white-space:nowrap;
  transform:translate(-50%,-50%) rotate(90deg);transform-origin:center;font-size:.96rem}
.impact-card--active h3{margin:.2rem 0 .55rem;font-size:1.12rem;letter-spacing:-.01em}
.impact-card--active .impact-card__kicker{max-height:2rem;margin-bottom:.45rem;opacity:1;transform:none;transition-delay:.18s}
.impact-card--active p:not(.impact-card__kicker){max-height:7.4rem;opacity:1;transform:none;transition-delay:.22s}
.process-loss-section{position:relative;overflow:hidden;isolation:isolate;padding:clamp(2.4rem,4.2vw,3.8rem) 0;
  color:#e9f7ff;background:#071d2b}
.process-loss-section::before{content:"";position:absolute;inset:0;z-index:-3;background:
  linear-gradient(180deg,rgba(3,18,29,.70),rgba(5,28,42,.88)),
  radial-gradient(circle at 18% 18%,rgba(127,212,239,.28),transparent 24%),
  linear-gradient(120deg,#071d2b,#0e4159 62%,#072638)}
.process-loss-section::after{content:"";position:absolute;inset:0;z-index:-2;background:
  linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px) 0 0/88px 88px,
  linear-gradient(0deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/88px 88px;
  mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent)}
.process-loss-bg{position:absolute;inset:0;z-index:-1;opacity:.48;background:
  radial-gradient(ellipse at 50% 118%,rgba(127,212,239,.28),transparent 45%),
  linear-gradient(115deg,transparent 0 15%,rgba(127,212,239,.12) 15.2% 15.7%,transparent 16% 36%,
    rgba(255,255,255,.08) 36.2% 36.7%,transparent 37% 68%,rgba(127,212,239,.10) 68.2% 68.8%,transparent 69%),
  repeating-linear-gradient(90deg,transparent 0 9%,rgba(255,255,255,.04) 9.2% 9.4%,transparent 9.8% 18%)}
.process-loss-inner{width:min(100%,1760px);margin-inline:auto;padding-inline:clamp(24px,4vw,72px)}
.process-loss-bg::before{content:"";position:absolute;left:5%;right:5%;bottom:6%;height:22%;opacity:.16;background:
  linear-gradient(90deg,transparent 0 4%,rgba(255,255,255,.55) 4.2% 4.8%,transparent 5% 11%,
    rgba(127,212,239,.62) 11.2% 11.8%,transparent 12% 19%,rgba(255,255,255,.42) 19.2% 19.8%,transparent 20%),
  repeating-linear-gradient(90deg,rgba(255,255,255,.58) 0 18px,transparent 18px 64px);
  clip-path:polygon(0 72%,7% 42%,14% 58%,22% 30%,31% 46%,41% 18%,51% 39%,63% 12%,72% 44%,84% 24%,100% 55%,100% 100%,0 100%)}
.process-loss-bg::after{content:"";position:absolute;left:12%;right:12%;top:48%;height:2px;background:
  linear-gradient(90deg,transparent,rgba(127,212,239,.45),rgba(255,255,255,.38),transparent);
  animation:processFlow 4.4s ease-in-out infinite}
.process-loss-head{max-width:880px;margin:0 auto clamp(1rem,1.8vw,1.7rem);text-align:center}
.process-loss-head .eyebrow,.loss-copy .eyebrow{color:#8ee3ff}
.process-loss-head h2{color:#fff;font-size:clamp(1.9rem,2.7vw,2.95rem);line-height:1.08;letter-spacing:-.03em;margin-bottom:.2em;text-wrap:balance}
.process-loss-head p{max-width:680px;margin:0 auto;color:rgba(232,247,255,.84);font-size:clamp(.98rem,1.1vw,1.14rem);text-wrap:balance}
.process-map{position:relative;display:grid;grid-template-columns:minmax(360px,1fr) minmax(300px,380px) minmax(360px,1fr);
  gap:clamp(1.8rem,4.5vw,6.2rem);align-items:center;min-height:420px;margin-inline:auto}
.process-map::before{content:"";position:absolute;left:50%;top:50%;width:min(1180px,78vw);height:2px;z-index:-1;
  background:linear-gradient(90deg,transparent,rgba(215,238,248,.58),rgba(127,212,239,.38),transparent);
  transform:translate(-50%,-50%) scaleX(0);transform-origin:center;animation:processLineDraw 1.1s ease .3s forwards}
.process-side{display:grid;gap:clamp(1.3rem,2.4vw,2.3rem)}
.process-side--left{align-content:center}.process-side--right{align-content:center}
.process-node{position:relative;min-height:94px;padding:1rem 1.25rem 1rem 5.15rem;border-radius:22px;
  background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(236,246,251,.82));
  color:#082638;border:1px solid rgba(255,255,255,.70);box-shadow:0 18px 42px rgba(0,0,0,.18);
  opacity:0;transform:translateX(var(--node-x,32px))}
.process-map.in-view .process-node{animation:processNodeIn .72s cubic-bezier(.2,.8,.2,1) var(--delay,.25s) forwards}
.process-side--left .process-node{padding:1rem 5.15rem 1rem 1.25rem;text-align:right;--node-x:-32px}
.process-node::before{content:"";position:absolute;top:50%;width:clamp(46px,4vw,78px);height:2px;
  background:linear-gradient(90deg,rgba(215,238,248,.92),rgba(127,212,239,.22));transform:translateY(-50%) scaleX(0);
  transform-origin:left}
.process-map.in-view .process-node::before{animation:processConnector .72s ease calc(var(--delay,.25s) + .18s) forwards}
.process-side--left .process-node::before{right:calc(-1 * clamp(46px,4vw,78px));transform-origin:right}
.process-side--right .process-node::before{left:calc(-1 * clamp(46px,4vw,78px))}
.process-node::after{content:"";position:absolute;top:50%;width:13px;height:13px;border-radius:50%;background:#fff;border:3px solid #7fd4ef;
  box-shadow:0 0 0 8px rgba(127,212,239,.14),0 0 24px rgba(127,212,239,.45);transform:translateY(-50%) scale(.7);
  opacity:0}
.process-map.in-view .process-node::after{animation:processDotIn .5s ease calc(var(--delay,.25s) + .72s) forwards}
.process-side--left .process-node::after{right:-7px}.process-side--right .process-node::after{left:-7px}
.process-node span{position:absolute;top:50%;left:1rem;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;
  color:#fff;background:linear-gradient(145deg,#1789b6,#0b5d80);font-weight:920;box-shadow:0 12px 26px rgba(10,54,78,.26);
  transform:translateY(-50%)}
.process-side--left .process-node span{left:auto;right:1rem}
.process-node h3{margin:0 0 .28rem;color:#062638;font-size:clamp(1rem,1.2vw,1.22rem);letter-spacing:-.015em}
.process-node p{margin:0;color:#39505d;font-size:clamp(.86rem,.95vw,1rem);line-height:1.38}
.process-node--one{--delay:.18s}.process-node--two{--delay:.32s}.process-node--three{--delay:.46s}
.process-node--four{--delay:.60s}.process-node--five{--delay:.74s}.process-node--six{--delay:.88s}
.process-orbit{position:relative;display:grid;place-items:center;justify-self:center;width:min(29vw,380px);min-width:300px;aspect-ratio:1;
  filter:drop-shadow(0 26px 54px rgba(0,0,0,.24))}
.process-ring{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,.72)}
.process-ring--outer{box-shadow:0 0 0 22px rgba(255,255,255,.08);animation:orbitPulse 4.8s ease-in-out infinite}
.process-ring--inner{inset:11%;border-color:rgba(127,212,239,.34);border-width:18px;animation:orbitRotate 18s linear infinite}
.process-core{position:relative;z-index:2;display:grid;place-items:center;width:68%;aspect-ratio:1;border-radius:50%;text-align:center;padding:2rem;
  background:radial-gradient(circle at 34% 26%,#fff 0%,#eff7fb 58%,#c6d8e1 100%);color:#092638;
  box-shadow:0 24px 60px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.9)}
.process-core__logo{width:clamp(56px,6vw,86px);height:auto;margin-bottom:.5rem;filter:drop-shadow(0 8px 18px rgba(10,54,78,.18))}
.process-core strong{font-size:clamp(1.2rem,1.7vw,1.7rem);line-height:1;color:#082638;letter-spacing:-.01em}
.process-core small{max-width:13em;margin-top:.4rem;color:#496170;font-weight:780;line-height:1.22;font-size:.8rem}
.process-dot{position:absolute;z-index:3;width:18px;height:18px;border-radius:50%;background:#fff;border:4px solid #8ee3ff;
  box-shadow:0 0 0 9px rgba(127,212,239,.15),0 0 28px rgba(127,212,239,.55);animation:processDotPulse 2.4s ease-in-out infinite}
.process-dot--one{left:18%;top:20%;animation-delay:.1s}.process-dot--two{left:7%;top:47%;animation-delay:.35s}
.process-dot--three{left:22%;bottom:17%;animation-delay:.6s}.process-dot--four{right:18%;top:20%;animation-delay:.85s}
.process-dot--five{right:7%;top:47%;animation-delay:1.1s}.process-dot--six{right:22%;bottom:17%;animation-delay:1.35s}
.process-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:clamp(2.2rem,3.6vw,3.4rem)}
.process-cta .btn-primary{box-shadow:0 18px 42px rgba(23,137,182,.32)}
.process-cta .btn-ghost-light{background:transparent;color:#dff2fb;border:1px solid rgba(168,232,255,.5)}
.process-cta .btn-ghost-light:hover{background:rgba(168,232,255,.12);border-color:rgba(168,232,255,.85)}

/* --- Proces: łuk-infografika (centralne logo + kroki ze strzałkami) --- */
.proc-arc{position:relative;height:clamp(600px,50vw,760px);max-width:1260px;margin:clamp(1.4rem,2.6vw,2.4rem) auto 0}
.proc-arc__links{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible}
.proc-link{fill:none;stroke:rgba(127,212,239,.6);stroke-width:1.8;vector-effect:non-scaling-stroke;stroke-linecap:round;
  stroke-dasharray:9 6;opacity:0;transform:scaleX(.08);transform-box:fill-box;transform-origin:left center;
  transition:opacity .24s ease,transform .38s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--close-delay) + .05s)}
.proc-arc.in-view:not(.steps-hidden) .proc-link{opacity:1;transform:scaleX(1);transition-delay:var(--open-delay)}
.proc-arc.proc-ready:not(.steps-hidden) .proc-link{animation:procFlow 1.6s linear infinite}
@keyframes procFlow{to{stroke-dashoffset:-15}}

.proc-hub{position:absolute;left:16%;top:50%;z-index:3;width:clamp(230px,23vw,320px);aspect-ratio:1;display:grid;place-items:center;
  opacity:0;transform:translate(-50%,-50%) scale(.86);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.proc-arc.in-view .proc-hub{opacity:1;transform:translate(-50%,-50%) scale(1)}
.proc-hub__ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(168,232,255,.25)}
.proc-hub__ring--1{box-shadow:0 0 0 14px rgba(127,212,239,.05);animation:procHubPulse 5s ease-in-out infinite}
.proc-hub__ring--2{inset:13%;border:2px dashed rgba(127,212,239,.3);animation:procHubSpin 26s linear infinite}
.proc-hub__core{position:relative;z-index:2;width:82%;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:1.5rem;
  background:radial-gradient(circle at 36% 28%,#fff,#eef7fb 58%,#cad9e2);box-shadow:0 24px 60px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.9)}
.proc-hub__core img{width:clamp(86px,7.2vw,124px);height:auto;margin-bottom:.48rem}
.proc-hub__core .proc-hub__logo{width:min(82%,210px);max-height:64%;object-fit:contain;margin-bottom:.55rem}
.proc-hub__core strong{font-size:clamp(1.12rem,1.55vw,1.55rem);line-height:1;color:#082638}
.proc-hub__core small{max-width:13em;margin-top:.34rem;color:#4a6573;font-size:.76rem;font-weight:700;line-height:1.22}
@keyframes procHubPulse{0%,100%{box-shadow:0 0 0 14px rgba(127,212,239,.05)}50%{box-shadow:0 0 0 22px rgba(127,212,239,.1)}}
@keyframes procHubSpin{to{transform:rotate(360deg)}}

.proc-steps{position:absolute;inset:0;z-index:2;list-style:none;margin:0;padding:0}
.proc-step{position:absolute;left:var(--x);top:var(--y);width:clamp(248px,30vw,360px);display:flex;align-items:center;gap:.9rem;
  padding:.95rem 1.15rem;border-radius:16px;background:linear-gradient(120deg,rgba(255,255,255,.96),rgba(231,245,251,.86));
  border:1px solid rgba(255,255,255,.7);box-shadow:0 20px 46px rgba(0,0,0,.26);
  opacity:0;pointer-events:none;transform:translate(24px,-50%) scale(.96);
  transition:opacity .24s ease,transform .38s cubic-bezier(.2,.8,.2,1);transition-delay:var(--close-delay)}
.proc-arc.in-view:not(.steps-hidden) .proc-step{opacity:1;pointer-events:auto;transform:translate(0,-50%) scale(1);
  transition-delay:calc(var(--open-delay) + .06s)}
.proc-link:nth-child(1),.proc-step:nth-child(1){--open-delay:.04s;--close-delay:.54s}
.proc-link:nth-child(2),.proc-step:nth-child(2){--open-delay:.14s;--close-delay:.44s}
.proc-link:nth-child(3),.proc-step:nth-child(3){--open-delay:.24s;--close-delay:.34s}
.proc-link:nth-child(4),.proc-step:nth-child(4){--open-delay:.34s;--close-delay:.24s}
.proc-link:nth-child(5),.proc-step:nth-child(5){--open-delay:.44s;--close-delay:.14s}
.proc-link:nth-child(6),.proc-step:nth-child(6){--open-delay:.54s;--close-delay:.04s}
/* szybki, bezopóźnieniowy hover dopiero po wejściu kart (klasa dodawana z JS) */
.proc-arc.proc-ready .proc-step{
  transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,border-color .3s ease,background-color .3s ease}
.proc-arc.in-view:not(.steps-hidden) .proc-step:hover,.proc-arc.in-view:not(.steps-hidden) .proc-step:focus-within{
  transform:translate(0,-50%) scale(1.05);z-index:5;border-color:rgba(127,212,239,.75);
  box-shadow:0 28px 64px rgba(0,0,0,.32),0 0 0 1px rgba(127,212,239,.55),0 0 30px rgba(127,212,239,.32)}
.proc-arc.in-view .proc-step:hover .proc-step__ico,.proc-arc.in-view .proc-step:focus-within .proc-step__ico{
  background:linear-gradient(145deg,#dff3fc,#bfe2f1);color:#0a5f80}
.proc-step::before{content:"";position:absolute;left:-7px;top:50%;width:13px;height:13px;border-radius:50%;
  background:#fff;border:3px solid #7fd4ef;box-shadow:0 0 0 7px rgba(127,212,239,.14),0 0 20px rgba(127,212,239,.5);transform:translateY(-50%)}
.proc-step__num{position:absolute;top:-10px;right:-10px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  font-size:.76rem;font-weight:900;color:#fff;background:linear-gradient(145deg,#1789b6,#0b3d5c);box-shadow:0 8px 18px rgba(10,54,78,.34)}
.proc-step__ico{flex:none;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#e9f6fd,#cfe7f2);color:#0f6f93;transition:background .3s ease,color .3s ease}
.proc-step__ico svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.proc-step__tx{display:flex;flex-direction:column;gap:.18rem;min-width:0}
.proc-step__tx strong{font-size:clamp(.98rem,1.15vw,1.15rem);line-height:1.14;color:#062638}
.proc-step__tx em{font-style:normal;font-size:.85rem;line-height:1.34;color:#3a525f}
/* klikalne logo w centrum diagramu — chowa/pokazuje gałęzie */
.proc-hub__core{cursor:pointer;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease}
.proc-hub__core:hover{transform:scale(1.045);
  box-shadow:0 28px 70px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.9),0 0 0 7px rgba(127,212,239,.14)}
.proc-hub__core:focus-visible{outline:3px solid #7fd4ef;outline-offset:5px}
.proc-hub__hint{display:block;margin-top:.45rem;font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#1789b6;opacity:.78}
/* stan: gałęzie ukryte — zwijają się w stronę logo */
.proc-arc.steps-hidden .proc-steps{pointer-events:none}
.proc-arc.steps-hidden .proc-link{animation:none}

@media(max-width:900px){
  .proc-arc{height:auto;display:flex;flex-direction:column;align-items:center;gap:1.5rem;max-width:520px}
  .proc-steps{position:static;inset:auto}
  .proc-arc__links{display:none}
  .proc-hub{position:relative;left:auto;top:auto;transform:none!important;opacity:1!important;width:min(240px,62vw)}
  .proc-steps{width:100%;display:flex;flex-direction:column;gap:.9rem;height:auto}
  .proc-step{position:relative;left:auto!important;top:auto!important;width:100%;transform:translateY(16px) scale(.98)!important;opacity:0!important}
  .proc-arc.in-view:not(.steps-hidden) .proc-step{transform:none!important;opacity:1!important}
  .proc-step::before{display:none}
}
.loss-wide{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(520px,1.2fr) auto;gap:clamp(1.4rem,3vw,3.4rem);align-items:center;
  width:min(1420px,100%);margin:clamp(1.4rem,3vw,2.5rem) auto 0;padding:clamp(1.05rem,1.7vw,1.5rem);
  border-radius:28px;background:linear-gradient(90deg,rgba(3,18,29,.74),rgba(10,48,66,.56));
  border:1px solid rgba(255,255,255,.16);box-shadow:0 26px 72px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.08)}
.loss-copy h3{color:#fff;font-size:clamp(1.35rem,2vw,2.15rem);margin-bottom:.35rem;letter-spacing:-.025em}
.loss-copy p{max-width:58ch;color:rgba(232,247,255,.84);margin:0}
.vertical-bars{position:relative;display:flex;align-items:flex-end;gap:clamp(1rem,2.4vw,2rem);min-height:205px;padding:1.1rem 1.5rem .95rem;
  border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03))}
.vertical-bars::before{content:"";position:absolute;left:1.25rem;right:1.25rem;bottom:4.8rem;height:1px;background:rgba(255,255,255,.38)}
.vertical-bars::after{content:"";position:absolute;inset:1.4rem 1.25rem 4.8rem;background:
  linear-gradient(0deg,rgba(255,255,255,.10) 1px,transparent 1px) 0 0/100% 25%;opacity:.55}
.vertical-bar{position:relative;z-index:1;display:grid;grid-template-rows:1fr auto auto;gap:.5rem;align-items:end;justify-items:center;flex:1;min-width:82px;height:185px;text-align:center}
.vertical-bar i{display:block;align-self:end;width:min(100%,82px);height:var(--h);border-radius:9px 9px 2px 2px;background:
  linear-gradient(180deg,#fff 0%,#baf2ff 28%,#31a8cf 100%);
  box-shadow:0 0 30px rgba(127,212,239,.35);animation:verticalBarGrow 1.15s cubic-bezier(.2,.8,.2,1) both;animation-delay:.75s}
.vertical-bar strong{min-height:2em;color:#9be8ff;font-size:clamp(.86rem,1vw,1rem);line-height:1.12;font-weight:920}
.vertical-bar span{color:#fff;font-size:clamp(.82rem,.95vw,.96rem);font-weight:820;line-height:1.14}
.loss-wide .btn{justify-self:end;white-space:normal;text-align:center;box-shadow:0 18px 42px rgba(23,137,182,.28)}
.mission-band{background:linear-gradient(135deg,var(--bg-alt),#fff);padding:clamp(2.8rem,6vw,4.5rem) 0}
.mission-visual svg{filter:drop-shadow(0 20px 40px rgba(11,61,92,.16))}
.pipe-flow{stroke-dasharray:720;stroke-dashoffset:720;animation:pipeDraw 3s ease forwards}
.check-list{list-style:none;margin:1.1rem 0 0;padding:0;display:grid;gap:.55rem}
.check-list li{position:relative;padding-left:1.7rem;color:#33454f}
.check-list li::before{content:"";position:absolute;left:0;top:.35rem;width:1rem;height:1rem;border-radius:50%;background:var(--brand)}
.check-list li::after{content:"";position:absolute;left:.32rem;top:.58rem;width:.38rem;height:.18rem;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
/* --- "Nasz wpływ": wielka, scroll-sterowana linia z liczbami (bez kafelków) --- */
.impact-curve-section{overflow:hidden}
.impact-curve{position:relative;width:min(1640px,95vw);margin:clamp(1.6rem,3.4vw,2.8rem) auto 0;
  height:clamp(360px,32vw,520px);
  transform-origin:14% 86%;will-change:transform,opacity;
  opacity:var(--curve-progress,1);transform:scale(calc(.86 + .14 * var(--curve-progress,1)))}
.impact-curve__svg{position:absolute;inset:0;width:100%;height:100%}
.impact-curve__ghost{fill:none;stroke:rgba(23,137,182,.1);stroke-width:3;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.impact-curve__line{fill:none;stroke:url(#curveGrad);stroke-width:5.5;stroke-linejoin:round;stroke-linecap:round;
  vector-effect:non-scaling-stroke;filter:drop-shadow(0 10px 22px rgba(23,137,182,.28));
  stroke-dasharray:1700;stroke-dashoffset:calc(1700 - 1700 * var(--curve-progress,1))}

.impact-curve__cta{position:absolute;left:4.5%;top:88%;transform:translate(-50%,-50%);z-index:3;
  display:grid;place-items:center;width:clamp(112px,9.5vw,132px);aspect-ratio:1;border-radius:50%;
  background:#0f7197;color:#fff;text-align:center;text-decoration:none;
  font-weight:800;font-size:clamp(.74rem,.72vw,.82rem);line-height:1.12;
  box-shadow:0 12px 28px rgba(11,61,92,.24),inset 0 1px 0 rgba(255,255,255,.18);transition:transform .18s ease-out}
.impact-curve__cta::before{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:url('/assets/kabi-sygnet.svg') 50% 50%/58% auto no-repeat;opacity:.09;
  filter:brightness(0) invert(1)}
.impact-curve__cta>span{position:relative;z-index:1;display:block;width:auto;padding:0;background:none;
  text-shadow:0 1px 5px rgba(3,30,44,.22);transform:none}
.impact-curve__cta::after{content:none}
.impact-curve__cta:hover{transform:translate(-50%,-50%) scale(1.03)}
@keyframes ctaPulse{0%{transform:scale(1);opacity:.65}70%{transform:scale(1.24);opacity:0}100%{opacity:0}}

.impact-stat{position:absolute;display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:max-content;max-width:230px;z-index:2;
  opacity:0;transform:translate(-50%,-100%);transition:opacity .25s ease,transform .25s ease}
.impact-stat--program{max-width:340px}
.impact-stat__num{display:inline-flex;align-items:flex-start;color:#0d1726;font-family:var(--font-display);
  font-weight:850;font-size:clamp(1.6rem,2.5vw,2.3rem);line-height:.92;letter-spacing:-.03em;white-space:nowrap;font-variant-numeric:tabular-nums}
.impact-stat__unit{color:#1789b6;font-size:.5em;font-weight:850;margin-left:.05em;margin-top:.12em}
.impact-stat__label{max-width:210px;color:#2e3f49;font-size:.82rem;line-height:1.32;font-weight:600;margin-top:.3rem}
.impact-stat--program .impact-stat__label{max-width:320px}
.impact-stat__num{transition:transform .25s cubic-bezier(.2,.8,.2,1),color .25s ease}
.impact-stat:hover .impact-stat__num{transform:scale(1.07);color:#1789b6}
.impact-stat:hover .impact-stat__label{color:#0d1726}

/* wypełnienie pod krzywą — odsłaniane razem z rysowaniem linii */
.impact-curve__area{pointer-events:none}
.impact-curve__clip{width:calc(1200px * var(--curve-progress,1))}

/* węzły na linii w miejscu każdej statystyki */
.impact-node{position:absolute;width:16px;height:16px;border-radius:50%;z-index:2;pointer-events:none;
  transform:translate(-50%,-50%) scale(0);opacity:0;
  background:radial-gradient(circle at 50% 40%,#fff,#cdeefb 58%,#7fd4ef);
  box-shadow:0 0 0 5px rgba(127,212,239,.16),0 5px 16px rgba(23,137,182,.5)}

/* świecąca iskra na czole rysującej się linii */
.impact-curve__spark{position:absolute;width:34px;height:34px;border-radius:50%;z-index:2;pointer-events:none;opacity:0;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(190,238,255,.95),rgba(127,212,239,.6) 38%,rgba(127,212,239,0) 70%)}

.impact-stack{display:none}

@media(max-width:900px){
  .impact-curve{display:none}
  .impact-stack{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem 1.4rem;margin-top:2rem;list-style:none;padding:0}
  .impact-stack li{display:flex;flex-direction:column;gap:.35rem}
  .impact-stack .impact-stat__num{font-size:clamp(2.1rem,8.5vw,3rem)}
  .impact-stack .impact-stat__label{max-width:none;padding-top:.2rem}
}
@media(max-width:520px){.impact-stack{grid-template-columns:1fr}}
.cert-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.6rem;box-shadow:var(--shadow)}
.cert-card>span{display:block;color:var(--brand-dark);font-weight:800;margin-bottom:.7rem}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.case-card{display:flex;min-height:260px;flex-direction:column;justify-content:flex-end;border-radius:18px;padding:1.35rem;color:#fff;text-decoration:none;
  background:linear-gradient(160deg,rgba(11,61,92,.95),rgba(23,137,182,.78)),radial-gradient(circle at 20% 10%,rgba(127,212,239,.7),transparent 32%);
  box-shadow:var(--shadow);transition:.2s ease}
.case-card:hover{transform:translateY(-4px);text-decoration:none;box-shadow:0 18px 50px rgba(11,61,92,.22)}
.case-card span{color:var(--accent);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.case-card h3{color:#fff}.case-card p{color:#d7eef8}.case-card strong{color:#fff;margin-top:.5rem}

/* --- Case studies: karuzela (Gallery4) --- */
.gallery-section{overflow:hidden}
.gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:clamp(1.6rem,3vw,2.4rem)}
.gallery-head__copy{max-width:640px}
.gallery-head__copy .eyebrow{margin-bottom:.4rem}
.gallery-head__copy h2{margin:0}
.gallery-nav{display:flex;gap:.6rem;flex:none}
.gallery-arrow{width:46px;height:46px;border-radius:999px;display:grid;place-items:center;cursor:pointer;
  background:#fff;border:1px solid var(--line);color:var(--navy);transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.gallery-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gallery-arrow:hover{background:var(--navy);color:#fff;border-color:var(--navy);transform:translateY(-1px)}
.gallery-arrow:disabled{opacity:.35;cursor:default;pointer-events:none}

.gallery-viewport{position:relative}
.gallery-track{display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding-inline:max(20px,calc((100vw - var(--wrap))/2));padding-block:8px;
  -ms-overflow-style:none;scrollbar-width:none}
.gallery-track::-webkit-scrollbar{display:none}

.gallery-card{position:relative;flex:0 0 auto;scroll-snap-align:start;width:clamp(288px,80vw,380px);min-height:27rem;border-radius:16px;overflow:hidden;
  text-decoration:none;color:#fff;box-shadow:0 16px 40px rgba(11,61,92,.16);isolation:isolate}
.gallery-card__media{position:absolute;inset:0;background-image:var(--img);background-size:cover;background-position:center;
  transition:transform .5s ease}
.gallery-card:hover .gallery-card__media{transform:scale(1.06)}
.gallery-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,20,42,0) 0%,rgba(7,20,42,.42) 50%,rgba(7,20,42,.9) 100%)}
.gallery-card__body{position:absolute;inset:auto 0 0 0;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(1.3rem,2vw,1.8rem)}
.gallery-card__kicker{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.gallery-card__title{margin:.5rem 0;font-family:var(--font-display);font-size:clamp(1.3rem,1.8vw,1.6rem);font-weight:800;line-height:1.14}
.gallery-card__desc{font-size:.92rem;line-height:1.42;color:rgba(238,249,255,.86);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:1.05rem}
.gallery-card__more{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:.92rem}
.gallery-card__more svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s ease}
.gallery-card:hover .gallery-card__more svg{transform:translateX(4px)}

.gallery-dots{display:flex;justify-content:center;gap:.5rem;margin-top:clamp(1.4rem,2.5vw,2rem)}
.gallery-dots button{width:9px;height:9px;padding:0;border-radius:999px;border:0;cursor:pointer;background:rgba(11,61,92,.2);transition:background .2s ease,width .2s ease}
.gallery-dots button.is-active{background:var(--navy);width:26px}

@media(max-width:700px){
  .gallery-head{flex-direction:column;align-items:flex-start;gap:.8rem}
  .gallery-nav{display:none}
}

/* ---------- case studies gallery ---------- */
.gallery-section{background:#fff;overflow:hidden;padding-block:clamp(4rem,7vw,6.6rem)}
.gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:clamp(1.8rem,3.8vw,3.3rem)}
.gallery-head__copy{max-width:690px}
.gallery-head__copy .eyebrow{margin-bottom:.55rem;color:#64727c;letter-spacing:.16em}
.gallery-head h2{max-width:700px;margin:0;color:#0d3854;font-size:clamp(2rem,3.55vw,3.28rem);line-height:1.08;letter-spacing:-.025em}
.gallery-head__copy>p:not(.eyebrow){max-width:36rem;margin:.85rem 0 0;color:#5e6d76;font-size:1rem;line-height:1.58}
.gallery-nav{display:flex;align-items:center;gap:.45rem;flex:0 0 auto;padding-bottom:.3rem}
.gallery-arrow{display:grid;place-items:center;width:44px;height:44px;border:1px solid transparent;border-radius:999px;background:#fff;color:#263845;cursor:pointer;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,opacity .18s ease}
.gallery-arrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gallery-arrow:hover{background:#eef7fb;border-color:#d4e8f1;color:#0f6f93;transform:translateY(-1px)}
.gallery-arrow:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.gallery-arrow[disabled]{opacity:.34;cursor:default;transform:none}
.gallery-viewport{width:100%;overflow:hidden}
.gallery-track{--gallery-pad:max(22px,calc((100vw - var(--wrap))/2));display:flex;gap:clamp(1rem,2vw,1.45rem);
  overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-left:var(--gallery-pad);
  padding:0 var(--gallery-pad) .35rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-card{position:relative;isolation:isolate;flex:0 0 clamp(292px,30vw,370px);height:clamp(390px,38vw,462px);overflow:hidden;border-radius:18px;
  color:#fff;text-decoration:none;background:#092536;box-shadow:0 18px 52px rgba(7,38,56,.14);scroll-snap-align:start;transform:translateZ(0);
  transition:transform .28s ease,box-shadow .28s ease}
.gallery-card:hover,.gallery-card:focus-visible{text-decoration:none;transform:translateY(-5px);box-shadow:0 26px 70px rgba(7,38,56,.22)}
.gallery-card:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.gallery-card::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.14);border-radius:inherit;pointer-events:none;z-index:4}
.gallery-card__media{position:absolute;inset:0;background-image:var(--img);background-size:cover;background-position:center;z-index:0;
  transition:transform .62s cubic-bezier(.2,.8,.2,1),filter .62s ease}
.gallery-card:hover .gallery-card__media,.gallery-card:focus-visible .gallery-card__media{transform:scale(1.055);filter:saturate(1.06) contrast(1.02)}
.gallery-card__shade{position:absolute;inset:0;z-index:1;background:
  linear-gradient(180deg,rgba(5,27,39,.04) 0%,rgba(5,27,39,.10) 42%,rgba(5,27,39,.78) 76%,rgba(3,16,26,.96) 100%),
  linear-gradient(90deg,rgba(4,24,35,.34),transparent 56%);pointer-events:none}
.gallery-card__body{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;min-height:48%;flex-direction:column;align-items:flex-start;
  padding:clamp(1.25rem,2vw,1.7rem);text-shadow:0 1px 18px rgba(0,0,0,.35)}
.gallery-card__kicker{display:block;margin-bottom:.35rem;color:#8ee3ff;font-size:.78rem;font-weight:850;line-height:1.2;letter-spacing:.09em;text-transform:uppercase}
.gallery-card__title{display:block;max-width:15.5rem;color:#fff;font-size:clamp(1.08rem,1.35vw,1.24rem);font-weight:850;line-height:1.22;letter-spacing:-.012em}
.gallery-card__desc{display:-webkit-box;max-width:18rem;margin-top:.72rem;color:rgba(233,247,255,.92);font-size:.98rem;line-height:1.58;
  -webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gallery-card__more{display:inline-flex;align-items:center;gap:.46rem;margin-top:auto;padding-top:1.35rem;color:#fff;font-size:.92rem;font-weight:850}
.gallery-card__more svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.gallery-card:hover .gallery-card__more svg,.gallery-card:focus-visible .gallery-card__more svg{transform:translateX(4px)}
.gallery-dots{display:flex;justify-content:center;gap:.55rem;margin-top:1.8rem}
.gallery-section:not(.gallery-section--scrollable) .gallery-dots{display:none}
.gallery-dot{width:8px;height:8px;border:0;border-radius:999px;background:#cfd7dc;cursor:pointer;padding:0;transition:width .18s ease,background-color .18s ease,transform .18s ease}
.gallery-dot:hover{background:#8fb7c9;transform:scale(1.12)}
.gallery-dot.is-active{width:24px;background:#0d3854}
.gallery-dot:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

@media(max-width:760px){
  .gallery-section{padding-block:3.4rem}
  .gallery-head{display:grid;gap:1.1rem;align-items:start;margin-bottom:1.4rem}
  .gallery-head h2{font-size:clamp(1.75rem,8vw,2.5rem)}
  .gallery-nav{justify-self:start;padding-bottom:0}
  .gallery-track{--gallery-pad:22px;gap:.9rem}
  .gallery-card{flex-basis:min(84vw,336px);height:430px;border-radius:16px}
  .gallery-card__body{min-height:50%;padding:1.18rem}
}
.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.sector-card{position:relative;min-height:190px;border-radius:18px;padding:1.25rem;background:#fff;border:1px solid var(--line);
  box-shadow:var(--shadow-sm);color:inherit;text-decoration:none;overflow:hidden}
.sector-card::before{content:"";position:absolute;right:-36px;top:-36px;width:112px;height:112px;border-radius:50%;background:var(--accent-soft)}
.sector-card span{position:relative;display:block;font-weight:850;color:var(--navy);font-size:1.12rem;margin-bottom:.55rem}
.sector-card p{position:relative;color:var(--muted);font-size:.93rem;margin:0}
.expert-section{padding:6.4rem 0 7rem;background:#fff;color:#111b2c;overflow:hidden}
.expert-section>.wrap{max-width:none;padding:0}
.expert-wide{position:relative;width:min(1760px,calc(100% - 36px));margin-inline:auto}
.expert-section h2{color:#07142a}.expert-section .eyebrow{margin:0 0 .95rem;color:#0e789b;font-family:var(--font);font-size:1.02rem;font-weight:680;letter-spacing:0;text-transform:uppercase}
.expert-reel{position:relative;display:grid;grid-template-columns:minmax(720px,1.16fr) minmax(540px,.84fr);gap:clamp(3.2rem,4.8vw,5.5rem);
  align-items:center;min-height:720px}
.expert-reel__visual{position:relative;height:700px;overflow:hidden;background:
  linear-gradient(180deg,#fafbfc 0%,#f1f2f4 52%,#eaebee 100%);
  mask-image:linear-gradient(90deg,transparent,black 4%,black 96%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,black 4%,black 96%,transparent)}
.expert-reel__visual::before{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(28,36,46,.065) 1px,transparent 1px) 0 0/138px 138px,
  linear-gradient(0deg,rgba(28,36,46,.055) 1px,transparent 1px) 0 0/138px 138px;opacity:.92}
.expert-reel__visual::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,#fff 0%,rgba(255,255,255,.18) 18%,transparent 42%,rgba(255,255,255,.18) 82%,#fff 100%),
  linear-gradient(180deg,#fff 0%,transparent 22%,transparent 72%,#fff 100%);pointer-events:none}
.reel-column{position:absolute;top:50%;left:50%;display:grid;gap:24px;transform:translate(-50%,calc(-138px + var(--reel-shift,0px)));
  transition:transform .96s cubic-bezier(.16,.84,.28,1)}
.reel-column--side{z-index:1;transform:translate(-50%,calc(-430px + var(--reel-side-shift,0px)));opacity:.96}
.reel-column--main{z-index:3}
.reel-column--left{left:17%}.reel-column--right{left:83%}.reel-column--far-left{left:-4%;z-index:0;opacity:.68}.reel-column--far-right{left:104%;z-index:0;opacity:.68}
.reel-column.reel-column--center{left:50%;z-index:0;opacity:.66;transform:translate(-50%,-50%)}
.reel-column--side span,.reel-column--center span{display:block;width:205px;height:188px;border-radius:26px;background:linear-gradient(155deg,rgba(248,250,252,.98),rgba(218,226,233,.82));
  border:1px solid rgba(11,56,84,.12);box-shadow:0 24px 56px rgba(20,42,58,.09),inset 0 1px 0 rgba(255,255,255,.96)}
.reel-column--side span:nth-child(3n+2),.reel-column--center span:nth-child(3n+2){background:linear-gradient(155deg,#f4f9fb,#dce9ef)}
.reel-column--far span{width:184px;height:168px;border-radius:23px;opacity:.9}
.reel-portrait{position:relative;width:252px;height:252px;margin:0;border-radius:28px;overflow:hidden;background:#eaf0f6;
  box-shadow:0 34px 76px rgba(15,31,53,.23),0 0 0 8px rgba(255,255,255,.54),inset 0 1px 0 rgba(255,255,255,.82);
  border:1px solid rgba(15,31,53,.1);transform:translateY(34px) scale(.72) rotate(-2.5deg);opacity:0;visibility:hidden;
  filter:blur(7px) saturate(.78);transition:transform .72s cubic-bezier(.16,.84,.28,1),opacity .48s ease,filter .58s ease,visibility .72s}
.reel-portrait.is-active{transform:translateY(0) scale(1.04) rotate(0);opacity:1;visibility:visible;filter:none}
.reel-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 28%}
.reel-portrait::before{content:"";position:absolute;z-index:2;inset:-2px;background:linear-gradient(112deg,transparent 24%,rgba(198,242,255,.76) 48%,transparent 72%);
  transform:translateX(-145%);pointer-events:none}
.reel-portrait.is-active::before{animation:reelPortraitSweep .95s cubic-bezier(.2,.8,.2,1) .12s both}
.reel-portrait::after{content:"";position:absolute;inset:0;background:
  linear-gradient(220deg,transparent 28%,rgba(127,212,239,.14) 42%,transparent 60%),
  linear-gradient(180deg,transparent 58%,rgba(7,31,50,.1));mix-blend-mode:screen;pointer-events:none}
.expert-reel__content{position:relative;min-height:700px;display:flex;flex-direction:column;justify-content:center;padding:1rem 0 1.25rem}
.expert-quote-stage{position:relative;min-height:540px;overflow:visible}
.expert-quote{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;
  opacity:0;transform:translateY(18px);pointer-events:none;transition:opacity .3s ease,transform .3s ease}
.expert-quote.is-active{opacity:1;transform:none;pointer-events:auto}
.expert-quote__mark{margin:0 0 .9rem;color:#c1c7cf;font-family:Georgia,"Times New Roman",serif;font-size:4.4rem;line-height:.62;font-weight:700}
.expert-quote h2{max-width:780px;margin:0 0 1.35rem;font-family:var(--font);font-size:2.72rem;line-height:1.08;letter-spacing:0;font-weight:780;color:#07142a}
.quote-word{display:inline-block;white-space:nowrap}
.quote-char{display:inline-block;opacity:0;transform:translateY(16px);animation:quoteCharRise .54s cubic-bezier(.2,.8,.2,1) forwards;
  animation-delay:calc(var(--char-index,0) * 12ms)}
.expert-person{display:grid;gap:.22rem;margin:.05rem 0 .95rem}
.expert-person strong{color:#07142a;font-size:1rem;font-weight:800}
.expert-person span{color:#2d6f91;font-weight:650}
.expert-meta{max-width:42rem;margin:0;color:#5f7183;font-size:1rem;line-height:1.6}
.expert-controls{position:relative;z-index:4;display:inline-flex;align-items:center;gap:.62rem;width:max-content;margin-top:1.7rem;padding:.46rem .58rem;
  border:1px solid rgba(7,20,42,.12);border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 18px 42px rgba(7,20,42,.1)}
.expert-controls button{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(7,20,42,.16);
  background:#fff;color:#07142a;font-size:1.55rem;line-height:1;cursor:pointer;transition:.18s;box-shadow:0 8px 20px rgba(7,20,42,.08)}
.expert-controls button:hover{background:#f4f8fb;color:#0c6f91;transform:translateY(-1px)}
.expert-dot{width:10px;height:10px;border-radius:50%;background:rgba(7,20,42,.24);transition:.18s}
.expert-dot.is-active{width:34px;border-radius:999px;background:#2faed5}
.home-logos{padding-top:2.4rem}
.knowledge-section{background:linear-gradient(180deg,#fff,var(--bg-alt))}
.knowledge-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:1.2rem;align-items:stretch}
.featured-post{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:360px;
  border-radius:18px;padding:1.5rem;color:#fff;text-decoration:none;overflow:hidden;box-shadow:var(--shadow);
  background:#072638;isolation:isolate}
.featured-post::before{content:"";position:absolute;inset:0;z-index:-2;background:
  linear-gradient(120deg,rgba(3,19,32,.94) 0%,rgba(7,38,56,.78) 45%,rgba(23,137,182,.42) 100%),
  var(--post-img,linear-gradient(145deg,#072638,#1789b6));background-size:cover;background-position:center;
  transform:scale(1.02);transition:transform .5s ease}
.featured-post::after{content:"";position:absolute;inset:auto -50px -80px auto;width:210px;height:210px;border-radius:50%;background:rgba(255,255,255,.12)}
.featured-post:hover{text-decoration:none;transform:translateY(-3px)}
.featured-post:hover::before{transform:scale(1.07)}
.featured-post>*{position:relative;z-index:1}
.featured-post h3{color:#fff;font-size:clamp(1.35rem,2.4vw,2rem);max-width:14em}
.featured-post p,.featured-post .post-meta{color:#d7eef8}
.knowledge-cats{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.knowledge-cat{position:relative;display:flex;flex-direction:column;gap:.35rem;min-height:176px;background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:5.85rem 1.05rem 1.05rem;color:inherit;text-decoration:none;box-shadow:var(--shadow-sm);transition:.18s;overflow:hidden}
.knowledge-cat::before{content:"";position:absolute;inset:0 0 auto;height:78px;background:
  linear-gradient(180deg,rgba(3,19,32,.04),rgba(3,19,32,.42)),
  var(--cat-img,linear-gradient(120deg,var(--navy),var(--brand)));background-size:cover;background-position:center;transition:transform .45s ease}
.knowledge-cat:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:var(--shadow);text-decoration:none}
.knowledge-cat:hover::before{transform:scale(1.05)}
.knowledge-cat strong{color:var(--navy);font-size:1rem}.knowledge-cat span{color:var(--muted);font-size:.9rem}
.blog-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1rem}
.blog-strip a{display:flex;align-items:flex-end;min-height:132px;border:1px solid rgba(255,255,255,.34);border-radius:12px;
  padding:1rem;color:#fff;font-weight:800;font-size:.92rem;line-height:1.35;box-shadow:var(--shadow-sm);overflow:hidden;
  background:linear-gradient(180deg,rgba(3,19,32,.22),rgba(3,19,32,.88)),var(--post-img,linear-gradient(120deg,var(--navy),var(--brand)));
  background-size:cover;background-position:center;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.blog-strip a:hover{text-decoration:none;border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}
.knowledge-cta{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:center;margin-top:1.25rem}
.knowledge-cta p{width:100%;text-align:center;color:var(--muted);margin:0 0 .2rem}
.home-faq-section{
  position:relative;overflow:clip;min-height:min(820px,100svh);display:flex;align-items:center;
  padding:clamp(5.5rem,9vw,8.5rem) 0;color:#d8e8f0;
  background:
    radial-gradient(circle at 12% 18%,rgba(23,137,182,.17),transparent 30%),
    linear-gradient(135deg,#02090e 0%,#04141e 52%,#061c28 100%);
  border-block:1px solid rgba(127,212,239,.11)}
.home-faq-section::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;
  background:linear-gradient(90deg,transparent 49.9%,rgba(127,212,239,.11) 50%,transparent 50.1%)}
.home-faq{position:relative;z-index:1;display:grid;grid-template-columns:minmax(500px,.95fr) minmax(0,1.25fr);
  gap:clamp(2.5rem,4vw,4.5rem);align-items:start;max-width:1280px;width:100%}
.home-faq__intro.section-head{
  --faq-left-x:-100vw;--faq-left-opacity:0;position:relative;left:clamp(-110px,calc(230px - 18vw),0px);
  max-width:none;margin:0;text-align:left;
  opacity:var(--faq-left-opacity);transform:translate3d(var(--faq-left-x),0,0);will-change:transform,opacity}
.home-faq__intro h2{max-width:none;margin-bottom:.8rem;color:#fff;font-family:var(--font-display);
  font-size:clamp(2.1rem,2.8vw,2.75rem);line-height:1.04;letter-spacing:-.025em;white-space:nowrap}
.home-faq__intro>p{max-width:34em;margin:0;color:rgba(215,238,248,.72);font-size:.96rem;line-height:1.58}
.home-faq__intro>p+p{margin-top:.72rem}
.home-faq__cta{margin-top:1.15rem;padding:.68em 1.25em;background:var(--accent);border-color:var(--accent);color:#03131d}
.home-faq__cta:hover{background:#a2e7fa;border-color:#a2e7fa;color:#03131d;box-shadow:0 14px 38px rgba(127,212,239,.2)}
.home-faq__cta span{font-size:1.05em;transition:transform .2s ease}
.home-faq__cta:hover span{transform:translate(2px,-2px)}
.home-faq__list{border-top:1px solid rgba(215,238,248,.25)}
.home-faq__list.faq details{
  --faq-x:100vw;--faq-opacity:0;margin:0;border:0;border-bottom:1px solid rgba(215,238,248,.25);
  border-radius:0;background:transparent;box-shadow:none;overflow:visible;
  opacity:var(--faq-opacity);transform:translate3d(var(--faq-x),0,0);will-change:transform,opacity}
.home-faq__list.faq summary{min-height:78px;padding:1.45rem .35rem 1.45rem 0;color:rgba(225,239,246,.72);
  font-size:1.02rem;font-weight:680;line-height:1.35;transition:color .2s ease}
.home-faq__list.faq summary:hover,.home-faq__list.faq summary:focus-visible{color:#fff}
.home-faq__list.faq summary:focus-visible{outline:2px solid var(--accent);outline-offset:7px;border-radius:2px}
.home-faq__list.faq summary::after{content:"";flex:0 0 auto;width:15px;height:15px;margin-right:.45rem;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;color:rgba(215,238,248,.68);
  transform:rotate(45deg) translate(-3px,3px);transition:transform .25s ease,color .2s ease}
.home-faq__list.faq details[open] summary{border-bottom:0;color:#fff}
.home-faq__list.faq details[open] summary::after{content:"";color:var(--accent);transform:rotate(225deg) translate(-2px,2px)}
.home-faq__list .faq-a{padding:0 3.4rem 1.5rem 0}
.home-faq__list .faq-a p{max-width:54em;color:rgba(215,238,248,.72);font-size:.94rem;line-height:1.65}
/* RTL: kolumna intro ma wcięcie left:-110px, które w RTL wpycha ją na pytania; zerujemy i odbijamy odstępy */
html[dir="rtl"] .home-faq__intro.section-head{left:auto;right:0;text-align:right}
html[dir="rtl"] .home-faq__list.faq summary{padding-right:0;padding-left:.35rem}
html[dir="rtl"] .home-faq__list.faq summary::after{margin-right:0;margin-left:.45rem}
html[dir="rtl"] .home-faq__list .faq-a{padding-right:0;padding-left:3.4rem}
@media(max-width:980px){
  .home-faq-section{min-height:auto;padding:4.5rem 0 5rem}
  .home-faq-section::before{display:none}
  .home-faq{grid-template-columns:1fr;gap:3rem}
  .home-faq__intro.section-head{left:0;max-width:620px}
  .home-faq__intro h2{max-width:none;font-size:clamp(1.25rem,5.65vw,1.65rem);white-space:nowrap}
  .home-faq__list.faq summary{min-height:72px;padding-block:1.25rem;font-size:.97rem}
}
@media(max-width:520px){
  .home-faq-section{padding:3.8rem 0 4.2rem}
  .home-faq{gap:2.4rem}
  .home-faq__intro h2{font-size:clamp(1.2rem,5.65vw,1.45rem);line-height:1.08}
  .home-faq__list .faq-a{padding-right:1.4rem}
}
.audit-form-section{position:relative;overflow:clip;min-height:100svh;display:flex;align-items:center;color:#d7eef8;
  padding:clamp(4.5rem,7vw,7rem) 0;background:
    radial-gradient(circle at 12% 18%,rgba(23,137,182,.17),transparent 30%),
    linear-gradient(135deg,#02090e 0%,#04141e 52%,#061c28 100%);
  border-bottom:1px solid rgba(127,212,239,.11)}
.audit-form-grid{display:grid;grid-template-columns:minmax(340px,.76fr) minmax(620px,1.24fr);
  gap:clamp(5rem,7.5vw,9rem);align-items:center;max-width:1440px;width:100%}
.audit-benefits{--audit-left-x:-100vw;--audit-left-opacity:0;opacity:var(--audit-left-opacity);
  transform:translate3d(var(--audit-left-x),0,0);will-change:transform,opacity}
.audit-benefits h2{color:#fff;max-width:none;font-family:var(--font-display);font-size:clamp(2.15rem,2.1vw,2.7rem);
  line-height:1.08;letter-spacing:-.015em;white-space:normal;text-wrap:balance}
.audit-benefits .eyebrow{color:var(--accent)}
.audit-benefits>p:not(.eyebrow){max-width:36em;color:rgba(215,238,248,.72);font-size:1rem}
.audit-flow{display:grid;gap:.8rem;margin-top:1.6rem}
.audit-flow div{display:grid;grid-template-columns:46px 1fr;gap:.2rem .8rem;align-items:start;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:1rem}
.audit-flow span{grid-row:span 2;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;
  background:var(--accent);color:var(--navy);font-weight:850}
.audit-flow strong{color:#fff}.audit-flow p{margin:0;color:#cfe2ee;font-size:.9rem}
.audit-flow__phone span svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.audit-flow__phone a{color:var(--accent);font-size:1rem;font-weight:800;text-decoration:none}
.audit-flow__phone a:hover{text-decoration:underline;text-underline-offset:.22em}
.audit-flow__phone a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:3px}
.contact-form.audit-form-card{--audit-right-x:100vw;--audit-right-opacity:0;padding:clamp(1.7rem,2.8vw,2.5rem);
  border:1px solid rgba(255,255,255,.22);border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.28);
  opacity:var(--audit-right-opacity);transform:translate3d(var(--audit-right-x),0,0);will-change:transform,opacity}
.audit-form-card__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.4rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.audit-form-card__head strong{color:var(--navy);font-size:1.18rem}
.audit-form-card__head span{color:var(--muted);font-size:.82rem;white-space:nowrap}
.audit-form-card .field{margin-bottom:.85rem}
.audit-form-card .field label span{color:#71818b;font-weight:500}
.audit-form-card .field input,.audit-form-card .field select{min-height:56px;padding:.82em 1em;background:#fff}
.audit-form-card .field textarea{min-height:106px;padding:.9em 1em;resize:vertical;background:#fff}
.audit-form-card .btn{width:100%;min-height:56px;justify-content:center;margin-top:.25rem;font-size:1rem}
.form-consents{display:grid;gap:.72rem;margin:.15rem 0 1rem}
.form-consent{display:grid;grid-template-columns:auto 1fr;gap:.65rem;align-items:flex-start;color:#33454f;font-size:.86rem;line-height:1.45;margin:0}
.form-consent input{width:16px;height:16px;margin-top:.18rem;accent-color:var(--brand)}
.form-consent a{font-weight:720;text-decoration:underline;text-underline-offset:.2em}
.form-consent__tag{display:inline-flex;align-items:center;margin-left:.35rem;padding:.08rem .42rem;border-radius:999px;
  background:#eef6fb;color:#536775;font-size:.72rem;font-weight:720;white-space:nowrap}
.has-video-hero .site-footer{margin-top:0;background:#02090e}
@media(max-width:1180px){
  .audit-form-section{min-height:auto;padding:4.5rem 0}
  .audit-form-grid{grid-template-columns:1fr;gap:3rem}
  .audit-benefits h2{max-width:none;font-size:clamp(2.1rem,7vw,3.2rem)}
}
@media(max-width:540px){
  .audit-form-section{padding:3.8rem 0}
  .audit-benefits h2{max-width:13em;letter-spacing:0;white-space:normal}
  .contact-form.audit-form-card{padding:1.25rem;border-radius:16px}
  .audit-form-card__head{display:grid;gap:.2rem}
  .audit-form-card .field input,.audit-form-card .field select{min-height:54px}
}
@keyframes meterPulse{0%,100%{opacity:.72}50%{opacity:1}}
@keyframes pipeDraw{to{stroke-dashoffset:0}}
@keyframes verticalBarGrow{from{transform:scaleY(.08);transform-origin:bottom;opacity:.55}to{transform:scaleY(1);transform-origin:bottom;opacity:1}}
@keyframes processLineDraw{to{transform:translate(-50%,-50%) scaleX(1)}}
@keyframes processNodeIn{to{opacity:1;transform:translateX(0)}}
@keyframes processConnector{to{transform:translateY(-50%) scaleX(1)}}
@keyframes processDotIn{to{opacity:1;transform:translateY(-50%) scale(1)}}
@keyframes orbitPulse{0%,100%{box-shadow:0 0 0 22px rgba(255,255,255,.08)}50%{box-shadow:0 0 0 34px rgba(127,212,239,.10)}}
@keyframes orbitRotate{to{transform:rotate(360deg)}}
@keyframes processDotPulse{0%,100%{transform:scale(1);opacity:.78}50%{transform:scale(1.18);opacity:1}}
@keyframes processFlow{0%,100%{opacity:.2;transform:translateX(-3%)}50%{opacity:.65;transform:translateX(3%)}}
@keyframes quoteCharRise{to{opacity:1;transform:translateY(0)}}
@keyframes reelPortraitSweep{from{transform:translateX(-145%)}to{transform:translateX(145%)}}

@media (prefers-reduced-motion: reduce){
  .partner-track{transform:translate3d(0,-50%,0)!important}
  .impact-card,.impact-card::before,.impact-card::after,.impact-card h3,.impact-card p,.impact-card__kicker{transition:none!important}
  .process-map::before,.process-node,.process-node::before,.process-node::after,
  .process-ring,.process-dot,.vertical-bar i{animation:none!important;opacity:1!important;transform:none!important}
  .proc-link{opacity:0!important;transform:scaleX(.08)!important;transition:none!important;animation:none!important;stroke-dasharray:none!important}
  .proc-arc.in-view:not(.steps-hidden) .proc-link{opacity:1!important;transform:scaleX(1)!important}
  .proc-hub{opacity:1!important;transform:translate(-50%,-50%)!important;transition:none!important}
  .proc-hub__ring--1,.proc-hub__ring--2{animation:none!important}
  .proc-step{opacity:0!important;transform:translate(24px,-50%) scale(.96)!important;transition:none!important}
  .proc-arc.in-view:not(.steps-hidden) .proc-step{opacity:1!important;transform:translate(0,-50%) scale(1)!important}
  .proc-hub__core{transition:none!important}
  .proc-hub__core:hover{transform:none!important}
  .proc-steps{transition:none!important}
  .branze-anim,.branze-anim-r{opacity:1!important;transform:none!important;transition:none!important}
  .scrub-l,.scrub-r{opacity:1!important;transform:none!important}
  .branze-card,.branze-pane__cta{animation:none!important;opacity:1!important;transform:none!important}
  .reel-column,.reel-portrait{transition:none!important}
  .reel-portrait.is-active::before{animation:none!important}
  .quote-char{animation:none!important;opacity:1!important;transform:none!important}
}
@media(max-width:900px) and (prefers-reduced-motion:reduce){
  .proc-step{transform:translateY(16px) scale(.98)!important}
  .proc-arc.in-view:not(.steps-hidden) .proc-step{transform:none!important}
}
@media(max-width:960px){
  .partner-marquee{min-height:110vh;padding:3.2rem 0}
  .partner-rails{gap:clamp(3rem,8vh,5rem);padding:clamp(4.8rem,11vh,6.4rem) 0 2.6rem}
  .partner-trust-panel{left:50%;top:2rem;width:min(640px,82vw);max-width:calc(100% - 2.2rem)}
  .partner-trust-label{font-size:clamp(1.1rem,4.6vw,1.75rem)}
  .partner-trust-panel p{max-width:48ch;font-size:.84rem;line-height:1.45}
  .partner-scale-badge{right:1rem;bottom:1.4rem;min-width:190px;padding:.85rem .95rem}
  .proof-grid,.chart-grid,.mission-grid,.certificate-grid,.expert-grid,.audit-form-grid{grid-template-columns:1fr}
  .process-loss-section{padding:3.8rem 0}
  .process-loss-inner{padding-inline:22px}
  .process-map{grid-template-columns:1fr;gap:1.4rem;min-height:0}
  .process-map::before{display:none}
  .process-side{gap:1rem}
  .process-side--left{order:2}.process-orbit{order:1}.process-side--right{order:3}
  .process-orbit{width:min(420px,72vw);min-width:280px}
  .process-node,.process-side--left .process-node{padding:1rem 1.1rem 1rem 5rem;text-align:left;--node-x:0}
  .process-side--left .process-node span{left:1rem;right:auto}
  .process-node::before,.process-node::after{display:none}
  .loss-wide{grid-template-columns:1fr;gap:1.2rem;margin-top:2.2rem}
  .loss-wide .btn{justify-self:start}
  .expert-wide{width:min(920px,calc(100% - 36px))}
  .expert-reel{grid-template-columns:1fr;gap:2.3rem;min-height:0}
  .expert-reel__visual{height:540px}
  .expert-reel__content{min-height:0;padding:0}
  .expert-quote-stage{min-height:420px}
  .expert-quote h2{max-width:none;font-size:2.45rem;line-height:1.08}
  .knowledge-layout{grid-template-columns:1fr}
  .impact-grid,.process-track,.metric-grid,.case-grid,.sector-grid,.blog-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .impact-showcase{grid-template-columns:1fr;gap:1.7rem}
  .impact-copy{max-width:720px}
  .impact-copy h2{font-size:clamp(2.1rem,7vw,3.4rem)}
  .impact-grid{width:100%;min-height:390px;justify-content:flex-start}
  .impact-card{min-height:390px;flex-basis:54px}
  .impact-card--active{flex-basis:420px;min-width:0}
  .mission-copy h2,.chart-copy h2,.proof-copy h2,.expert-copy h2{max-width:none}
}
@media(max-width:560px){
  .partner-marquee{min-height:105vh;padding:2.5rem 0}
  .partner-rails{padding:6.8rem 0 2.2rem;gap:clamp(2rem,6vh,3.5rem)}
  .partner-trust-panel{width:calc(100% - 2.2rem);max-width:calc(100% - 2.2rem)}
  .partner-trust-panel p{font-size:.76rem;max-width:36ch;margin-top:.65rem}
  .partner-scale-badge{right:.75rem;bottom:1rem;min-width:165px;border-radius:14px}
  .partner-scale-badge strong{font-size:2rem}
  .partner-scale-badge span,.partner-scale-badge em{font-size:.72rem}
  .partner-track{gap:1.25rem}
  .partner-logo{flex-basis:120px;height:52px}
  .impact-grid,.process-track,.metric-grid,.case-grid,.sector-grid,.knowledge-cats,.blog-strip{grid-template-columns:1fr}
  .process-loss-section{padding:2.8rem 0}
  .process-loss-inner{padding-inline:14px}
  .process-loss-head{text-align:left;margin-bottom:1.6rem}
  .process-loss-head h2{font-size:clamp(1.95rem,9vw,2.45rem)}
  .process-loss-head p{margin-left:0}
  .process-orbit{width:100%;min-width:0;max-width:330px}
  .process-core{width:70%;padding:1.35rem}
  .process-core strong{font-size:1.7rem}
  .process-core span{font-size:.68rem}
  .process-core small{font-size:.78rem}
  .process-ring--inner{border-width:12px}
  .process-node,.process-side--left .process-node{min-height:0;border-radius:16px;padding:.95rem 1rem .95rem 4.35rem}
  .process-node span{left:.9rem;width:46px;height:46px}
  .process-side--left .process-node span{left:.9rem}
  .process-node h3{font-size:1rem}
  .process-node p{font-size:.83rem}
  .loss-wide{padding:1rem;border-radius:18px}
  .vertical-bars{gap:.55rem;min-height:220px;padding:1rem .55rem .8rem;overflow-x:auto}
  .vertical-bars::before{left:.65rem;right:.65rem}
  .vertical-bars::after{inset:1rem .65rem 4.8rem}
  .vertical-bar{min-width:66px;height:188px}
  .vertical-bar i{width:min(100%,58px)}
  .vertical-bar strong{font-size:.72rem}
  .vertical-bar span{font-size:.72rem}
  .loss-wide .btn{width:100%;justify-content:center}
  .expert-section{padding:3.7rem 0 4.5rem}
  .expert-wide{width:calc(100% - 28px)}
  .expert-reel{gap:1.7rem}
  .expert-reel__visual{height:390px}
  .reel-column--side span,.reel-column--center span{width:112px;height:108px;border-radius:17px}
  .reel-column--far span{width:98px;height:96px}
  .reel-portrait{width:156px;height:156px;border-radius:20px}
  .reel-column{gap:13px;transform:translate(-50%,calc(-86px + var(--reel-shift,0px)))}
  .reel-column--side{transform:translate(-50%,calc(-245px + var(--reel-side-shift,0px)))}
  .reel-column--left{left:9%}.reel-column--right{left:91%}.reel-column--far-left{left:-18%}.reel-column--far-right{left:118%}
  .expert-quote-stage{min-height:410px}
  .expert-quote{justify-content:flex-start}
  .expert-quote__mark{font-size:3.25rem;margin-bottom:.75rem}
  .expert-quote h2{max-width:none;font-size:1.8rem;line-height:1.13}
  .expert-meta{font-size:.92rem}
  .impact-grid{display:grid;min-height:0;overflow:visible}
  .impact-card,.impact-card--active{display:block;min-height:0;flex:initial;padding:1.15rem;border-radius:14px}
  .impact-card:not(.impact-card--active) .impact-card__number{position:relative;top:auto;left:auto;transform:none}
  .impact-card__content{display:block;height:auto;min-height:0}
  .impact-card__kicker,.impact-card--active .impact-card__kicker{max-height:none;margin-bottom:.35rem;opacity:1;transform:none}
  .impact-card h3,.impact-card--active h3,.impact-card:not(.impact-card--active) h3{position:static;max-width:none;margin:.25rem 0 .45rem;
    transform:none;white-space:normal;font-size:1.02rem}
  .impact-card p:not(.impact-card__kicker),.impact-card--active p:not(.impact-card__kicker){max-height:none;opacity:1;transform:none;font-size:.92rem}
  .chart-row{grid-template-columns:1fr;gap:.35rem;margin:1.1rem 0}
  .chart-row strong{text-align:left}
  .savings-panel,.cert-card{padding:1.25rem;border-radius:14px}
  .money-counter{font-size:2.25rem}
  .case-card{min-height:220px}
  .featured-post{min-height:300px}
  .expert-photo{margin-inline:auto}
}

/* ---------- stat band ---------- */
.stat-band{background:var(--navy);color:#fff}
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;
  padding:2.4rem 0;text-align:center}
.stat-row strong{display:block;font-size:2rem;color:var(--accent);font-weight:800}
.stat-row span{font-size:.85rem;color:#bcd4e2}

/* ---------- related ---------- */
.related-list{list-style:none;display:flex;flex-wrap:wrap;gap:.7rem;padding:0;margin:.5rem 0 0}
.related-list a{display:inline-flex;align-items:center;background:var(--bg-soft);color:var(--brand-dark);
  padding:.55em 1.1em;border-radius:999px;font-size:.92rem;font-weight:600}
.related-list a:hover{background:var(--accent-soft);text-decoration:none}
.related h2{font-size:1.15rem}

/* ---------- blog ---------- */
.post-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.3rem}
.post-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  color:inherit;box-shadow:var(--shadow-sm);transition:.18s}
.post-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);text-decoration:none;border-color:var(--accent)}
.post-card:hover .post-thumb{transform:scale(1.04)}
.post-thumb{aspect-ratio:16/9;background:
  linear-gradient(180deg,rgba(3,19,32,.04),rgba(3,19,32,.22)),
  var(--post-img,linear-gradient(120deg,var(--navy),var(--brand)));
  background-size:cover;background-position:center;transition:transform .45s ease}
.post-body{padding:1.2rem}
.post-cat{display:inline-block;background:var(--bg-soft);color:var(--brand-dark);font-size:.74rem;
  font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.3em .7em;border-radius:6px;margin-bottom:.6em}
.post-card h3{color:var(--navy);font-size:1.08rem}
.post-card p{color:var(--muted);font-size:.93rem}
.post-meta{font-size:.8rem;color:var(--muted)}
.post-cover-section{padding-top:0;background:#fff}
.post-cover{margin:0;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);background:#072638}
.post-cover img{display:block;width:100%;aspect-ratio:21/9;object-fit:cover;object-position:center}
.post-cover figcaption{margin:0;padding:.85rem 1rem;background:#f5fbff;color:var(--muted);font-size:.9rem;border-top:1px solid var(--line)}

/* ---------- author ---------- */
.author{display:flex;gap:1.5rem;align-items:flex-start}
.author-avatar{flex:0 0 auto;width:84px;height:84px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--brand));
  color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.5rem}
.author-role{color:var(--brand-dark);font-weight:650;margin-top:-.3em}

/* ---------- kontakt / formularz ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:2.5rem;align-items:start}
.contact-locations{display:grid;gap:1rem;margin-top:1.35rem}
.contact-location{padding:1.15rem 1.2rem;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}
.contact-location h3{margin:0 0 .25rem;color:var(--navy);font-size:1rem}
.contact-location__name{margin:0;color:var(--brand);font-weight:800}
.contact-list{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;gap:.7rem}
.contact-list li{display:flex;align-items:center;gap:.7em;color:#33454f}
.contact-list .ci{width:30px;height:30px;border-radius:8px;background:var(--bg-soft);display:grid;place-items:center}
.contact-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow-sm)}
.contact-form--smart{display:grid;gap:1rem}
.contact-form--smart .field{margin-bottom:0}
.contact-form--smart .field label{margin-bottom:.3em}
.contact-form--smart .field textarea{resize:vertical}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact-form--smart .field--identity input{min-height:56px}
.contact-form--smart .field--phone input,.contact-form--smart .field--email input{min-height:56px}
.field-hint{margin:.28rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.35}
.field{margin-bottom:1rem;display:flex;flex-direction:column}
.field label{font-size:.85rem;font-weight:650;color:var(--navy);margin-bottom:.35em}
.field-meta{display:inline-flex;align-items:center;margin-left:.28rem;color:#71818b;font-size:.78em;font-weight:600}
.field-meta::before{content:"";width:3px;height:3px;margin-right:.32rem;border-radius:50%;background:#9eb0bb}
.field input,.field select,.field textarea{font:inherit;font-size:.95rem;padding:.65em .8em;border:1px solid var(--line);
  border-radius:9px;background:#fcfdfe;color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);border-color:var(--brand)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-note{margin:.9em 0 0;padding:.7em .9em;border-radius:9px;background:#eaf3f8;color:var(--navy);font-size:.9rem}

/* ---------- bezplatna konsultacja ---------- */
.consult-hero{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#051b28}
.consult-hero__bg{position:absolute;inset:0;z-index:-2;background:
  radial-gradient(120% 90% at 82% 8%,rgba(12,78,112,.55),transparent 60%),
  linear-gradient(90deg,rgba(3,18,27,.96),rgba(5,37,55,.84) 46%,rgba(4,25,37,.58)),
  var(--hero-img,url('/assets/industries/industry-cold-storage.jpg')) center/cover no-repeat}
.consult-hero::after{content:"";position:absolute;right:clamp(-180px,-8vw,-80px);bottom:-170px;width:min(560px,48vw);aspect-ratio:1;
  z-index:-1;background:url('/assets/kabi-sygnet.svg') center/contain no-repeat;filter:brightness(0) invert(1);opacity:.07}
.consult-hero__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);gap:clamp(2rem,5vw,5rem);align-items:center;
  min-height:clamp(640px,74vh,780px);padding-block:calc(var(--header-h) + clamp(3.4rem,6vw,5.4rem)) clamp(6rem,8vw,7.8rem)}
.consult-kicker{display:inline-flex;align-items:center;gap:.55rem;margin:0 0 1rem;color:#8fddf5;font-size:.76rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase}
.consult-kicker::before{content:"";width:26px;height:2px;border-radius:2px;background:currentColor;opacity:.75}
.consult-hero h1{max-width:16em;margin:0 0 1.2rem;color:#fff;font-size:4rem;line-height:1.08;letter-spacing:0;text-wrap:pretty}
.consult-hero h1 em{font-style:normal;color:var(--accent)}
.consult-lead{max-width:40em;margin:0;color:#cfe6f0;font-size:clamp(1.02rem,1.3vw,1.18rem);line-height:1.62}
.consult-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.7rem}
.consult-actions .btn{min-height:50px}
.consult-hero__points{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin:1.7rem 0 0;padding:0}
.consult-hero__points li{display:flex;align-items:center;gap:.5rem;color:#d7e9f2;font-size:.9rem;font-weight:600}
.consult-hero__points li::before{content:"";flex:0 0 auto;width:17px;height:17px;border-radius:50%;
  background:rgba(143,221,245,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238fddf5' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 7'/%3E%3C/svg%3E") center/11px no-repeat}
.consult-hero__visual{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;min-height:420px}
.consult-hero__frame{position:relative;width:100%;max-width:430px;border-radius:4px;padding:0;background:transparent;box-shadow:none}
.consult-hero__frame::before{display:none}
.consult-hero__frame img{display:block;width:100%;height:min(500px,60vh);object-fit:cover;object-position:center top;border-radius:4px;filter:saturate(.86) contrast(1.04) brightness(.95)}
.consult-proof{position:absolute;left:50%;bottom:0;z-index:2;width:min(1160px,calc(100% - 44px));display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));transform:translate(-50%,50%);border:1px solid rgba(195,226,237,.7);
  border-radius:12px;background:#fff;box-shadow:0 22px 54px rgba(11,61,92,.18);overflow:hidden}
.consult-proof div{display:grid;grid-template-columns:auto 1fr;gap:.15rem .85rem;align-items:center;padding:1.15rem 1.3rem;border-right:1px solid var(--line)}
.consult-proof div:last-child{border-right:0}
.consult-proof__ic{grid-row:span 2;display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#e8f6fb;color:var(--brand)}
.consult-proof__ic svg{width:22px;height:22px}
.consult-proof strong{align-self:end;color:var(--navy);font-size:.98rem;line-height:1.15}
.consult-proof span{align-self:start;color:var(--muted);font-size:.82rem;line-height:1.32}
.consult-section{position:relative;padding:clamp(4.1rem,7vw,6.8rem) 0}
.consult-section--light{padding-top:clamp(6.6rem,9vw,8.4rem);background:#f5f9fc}
.consult-section-head{max-width:820px;margin-bottom:2.4rem}
.consult-section-head h2,.consult-process__intro h2,.consult-value h2,.consult-contact-copy h2,.consult-faq-intro h2,.consult-final__copy h2{
  margin:0;color:var(--navy);font-size:2.45rem;line-height:1.14;letter-spacing:0;text-wrap:pretty}
.consult-section-head p,.consult-process__intro p,.consult-contact-copy>p,.consult-faq-intro p{max-width:56em;margin:.9rem 0 0;color:#40535f;font-size:1.04rem;line-height:1.65}
.consult-section--light .consult-kicker,.consult-section--process .consult-kicker{color:var(--brand)}
.consult-fit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.15rem}
.fitcard{position:relative;display:flex;flex-direction:column;min-height:266px;padding:1.6rem 1.45rem 1.4rem;
  border:1px solid #dde8ef;border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(11,61,92,.04);overflow:hidden;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.fitcard::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--brand),var(--accent));
  transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.2,.82,.22,1)}
.fitcard:hover{transform:translateY(-5px);box-shadow:0 24px 50px rgba(11,61,92,.13);border-color:#c3dceb}
.fitcard:hover::before{transform:scaleX(1)}
.fitcard__no{position:absolute;top:1rem;right:1.15rem;font-family:var(--font-display);font-size:2.5rem;font-weight:850;
  line-height:1;color:#0b3d5c;opacity:.09;letter-spacing:-.03em}
.fitcard__icon{display:inline-grid;place-items:center;width:52px;height:52px;margin-bottom:1.25rem;border-radius:13px;
  background:linear-gradient(150deg,#eaf7fc,#d7eef8);color:var(--brand-dark);box-shadow:inset 0 0 0 1px rgba(11,61,92,.06)}
.fitcard__icon svg{width:26px;height:26px}
.fitcard:hover .fitcard__icon{background:linear-gradient(150deg,var(--brand),#0b3d5c);color:#fff}
.fitcard h3{margin:0 0 .5rem;color:var(--navy);font-size:1.1rem;line-height:1.24}
.fitcard p{margin:0;color:var(--muted);font-size:.93rem;line-height:1.56}
.fitcard__tag{margin-top:auto;padding-top:1rem;color:var(--brand-dark);font-size:.76rem;font-weight:750;letter-spacing:.01em}
.consult-section--process{background:linear-gradient(180deg,#fff,#f5f9fc);overflow:hidden}
/* duży sygnet KABI CHEMIE jako tło (watermark) */
.consult-watermark{position:absolute;left:50%;top:50%;z-index:0;width:min(760px,82%);aspect-ratio:1;
  transform:translate(-50%,-50%);background:url('/assets/kabi-sygnet.svg') center/contain no-repeat;opacity:.05;pointer-events:none}
.consult-watermark--light{filter:brightness(0) invert(1);opacity:.06}
.consult-process{position:relative;z-index:1;display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.4fr);gap:clamp(2rem,5vw,4.6rem);align-items:start}
.consult-process__cta{margin-top:1.8rem;min-height:50px}
.consult-steps{list-style:none;margin:0;padding:0;display:grid;gap:0}
.consult-steps li{position:relative;display:grid;grid-template-columns:56px 1fr;gap:.3rem 1.15rem;align-items:start;
  padding:1.35rem 1.4rem;border-radius:14px;background:rgba(255,255,255,.72);border:1px solid transparent;
  transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.consult-steps li:hover{background:#fff;border-color:#d9e7ef;box-shadow:0 16px 40px rgba(11,61,92,.1)}
.consult-steps li:not(:last-child)::after{content:"";position:absolute;left:28px;top:calc(56px + 1.35rem);bottom:-.3rem;
  width:2px;background:linear-gradient(180deg,rgba(0,102,204,.35),rgba(0,102,204,.06))}
.consult-steps span{position:relative;z-index:1;grid-row:span 2;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;
  font-family:var(--font-display);font-size:1.5rem;background:linear-gradient(145deg,#1391d6,#0b3d5c);
  color:#fff;font-weight:850;box-shadow:0 12px 26px rgba(0,102,204,.28)}
.consult-steps h3{margin:.25rem 0 .3rem;color:var(--navy);font-size:1.14rem}
.consult-steps p{margin:0;color:var(--muted);font-size:.96rem;line-height:1.56}
.consult-section--value{position:relative;background:linear-gradient(160deg,#072a3e,#05202f);color:#d9edf6;overflow:hidden}
.consult-section--value::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(110% 90% at 12% 0%,rgba(19,145,214,.22),transparent 55%)}
.consult-section--value>.wrap{position:relative;z-index:1}
.consult-value{position:relative;z-index:1;display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.3fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.consult-value h2{color:#fff}
.consult-value__intro .consult-kicker{color:var(--accent)}
.consult-value__lead{max-width:34em;margin:1.1rem 0 0;color:#b9d5e2;font-size:1rem;line-height:1.62}
.consult-value__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.valuecard{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;min-height:158px;padding:1.4rem;
  border:1px solid rgba(160,220,240,.16);border-radius:14px;background:rgba(255,255,255,.045);backdrop-filter:blur(2px);
  transition:background-color .2s ease,border-color .2s ease,transform .2s ease}
.valuecard:hover{background:rgba(143,221,245,.09);border-color:rgba(143,221,245,.4);transform:translateY(-3px)}
.valuecard__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:11px;
  background:rgba(143,221,245,.14);color:var(--accent);border:1px solid rgba(143,221,245,.28)}
.valuecard__icon svg{width:24px;height:24px}
.valuecard strong{display:block;margin-bottom:.35rem;color:#fff;font-size:1.05rem}
.valuecard span{color:#bdd7e4;font-size:.92rem;line-height:1.56}
.consult-form-section{padding:clamp(4.4rem,8vw,7.2rem) 0;background:
  linear-gradient(180deg,#f3f8fb,#fff)}
.consult-contact-grid{display:grid;grid-template-columns:minmax(280px,.86fr) minmax(360px,1fr);gap:clamp(2rem,5vw,4.2rem);align-items:start}
.consult-contact-copy{position:sticky;top:96px}
.consult-contact-box{margin-top:1.2rem;padding:1.1rem 1.2rem;border-left:4px solid var(--brand);background:#fff;box-shadow:var(--shadow-sm)}
.consult-contact-box h3{font-size:1rem;margin-bottom:.55rem}
.consult-contact-box p{margin:.15rem 0;color:#344955}
.consult-contact-box a{font-weight:760}
.consult-contact-box--soft{border-left-color:#7fd4ef;background:#eef7fb}
.consult-contact-box ul{margin:.35rem 0 0;padding-left:1.1rem;color:#40535f;font-size:.93rem}
.consult-contact-box li{margin:.32rem 0}
.consult-smart-form{border-radius:8px;padding:clamp(1.25rem,2.4vw,2rem);box-shadow:0 22px 70px rgba(11,61,92,.13)}
.consult-form-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.8rem;padding-bottom:.9rem;border-bottom:1px solid var(--line)}
.consult-form-head strong{color:var(--navy);font-size:1.08rem}
.consult-form-head span{color:var(--muted);font-size:.8rem;white-space:nowrap}
.consult-smart-form .btn{width:100%;justify-content:center;min-height:56px}
.consult-section--faq{background:#fff}
.consult-faq-layout{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.35fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.consult-faq-intro{position:sticky;top:96px}
.consult-faq details{border-radius:8px;box-shadow:none}
.consult-faq summary{min-height:64px}
.consult-faq summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
/* ---- końcowe CTA: jasny akcent domykający stronę (oddziela je od ciemnej stopki) ---- */
.consult-final{padding:clamp(3rem,5vw,4.6rem) 0 0;background:#eef5f9}
.consult-final__card{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.5fr) auto;
  gap:clamp(1.5rem,4vw,3rem);align-items:center;padding:clamp(2rem,4vw,3.1rem) clamp(1.6rem,4vw,3.4rem);border-radius:20px;
  background:linear-gradient(135deg,#0f7fc0 0%,#0b3d5c 100%);color:#fff;box-shadow:0 30px 70px rgba(8,58,89,.32)}
.consult-final__card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,var(--accent),transparent)}
.consult-final__mark{position:absolute;z-index:-1;right:-70px;top:50%;transform:translateY(-50%);width:340px;aspect-ratio:1;
  background:url('/assets/kabi-sygnet.svg') center/contain no-repeat;filter:brightness(0) invert(1);opacity:.1;pointer-events:none}
.consult-final__copy .consult-kicker{color:var(--accent)}
.consult-final__copy h2{max-width:18em;color:#fff}
.consult-final__copy>p{max-width:40em;margin:1rem 0 0;color:#d7ecf6;font-size:1.02rem;line-height:1.6}
.consult-final__actions{display:grid;gap:.85rem;justify-items:start}
.consult-final__actions .btn{min-height:52px;padding-inline:1.6rem}
.consult-final__actions .btn-primary{background:#fff;color:var(--brand-dark);border-color:#fff}
.consult-final__actions .btn-primary:hover{background:#eaf6fc;border-color:#eaf6fc;color:var(--brand-dark)}
.consult-final__tel{display:inline-flex;align-items:center;gap:.5rem;color:#d7ecf6;font-weight:700;font-size:.94rem}
.consult-final__tel svg{width:18px;height:18px}
.consult-final__tel:hover{color:#fff;text-decoration:underline;text-underline-offset:.28em}
@media(max-width:1060px){
  .consult-hero__inner,.consult-process,.consult-value,.consult-contact-grid,.consult-faq-layout{grid-template-columns:1fr}
  .consult-hero__inner{min-height:0}
  .consult-hero h1{font-size:3.2rem}
  .consult-hero__visual{max-width:460px;min-height:0;margin-inline:auto}
  .consult-contact-copy,.consult-faq-intro{position:static}
  .consult-fit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .consult-final__card{grid-template-columns:1fr}
  .consult-final__actions{justify-items:stretch}
  .consult-final__actions .btn{justify-content:center}
}
@media(max-width:720px){
  .consult-hero__inner{padding-top:calc(var(--header-h) + 2.6rem);padding-bottom:8rem}
  .consult-hero h1{font-size:2.55rem;line-height:1.1}
  .consult-actions{display:grid}
  .consult-actions .btn{justify-content:center;white-space:normal;text-align:center}
  .consult-hero__frame{max-width:none}
  .consult-hero__frame img{height:340px}
  .consult-proof{grid-template-columns:1fr;transform:translate(-50%,60%);width:calc(100% - 28px)}
  .consult-proof div{border-right:0;border-bottom:1px solid var(--line)}
  .consult-proof div:last-child{border-bottom:0}
  .consult-section--light{padding-top:13rem}
  .consult-fit-grid,.consult-value__list{grid-template-columns:1fr}
  .consult-steps li{grid-template-columns:46px 1fr;padding-inline:1rem}
  .consult-steps span{width:46px;height:46px;font-size:1.25rem}
  .consult-steps li:not(:last-child)::after{left:23px;top:calc(46px + 1.35rem)}
  .consult-form-head{display:grid;gap:.15rem}
  .consult-form-head span{white-space:normal}
}
@media(max-width:460px){
  .consult-hero__frame img{height:280px}
  .consult-section-head h2,.consult-process__intro h2,.consult-value h2,.consult-contact-copy h2,.consult-faq-intro h2,.consult-final__copy h2{
    font-size:1.9rem}
  .consult-smart-form{padding:1rem}
  .contact-form__row{grid-template-columns:1fr}
  .valuecard{grid-template-columns:1fr}
}

/* ================= KONTAKT ================= */
.kontakt-card{position:relative;width:100%;max-width:400px;display:grid;gap:.55rem;padding:1.6rem;border-radius:16px;
  background:linear-gradient(160deg,rgba(10,45,66,.88),rgba(6,30,45,.94));border:1px solid rgba(143,221,245,.28);
  box-shadow:0 40px 100px rgba(0,0,0,.42);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow:hidden}
.kontakt-card__ring{position:absolute;right:-70px;top:-70px;width:190px;height:190px;pointer-events:none;
  background:url('/assets/kabi-sygnet.svg') center/contain no-repeat;filter:brightness(0) invert(1);opacity:.09}
.kontakt-card__label{margin:0 0 .35rem;color:var(--accent);font-size:.72rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.kontakt-card__row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.9rem;padding:.75rem;border-radius:12px;
  color:#eaf6fc;text-decoration:none;transition:background-color .2s ease,transform .2s ease}
a.kontakt-card__row:hover{background:rgba(143,221,245,.1);transform:translateX(2px)}
.kontakt-card__ic{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;
  background:rgba(143,221,245,.14);border:1px solid rgba(143,221,245,.3);color:var(--accent)}
.kontakt-card__ic svg{width:22px;height:22px}
.kontakt-card__tx{display:grid;gap:.1rem;min-width:0}
.kontakt-card__tx strong{color:#fff;font-size:1rem;line-height:1.2;word-break:break-word}
.kontakt-card__row--lead .kontakt-card__tx strong{font-size:1.35rem;font-family:var(--font-display);letter-spacing:-.01em}
.kontakt-card__tx em{color:#a7cddd;font-style:normal;font-size:.8rem}

.kontakt-main{padding-top:clamp(6.8rem,9vw,8.6rem);background:#f5f9fc}
.kontakt-grid{display:grid;grid-template-columns:minmax(280px,.92fr) minmax(360px,1fr);gap:clamp(2rem,4.5vw,4rem);align-items:start}
.kontakt-info__lead{max-width:34em;margin:.9rem 0 1.7rem;color:#40535f;font-size:1.02rem;line-height:1.62}
.kontakt-offices{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.kontakt-office{padding:1.4rem;border:1px solid #dbe7ee;border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}
.kontakt-office__tag{display:inline-block;margin-bottom:.7rem;padding:.28rem .7rem;border-radius:999px;
  background:#e8f6fb;color:var(--brand-dark);font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.kontakt-office__name{margin:0 0 .8rem;color:var(--navy);font-weight:800;font-size:1.05rem}
.kontakt-office__list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.kontakt-office__list li{display:grid;grid-template-columns:auto 1fr;gap:.6rem;align-items:start;color:#40535f;font-size:.92rem;line-height:1.42}
.kontakt-office__list a{color:var(--brand-dark);font-weight:700}
.kontakt-office__list a:hover{text-decoration:underline}
.kontakt-office__ic{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#eef6fa;color:var(--brand)}
.kontakt-office__ic svg{width:17px;height:17px}
.kontakt-form{background:#fff}

.kontakt-steps{background:#fff}
.kontakt-steps__head{max-width:760px;margin-bottom:2.4rem}
.kontakt-steps__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.15rem}
.kontakt-step{position:relative;padding:1.7rem 1.45rem 1.5rem;border:1px solid #dde8ef;border-radius:16px;background:#f7fbfd;
  box-shadow:0 1px 2px rgba(11,61,92,.04);overflow:hidden}
.kontakt-step::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--brand),var(--accent));
  transform:scaleY(0);transform-origin:top;transition:transform .5s cubic-bezier(.2,.82,.22,1) .1s}
.kontakt-step.in-view::before{transform:scaleY(1)}
.kontakt-step__no{display:inline-grid;place-items:center;width:46px;height:46px;margin-bottom:1.1rem;border-radius:50%;
  font-family:var(--font-display);font-size:1.35rem;font-weight:850;color:#fff;background:linear-gradient(145deg,#1391d6,#0b3d5c);
  box-shadow:0 12px 26px rgba(0,102,204,.24)}
.kontakt-step h3{margin:0 0 .5rem;color:var(--navy);font-size:1.12rem}
.kontakt-step p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.56}
.kontakt-final{padding-bottom:clamp(3rem,5vw,4.6rem)}

@media(max-width:1060px){
  .kontakt-grid{grid-template-columns:1fr}
  .kontakt-steps__list{grid-template-columns:1fr}
}
@media(max-width:720px){
  .kontakt-main{padding-top:13rem}
  .kontakt-offices{grid-template-columns:1fr}
  .kontakt-card{max-width:none}
  .kontakt-card__row--lead .kontakt-card__tx strong{font-size:1.2rem}
}

/* ================= CASE STUDY / ROZWIĄZANIA ================= */
/* warianty kolumn dla wspólnych siatek */
.consult-fit-grid.consult-fit-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.kontakt-steps__list.kontakt-steps__list--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1060px){
  .consult-fit-grid.consult-fit-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kontakt-steps__list.kontakt-steps__list--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .consult-fit-grid.consult-fit-grid--3,.kontakt-steps__list.kontakt-steps__list--4{grid-template-columns:1fr}
}
/* wyniki wdrożenia (ciemna sekcja z licznikami) */
.case-results-section .consult-section-head{position:relative;z-index:1;max-width:820px;margin-bottom:2.2rem}
.case-results-section h2{color:#fff}
.case-results-section .consult-section-head p{color:#b9d5e2}
.case-results-head .consult-kicker{color:var(--accent)}
.case-results{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:1rem}
.case-result{display:grid;gap:.45rem;align-content:start;padding:1.6rem 1.45rem;border:1px solid rgba(160,220,240,.16);
  border-radius:14px;background:rgba(255,255,255,.045);transition:background-color .2s ease,border-color .2s ease,transform .2s ease}
.case-result:hover{background:rgba(143,221,245,.09);border-color:rgba(143,221,245,.4);transform:translateY(-3px)}
.case-result__big{display:flex;align-items:baseline;gap:.3rem;min-height:1.1em;color:#8fe0fa;
  font-family:var(--font-display);font-weight:850;font-size:clamp(2.1rem,3.4vw,3rem);line-height:1;letter-spacing:-.02em}
.case-result__big--text{font-size:clamp(1.45rem,2.4vw,1.9rem)}
.case-result__big i{font-style:normal;font-size:.55em;color:#9fc9da}
.case-result__label{color:#fff;font-weight:700;font-size:.98rem;line-height:1.3}
.case-result__ba{display:grid;gap:.15rem;margin-top:.35rem;padding-top:.75rem;border-top:1px solid rgba(160,220,240,.16)}
.case-result__ba em{font-style:normal;color:#9fc0d0;font-size:.82rem}
.case-result__ba em:last-child{color:#bfe8f7;font-weight:650}
.case-results__note{position:relative;z-index:1;margin:1.4rem 0 0;color:#87a9ba;font-size:.8rem}

/* ---------- footer ---------- */
.site-footer{background:#02090e;color:#c7d8e3;margin-top:0}
/* szersze kolumny linków = nazwy mieszczą się w jednej linii i stopka jest niższa */
.footer-grid{display:grid;grid-template-columns:minmax(250px,1.4fr) repeat(4,minmax(140px,.82fr)) minmax(260px,1.25fr);
  gap:clamp(1.4rem,2vw,2.25rem);align-items:start;max-width:1500px;padding:clamp(2.8rem,4vw,3.7rem) 28px clamp(2.2rem,3vw,2.8rem)}
.footer-links{display:contents}
.fcol h3{color:#fff;font-size:.98rem;margin-bottom:.95em;letter-spacing:.01em}
.fcol ul{list-style:none;padding:0;margin:0;display:grid;gap:.54em}
.fcol a{color:#aac3d2;font-size:.91rem;line-height:1.42}
.fcol a:hover{color:#fff}
.fbrand{align-self:center;justify-self:center;display:flex;flex-direction:column;align-items:center;width:100%;padding-right:clamp(.4rem,1.2vw,1rem)}
.fbrand-logo{display:flex;align-items:center;justify-content:center;width:100%;margin-bottom:1.35rem;line-height:0}
.fbrand-logo__image{width:clamp(250px,15vw,292px);height:auto;aspect-ratio:456/90;object-fit:contain;object-position:center}
.site-footer .logo-tagline{color:#fff;font-size:.72rem;letter-spacing:.24em;opacity:.92}
.footer-partner{display:grid;justify-items:start;gap:.65rem;margin-top:0}
.footer-partner span{color:#9fbccd;font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.footer-partner img{display:block;width:min(190px,100%);height:auto;object-fit:contain;object-position:left center}
/* lewa kolumna ma dłuższy adres i e-mail, więc dostaje nieco więcej miejsca */
.footer-offices{display:grid;min-width:0;align-items:start;padding-left:clamp(.4rem,1vw,.9rem)}
.footer-location{display:grid;gap:.24rem;min-width:0;padding-left:1.05rem;border-left:1px solid rgba(127,212,239,.42);
  color:#9fbccd;font-size:.86rem;font-style:normal;line-height:1.48}
.footer-location strong{color:#fff;font-size:.98rem;letter-spacing:.01em;margin-bottom:.24rem}
.footer-location .footer-company{color:#cfe2ee;font-weight:750}
.footer-location a{width:auto;color:#bfe2f1;font-size:.86rem;text-decoration:none;overflow-wrap:anywhere}
.footer-location a:hover{color:#fff;text-decoration:underline;text-underline-offset:.2em}
.footer-location a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
/* RTL: adres, NIP i telefon to dane łacińskie - wymuszamy LTR, by kolejność (08-110 Siedlce, NIP: ...) była poprawna */
html[dir="rtl"] .footer-location{direction:ltr;text-align:left}
.footer-socials{display:flex;align-items:center;justify-content:center;gap:.68rem;margin-top:.15rem}
.footer-social-icon{display:inline-grid;place-items:center;box-sizing:border-box;width:38px;height:38px;min-width:38px;
  min-height:38px;max-width:38px;max-height:38px;flex:0 0 38px;aspect-ratio:1/1;padding:0;overflow:hidden;
  border:1px solid rgba(127,212,239,.62);border-radius:999px;line-height:0;color:#bfeaff;
  background:rgba(127,212,239,.04)}
.footer-social-icon svg{display:block;width:17px;height:17px;min-width:17px;min-height:17px;flex:0 0 17px;
  fill:currentColor;stroke:none;shape-rendering:geometricPrecision}
.footer-bottom{max-width:1500px;border-top:1px solid rgba(255,255,255,.12);padding:1.2rem 28px 1.35rem;display:flex;
  flex-wrap:wrap;gap:.5rem 2rem;justify-content:space-between;align-items:center}
.footer-bottom p{margin:0;font-size:.86rem;color:#8fb0c2}
.footer-credit a{color:#bfeaff;font-weight:750;text-decoration:none}
.footer-credit a:hover{color:#fff;text-decoration:underline;text-underline-offset:.22em}
.footer-credit a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:3px}

/* ---------- responsywność ---------- */
@media(max-width:1280px){
  .footer-grid{grid-template-columns:minmax(235px,1.25fr) repeat(4,minmax(130px,1fr));gap:1.6rem 1.35rem}
  .footer-offices{grid-column:2/-1;padding:1.5rem 0 0;border-top:1px solid rgba(255,255,255,.1)}
}
@media(max-width:960px){
  .hero-inner{grid-template-columns:1fr;gap:2rem}
  .hero-media{order:-1;max-width:420px}
  .contact-grid{grid-template-columns:1fr}
  /* 3 kolumny zamiast 2 - stopka nie rozciąga się na pełny ekran wysokości */
  .footer-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}
  .fbrand{align-self:start;padding-right:0}
  .footer-offices{grid-column:auto;padding:0;border-top:0}
}
@media(max-width:720px){
  .footer-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}
}
@media(max-width:1160px){
  :root{--header-h:72px}
  .brand-logo{width:min(210px,50vw)}
  .logo-tagline{font-size:.66rem;letter-spacing:.16em}
  .nav-toggle{display:flex}
  .primary{position:fixed;inset:var(--header-h) 0 auto 0;flex-direction:column;align-items:stretch;gap:0;
    background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:1rem 22px 1.4rem;
    max-height:calc(100vh - 68px);overflow:auto;transform:translateY(-130%);transition:transform .25s ease;margin:0}
  .primary.open{transform:none}
  .menu{flex-direction:column;align-items:stretch;gap:0}
  .menu>li>a{padding:.85em .2em;border-bottom:1px solid var(--line);border-radius:0}
  .caret{margin-left:auto}
  .nav-panel{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:none;
    -webkit-backdrop-filter:none;backdrop-filter:none;display:none;grid-template-columns:1fr;width:auto;max-width:none;gap:0;
    padding:.2em 0 .6em 1rem;overflow:visible;pointer-events:auto;color:var(--navy)}
  .has-sub.open .nav-panel{display:grid}
  .nav-panel::before,.nav-panel::after,.nav-panel__identity,.nav-panel__route,.nav-panel__footer{display:none}
  .nav-panel__main{display:block;min-height:0}
  .nav-panel__services{padding:0;opacity:1;transform:none}
  .nav-panel__services-head,.nav-panel__action{display:none}
  .nav-panel__links{grid-template-columns:1fr;gap:0}
  .nav-panel__groups{grid-template-columns:1fr;gap:0;margin-top:.2rem}
  .nav-panel__group+.nav-panel__group{margin-top:1rem;padding-left:0;border-left:0}
  .nav-panel__group-title{padding-left:calc(.2em + 1.8rem + .6rem);color:#0a6c91}
  .nav-panel__links li{opacity:1;transform:none}
  .nav-panel__links a{grid-template-columns:1.8rem 1fr 18px;min-height:50px;padding:.7em .2em;color:var(--navy)}
  .nav-panel__links a:hover,.nav-panel__links a:focus-visible{padding-left:.35rem;padding-right:.2rem;background:rgba(10,108,145,.06)}
  .nav-panel__item-logo{width:24px;height:24px;filter:none;opacity:1}
  .nav-cta{margin-top:1rem}
  .nav-cta .btn{flex:0 0 auto;justify-content:flex-start;padding:.85em .2em!important}
}
@media(max-width:540px){
  /* linki zostają w dwóch kolumnach - jedna kolumna rozciągała stopkę na kilka ekranów */
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{padding-inline:22px}
  .footer-bottom{align-items:flex-start;flex-direction:column;gap:.6rem}
  .footer-bottom{padding-inline:22px}
  .row2{grid-template-columns:1fr}
  body{font-size:16px}
}
@media(max-width:400px){
  .footer-grid{grid-template-columns:1fr}
}

/* ---------- dopracowanie hero, nawigacji i animacji scroll ---------- */
.site-header{background:transparent;border-bottom-color:transparent;box-shadow:none;
  transition:transform .34s cubic-bezier(.2,.8,.2,1),background-color .22s ease,border-color .22s ease,box-shadow .22s ease,backdrop-filter .22s ease}
.site-header>.wrap{max-width:none;padding-inline:clamp(18px,1.9vw,36px)}
.header-inner{gap:clamp(1rem,2vw,2rem);min-height:var(--header-h)}
.primary{margin-left:auto;gap:clamp(.85rem,1.5vw,1.45rem)}
.menu{align-items:center;gap:.34rem}
.brand{padding:0;border-radius:0;background:transparent;transition:transform .18s ease}
.brand:hover{background:transparent;transform:translateY(-1px);text-decoration:none}
.menu>li>a{background:transparent;padding:.66em .46em;font-size:1.02rem;font-weight:750;
  white-space:nowrap;transition:color .18s ease,text-decoration-color .18s ease}
.site-header.nav-hidden{transform:translateY(calc(-100% - 14px))}
.site-header.solid{
  background:rgba(5,27,39,.38);backdrop-filter:saturate(155%) blur(16px);
  border-bottom-color:rgba(207,226,238,.1);box-shadow:0 14px 36px rgba(5,27,39,.12)}
.site-header.solid .brand-logo{filter:none}
.site-header.solid .logo-tagline{color:#fff}
.site-header.solid .nav-toggle span{background:#fff}
@media(min-width:1161px){
  .site-header.solid .menu>li>a{color:#fff;text-shadow:none}
  .site-header.solid .menu>li>a:hover,
  .site-header.solid .menu>li>a[aria-current]{background:transparent;color:#fff;text-decoration:underline;text-underline-offset:.32em}
}
.nav-savings-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;isolation:isolate;
  min-height:50px;padding:.92em 1.34em!important;border-radius:999px!important;font-size:.92rem!important;line-height:1!important;
  background:linear-gradient(135deg,#1aa7d8,#087fb1) padding-box,
    conic-gradient(from var(--cta-angle,0deg),rgba(163,232,255,.2),rgba(255,255,255,.94),rgba(73,192,232,.2),rgba(163,232,255,.2)) border-box!important;
  border:1px solid transparent!important;animation:navCtaBorder 3.2s linear infinite;
  color:#fff!important;box-shadow:0 12px 28px rgba(0,126,178,.34),inset 0 1px 0 rgba(255,255,255,.26)!important;
  overflow:hidden;text-shadow:0 1px 10px rgba(0,37,58,.28);transition:transform .18s ease,box-shadow .18s ease}
.nav-savings-btn::after{content:"";position:absolute;inset:1px auto 1px -70%;width:48%;pointer-events:none;border-radius:inherit;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-18deg);
  animation:navCtaLoad 2.7s ease-in-out infinite}
.nav-savings-btn:hover{transform:translateY(-1px);text-decoration:none;box-shadow:0 16px 34px rgba(0,126,178,.44),inset 0 1px 0 rgba(255,255,255,.32)!important}
.nav-savings-btn:focus-visible{outline:2px solid rgba(167,232,255,.96);outline-offset:3px}
.nav-savings-btn span{position:relative;z-index:1;font-weight:850;letter-spacing:-.01em;white-space:nowrap}
@keyframes navCtaLoad{0%,30%{left:-70%;opacity:0}48%{opacity:.95}78%,100%{left:118%;opacity:0}}
@keyframes navCtaBorder{to{--cta-angle:360deg}}
@property --cta-angle{syntax:"<angle>";inherits:false;initial-value:0deg}

.menu>.nav-calculator-item{display:flex;align-items:center;margin:0 .08rem}
.menu>.nav-calculator-item>a{
  min-height:44px;gap:.46rem;padding:.68em .96em;border:1px solid rgba(130,218,244,.78);border-radius:999px;
  background:rgba(8,104,139,.82);color:#fff!important;text-decoration:none!important;
  box-shadow:0 6px 18px rgba(0,35,53,.16),inset 0 1px 0 rgba(255,255,255,.2);
  overflow:hidden;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
.nav-calculator-icon{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round}
.menu>.nav-calculator-item>a>span{line-height:1;white-space:nowrap}
.menu>.nav-calculator-item>a:hover,
.menu>.nav-calculator-item>a:focus-visible,
.menu>.nav-calculator-item>a[aria-current]{
  background:#82daf4!important;border-color:#b8efff;color:#032a3d!important;text-decoration:none!important;
  box-shadow:0 8px 20px rgba(3,88,119,.26),inset 0 1px 0 rgba(255,255,255,.42);transform:none!important}
.menu>.nav-calculator-item>a:focus-visible{outline:2px solid #b8efff;outline-offset:3px}
.has-video-hero .site-header:not(.solid) .menu>.nav-calculator-item>a,
.has-dark-hero .site-header:not(.solid) .menu>.nav-calculator-item>a,
.site-header.solid .menu>.nav-calculator-item>a{
  background:rgba(8,104,139,.82);border-color:rgba(130,218,244,.78);color:#fff!important;text-decoration:none!important}
.has-video-hero .site-header:not(.solid) .menu>.nav-calculator-item>a:hover,
.has-video-hero .site-header:not(.solid) .menu>.nav-calculator-item>a:focus-visible,
.has-video-hero .site-header:not(.solid) .menu>.nav-calculator-item>a[aria-current],
.has-dark-hero .site-header:not(.solid) .menu>.nav-calculator-item>a:hover,
.has-dark-hero .site-header:not(.solid) .menu>.nav-calculator-item>a:focus-visible,
.has-dark-hero .site-header:not(.solid) .menu>.nav-calculator-item>a[aria-current],
.site-header.solid .menu>.nav-calculator-item>a:hover,
.site-header.solid .menu>.nav-calculator-item>a:focus-visible,
.site-header.solid .menu>.nav-calculator-item>a[aria-current]{
  background:#82daf4!important;border-color:#b8efff;color:#032a3d!important;text-decoration:none!important;
  box-shadow:0 8px 20px rgba(3,88,119,.26),inset 0 1px 0 rgba(255,255,255,.42);transform:none!important}

@media(min-width:1161px) and (max-width:1500px){
  .site-header>.wrap{padding-inline:clamp(14px,1.2vw,22px)}
  .header-inner{gap:.65rem}
  .brand-logo{width:clamp(142px,12vw,172px)}
  .primary{gap:.55rem}
  .menu{gap:0}
  .menu>li>a{padding:.58em .32em;font-size:clamp(.74rem,.87vw,.82rem)}
  .menu>.nav-calculator-item>a{min-height:42px;gap:.36rem;padding:.66em .72em}
  .nav-calculator-icon{width:14px;height:14px;flex-basis:14px}
  .nav-savings-btn{min-height:42px;padding:.78em .95em!important;font-size:.78rem!important}
}

@media(max-width:1160px){
  .menu>.nav-calculator-item{display:block;margin:.7rem 0 .2rem}
  .menu>.nav-calculator-item>a{
    justify-content:center;min-height:46px;padding:.8em 1em;border:1px solid #1598c5;
    background:#e7f7fc;color:#075878!important;box-shadow:none}
  .nav-cta{display:block}
  .nav-cta .nav-savings-btn{width:100%;justify-content:center;padding:.9em 1em!important}
}

/* ---------- wybór języka ---------- */
.language-switch{position:relative;display:flex;align-items:center;flex:0 0 auto}
.language-switch__summary{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;box-sizing:border-box;
  min-width:62px;min-height:42px;padding:.62rem .7rem;border:1px solid rgba(130,218,244,.62);border-radius:999px;
  background:rgba(4,50,70,.52);color:#fff;cursor:pointer;list-style:none;font-size:.78rem;font-weight:820;line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);transition:background-color .16s ease,border-color .16s ease,color .16s ease}
.language-switch__summary::-webkit-details-marker{display:none}
.language-switch__summary::marker{display:none;content:""}
.language-switch__summary:hover,.language-switch[open]>.language-switch__summary{background:#82daf4;border-color:#b8efff;color:#032a3d}
.language-switch__summary:focus-visible{outline:2px solid #b8efff;outline-offset:3px}
.language-switch__icon{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.language-switch__code{white-space:nowrap}
.language-switch__caret{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-1px);transition:transform .16s ease}
.language-switch[open] .language-switch__caret{transform:rotate(225deg) translate(-1px,-1px)}
.language-switch__menu{position:absolute;z-index:140;inset-inline-end:0;top:calc(100% + .65rem);display:grid;min-width:178px;
  margin:0;padding:.42rem;list-style:none;border:1px solid rgba(190,230,244,.24);border-radius:8px;
  background:rgba(4,22,33,.97);box-shadow:0 18px 42px rgba(0,17,28,.3)}
.language-switch__menu a{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:.65rem;min-height:42px;padding:.52rem .65rem;
  border-radius:5px;color:rgba(245,251,253,.9);font-size:.82rem;text-decoration:none;transition:background-color .16s ease,color .16s ease}
.language-switch__menu a span{color:#82daf4;font-size:.7rem;font-weight:850}
.language-switch__menu a strong{font-weight:700}
.language-switch__menu a:hover,.language-switch__menu a:focus-visible,.language-switch__menu a[aria-current]{background:rgba(130,218,244,.14);color:#fff;outline:none}
.language-switch__menu a[aria-current]{box-shadow:inset 2px 0 0 #82daf4}

html[dir="rtl"] body{direction:rtl;text-align:start;font-family:Tahoma,Arial,sans-serif}
html[dir="rtl"] .hero-editorial__brand{direction:ltr}
html[dir="rtl"] .primary{margin-left:0;margin-inline-start:auto}
html[dir="rtl"] .nav-panel__identity{border-right:0;border-left:1px solid rgba(220,240,247,.2)}
html[dir="rtl"] .nav-panel__group+.nav-panel__group{padding-left:0;padding-right:clamp(1rem,2.4vw,2.6rem);border-left:0;border-right:1px solid rgba(220,240,247,.16)}
html[dir="rtl"] .language-switch__menu a[aria-current]{box-shadow:inset -2px 0 0 #82daf4}

@media(min-width:1161px) and (max-width:1500px){
  .language-switch__summary{min-width:52px;min-height:42px;padding:.58rem .55rem;gap:.3rem}
  .language-switch__icon{width:14px;height:14px;flex-basis:14px}
}
@media(max-width:1160px){
  .language-switch{display:block;width:100%;margin-top:.7rem}
  .language-switch__summary{justify-content:flex-start;width:100%;min-height:46px;border-color:#1598c5;background:#e7f7fc;color:#075878}
  .language-switch__caret{margin-inline-start:auto}
  .language-switch__menu{position:static;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;margin-top:.45rem;
    border-color:var(--line);background:#f7fbfd;box-shadow:none}
  .language-switch__menu a{color:var(--navy)}
  .language-switch__menu a:hover,.language-switch__menu a:focus-visible,.language-switch__menu a[aria-current]{background:#e7f7fc;color:#075878}
  html[dir="rtl"] .nav-panel__group+.nav-panel__group{padding-right:0;border-right:0}
}

.hero-video .wrap{max-width:none;padding-inline:clamp(28px,4.3vw,84px)}
.hero-video::before,
.hero-video::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none}
.hero-video::before{
  background:
    linear-gradient(112deg,transparent 0%,rgba(123,217,249,.18) 42%,rgba(255,255,255,.34) 49%,rgba(123,217,249,.12) 56%,transparent 72%);
  mix-blend-mode:screen;opacity:.38;transform:translateX(-68%) skewX(-15deg);
  animation:heroLightSweep 8.8s cubic-bezier(.55,0,.25,1) infinite}
.hero-video::after{
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 94px);
  opacity:.22}
.has-video-hero .hero-inner-v{
  min-height:100svh;justify-content:center;text-align:center;
  padding-top:calc(var(--header-h) + clamp(1.5rem,4.2vh,3.2rem));
  padding-bottom:clamp(3rem,6vh,5.2rem)}
@supports (height: 100dvh){
  .has-video-hero .hero-inner-v{min-height:100dvh}
}
.hero-video .hero-overlay{background:none}
.hero-video .hero-copy{
  position:relative;display:flex;flex-direction:column;align-items:center;max-width:min(980px,82vw);margin-inline:auto;padding:0;
  filter:drop-shadow(0 22px 44px rgba(0,0,0,.2))}
.hero-video .hero-copy::before{
  content:"";position:absolute;z-index:-1;left:50%;top:51%;width:min(900px,80vw);height:min(320px,36vh);border-radius:50%;
  background:radial-gradient(ellipse,rgba(5,35,52,.54),rgba(5,35,52,.18) 54%,transparent 74%);
  transform:translate(-50%,-50%);filter:blur(2px)}
.hero-video .hero-copy .eyebrow{
  display:inline-flex;align-items:center;justify-content:center;gap:.78rem;margin:0 auto 1rem;
  color:rgba(244,251,255,.96);font-size:clamp(.82rem,.98vw,1.02rem);font-weight:850;letter-spacing:.18em;
  line-height:1.2;text-transform:uppercase;overflow:hidden}
.hero-eyebrow-text{
  display:inline-block;position:relative;background:linear-gradient(90deg,#ffffff 0%,#9be9ff 46%,#ffffff 100%);
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  opacity:0;transform:translateY(18px);animation:heroKickerIn .5s cubic-bezier(.2,.8,.2,1) .72s forwards,
    heroTextShine 5.2s ease-in-out 1.6s infinite}
.hero-eyebrow-mark{
  width:34px;height:1px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(158,232,255,.88));
  transform:scaleX(0);transform-origin:right;animation:heroMarkIn .5s cubic-bezier(.2,.8,.2,1) .78s forwards}
.hero-eyebrow-mark:last-child{transform-origin:left;background:linear-gradient(90deg,rgba(158,232,255,.88),transparent)}
.hero-video .hero-copy h1{
  position:relative;width:100%;max-width:980px;margin:0 auto .52rem;color:#fff;font-family:var(--font-display);
  font-size:clamp(2.82rem,5.95vw,6.16rem);font-weight:360;line-height:.94;letter-spacing:.04em;text-align:center;text-transform:uppercase;
  text-wrap:balance}
.hero-video .hero-copy h1::after{
  content:"";display:block;width:min(460px,48vw);height:1px;margin:.52rem auto 0;
  background:linear-gradient(90deg,transparent,rgba(161,232,255,.82),transparent);
  box-shadow:0 0 22px rgba(127,212,239,.42);transform:scaleX(0);animation:heroRuleIn .6s ease .68s forwards}
.hero-video .hero-copy h1 strong{display:block;font-weight:900;letter-spacing:.018em}
.hero-title-line{display:block;opacity:0}
.hero-title-line--light{font-weight:330;letter-spacing:.062em;animation:heroSlideL .7s cubic-bezier(.16,.86,.3,1) .08s both}
.hero-title-line--accent{font-weight:920;letter-spacing:.02em;animation:heroSlideR .7s cubic-bezier(.16,.86,.3,1) .08s both}
.hero-title-line--strong{font-weight:920;letter-spacing:.026em;animation:heroSlideR .7s cubic-bezier(.16,.86,.3,1) .08s both}
.hero-video .hero-copy .lead{
  max-width:900px;margin:1.15rem auto 0;color:rgba(238,249,255,.94);font-size:clamp(1.2rem,1.7vw,1.62rem);
  line-height:1.46;letter-spacing:0;text-wrap:balance;opacity:0;transform:translateY(18px);
  animation:heroLeadIn .55s cubic-bezier(.2,.8,.2,1) .9s forwards}
.hero-sentence-rotator{
  position:relative;display:inline-grid;place-items:center;min-width:min(760px,82vw);min-height:1.65em;
  overflow:hidden;vertical-align:bottom}
.hero-sentence{
  grid-area:1/1;display:block;width:100%;opacity:0;transform:translateY(115%);
  transition:opacity .5s ease,transform .58s cubic-bezier(.2,.8,.2,1);
  will-change:opacity,transform}
.hero-sentence.is-active{opacity:1;transform:translateY(0)}
.hero-sentence.is-exiting{opacity:0;transform:translateY(-115%)}
.hero-video .cta-row{display:flex;align-items:center;justify-content:center;gap:.95rem;width:100%;margin-top:1.38rem}
.hero-video .btn-tile{
  position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;justify-items:start;column-gap:1.05rem;
  min-height:64px;min-width:268px;padding:.98rem 1.34rem .98rem 1.4rem;border-radius:7px;white-space:normal;line-height:1.12;text-transform:uppercase;overflow:hidden;
  opacity:0;animation:heroSlideL .6s cubic-bezier(.16,.86,.3,1) 1.05s both}
.hero-video .btn-tile:nth-child(2){animation:heroSlideR .6s cubic-bezier(.16,.86,.3,1) 1.15s both}
.hero-video .cta-row .btn-tile:nth-child(2){min-width:min(420px,42vw)}
.hero-video .btn-tile::before{
  content:"";position:absolute;inset:1px auto 1px -72%;width:52%;border-radius:inherit;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);
  transform:skewX(-17deg);animation:heroButtonSweep 3.6s ease-in-out 2.1s infinite}
.btn-tile .btn-copy{position:relative;z-index:1;display:grid;gap:.16rem;text-align:left}
.btn-tile .btn-icon{
  position:relative;z-index:1;width:18px;height:18px;margin:0 0 0 .15rem;color:#dff7ff;justify-self:end;
  fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
  filter:drop-shadow(0 0 12px rgba(127,212,239,.34))}
.btn-tile .btn-copy>span{position:relative;z-index:1;font-size:.78rem;font-weight:900;letter-spacing:.06em}
.btn-tile .btn-copy>small{position:relative;z-index:1;font-size:.62rem;font-weight:760;letter-spacing:.045em;opacity:.88;text-transform:none}
.hero-video .btn-tile .btn-copy{gap:.22rem}
.hero-video .btn-tile .btn-icon{width:21px;height:21px}
.hero-video .btn-tile .btn-copy>span{font-size:.95rem;letter-spacing:.055em}
.hero-video .btn-tile .btn-copy>small{font-size:.76rem;letter-spacing:.03em}
.hero-video .btn-primary.btn-tile,
.hero-video .btn-ghost.btn-tile{
  background:rgba(5,30,43,.38);border-color:rgba(209,241,255,.62);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(5px)}
.hero-video .cta-row .btn-tile:nth-child(2){
  background:linear-gradient(135deg,rgba(10,75,105,.82),rgba(9,42,61,.58));border-color:rgba(205,242,255,.82);
  box-shadow:0 18px 38px rgba(0,0,0,.25),0 0 30px rgba(84,204,244,.16),inset 0 1px 0 rgba(255,255,255,.24);backdrop-filter:blur(7px)}
.hero-video .btn-tile:hover{
  transform:translateY(-2px);border-color:rgba(221,247,255,.88)}
.hero-video .cta-row .btn-tile:nth-child(2):hover{
  transform:translateY(-2px);box-shadow:0 22px 46px rgba(0,0,0,.3),0 0 36px rgba(84,204,244,.22),inset 0 1px 0 rgba(255,255,255,.28)}
.hero-video .hero-stats{
  position:absolute;right:clamp(34px,4.5vw,86px);bottom:clamp(4.2rem,8vh,6.4rem);
  width:min(590px,38vw);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;margin:0;padding:1rem 1.05rem;border:1px solid rgba(158,227,251,.22);border-top-color:rgba(158,227,251,.38);
  border-radius:18px;background:linear-gradient(135deg,rgba(4,25,37,.42),rgba(8,51,73,.22));
  box-shadow:0 24px 70px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(7px);
  opacity:0;transform:translateX(90px);animation:heroStatsIn .9s cubic-bezier(.2,.8,.2,1) .62s forwards}
.hero-video .hero-stats div{min-width:0;padding:.15rem .8rem;border-right:1px solid rgba(255,255,255,.13)}
.hero-video .hero-stats div:last-child{border-right:0}
.hero-video .hero-stats strong{font-size:clamp(1.55rem,1.8vw,2.05rem);line-height:1;color:#8ee3ff;text-shadow:0 0 28px rgba(87,204,243,.28)}
.hero-video .hero-stats span{display:block;margin-top:.44rem;color:rgba(233,247,255,.9);font-size:.78rem;line-height:1.32}

.hero-scroll-cue{position:absolute;left:50%;bottom:clamp(1.05rem,3.2vh,2.25rem);z-index:5;display:inline-grid;justify-items:center;gap:.45rem;
  color:rgba(238,249,255,.96);font-size:.76rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;text-shadow:0 8px 22px rgba(0,0,0,.52);
  transform:translateX(-50%);opacity:0;animation:heroScrollCueIn .72s ease 1.18s forwards}
.hero-scroll-cue:hover{text-decoration:none;color:#fff}
.hero-scroll-cue i{position:relative;width:28px;height:42px;border:1px solid rgba(190,235,250,.72);border-radius:999px;background:rgba(4,24,36,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 14px 34px rgba(0,0,0,.18);backdrop-filter:blur(5px)}
.hero-scroll-cue i::before{content:"";position:absolute;left:50%;top:8px;width:4px;height:4px;border-radius:50%;background:#9be9ff;
  transform:translateX(-50%);animation:scrollCueDot 1.6s ease-in-out infinite}
.hero-scroll-cue i::after{content:"";position:absolute;left:50%;bottom:-14px;width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:translateX(-50%) rotate(45deg);animation:scrollCueArrow 1.6s ease-in-out infinite}

/* ---------- industry hex section ---------- */
.industry-hex-section{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:100svh;
  scroll-margin-top:var(--header-h);padding:clamp(2rem,4.5vh,3.6rem) 0;
  background:linear-gradient(180deg,#02090e 0%,#031019 48%,#010508 100%);color:#d7eef8;border-top:1px solid rgba(255,255,255,.055);
  border-bottom:1px solid rgba(255,255,255,.055)}
.industry-hex-section.reveal{opacity:1;transform:none}
.industry-hex-bg{position:absolute;inset:0;z-index:-1;background:
  radial-gradient(circle at 18% 18%,rgba(73,164,202,.12),transparent 28%),
  radial-gradient(circle at 78% 10%,rgba(15,94,127,.14),transparent 32%),
  radial-gradient(circle at 50% 58%,rgba(0,0,0,.18),transparent 46%),
  linear-gradient(90deg,rgba(1,5,8,.98),transparent 15%,transparent 85%,rgba(1,5,8,.98));
  opacity:1;pointer-events:none}
.industry-hex-bg::before{content:"";position:absolute;left:50%;top:-16%;width:min(1160px,92vw);height:420px;border-radius:0 0 50% 50%;
  background:linear-gradient(180deg,rgba(87,195,231,.09),transparent);transform:translateX(-50%);filter:blur(14px)}
.industry-hex-bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(0,0,0,.18),transparent 28%,rgba(0,0,0,.34)),
  repeating-linear-gradient(90deg,rgba(127,212,239,.018) 0 1px,transparent 1px 98px);
  opacity:.72}
.industry-hex-wrap{position:relative;width:100%;max-width:none;display:grid;place-items:center;padding-inline:clamp(20px,3vw,60px)}
.industry-hex-grid{--hex-w:clamp(300px,18.6vw,370px);--hex-h:calc(var(--hex-w) * 1.12);--hex-gap-x:clamp(58px,5vw,126px);
  --hex-track:calc((var(--hex-w) + var(--hex-gap-x)) / 2);
  position:relative;display:grid;grid-template-columns:repeat(6,var(--hex-track));grid-template-rows:repeat(2,var(--hex-h));
  row-gap:clamp(44px,5vh,72px);justify-content:center;gap:clamp(44px,5vh,72px) 0;margin:0 auto;max-width:calc(100vw - clamp(40px,6vw,120px))}
.industry-hex-grid::before{content:"";position:absolute;left:50%;top:50%;width:min(1120px,78vw);height:1px;background:linear-gradient(90deg,transparent,rgba(127,212,239,.12),transparent);
  transform:translate(-50%,-50%);opacity:.32}
.industry-hex{position:relative;display:grid;place-items:center;width:var(--hex-w);height:var(--hex-h);color:#fff;text-decoration:none;
  clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);
  background:#061b27;box-shadow:0 34px 88px rgba(0,0,0,.42),0 0 0 1px rgba(127,212,239,.11);overflow:hidden;opacity:0;transform:translateY(38px) scale(.92);
  transition:transform .35s ease,filter .35s ease;will-change:transform,opacity}
.industry-hex.in-view,.industry-hex-section.in-view .industry-hex{animation:industryHexIn .62s cubic-bezier(.18,.88,.24,1) forwards;animation-delay:var(--hex-delay,0ms)}
.industry-hex:hover,.industry-hex:focus-visible{transform:translateY(-10px) scale(1.035);filter:saturate(1.08);text-decoration:none;z-index:3}
.industry-hex:focus-visible{outline:3px solid #9be9ff;outline-offset:6px}
.industry-hex--top-left{grid-column:1 / span 2;grid-row:1;justify-self:center;--hex-delay:80ms}
.industry-hex--top-center{grid-column:3 / span 2;grid-row:1;justify-self:center;--hex-delay:190ms}
.industry-hex--top-right{grid-column:5 / span 2;grid-row:1;justify-self:center;--hex-delay:300ms}
.industry-hex--bottom-left{grid-column:2 / span 2;grid-row:2;justify-self:center;--hex-delay:410ms}
.industry-hex--bottom-right{grid-column:4 / span 2;grid-row:2;justify-self:center;--hex-delay:520ms}
.industry-hex__media{position:absolute;inset:0;background-image:var(--industry-img);background-size:cover;background-position:var(--industry-pos,center);transform:scale(1.04);
  filter:saturate(.86) contrast(1.08) brightness(.92);transition:transform .55s ease,filter .55s ease}
.industry-hex:hover .industry-hex__media,.industry-hex:focus-visible .industry-hex__media{transform:scale(1.11);filter:saturate(1.02) contrast(1.08) brightness(1)}
.industry-hex::before{content:"";position:absolute;inset:0;z-index:1;background:
  linear-gradient(180deg,rgba(2,12,19,.10),rgba(2,12,19,.42) 43%,rgba(1,7,11,.90)),
  radial-gradient(circle at 50% 14%,rgba(127,212,239,.15),transparent 44%),
  linear-gradient(90deg,rgba(0,0,0,.34),transparent 36%,transparent 64%,rgba(0,0,0,.30))}
.industry-hex::after{content:"";position:absolute;inset:1px;z-index:3;clip-path:inherit;border:1px solid rgba(168,232,255,.26);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20),inset 0 -28px 58px rgba(0,0,0,.18);pointer-events:none}
.industry-hex__body{position:relative;z-index:2;display:grid;justify-items:center;gap:.52rem;width:76%;padding-top:1.2rem;text-align:center;text-shadow:0 14px 34px rgba(0,0,0,.72)}
.industry-hex__body strong{display:block;color:#fff;font-size:clamp(1.04rem,1.18vw,1.34rem);font-weight:900;line-height:1.05;text-transform:uppercase;letter-spacing:.015em}
.industry-hex__body em{display:block;color:rgba(229,247,255,.92);font-style:normal;font-size:clamp(.78rem,.78vw,.92rem);font-weight:760;line-height:1.23}
.industry-hex__body span{display:inline-flex;margin-top:.28rem;padding:.42rem .75rem;border:1px solid rgba(255,255,255,.68);color:#fff;
  background:rgba(1,8,13,.20);box-shadow:0 10px 24px rgba(0,0,0,.22);font-size:clamp(.62rem,.58vw,.72rem);font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:.045em}

/* --- Branże: scrollytelling z rotującym tekstem --- */
.cf-rotate{display:inline-flex;flex-wrap:wrap;overflow:hidden;vertical-align:bottom;color:var(--accent);padding-bottom:.14em;min-height:1.05em}
.cf-rotate__ch{display:inline-block;white-space:pre;will-change:transform,opacity;
  animation:cfCharIn .55s cubic-bezier(.22,1.25,.36,1) backwards;animation-delay:calc(var(--i,0) * 26ms)}
.cf-rotate.is-exiting .cf-rotate__ch{animation:cfCharOut .22s ease forwards;animation-delay:calc(var(--i,0) * 11ms)}
@keyframes cfCharIn{from{transform:translateY(115%);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes cfCharOut{from{transform:translateY(0);opacity:1}to{transform:translateY(-120%);opacity:0}}

/* --- Branże: menu + karty (styl agencyjny) --- */
.branze-anim{opacity:0;will-change:transform,opacity}
.branze-anim-r{will-change:transform,opacity}
.scrub-l,.scrub-r{opacity:0;will-change:transform,opacity}
.scroll-fly-item{will-change:translate,opacity}
.branze-svc{position:relative;overflow:hidden;color:#ddf0f8;
  background:#02090e;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}
.branze-svc__bg{position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(circle at 16% 18%,rgba(73,164,202,.12),transparent 30%),
  radial-gradient(circle at 84% 82%,rgba(15,94,127,.13),transparent 32%)}
.branze-watermark{position:absolute;left:50%;bottom:clamp(-7.5rem,-7vw,-3rem);transform:translateX(-50%);z-index:0;pointer-events:none;user-select:none;
  white-space:nowrap;text-transform:uppercase;font-family:var(--font-display);font-weight:800;
  font-size:clamp(5rem,19vw,21rem);line-height:.82;letter-spacing:-.02em;
  color:rgba(229,247,255,.055)}
.branze-logo-bg{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);z-index:0;pointer-events:none;user-select:none;
  width:min(430px,31vw);height:auto;opacity:.085;filter:brightness(0) invert(1)}

/* --- Wspólne tło sekcji: Branże / Proces / FAQ / Kontakt --- */
.section-brand-panel{position:relative;overflow:hidden;isolation:isolate;color:#eaf4ff;
  background:#0D1830;
  border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
/* sekcja tuz pod hero: jednolite tlo #0D1830 (bez gradientu) */
.branze-svc.section-brand-panel{background:#0D1830;border-top:0}
.section-brand-panel::before{display:none}
.section-brand-panel.process-loss-section::after{display:none}
.section-brand-panel .branze-svc__bg,.section-brand-panel .process-loss-bg{display:none}
.section-bg-word{position:absolute;left:50%;bottom:clamp(-7.5rem,-7vw,-3rem);z-index:0;pointer-events:none;user-select:none;
  transform:translateX(-50%);white-space:nowrap;text-transform:uppercase;font-family:var(--font-display);font-weight:800;
  font-size:clamp(5rem,19vw,21rem);line-height:.82;letter-spacing:-.02em;color:rgba(229,247,255,.055)}
.section-bg-logo{position:absolute;left:50%;top:39%;z-index:0;pointer-events:none;user-select:none;
  width:clamp(260px,30vw,480px);height:auto;opacity:.075;filter:none;
  image-rendering:auto;backface-visibility:hidden;transform:translate(-50%,-50%) translateZ(0)}
/* warianty na jasnym tle (np. case study) */
.section-bg-word--dark{color:rgba(11,61,92,.06)}
/* na jasnych sekcjach (Misja, Oszczędzaj, Realizacje, Wiedza) sygnet jest ciemny i półprzezroczysty,
   a nie odwrócony na biało (bo na białym tle znikał) */
.section-bg-logo--dark{filter:none;opacity:.06}
.section-brand-panel .section-bg-logo{filter:brightness(0) invert(1);opacity:.08}
.gallery-section{position:relative}
.gallery-section .wrap,.gallery-section .gallery-viewport{position:relative;z-index:1}
.mission-band{position:relative;overflow:clip}
.mission-band .wrap{position:relative;z-index:1}
.impact-curve-section{position:relative;overflow:clip}
.impact-curve-section .wrap,.impact-curve-section .impact-curve{position:relative;z-index:1}
.knowledge-section{position:relative;overflow:clip}
.knowledge-section .wrap{position:relative;z-index:1}
.cert-section{position:relative;overflow:clip}
.mission-visual{position:relative;aspect-ratio:13/10;border-radius:26px;overflow:hidden;background:#0b3d5c;
  box-shadow:0 28px 60px rgba(11,61,92,.22)}
.mission-visual__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.section-brand-panel .process-loss-inner,.section-brand-panel .home-faq,.section-brand-panel .audit-form-grid{position:relative;z-index:1}
.branze-svc__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(300px,.92fr) 1.12fr;gap:clamp(2rem,4.5vw,4.5rem);align-items:start}
.branze-svc__intro .eyebrow{color:var(--accent)}
.branze-svc__intro h2{color:#fff;font-size:clamp(2rem,3.4vw,3.2rem);letter-spacing:-.03em;margin:.3rem 0 .9rem}
.branze-svc__lead{max-width:46ch;color:rgba(215,238,248,.8);font-size:clamp(1rem,1.15vw,1.14rem);line-height:1.55;margin:0 0 clamp(1.6rem,2.5vw,2.4rem)}
.branze-menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.branze-menu li{border-top:1px solid rgba(168,232,255,.14)}
.branze-menu li:last-child{border-bottom:1px solid rgba(168,232,255,.14)}
.branze-menu__btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:none;border:0;cursor:pointer;text-align:left;
  color:#cfe2ee;font-family:var(--font);font-size:clamp(1.05rem,1.5vw,1.42rem);font-weight:760;letter-spacing:-.01em;
  padding:clamp(.85rem,1.4vw,1.15rem) 0;transition:color .25s ease,padding .25s ease}
.branze-menu__btn svg{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:var(--accent);
  opacity:0;transform:translateX(-8px);transition:opacity .25s ease,transform .25s ease}
.branze-menu__btn:hover{color:#fff;padding-left:.4rem}
.branze-menu__btn.is-active{color:#fff;padding-left:.5rem}
.branze-menu__btn.is-active svg,.branze-menu__btn:hover svg{opacity:1;transform:translateX(0)}

.branze-svc__panels{position:relative;display:flex;flex-direction:column;gap:16px}
.branze-svc__media{height:clamp(220px,24vw,340px);border-radius:18px;background-size:cover;background-position:center;position:relative;overflow:hidden;
  border:1px solid rgba(168,232,255,.16);box-shadow:0 30px 70px rgba(0,0,0,.45);transition:opacity .35s ease}
.branze-svc__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(2,9,14,.45))}
.branze-svc__media.is-swapping{opacity:0}
.branze-pane{display:none;grid-template-columns:repeat(3,1fr);gap:14px;align-content:start}
.branze-pane.is-active{display:grid;animation:branzePaneIn .5s ease}
@keyframes branzePaneIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.branze-card{position:relative;display:flex;flex-direction:column;gap:.4rem;min-height:0;padding:.95rem 0 0;
  border:0;border-top:2px solid rgba(127,212,239,.4);border-radius:0;background:none;
  opacity:0;transform:translateY(16px);animation:branzeCardIn .5s ease forwards}
.branze-pane.is-active .branze-card:nth-child(1){animation-delay:.06s}
.branze-pane.is-active .branze-card:nth-child(2){animation-delay:.16s}
.branze-pane.is-active .branze-card:nth-child(3){animation-delay:.26s}
@keyframes branzeCardIn{to{opacity:1;transform:none}}
.branze-card__num{font-family:var(--font-display);font-size:1.5rem;font-weight:850;color:var(--accent);line-height:1}
.branze-card h3{margin:0;color:#fff;font-size:clamp(1.02rem,1.2vw,1.22rem);line-height:1.18}
.branze-card p{margin:0;color:rgba(215,238,248,.82);font-size:.92rem;line-height:1.45}
.branze-pane__cta{grid-column:1 / -1;justify-self:start;display:inline-flex;align-items:center;gap:.55rem;margin-top:.4rem;
  color:#02131d;background:var(--accent);padding:.8rem 1.3rem;border-radius:999px;text-decoration:none;font-weight:800;font-size:.86rem;text-transform:uppercase;letter-spacing:.03em;
  opacity:0;transform:translateY(16px);animation:branzeCardIn .5s ease .34s forwards;box-shadow:0 16px 36px rgba(127,212,239,.25)}
.branze-pane__cta svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.branze-pane__cta:hover svg{transform:translate(2px,-2px)}

@media(max-width:980px){
  .branze-svc__grid{grid-template-columns:1fr;gap:2rem}
  .branze-pane{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .branze-pane{grid-template-columns:1fr}
  .branze-menu__btn{font-size:1.1rem}
}

@keyframes heroLightSweep{
  0%,18%{transform:translateX(-74%) skewX(-15deg);opacity:0}
  34%,42%{opacity:.42}
  62%,100%{transform:translateX(74%) skewX(-15deg);opacity:0}
}
@keyframes heroKickerIn{to{opacity:1;transform:translateY(0)}}
@keyframes heroTextShine{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes heroMarkIn{to{transform:scaleX(1)}}
@keyframes heroLineIn{to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes heroLeadIn{to{opacity:1;transform:translateY(0)}}
@keyframes heroRuleIn{to{transform:scaleX(1)}}
@keyframes heroTileIn{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes heroSlideL{from{opacity:0;transform:translateX(-100vw)}60%{opacity:1}to{opacity:1;transform:translateX(0)}}
@keyframes heroSlideR{from{opacity:0;transform:translateX(100vw)}60%{opacity:1}to{opacity:1;transform:translateX(0)}}
@keyframes heroButtonSweep{0%,34%{left:-72%;opacity:0}52%{opacity:.9}82%,100%{left:120%;opacity:0}}
@keyframes heroStatsIn{to{opacity:1;transform:translateX(0)}}
@keyframes heroScrollCueIn{to{opacity:1;transform:translateX(-50%) translateY(0)}}
@keyframes scrollCueDot{0%{transform:translate(-50%,0);opacity:.25}42%{opacity:1}78%,100%{transform:translate(-50%,19px);opacity:0}}
@keyframes scrollCueArrow{0%,100%{opacity:.45;bottom:-10px}50%{opacity:1;bottom:-16px}}
@keyframes industryHexIn{to{opacity:1;transform:translateY(0) scale(1)}}

.reveal-left{opacity:0;transform:translateX(-72px);transition:opacity .75s ease,transform .75s ease}
.reveal-right{opacity:0;transform:translateX(96px);transition:opacity .78s ease,transform .78s ease}
.reveal-left.in-view,.reveal-right.in-view{opacity:1;transform:none}
.scroll-copy>*{opacity:0;transform:translateX(-72px);transition:opacity .76s ease,transform .76s ease}
.scroll-copy.in-view>*{opacity:1;transform:none}
.scroll-copy.in-view>*:nth-child(1){transition-delay:.02s}
.scroll-copy.in-view>*:nth-child(2){transition-delay:.18s}
.scroll-copy.in-view>*:nth-child(3){transition-delay:.34s}
.savings-panel.reveal-right.in-view{box-shadow:0 28px 76px rgba(11,61,92,.18)}
.home-proof .scroll-copy>*{
  opacity:var(--proof-opacity,0);
  transform:translate3d(var(--proof-left-x,-86px),0,0);
  transition:none}
.home-proof .savings-panel{
  opacity:var(--proof-opacity,0);
  transform:translate3d(var(--proof-right-x,110px),0,0);
  transition:none}

.partner-scale-group{
  --scale-x:320px;--scale-opacity:0;position:absolute;right:clamp(1.25rem,5vw,5.5rem);
  bottom:clamp(2.4rem,7vh,5.2rem);z-index:2;display:flex;align-items:center;gap:clamp(1.25rem,2.8vw,3rem);
  opacity:var(--scale-opacity);transform:translate3d(var(--scale-x),0,0);will-change:transform,opacity}
.partner-scale-copy{
  position:relative;max-width:none;margin:0 0 4.2rem;color:#fff;font-size:clamp(1.18rem,1.78vw,2rem);line-height:1.05;font-weight:840;
  white-space:nowrap;text-shadow:0 18px 38px rgba(0,0,0,.38)}
.partner-scale-copy span{position:relative;z-index:2}
.partner-growth-arrow{
  position:absolute;left:4%;top:calc(100% + .5rem);width:min(540px,86%);height:84px;overflow:visible;
  opacity:var(--scale-opacity);transform:translateY(0);pointer-events:none;
  filter:drop-shadow(0 0 18px rgba(127,212,239,.48))}
.partner-growth-line{
  fill:none;stroke:rgba(127,212,239,.96);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:640;stroke-dashoffset:640}
.partner-growth-head{
  fill:rgba(127,212,239,.96);stroke:none;opacity:0;
  transform-box:fill-box;transform-origin:18% 50%;transform:scale(.5)}
.partner-scale-group.is-drawn .partner-growth-line{animation:partnerArrowDraw 1.4s cubic-bezier(.45,0,.2,1) forwards}
.partner-scale-group.is-drawn .partner-growth-head{animation:partnerArrowHeadPop .5s cubic-bezier(.2,.9,.3,1.25) 1s forwards}
@keyframes partnerArrowDraw{from{stroke-dashoffset:640}to{stroke-dashoffset:0}}
@keyframes partnerArrowHeadPop{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}
.partner-scale-badge{
  position:relative;right:auto;bottom:auto;opacity:1;transform:none;min-width:clamp(230px,22vw,340px)}
.partner-scale-badge::before{transform:scaleX(var(--scale-opacity))}

.calculator-section{background:linear-gradient(180deg,#f6fbfe,#fff)}
.calculator-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:1.4rem;align-items:start}
.calculator-card,.calculator-result{
  border:1px solid var(--line);border-radius:18px;padding:clamp(1.2rem,2.5vw,1.8rem);box-shadow:var(--shadow);background:#fff}
.calculator-card h2{margin-bottom:.9rem}
.calculator-note{font-size:.9rem;color:var(--muted);margin:.9rem 0 0}
.range-value{display:inline-flex;margin-top:.4rem;color:var(--brand-dark);font-weight:800}
.calculator-result{
  position:sticky;top:calc(var(--header-h) + 1rem);overflow:hidden;color:#fff;
  background:linear-gradient(135deg,#072638,#116f93)}
.calculator-result::after{content:"";position:absolute;right:-90px;bottom:-110px;width:260px;height:260px;border-radius:50%;background:rgba(127,212,239,.18)}
.calculator-result>*{position:relative;z-index:1}
.calculator-result strong{display:block;font-size:clamp(2.2rem,5vw,4rem);line-height:1;font-weight:850;color:#fff;margin:.1rem 0 .55rem}
.calculator-result p{color:#d7eef8;font-weight:640}
.calc-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin:1.25rem 0}
.calc-result-grid div{border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:.85rem;background:rgba(255,255,255,.08)}
.calc-result-grid span{display:block;color:#fff;font-size:1.2rem;font-weight:820;line-height:1.1}
.calc-result-grid small{display:block;color:#b9d4e3;font-size:.74rem;line-height:1.25;margin-top:.35rem}

/* ---------- kalkulator oszczędności v2 — jasny motyw ---------- */
.calc2-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#eef6fb,#fbfdff)}
.calc2-section::before{content:"";position:absolute;right:-1%;top:52%;width:min(380px,36%);height:min(380px,84%);transform:translateY(-50%);background:url('/assets/kabi-sygnet.svg') no-repeat center right/contain;opacity:.6;pointer-events:none;z-index:0}
.calc2-section>.wrap{position:relative;z-index:1}
.calc2-head{max-width:760px;margin:0 0 2rem;text-align:left}
.calc2-head h2{color:var(--navy)}
.calc2-head .eyebrow{color:var(--brand-dark)}
.calc2-head p:not(.eyebrow){color:var(--muted);font-size:1.05rem;margin:.4rem 0 0}
.calc2-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:1.6rem;align-items:start}
.calc2-panel{display:flex;flex-direction:column;gap:1.1rem;min-width:0}
.calc2-fields{display:flex;flex-direction:column;gap:1.1rem}
.calc2-fields[hidden]{display:none}

.calc2-typebar{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;padding:.34rem;background:var(--bg-soft);border:1px solid var(--line);border-radius:16px}
.calc2-type{display:flex;align-items:center;justify-content:center;gap:.55rem;padding:.78rem .8rem;border:0;border-radius:12px;background:transparent;color:var(--brand-dark);font:inherit;font-weight:740;font-size:.96rem;cursor:pointer;transition:.18s ease}
.calc2-type svg{width:21px;height:21px;flex:0 0 auto}
.calc2-type:hover{color:var(--navy)}
.calc2-type.is-active{background:linear-gradient(120deg,#0a3147,#15607f);color:#fff;box-shadow:0 6px 16px rgba(11,61,92,.32)}

.calc2-group{position:relative;border:1px solid var(--line);border-radius:18px;margin:0;padding:1.25rem clamp(1rem,2vw,1.5rem) 1.4rem;background:#fff;box-shadow:var(--shadow-sm);min-inline-size:0;overflow:hidden}
.calc2-group::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand) 0,var(--accent) 45%,transparent)}
.calc2-group legend{display:flex;align-items:center;gap:.7rem;float:none;font-family:var(--font-display);font-size:1.12rem;font-weight:700;color:var(--navy);margin:0 0 1.1rem;padding:0}
.calc2-ico{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;flex:0 0 auto;border-radius:10px;background:linear-gradient(120deg,#0a3147,#15607f);color:#fff;box-shadow:0 4px 12px rgba(11,61,92,.3)}
.calc2-ico svg{width:1.15rem;height:1.15rem}
.calc2-rows{display:grid;grid-template-columns:1fr 1fr;gap:.95rem}

.calc2-field{display:flex;flex-direction:column;gap:.42rem;min-width:0}
.calc2-field__label{display:flex;align-items:center;gap:.4rem;font-size:.84rem;font-weight:650;color:var(--navy)}

.calc2-info{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.05rem;height:1.05rem;flex:0 0 auto;border-radius:50%;background:var(--bg-soft);color:var(--brand-dark);font-size:.66rem;font-weight:800;font-style:normal;cursor:help;user-select:none}
.calc2-info:hover,.calc2-info:focus-visible{background:var(--brand);color:#fff;outline:none}
.calc2-info::after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%) translateY(4px);width:max-content;max-width:230px;padding:.6rem .72rem;background:var(--navy);color:#eaf6fb;font-size:.76rem;font-weight:500;font-style:normal;line-height:1.42;letter-spacing:0;text-align:left;text-transform:none;border-radius:10px;box-shadow:0 10px 26px rgba(7,38,56,.28);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s;z-index:40;white-space:normal}
.calc2-info::before{content:"";position:absolute;left:50%;bottom:calc(100% + 3px);transform:translateX(-50%) translateY(4px);border:6px solid transparent;border-top-color:var(--navy);opacity:0;visibility:hidden;transition:opacity .16s ease,transform .16s ease,visibility .16s;z-index:41}
.calc2-info:hover::after,.calc2-info:focus::after,.calc2-info:hover::before,.calc2-info:focus::before{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}

.calc2-input{position:relative;display:flex;align-items:center}
.calc2-input input,.calc2-input select{width:100%;font:inherit;font-size:.98rem;padding:.66em .8em;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink)}
.calc2-input input{padding-right:3.4em}
.calc2-input input:focus,.calc2-input select:focus{outline:none;border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px rgba(127,212,239,.3)}
.calc2-input em{position:absolute;right:.8em;font-style:normal;font-size:.8rem;font-weight:650;color:var(--muted);pointer-events:none}
.calc2-input--select::after{content:"";position:absolute;right:.95em;width:.5em;height:.5em;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translateY(-2px);pointer-events:none}
.calc2-input--select select{appearance:none;-webkit-appearance:none;padding-right:2.2em}

.calc2-adv{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm);padding:0}
.calc2-adv summary{cursor:pointer;font-weight:700;color:var(--brand-dark);font-size:.92rem;list-style:none;display:flex;align-items:center;gap:.55rem;padding:1rem 1.2rem}
.calc2-adv summary::-webkit-details-marker{display:none}
.calc2-adv summary::before{content:"+";display:inline-flex;width:1.3rem;height:1.3rem;align-items:center;justify-content:center;border-radius:7px;background:var(--bg-soft);font-weight:800;line-height:1}
.calc2-adv[open] summary::before{content:"\2212"}
.calc2-adv .calc2-fields{padding:0 1.2rem 1.2rem}

.calc2-result{position:sticky;top:calc(var(--header-h) + 1rem);padding:clamp(1.3rem,2.4vw,1.9rem) clamp(1.2rem,2vw,1.7rem);border:1px solid var(--line);border-radius:20px;background:linear-gradient(165deg,#eef8fc,#ffffff 60%);box-shadow:var(--shadow)}
.calc2-result .panel-kicker{color:var(--brand-dark);letter-spacing:.14em}
.calc2-result>strong{display:block;font-family:var(--font-display);font-size:clamp(2.4rem,5.2vw,3.6rem);line-height:1;font-weight:850;color:var(--navy);margin:.15rem 0 0;font-variant-numeric:tabular-nums}
.calc2-accent{display:block;width:74px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--brand),var(--accent));margin:.7rem 0 0}
.calc2-result-sub{color:var(--muted);font-weight:550;font-size:.86rem;margin:.7rem 0 0;min-height:1.2em}
.calc2-split{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.3rem 0 .9rem}
.calc2-split__val{display:block;font-family:var(--font-display);font-size:1.45rem;font-weight:840;color:var(--brand-dark);font-variant-numeric:tabular-nums;line-height:1}
.calc2-split__val--alt{color:#0f7ea6}
.calc2-split__lbl{display:block;color:var(--muted);font-size:.78rem;margin-top:.32rem;line-height:1.3}
.calc2-bar{display:flex;height:8px;border-radius:999px;overflow:hidden;background:var(--bg-soft)}
.calc2-bar__seg{height:100%;transition:width .35s ease}
.calc2-bar__seg--scale{background:linear-gradient(90deg,var(--brand-dark),var(--brand))}
.calc2-bar__seg--salt{background:linear-gradient(90deg,#1789b6,#7fd4ef)}
.calc2-legend{display:flex;gap:1.3rem;margin:.6rem 0 0;font-size:.76rem;color:var(--muted)}
.calc2-legend__item{display:inline-flex;align-items:center;gap:.4rem}
.calc2-dot{width:.62rem;height:.62rem;border-radius:3px;flex:0 0 auto}
.calc2-dot--scale{background:var(--brand)}
.calc2-dot--salt{background:#1789b6}
.calc2-mlist{list-style:none;margin:1.4rem 0 0;padding:0;border-top:1px solid var(--line)}
.calc2-mlist li{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}
.calc2-mlist__lbl{color:var(--muted);font-size:.9rem}
.calc2-mlist__val{font-family:var(--font-display);font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums;white-space:nowrap}
.calc2-cta{width:100%;justify-content:center;margin-top:1.3rem;background:linear-gradient(120deg,#0a3147,#15607f);border:1px solid #0a3147;color:#fff;border-radius:999px;padding:.95em 1.4em;font-weight:700}
.calc2-cta:hover{background:linear-gradient(120deg,#0a3147,#1a6f92);border-color:#0a3147;color:#fff;text-decoration:none;box-shadow:0 8px 20px rgba(11,61,92,.28)}
.calc2-disclaimer{color:var(--muted);font-size:.74rem;line-height:1.45;margin:1rem 0 0}

.calc2-steps{margin-top:1.5rem;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}
.calc2-steps>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:.6rem;padding:1rem 1.2rem;font-weight:740;color:var(--navy)}
.calc2-steps>summary::-webkit-details-marker{display:none}
.calc2-steps>summary::before{content:"+";display:inline-flex;width:1.3rem;height:1.3rem;align-items:center;justify-content:center;border-radius:7px;background:var(--bg-soft);font-weight:800;line-height:1;color:var(--brand-dark)}
.calc2-steps[open]>summary::before{content:"\2212"}
.calc2-steps-inner{padding:0 1.2rem 1.3rem;display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.calc2-steps-inner[hidden]{display:none}
.calc2-steptab h4{font-family:var(--font-display);font-size:.95rem;color:var(--brand-dark);margin:.2rem 0 .5rem;text-transform:uppercase;letter-spacing:.05em}
.calc2-steplist{margin:0}
.calc2-steplist>div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.46rem 0;border-bottom:1px dashed var(--line)}
.calc2-steplist>div:last-child{border-bottom:0}
.calc2-steplist dt{color:var(--muted);font-size:.85rem;margin:0;line-height:1.35}
.calc2-steplist dd{margin:0;font-weight:760;color:var(--navy);font-variant-numeric:tabular-nums;white-space:nowrap}

@media (max-width:880px){
  .calc2-grid{grid-template-columns:1fr}
  .calc2-result{position:relative;top:auto}
}
@media (max-width:560px){
  .calc2-rows{grid-template-columns:1fr}
  .calc2-typebar{grid-template-columns:1fr}
}
@media (max-width:680px){.calc2-steps-inner{grid-template-columns:1fr;gap:1rem}}

/* ---------- Kalkulator: motyw ciemny (spójny z hero / sekcją procesu) ---------- */
body:not(.has-video-hero) .section.calc2-section{color:#dbeaf5;background:linear-gradient(180deg,#0c1a2f 0%,#0d2038 58%,#0a1526 100%);
  border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.calc2-section::before{background:radial-gradient(700px 480px at 90% 8%,rgba(23,137,182,.32),transparent 68%);
  opacity:1;top:0;right:0;width:min(820px,72%);height:min(600px,92%);transform:none}
.calc2-section .calc2-head h2{color:#fff}
.calc2-section .calc2-head .eyebrow{color:var(--accent)}
.calc2-section .calc2-head p:not(.eyebrow){color:rgba(219,234,245,.82)}
.calc2-section .calc2-head p strong{color:#fff}

.calc2-typebar{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.calc2-type{color:#b9d2e2}
.calc2-type:hover{color:#fff}
.calc2-type.is-active{background:linear-gradient(120deg,#0f6f93,#1789b6);color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.42)}

.calc2-group{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.11);
  box-shadow:0 14px 34px rgba(0,0,0,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.calc2-group::before{background:linear-gradient(90deg,var(--accent) 0,#1789b6 55%,transparent)}
.calc2-group legend{color:#eaf6ff}
.calc2-ico{background:linear-gradient(120deg,#0f6f93,#1f9ac6);box-shadow:0 6px 16px rgba(0,0,0,.42),0 0 0 1px rgba(127,212,239,.25)}

.calc2-field__label{color:#cfe2ee}
.calc2-info{background:rgba(255,255,255,.10);color:var(--accent)}
.calc2-info:hover,.calc2-info:focus-visible{background:var(--accent);color:#06283a}

.calc2-input input,.calc2-input select{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:#fff}
.calc2-input input::placeholder{color:rgba(219,234,245,.45)}
.calc2-input input:focus,.calc2-input select:focus{border-color:var(--accent);background:rgba(255,255,255,.10);box-shadow:0 0 0 3px rgba(127,212,239,.22)}
.calc2-input em{color:rgba(219,234,245,.62)}

.calc2-adv{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.11)}
.calc2-adv summary{color:var(--accent)}
.calc2-adv summary::before{background:rgba(255,255,255,.10);color:#fff}

.calc2-result{background:linear-gradient(165deg,rgba(18,73,106,.52),rgba(9,24,42,.62));
  border:1px solid rgba(127,212,239,.24);box-shadow:0 30px 66px rgba(0,0,0,.44);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.calc2-result .panel-kicker{color:var(--accent)}
.calc2-result>strong{color:#fff}
.calc2-accent{background:linear-gradient(90deg,#5aa9e6,var(--accent))}
.calc2-result-sub{color:rgba(219,234,245,.74)}
.calc2-split__val{color:#79bdf0}
.calc2-split__val--alt{color:#7fd4ef}
.calc2-split__lbl{color:rgba(219,234,245,.66)}
.calc2-bar{background:rgba(255,255,255,.12)}
.calc2-bar__seg--scale{background:linear-gradient(90deg,#2f86d8,#79bdf0)}
.calc2-bar__seg--salt{background:linear-gradient(90deg,#1789b6,#7fd4ef)}
.calc2-legend{color:rgba(219,234,245,.7)}
.calc2-dot--scale{background:#5aa9e6}
.calc2-dot--salt{background:#7fd4ef}
.calc2-mlist{border-top-color:rgba(255,255,255,.16)}
.calc2-mlist li{border-bottom-color:rgba(255,255,255,.10)}
.calc2-mlist__lbl{color:rgba(219,234,245,.68)}
.calc2-mlist__val{color:#fff}
.calc2-cta{background:linear-gradient(120deg,#7fd4ef,#a9e7f8);color:#06283a;border:0}
.calc2-cta:hover{background:linear-gradient(120deg,#93dcf3,#b9edfb);color:#06283a;box-shadow:0 12px 28px rgba(0,0,0,.42)}
.calc2-disclaimer{color:rgba(219,234,245,.6)}

/* ---------- Kalkulator: jeden zintegrowany panel roboczy ---------- */
body:not(.has-video-hero) .section.calc2-section{background:#0b182b}
.calc2-section::before{display:none}
.calc2{
  --calc-line:rgba(190,222,239,.16);
  --calc-line-strong:rgba(127,212,239,.28);
  --calc-surface:#102239;
  --calc-surface-deep:#0b1b2e;
  position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--calc-line-strong);border-radius:18px;
  background:var(--calc-surface);box-shadow:0 28px 70px rgba(2,10,22,.38);
  opacity:0;transform:translateY(22px);animation:calc2ShellIn .62s ease-out .08s forwards}
.calc2::before{
  content:"";position:absolute;inset:0 0 auto;z-index:3;height:2px;background:#8edcf3;pointer-events:none;
  transform:scaleX(0);transform-origin:left;animation:calc2LineIn .72s ease-out .3s forwards}
.calc2-grid{grid-template-columns:minmax(0,1.34fr) minmax(340px,.78fr);gap:0;align-items:stretch}
.calc2-panel{gap:0;padding:0 1.6rem 1.55rem;background:var(--calc-surface)}
.calc2-panel__header,.calc2-result__header{
  display:flex;align-items:center;gap:.82rem;min-height:74px;border-bottom:0;
  opacity:0;transform:translateY(10px);animation:calc2PartIn .46s ease-out .28s forwards}
.calc2-result__header{animation-delay:.36s}
.calc2-panel__header{margin:0 -1.6rem;padding:.8rem 1.6rem}
.calc2-panel__header>span:last-child,.calc2-result__header>span:last-child{display:grid;gap:.12rem}
.calc2-panel__header strong,.calc2-result__header strong{color:#f4f9fc;font-size:.98rem;line-height:1.2}
.calc2-panel__header small,.calc2-result__header small{color:rgba(219,234,245,.6);font-size:.75rem;line-height:1.3}
.calc2-section-brand{display:flex;align-items:center;justify-content:flex-start;line-height:0}
.calc2-section-brand--lockup{flex:0 0 124px;width:124px;height:32px}
.calc2-section-brand--lockup img{
  display:block;width:100%;height:auto;max-height:32px;object-fit:contain;object-position:left center;
  filter:brightness(0) invert(1);opacity:.96}
.calc2-section-brand--mark{flex:0 0 38px;width:38px;height:38px;justify-content:center}
.calc2-section-brand--mark::before{
  content:"";display:block;width:36px;height:36px;background:#79d8f1;
  -webkit-mask:url('/assets/kabi-sygnet.svg') center/contain no-repeat;
  mask:url('/assets/kabi-sygnet.svg') center/contain no-repeat}

.calc2-typebar{
  --type-pad:1.6rem;--type-gap:.8rem;--drop-size:56px;
  position:relative;isolation:isolate;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--type-gap);
  margin:0 -1.6rem 1.15rem;padding:.72rem var(--type-pad) .96rem;overflow:hidden;border:0;border-radius:0;
  background:rgba(3,14,26,.46);box-shadow:inset 0 1px 0 rgba(142,220,243,.06),inset 0 -1px 0 rgba(142,220,243,.07)}
.calc2-typebar__thumb{
  position:absolute;top:.72rem;bottom:.96rem;left:var(--type-pad);z-index:0;
  width:calc((100% - (var(--type-pad) * 2) - var(--type-gap)) / 2);pointer-events:none;
  transform:translate3d(0,0,0);transition:transform .62s cubic-bezier(.16,.9,.2,1)}
.calc2-typebar[data-active-type="skraplacze"] .calc2-typebar__thumb{
  transform:translate3d(calc(100% + var(--type-gap)),0,0)}
.calc2-typebar__drop{
  position:absolute;left:0;top:50%;width:var(--drop-size);height:var(--drop-size);border:1px solid rgba(180,239,255,.46);
  border-radius:54% 48% 56% 4%;background:linear-gradient(145deg,#39c5df 0%,#168caf 62%,#0b6284 100%);
  box-shadow:0 9px 20px rgba(0,12,25,.28),inset 0 1px 0 rgba(255,255,255,.48),inset -5px -7px 12px rgba(5,72,103,.2);
  transform:translateY(-50%) rotate(-45deg);transform-origin:center}
.calc2-typebar__drop::before{
  content:"";position:absolute;inset:6px 8px 13px 13px;border-radius:58% 50% 52% 8%;border-top:1px solid rgba(255,255,255,.62);
  border-left:1px solid rgba(255,255,255,.3);opacity:.78}
.calc2-typebar.is-shifting .calc2-typebar__thumb,
.calc2-typebar.is-shifting .calc2-typebar__drop{will-change:transform}
.calc2-typebar.is-shifting .calc2-typebar__drop{
  animation:calc2DropMorph .62s cubic-bezier(.16,1,.3,1) both}
.calc2-typebar.is-pressing .calc2-typebar__drop{
  animation:calc2DropPress .34s cubic-bezier(.16,1,.3,1) both}
.calc2-type{
  position:relative;z-index:1;display:grid;grid-template-columns:var(--drop-size) minmax(0,1fr);align-items:center;gap:.72rem;
  min-height:58px;padding:0 .9rem 0 0;border-radius:10px;background:transparent!important;color:#9fb8c9;
  box-shadow:none!important;font-size:.9rem;font-weight:690;text-align:left;cursor:pointer;transition:color .24s ease,transform .18s ease}
.calc2-type::before{
  content:"";position:absolute;left:0;top:50%;width:var(--drop-size);height:var(--drop-size);border:2px solid #b8effd;
  border-radius:50%;opacity:0;pointer-events:none;transform:translateY(-50%) scale(.88);
  transition:opacity .18s ease,transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s ease}
.calc2-type svg{grid-column:1;justify-self:center;width:20px;height:20px;color:#8eb6ca;transition:color .26s ease,transform .42s cubic-bezier(.16,1,.3,1)}
.calc2-type>span{position:relative;grid-column:2;min-width:0;line-height:1.2;transition:color .24s ease,transform .34s cubic-bezier(.16,1,.3,1)}
.calc2-type>span::after{
  content:"";position:absolute;left:0;bottom:-7px;width:28px;height:2px;border-radius:999px;background:#8edcf3;
  opacity:0;transform:scaleX(.2);transform-origin:left;transition:opacity .24s ease,transform .42s cubic-bezier(.16,1,.3,1)}
.calc2-type:hover{background:transparent;color:#eaf8fc}
.calc2-type:hover svg{color:#c4effa;transform:translateY(-1px)}
.calc2-type:active{transform:scale(.985)}
.calc2-type:focus-visible{outline:none}
.calc2-type:focus-visible::before{opacity:1;transform:translateY(-50%) scale(1.08);box-shadow:0 0 0 4px rgba(142,220,243,.12)}
.calc2-type.is-active{background:transparent;color:#fff}
.calc2-type.is-active svg{color:#fff;transform:scale(.94)}
.calc2-type.is-active>span{transform:translateX(2px)}
.calc2-type.is-active>span::after{opacity:1;transform:scaleX(1)}

.calc2-fields{gap:0}
.calc2-fields:not([hidden]){animation:calc2FieldsIn .44s cubic-bezier(.16,1,.3,1) both}
.calc2.is-type-switching [data-calc-fields]:not([hidden]) .calc2-group legend,
.calc2.is-type-switching [data-calc-fields]:not([hidden]) .calc2-field-shell{
  animation:calc2TypeFieldIn .46s cubic-bezier(.16,1,.3,1) both}
.calc2.is-type-switching [data-calc-fields]:not([hidden]) .calc2-rows .calc2-field-shell:nth-child(1){animation-delay:.035s}
.calc2.is-type-switching [data-calc-fields]:not([hidden]) .calc2-rows .calc2-field-shell:nth-child(2){animation-delay:.07s}
.calc2.is-type-switching [data-calc-fields]:not([hidden]) .calc2-rows .calc2-field-shell:nth-child(3){animation-delay:.105s}
.calc2.is-type-switching [data-calc-fields]:not([hidden]) .calc2-rows .calc2-field-shell:nth-child(4){animation-delay:.14s}
.calc2.is-type-switching [data-calc-fields]:not([hidden]) .calc2-rows .calc2-field-shell:nth-child(5){animation-delay:.175s}
.calc2.is-type-switching [data-calc-fields]:not([hidden]) .calc2-rows .calc2-field-shell:nth-child(6){animation-delay:.21s}
.calc2-group{
  position:relative;overflow:visible;margin:0;padding:1.65rem 0 1.75rem;border:0;border-radius:0;background:transparent;
  box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.calc2-group+.calc2-group{box-shadow:none}
.calc2-group+.calc2-group::after,.calc2-adv::before{
  content:"";position:absolute;left:0;top:0;width:min(220px,42%);height:1px;border-radius:999px;background:var(--calc-line-strong)}
.calc2-group::before{display:none}
.calc2-group legend{margin:0 0 1.15rem;color:#f0f7fb;font-size:1.02rem;font-weight:720}
.calc2-ico{
  width:2.15rem;height:2.15rem;border:1px solid var(--calc-line-strong);border-radius:50%;background:rgba(127,212,239,.06);color:#8edcf3;
  box-shadow:none}
.calc2-ico svg{width:1.05rem;height:1.05rem}
.calc2-ico--scale svg{width:1.16rem;height:1.16rem;stroke-width:1.65}
.calc2-rows{gap:1rem 1.1rem}
.calc2-field{gap:.48rem}
.calc2-field__label{color:#cfe2ee;font-size:.8rem;font-weight:650}
.calc2-input input,.calc2-input select{
  min-height:48px;border-color:rgba(190,222,239,.2);border-radius:12px;background:#0c1b2e;color:#fff;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}
.calc2-input input:hover,.calc2-input select:hover{border-color:rgba(127,212,239,.42)}
.calc2-input input:focus,.calc2-input select:focus{transform:translateY(-1px)}
.calc2-field-shell{position:relative;min-width:0}
.calc2-field-shell>.calc2-field{height:100%}
.calc2-input input[type="number"]{
  min-height:54px;padding-right:8.25rem;-moz-appearance:textfield;appearance:textfield}
.calc2-input input[type="number"]::-webkit-inner-spin-button,
.calc2-input input[type="number"]::-webkit-outer-spin-button{
  margin:0;-webkit-appearance:none;appearance:none}
.calc2-input input[type="number"]+em{right:4.85rem;text-align:right}
.calc2-stepper{
  position:absolute;right:9px;bottom:9px;z-index:3;display:grid;grid-template-columns:28px 28px;gap:6px;width:62px;height:36px;
  overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;
  opacity:.9;transition:opacity .18s ease}
.calc2-field-shell:hover .calc2-stepper,.calc2-stepper:focus-within{opacity:1}
.calc2-stepper__btn{
  display:grid;place-items:center;width:28px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;color:rgba(142,220,243,.94);
  cursor:pointer;touch-action:manipulation;transition:color .16s ease,opacity .16s ease,transform .16s ease}
.calc2-stepper__btn+.calc2-stepper__btn{border-left:0}
.calc2-stepper__btn svg{width:20px;height:20px;pointer-events:none}
.calc2-stepper__btn:hover{background:transparent;color:#c8f2fc;transform:translateY(-1px) scale(1.08)}
.calc2-stepper__btn:active{background:transparent;color:#e4faff;transform:scale(.92)}
.calc2-stepper__btn:focus-visible{position:relative;z-index:1;outline:1px solid rgba(142,220,243,.68);outline-offset:-4px;background:transparent}
.calc2-stepper__btn:disabled{color:rgba(142,220,243,.3);opacity:.48;cursor:not-allowed;background:transparent;transform:none}
.calc2-input input,
.calc2-result>strong,
.calc2-split__val,
.calc2-mlist__val{font-variant-numeric:tabular-nums}

.calc2-field-shell[data-scroll-field] .calc2-input{
  transform:translate3d(0,3px,0);opacity:.5;will-change:transform,opacity}
.calc2-scroll-charge{
  position:absolute;left:12px;right:8.65rem;bottom:1px;z-index:2;height:2px;border-radius:999px;
  background:#8edcf3;opacity:0;transform:scaleX(0);transform-origin:left;pointer-events:none;will-change:transform,opacity}
.calc2-field-shell[data-scroll-field].is-filling .calc2-input input{
  border-color:rgba(142,220,243,.66);box-shadow:0 0 0 3px rgba(127,212,239,.08)}
.calc2-result.is-scroll-scrubbing>strong,
.calc2-result.is-scroll-scrubbing .calc2-split__val,
.calc2-result.is-scroll-scrubbing .calc2-mlist__val,
.calc2-result.is-scroll-scrubbing .calc2-accent,
.calc2-result.is-scroll-scrubbing .calc2-bar__seg{
  will-change:transform,opacity;transition:none}
.calc2-result.is-scroll-scrubbing .calc2-accent{transform-origin:left}
.calc2-result.is-scroll-complete>strong{text-shadow:0 0 24px rgba(142,220,243,.13)}

.calc2-adv{
  position:relative;margin:0;padding:1.65rem 0 .35rem;border:0;border-radius:0;background:transparent;box-shadow:none;
  opacity:0;transform:translateY(12px);animation:calc2PartIn .46s ease-out .48s forwards}
.calc2-adv__head{display:flex;align-items:center;gap:.75rem;margin:0 0 1.15rem}
.calc2-adv__head>span:last-child{display:grid;gap:.16rem}
.calc2-adv__head h3{margin:0;color:#f0f7fb;font-family:var(--font-display);font-size:1rem;line-height:1.25}
.calc2-adv__head p{margin:0;color:rgba(219,234,245,.58);font-size:.76rem;line-height:1.4}
.calc2-adv .calc2-fields{padding:0 0 1.35rem}

.calc2-result{
  position:relative;top:auto;display:flex;flex-direction:column;align-self:stretch;padding:0 1.7rem 1.6rem;border:0;
  border-left:0;border-radius:0;background:var(--calc-surface-deep);box-shadow:none;
  -webkit-backdrop-filter:none;backdrop-filter:none}
.calc2-result::before{
  content:"";position:absolute;left:0;top:1.2rem;bottom:1.2rem;width:1px;border-radius:999px;background:var(--calc-line)}
.calc2-result__header{margin:0 -1.7rem 1.55rem;padding:.8rem 1.7rem}
.calc2-result .panel-kicker{color:#8edcf3;letter-spacing:0;text-transform:none}
.calc2-result>strong{margin:.35rem 0 0;color:#fff;font-size:clamp(2.5rem,4.2vw,3.45rem)}
.calc2-accent{width:52px;height:2px;margin:.85rem 0 0;border-radius:999px;background:#8edcf3}
.calc2-result-sub{max-width:42em;margin:.85rem 0 0;color:rgba(219,234,245,.72);line-height:1.5}
.calc2-split{gap:1.2rem;margin:1.25rem 0 .95rem;padding:1.15rem 0;border-top:1px solid var(--calc-line)}
.calc2-split__val{color:#80c6f2;font-size:1.32rem}
.calc2-split__val--alt{color:#8edcf3}
.calc2-bar{position:relative;display:block;height:7px;border-radius:999px;background:rgba(255,255,255,.09)}
.calc2-bar__seg{position:absolute;inset-block:0;width:100%;transition:transform .62s cubic-bezier(.16,1,.3,1)}
.calc2-bar__seg--scale{left:0;transform:scaleX(var(--segment-scale,.5));transform-origin:left;background:#5aa9e6}
.calc2-bar__seg--salt{right:0;transform:scaleX(var(--segment-scale,.5));transform-origin:right;background:#8edcf3}
.calc2-dot{border-radius:50%}
.calc2-mlist{margin-top:1.45rem}
.calc2-mlist li{padding:.78rem 0}
.calc2-cta{
  margin-top:1.5rem;padding:.95em 1.2em;border:0;border-radius:12px;background:#8edcf3;color:#06283a;box-shadow:none;
  transition:transform .18s ease,background .18s ease}
.calc2-cta:hover{background:#a8e6f7;color:#06283a;box-shadow:none;transform:translateY(-2px)}
.calc2-cta:active{transform:translateY(0)}
.calc2-disclaimer{margin-top:.9rem;color:rgba(219,234,245,.56)}
.calc2-result.is-updating>strong{animation:calc2ResultRefresh .5s cubic-bezier(.16,1,.3,1) both}
.calc2-result.is-updating .calc2-split__val{animation:calc2ResultRefresh .44s cubic-bezier(.16,1,.3,1) both}
.calc2-result.is-updating .calc2-split>div:nth-child(2) .calc2-split__val{animation-delay:.05s}
.calc2-result.is-updating .calc2-mlist__val{animation:calc2ResultRefresh .42s cubic-bezier(.16,1,.3,1) .1s both}
.calc2-result.is-updating .calc2-mlist li:nth-child(2) .calc2-mlist__val{animation-delay:.14s}
.calc2-result.is-updating .calc2-mlist li:nth-child(3) .calc2-mlist__val{animation-delay:.18s}
.calc2-result.is-updating .calc2-accent{transform-origin:left;animation:calc2AccentCharge .52s cubic-bezier(.16,1,.3,1) both}

@keyframes calc2ShellIn{to{opacity:1;transform:translateY(0)}}
@keyframes calc2LineIn{to{transform:scaleX(1)}}
@keyframes calc2PartIn{to{opacity:1;transform:translateY(0)}}
@keyframes calc2FieldsIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes calc2DropMorph{
  0%,100%{transform:translateY(-50%) rotate(-45deg) scale(1);border-radius:50% 50% 50% 0}
  34%{transform:translateY(-50%) rotate(-45deg) scale(1.16,.84);border-radius:56% 44% 58% 0}
  68%{transform:translateY(-50%) rotate(-45deg) scale(.94,1.08);border-radius:46% 54% 48% 0}
}
@keyframes calc2DropPress{
  0%,100%{transform:translateY(-50%) rotate(-45deg) scale(1)}
  48%{transform:translateY(-50%) rotate(-45deg) scale(.9)}
}
@keyframes calc2TypeFieldIn{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes calc2ResultRefresh{
  from{opacity:.34;transform:translateY(7px) scale(.99)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes calc2FieldCharge{
  0%{opacity:0;transform:scaleX(0)}
  22%{opacity:1}
  100%{opacity:0;transform:scaleX(1)}
}
@keyframes calc2CounterRise{
  from{opacity:.2;transform:translateY(13px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes calc2CounterGroup{
  from{opacity:0;transform:translateY(9px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes calc2AccentCharge{
  from{opacity:.25;transform:scaleX(0)}
  to{opacity:1;transform:scaleX(1)}
}
@keyframes calc2CounterSettle{
  0%{transform:scale(1)}
  45%{transform:scale(1.018)}
  100%{transform:scale(1)}
}

@media(max-width:880px){
  .calc2-grid{grid-template-columns:1fr}
  .calc2-result{border-top:0;border-left:0}
  .calc2-result::before{left:1rem;right:1rem;top:0;bottom:auto;width:auto;height:1px}
  .calc2-cta{margin-top:1.5rem}
}
@media(max-width:560px){
  .calc2{border-radius:14px}
  .calc2-panel{padding-inline:1rem}
  .calc2-panel__header{margin-inline:-1rem;padding-inline:1rem}
  .calc2-section-brand--lockup{flex-basis:104px;width:104px;height:28px}
  .calc2-section-brand--lockup img{max-height:28px}
  .calc2-section-brand--mark{flex-basis:34px;width:34px;height:34px}
  .calc2-section-brand--mark::before{width:32px;height:32px}
  .calc2-typebar{
    --type-pad:1rem;--type-gap:.3rem;--drop-size:48px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    margin-inline:-1rem;margin-bottom:.82rem;padding:.62rem var(--type-pad) .78rem}
  .calc2-typebar__thumb{top:.62rem;bottom:.78rem}
  .calc2-type{grid-template-columns:var(--drop-size) minmax(0,1fr);gap:.32rem;min-height:56px;padding:0 .18rem 0 0;font-size:.76rem}
  .calc2-type svg{width:18px;height:18px}
  .calc2-type>span{line-height:1.22}
  .calc2-result{padding-inline:1rem}
  .calc2-result__header{margin-inline:-1rem;padding-inline:1rem}
  .calc2-result>strong{font-size:clamp(2.25rem,11vw,2.8rem)}
  .calc2-split{gap:.8rem}
  .calc2-split__val{font-size:1.12rem}
}
@media(prefers-reduced-motion:reduce){
  .calc2,.calc2::before,.calc2-panel__header,.calc2-result__header,.calc2-fields:not([hidden]),.calc2-adv,
  .calc2.is-type-switching [data-calc-fields]:not([hidden]) .calc2-group legend,
  .calc2.is-type-switching [data-calc-fields]:not([hidden]) .calc2-field-shell,
  .calc2-field-shell[data-scroll-field] .calc2-input,.calc2-result.is-updating>strong,
  .calc2-result.is-updating .calc2-split__val,.calc2-result.is-updating .calc2-mlist__val,
  .calc2-result.is-scroll-scrubbing>strong,.calc2-result.is-scroll-scrubbing .calc2-split__val,
  .calc2-result.is-scroll-scrubbing .calc2-mlist__val,.calc2-result.is-scroll-scrubbing .calc2-accent{
    opacity:1!important;transform:none!important;animation:none!important}
  .calc2-scroll-charge{display:none!important}
  .calc2-typebar__thumb,.calc2-typebar__drop,.calc2-type,.calc2-type::before,.calc2-type svg,.calc2-type>span,.calc2-type>span::after,
  .calc2-result.is-updating .calc2-accent,.calc2-bar__seg,.calc2-input input,.calc2-input select,.calc2-stepper__btn,.calc2-cta{
    transition:none!important;animation:none!important}
}

@media(max-width:960px){
  .has-video-hero .hero-inner-v{padding-top:calc(var(--header-h) + 1.4rem);padding-bottom:3.6rem}
  .hero-video .hero-copy{max-width:100%;padding-bottom:0}
  .hero-video .hero-copy h1{font-size:clamp(2.25rem,9.5vw,4.55rem);line-height:.99}
  .hero-video .hero-copy .lead{max-width:660px}
  .hero-video .hero-stats{
    position:absolute;left:0;right:0;bottom:1.1rem;width:auto;max-width:none;margin-inline:18px;display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;justify-content:stretch;padding:.8rem .55rem}
  .hero-video .hero-stats div{min-width:0}
  .hero-video .hero-stats strong{font-size:clamp(1.1rem,5.2vw,1.55rem)}
  .hero-video .hero-stats span{font-size:.7rem;line-height:1.25}
  .hero-video .cta-row{display:flex;flex-wrap:wrap}
  .hero-video .cta-row .btn-tile:nth-child(2){min-width:min(420px,88vw)}
  .hero-scroll-cue{bottom:.85rem}
  .partner-scale-group{right:1rem;bottom:1.2rem;gap:.8rem}
  .partner-scale-copy{font-size:clamp(1rem,3.5vw,1.35rem);max-width:210px}
  .industry-hex-section{min-height:auto;padding-block:4rem}
  .industry-hex-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto;gap:1.5rem;min-height:0;max-width:780px}
  .industry-hex-grid::before{display:none}
  .industry-hex{grid-column:auto!important;grid-row:auto!important;justify-self:center;width:min(340px,43vw);height:auto;aspect-ratio:1/1.12}
  .industry-hex__body{width:78%}
  .calculator-grid{grid-template-columns:1fr}
  .calculator-result{position:relative;top:auto}
}
@media(max-width:560px){
  .site-header>.wrap,.hero-video .wrap{padding-inline:18px}
  .has-video-hero .hero-inner-v{min-height:100svh;padding-top:calc(var(--header-h) + .9rem);padding-bottom:clamp(5.2rem,12vh,6.4rem)}
  .hero-video::after{opacity:.14}
  .hero-video .hero-copy .eyebrow{gap:.5rem;font-size:.74rem;letter-spacing:.12em;max-width:100%}
  .hero-eyebrow-mark{width:20px}
  .hero-video .hero-copy h1{font-size:clamp(2rem,9.3vw,2.82rem);line-height:1.04;letter-spacing:.016em}
  .hero-title-line--light{font-size:.74em;letter-spacing:.028em}
  .hero-title-line--strong{font-size:.86em;letter-spacing:.012em}
  .hero-video .hero-copy h1::after{width:min(310px,72vw);margin-top:.62rem}
  .hero-video .hero-copy .lead{font-size:1.08rem;line-height:1.5}
  .hero-sentence-rotator{min-width:min(320px,86vw);min-height:3.15em}
  .hero-video .cta-row{gap:.56rem;margin-top:1.2rem}
  .hero-video .btn-tile{width:100%;max-width:342px;min-height:64px}
  .hero-video .cta-row .btn-tile:nth-child(2){min-width:0}
  .hero-scroll-cue{font-size:.68rem;bottom:1.35rem}
  .hero-scroll-cue i{width:25px;height:36px}
  .industry-hex-section{padding:3rem 0 3.4rem}
  .industry-hex-head{margin-bottom:1.8rem}
  .industry-hex-grid{display:grid;grid-template-columns:1fr;gap:1.12rem;max-width:360px}
  .industry-hex{width:min(330px,86vw);height:auto;aspect-ratio:1/1.12}
  .industry-hex__body strong{font-size:1rem}
  .industry-hex__body em{font-size:.74rem}
  .industry-hex-copy{margin-top:1.6rem}
  .nav-savings-btn small{display:none}
  .partner-scale-group{left:.75rem;right:.75rem;align-items:flex-end;justify-content:space-between}
  .partner-scale-copy{max-width:44%;font-size:.95rem}
  .partner-scale-badge{min-width:165px}
  .partner-rail{height:60px}
  .calc-result-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion: reduce){
  .hero-video .hero-copy .eyebrow,.hero-video .hero-copy h1,.hero-video .hero-copy .lead,
  .hero-eyebrow-text,.hero-eyebrow-mark,.hero-title-line,.hero-sentence,
  .hero-video .btn-tile,.hero-video .hero-stats,.hero-scroll-cue,.reveal-left,.reveal-right,.scroll-copy>*,
  .industry-hex-head,.industry-hex-copy,.proof-timer-shell,
  .gallery-card,.gallery-card__media,.gallery-card__more svg,.gallery-arrow,.gallery-dot{
    animation:none!important;transition:none!important;opacity:1!important;transform:none!important}
  .hero-scroll-cue{transform:translateX(-50%)!important}
  .hero-video::before,.hero-video .btn-tile::before,.hero-scroll-cue i::before,.hero-scroll-cue i::after{animation:none!important;opacity:0!important}
  .industry-hex{animation:none!important;opacity:1!important;transform:none!important}
  .proof-screen{transform:none!important}
  .proof-head{transform:none!important;opacity:1!important}
  .proof-loss-line,.proof-save-line{stroke-dashoffset:0!important}
  .proof-loss-area,.proof-save-area,.proof-end-dot{opacity:1!important}
  .proof-screen__live i{animation:none!important}
  .impact-curve{opacity:1!important;transform:none!important}
  .impact-curve__line{stroke-dashoffset:0!important}
  .impact-curve__clip{width:1200px!important}
  .impact-node{opacity:1!important;transform:translate(-50%,-50%) scale(1)!important}
  .impact-curve__spark{display:none!important}
  .impact-curve__cta::after{animation:none!important}
  .impact-stat{opacity:1!important;transform:translate(-50%,-100%)!important}
  .partner-growth-line{stroke-dashoffset:0!important;animation:none!important}
  .partner-growth-head{opacity:1!important;transform:scale(1)!important;animation:none!important}
  .cf-rotate__ch{animation:none!important;transform:none!important;opacity:1!important}
  .home-faq__intro{opacity:1!important;transform:none!important}
  .home-faq__list.faq details{opacity:1!important;transform:none!important}
  .audit-benefits,.audit-form-card{opacity:1!important;transform:none!important}
}

/* ===================================================================
   PODSTRONY — spójność wizualna ze stroną główną
   Scope: body:not(.has-video-hero) → wyłącznie podstrony (home nietknięty)
   =================================================================== */

/* — Hero podstron: branded, ciemny motyw (jak home, lecz bez wideo) — */
body:not(.has-video-hero) .hero{position:relative;isolation:isolate;overflow:hidden;border-bottom:0;color:#eaf3f8;
  background:linear-gradient(135deg,#0b3d5c 0%,#0a3147 58%,#06222f 100%)}
body:not(.has-video-hero) .hero::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:radial-gradient(58% 80% at 86% -12%,rgba(127,212,239,.20),transparent 60%),
             radial-gradient(54% 80% at -6% 112%,rgba(23,137,182,.30),transparent 60%)}
body:not(.has-video-hero) .hero::after{content:"";position:absolute;right:-3%;top:50%;transform:translateY(-50%);z-index:-1;
  width:min(440px,42%);aspect-ratio:1;pointer-events:none;opacity:.07;
  background:url('/assets/kabi-sygnet.svg') center/contain no-repeat;filter:brightness(0) invert(1)}
body:not(.has-video-hero) .hero .eyebrow{color:var(--accent)}
body:not(.has-video-hero) .hero h1{color:#fff}
body:not(.has-video-hero) .hero-copy .lead{color:#dceef7}
body:not(.has-video-hero) .hero-stats{border-top-color:rgba(255,255,255,.22)}
body:not(.has-video-hero) .hero-stats strong{color:var(--accent)}
body:not(.has-video-hero) .hero-stats span{color:#cfe2ee}
body:not(.has-video-hero) .hero .btn-ghost{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.5)}
body:not(.has-video-hero) .hero .btn-ghost:hover{background:rgba(255,255,255,.18);border-color:#fff;color:#fff}
body:not(.has-video-hero) .hero-media svg{border:1px solid rgba(127,212,239,.25);
  box-shadow:0 28px 64px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.12)}

/* — Akcentowa kreska pod nagłówkiem sekcji — */
body:not(.has-video-hero) .section-head{position:relative}
body:not(.has-video-hero) .section-head::after{content:"";display:block;width:56px;height:3px;margin:1rem auto 0;
  border-radius:3px;background:linear-gradient(90deg,var(--brand),var(--accent))}

/* — Subtelny znak wodny logo na sekcjach „alt" (głębia jak na home) — */
body:not(.has-video-hero) .section.alt{position:relative;overflow:clip}
body:not(.has-video-hero) .section.alt::before{content:"";position:absolute;right:-70px;top:50%;transform:translateY(-50%);
  width:330px;height:330px;pointer-events:none;opacity:.04;z-index:0;
  background:url('/assets/kabi-sygnet.svg') center/contain no-repeat}
body:not(.has-video-hero) .section.alt > .wrap{position:relative;z-index:1}

/* — Karty / feature: gradient, akcent u góry, mocniejszy hover-lift — */
body:not(.has-video-hero) .feature,
body:not(.has-video-hero) .card{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#f7fbfd);
  transition:transform .26s cubic-bezier(.2,.8,.2,1),box-shadow .26s ease,border-color .26s ease}
body:not(.has-video-hero) .feature::before,
body:not(.has-video-hero) .card::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;z-index:1;
  background:linear-gradient(90deg,var(--brand),var(--accent));transform:scaleX(0);transform-origin:left;
  transition:transform .32s cubic-bezier(.2,.8,.2,1)}
body:not(.has-video-hero) .feature:hover::before,
body:not(.has-video-hero) .card:hover::before{transform:scaleX(1)}
body:not(.has-video-hero) .feature:hover,
body:not(.has-video-hero) .card:hover{transform:translateY(-5px);border-color:rgba(127,212,239,.6);
  box-shadow:0 22px 48px rgba(11,61,92,.16)}
body:not(.has-video-hero) .ficon{background:linear-gradient(145deg,#e9f6fd,#cfe7f2);
  box-shadow:inset 0 1px 0 #fff,0 6px 16px rgba(23,137,182,.16);transition:transform .26s cubic-bezier(.2,.8,.2,1)}
body:not(.has-video-hero) .feature:hover .ficon{transform:scale(1.08) rotate(-3deg)}

/* — Steps: gradientowy numer z poświatą — */
body:not(.has-video-hero) .step-num{background:linear-gradient(145deg,var(--brand),var(--navy));
  box-shadow:0 8px 20px rgba(23,137,182,.4),inset 0 1px 0 rgba(255,255,255,.25)}

/* — CTA band: radialna poświata akcentu — */
body:not(.has-video-hero) .cta-band{position:relative;overflow:hidden}
body:not(.has-video-hero) .cta-band::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 130% at 88% -12%,rgba(127,212,239,.24),transparent 58%)}
body:not(.has-video-hero) .cta-inner{position:relative;z-index:1}

/* — Stat band: gradient + poświata + akcentowe liczby — */
body:not(.has-video-hero) .stat-band{position:relative;overflow:hidden;
  background:linear-gradient(120deg,var(--navy),var(--brand-dark))}
body:not(.has-video-hero) .stat-band::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(52% 120% at 12% 0%,rgba(127,212,239,.18),transparent 60%)}
body:not(.has-video-hero) .stat-row{position:relative;z-index:1}
body:not(.has-video-hero) .stat-band strong{color:var(--accent)}

/* — Reveal: bez animacji przy reduced-motion (treść od razu widoczna) — */
@media (prefers-reduced-motion: reduce){
  body:not(.has-video-hero) .reveal{opacity:1!important;transform:none!important}
}

/* ===================================================================
   HERO V2 — KCAQUA INDUSTRIAL COMMAND CENTER
   =================================================================== */
.hero-v2{
  --hero-shift-x:0px;--hero-shift-y:0px;position:relative;min-height:100svh;
  background:#020a10;color:#eef9ff;isolation:isolate}
.hero-v2 .hero-bg{inset:-2%;width:104%;height:104%;filter:saturate(.78) contrast(1.08) brightness(.78);
  transform:translate3d(var(--hero-shift-x),var(--hero-shift-y),0) scale(1.055);
  transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.hero-v2 .hero-overlay{background:
  linear-gradient(90deg,rgba(2,11,18,.94) 0%,rgba(2,12,19,.76) 38%,rgba(2,12,19,.36) 68%,rgba(2,12,19,.54) 100%),
  linear-gradient(180deg,rgba(2,10,16,.5) 0%,transparent 24%,transparent 54%,rgba(1,8,13,.88) 100%)}
.hero-v2::before,.hero-v2::after{display:none}
.hero-v2 .hero-inner-v{display:flex;align-items:center;min-height:100svh;padding:calc(var(--header-h) + clamp(2.5rem,6vh,5rem)) 0 clamp(9rem,17vh,13rem)}
@supports (height:100dvh){.hero-v2 .hero-inner-v{min-height:100dvh}}
.hero-v2 .hero-stage{position:relative;display:block;width:100%;max-width:1180px;margin:0;
  transition:opacity .16s linear,translate .16s linear}
.hero-v2 .hero-copy{position:relative;align-items:flex-start;max-width:none;margin:0;text-align:left;
  filter:drop-shadow(0 24px 54px rgba(0,0,0,.24))}
.hero-v2 .hero-copy::before{display:none}
.hero-v2 .hero-copy .eyebrow{justify-content:flex-start;margin:0 0 1.15rem;color:#c8f3ff;font-size:clamp(.72rem,.75vw,.86rem);
  letter-spacing:.2em;text-align:left}
.hero-v2 .hero-copy h1{max-width:13ex;margin:0 0 1.5rem;text-align:left;font-size:clamp(3.1rem,5.5vw,6.4rem);
  font-weight:330;line-height:.92;letter-spacing:.012em;text-wrap:normal}
.hero-v2 .hero-copy h1::after{display:none}
.hero-v2 .hero-title-line--light{font-size:.72em;letter-spacing:.09em;color:rgba(237,249,255,.92)}
.hero-v2 .hero-title-line--accent{font-size:1.04em;color:#91e8ff;text-shadow:0 0 34px rgba(71,190,230,.3)}
.hero-v2 .hero-title-line--strong{font-size:.94em;letter-spacing:.016em;color:#fff}
.hero-v2 .hero-copy .lead{display:grid;justify-items:start;max-width:760px;margin:.15rem 0 0;text-align:left;font-size:clamp(1.12rem,1.35vw,1.42rem);line-height:1.35}
.hero-lead-prefix{display:block;margin-bottom:.34rem;color:rgba(210,235,246,.68);font-size:.64em;font-weight:680;letter-spacing:.055em;text-transform:uppercase}
.hero-v2 .hero-sentence-rotator{place-items:start;min-width:min(680px,72vw);min-height:1.55em;text-align:left}
.hero-v2 .hero-sentence{text-align:left}
.hero-v2 .cta-row{justify-content:flex-start;gap:.8rem;margin-top:1.5rem}
.hero-v2 .btn-tile{min-height:68px;border-radius:4px;border-color:rgba(179,231,248,.38);background:linear-gradient(135deg,rgba(3,25,38,.74),rgba(7,54,74,.48));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 18px 42px rgba(0,0,0,.2);backdrop-filter:blur(12px)}
.hero-v2 .cta-row .btn-tile:nth-child(2){min-width:min(430px,39vw);background:linear-gradient(135deg,rgba(18,125,166,.88),rgba(5,51,72,.7));
  border-color:rgba(184,239,255,.72);box-shadow:0 24px 52px rgba(0,0,0,.25),0 0 34px rgba(67,192,235,.16),inset 0 1px 0 rgba(255,255,255,.2)}

/* proof-strip (staty) w kolumnie tekstu */
.hero-metrics-band{position:absolute;left:0;right:0;bottom:0;z-index:3;border-top:1px solid rgba(168,232,255,.14);
  background:linear-gradient(180deg,rgba(2,12,19,0),rgba(2,12,19,.5) 42%,rgba(1,10,16,.82));
  -webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
  opacity:0;animation:heroBandIn .8s cubic-bezier(.2,.8,.2,1) 1.2s forwards}
.hero-proof{display:flex;align-items:center;gap:clamp(1.4rem,4vw,3.8rem);margin:0;
  padding-top:clamp(1rem,2.1vh,1.55rem);padding-bottom:clamp(1rem,2.1vh,1.55rem)}
.hero-proof__chip{position:relative;display:inline-flex;flex-direction:column;gap:.34rem;line-height:1;
  color:rgba(214,236,245,.72);font-size:clamp(.72rem,.82vw,.84rem);letter-spacing:.01em;padding-right:clamp(1.4rem,4vw,3.8rem)}
.hero-proof__chip:not(:last-of-type)::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);
  width:1px;height:2.6em;background:linear-gradient(180deg,transparent,rgba(168,232,255,.3),transparent)}
.hero-proof__chip b{font-family:var(--font-display);font-size:clamp(1.7rem,2.35vw,2.55rem);font-weight:800;color:#8fe6ff;
  letter-spacing:-.02em;text-shadow:0 0 28px rgba(71,190,230,.26)}
.hero-proof__note{margin-left:auto;color:rgba(196,224,236,.42);font-size:.66rem;letter-spacing:.02em;white-space:nowrap}
@keyframes heroBandIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* hero orb removed - clean video hero */
@keyframes heroOrbIn{to{opacity:1;transform:scale(1)}}
@keyframes heroOrbSpin{to{transform:rotate(360deg)}}
@keyframes heroOrbGlow{0%,100%{opacity:.7}50%{opacity:1}}
@keyframes heroOrbitDot{from{transform:translate(-50%,-50%) rotate(0deg) translateX(var(--r,200px)) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg) translateX(var(--r,200px)) rotate(-360deg)}}
.hero-side-label{position:absolute;left:clamp(14px,1.6vw,30px);top:50%;z-index:3;color:rgba(196,232,245,.38);font-size:.61rem;font-weight:800;
  letter-spacing:.2em;text-transform:uppercase;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg)}
.hero-v2 .hero-scroll-cue{bottom:clamp(.9rem,2.2vh,1.6rem)}

@keyframes heroV2Beam{0%,18%{transform:translateX(-72%) skewX(-12deg);opacity:0}42%{opacity:.36}72%,100%{transform:translateX(78%) skewX(-12deg);opacity:0}}
@keyframes heroCommandReveal{0%{opacity:0;clip-path:inset(0 100% 0 0 round 28px)}100%{opacity:1;clip-path:inset(0 0 0 0 round 28px)}}
@keyframes heroCommandScan{0%,22%{background-position:0 -180%}76%,100%{background-position:0 220%}}
@keyframes heroLivePulse{0%,100%{opacity:.65;transform:scale(.86)}50%{opacity:1;transform:scale(1.1)}}
@keyframes heroOrbitSpin{to{transform:rotate(360deg)}}
@keyframes heroRingPulse{0%,100%{transform:scale(.94);opacity:.45}50%{transform:scale(1.08);opacity:1}}
@keyframes heroCoreFloat{0%,100%{transform:translateY(-3px) scale(.98)}50%{transform:translateY(4px) scale(1.04)}}
@keyframes heroMetricLine{to{transform:scaleX(1)}}
@keyframes heroFlow{0%{transform:translateX(-100%);opacity:0}35%{opacity:1}100%{transform:translateX(100%);opacity:0}}

@media(max-width:1180px){
  .hero-v2 .hero-copy h1{font-size:clamp(3rem,5vw,5rem)}
}
@media(max-width:960px){
  .hero-v2 .hero-inner-v{min-height:auto;padding-top:calc(var(--header-h) + 2rem);padding-bottom:7.5rem}
  .hero-v2 .hero-stage{max-width:760px}
  .hero-v2 .hero-copy{max-width:760px}
  .hero-v2 .hero-copy h1{max-width:11ex;font-size:clamp(3rem,8.4vw,5.1rem)}
  .hero-side-label{display:none}
  .hero-v2 .cta-row .btn-tile:nth-child(2){min-width:min(430px,58vw)}
}
@media(max-width:600px){
  .hero-v2 .hero-inner-v{padding-top:calc(var(--header-h) + 1.35rem);padding-bottom:6.4rem}
  .hero-v2 .hero-copy h1{font-size:clamp(2.45rem,12vw,3.65rem);line-height:.94;margin-bottom:.85rem}
  .hero-v2 .hero-copy .eyebrow{font-size:.62rem;letter-spacing:.13em;margin-bottom:.85rem}
  .hero-v2 .hero-eyebrow-mark{width:16px}
  .hero-v2 .hero-copy .lead{font-size:1.08rem}
  .hero-v2 .hero-sentence-rotator{min-width:0;width:100%}
  .hero-v2 .cta-row{display:grid;width:100%;gap:.58rem;margin-top:1.2rem}
  .hero-v2 .btn-tile,.hero-v2 .cta-row .btn-tile:nth-child(2){width:100%;min-width:0;max-width:none;min-height:60px}
  .hero-proof{gap:.4rem 1.1rem}
  .hero-proof__chip{padding-right:1.1rem}
  .hero-proof__chip b{font-size:clamp(1.4rem,7vw,1.9rem)}
  .hero-proof__note{display:none}
}
@media(prefers-reduced-motion:reduce){
  .hero-metrics-band{animation:none!important;opacity:1!important}
  .hero-v2 .hero-stage{translate:none!important;opacity:1!important}
  .hero-v2 .hero-copy,.hero-v2 .hero-bg{transform:none!important}
}

/* =================================================================
   HERO — wariant PAGEART: gigantyczny wordmark + tekst + karty
   ================================================================= */
.hero-pageart .hero-side-label{display:none}
.hero-pageart .hero-inner-v{display:flex;align-items:stretch;min-height:100svh;
  padding:calc(var(--header-h) + clamp(1.3rem,3.4vh,2.5rem)) 0 clamp(2.2rem,5vh,3.6rem)}
.hero-pageart .hero-stage{display:flex;flex-direction:column;width:100%;max-width:1540px;margin:0 auto;min-height:0}
/* gigantyczny napis marki */
.hero-wordmark{margin:0;font-family:var(--font-display);font-weight:850;color:#fff;text-transform:uppercase;
  font-size:clamp(2.8rem,14.4vw,12.5rem);line-height:.84;letter-spacing:-.025em;white-space:nowrap;
  filter:drop-shadow(0 14px 48px rgba(0,0,0,.45));
  opacity:0;transform:translateY(20px);animation:heroWordIn 1.05s cubic-bezier(.16,.86,.3,1) .08s forwards}
.hero-wordmark span:last-child{font-weight:300;color:rgba(255,255,255,.92)}
/* dolna część: tekst (lewa) + karty (prawa) */
.hero-lower{margin-top:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;
  gap:clamp(1.6rem,4vw,4.5rem);padding-top:clamp(1.8rem,4.5vh,3.2rem)}
.hero-pageart .hero-copy{max-width:620px;margin:0;filter:none;
  opacity:0;transform:translateY(14px);animation:heroLowerIn .8s cubic-bezier(.2,.8,.2,1) .35s forwards}
.hero-pageart .hero-copy h1{margin:0 0 1.05rem;max-width:none;text-align:left;
  font-size:clamp(1.65rem,2.85vw,2.75rem);font-weight:600;line-height:1.12;letter-spacing:-.012em}
.hero-pageart .hero-copy h1 strong{font-weight:600}
.hero-pageart .hero-copy h1 .hero-title-line{display:inline;font-size:1em;font-weight:inherit;letter-spacing:inherit;
  text-transform:none;animation:none;opacity:1;transform:none;text-shadow:none}
.hero-pageart .hero-copy h1 .hero-title-line--light,
.hero-pageart .hero-copy h1 .hero-title-line--accent{margin-right:.27em}
.hero-pageart .hero-copy h1 .hero-title-line--accent{color:#8fe6ff}
.hero-pageart .hero-copy h1 .hero-title-line--light,
.hero-pageart .hero-copy h1 .hero-title-line--strong{color:#fff}
.hero-pageart .hero-copy h1 .hero-title-line::after{display:none}
.hero-pageart .hero-copy .lead{display:block;margin:0 0 1.5rem;max-width:38em;text-align:left;opacity:1;
  font-size:clamp(.95rem,1.04vw,1.08rem);line-height:1.62;color:rgba(221,237,246,.82);animation:none}
.hero-pageart .hero-copy .lead strong{color:#fff;font-weight:700}
/* małe pigułki CTA */
.hero-pills{display:flex;flex-wrap:wrap;gap:.65rem;margin:0}
.hero-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.6rem 1.2rem;border-radius:999px;
  font-size:.9rem;font-weight:600;text-decoration:none;line-height:1;
  transition:transform .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.hero-pill svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hero-pill--ghost{border:1px solid rgba(223,240,247,.5);color:#fff;background:rgba(255,255,255,.04)}
.hero-pill--ghost:hover{background:rgba(255,255,255,.12);border-color:#fff;transform:translateY(-1px);text-decoration:none}
.hero-pill--solid{background:var(--accent);color:#03202e;border:1px solid var(--accent)}
.hero-pill--solid:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(116,211,244,.4);text-decoration:none}
/* karty z wartościami (prawa strona) */
.hero-cards{display:flex;gap:clamp(.6rem,.9vw,1rem)}
.hero-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem;
  min-width:clamp(118px,11vw,166px);min-height:clamp(140px,15.5vh,180px);padding:1.05rem 1.15rem 1.1rem;border-radius:16px;
  background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.025));
  border:1px solid rgba(223,240,247,.16);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  box-shadow:0 20px 46px rgba(0,0,0,.3);
  opacity:0;transform:translateY(16px);animation:heroLowerIn .7s cubic-bezier(.2,.8,.2,1) forwards}
.hero-card:nth-child(1){animation-delay:.45s}
.hero-card:nth-child(2){animation-delay:.55s}
.hero-card:nth-child(3){animation-delay:.65s}
.hero-card__label{color:rgba(223,238,247,.74);font-size:.76rem;font-weight:600;letter-spacing:.005em;line-height:1.25}
.hero-card__val{font-family:var(--font-display);font-size:clamp(1.85rem,2.6vw,2.7rem);font-weight:800;color:#fff;
  letter-spacing:-.025em;line-height:.95}
@keyframes heroWordIn{to{opacity:1;transform:none}}
@keyframes heroLowerIn{to{opacity:1;transform:none}}
@media(max-width:1100px){
  .hero-wordmark{font-size:clamp(2.6rem,13.8vw,9rem)}
  .hero-card{min-width:108px;min-height:128px;gap:1.1rem}
  .hero-card__val{font-size:clamp(1.55rem,4.4vw,2.1rem)}
}
@media(max-width:820px){
  .hero-lower{grid-template-columns:1fr;align-items:start;gap:1.8rem}
  .hero-pageart .hero-copy{max-width:none;order:1}
  .hero-cards{order:2;width:100%}
  .hero-card{flex:1;min-width:0;min-height:120px}
}
@media(max-width:600px){
  .hero-wordmark{white-space:normal;font-size:clamp(3rem,17vw,5.5rem);line-height:.9}
  .hero-wordmark span{display:block}
  .hero-pageart .hero-copy h1{font-size:clamp(1.45rem,6vw,2rem)}
  .hero-cards{gap:.5rem}
  .hero-card{padding:.85rem .8rem;min-height:106px;gap:.85rem;border-radius:13px}
  .hero-card__label{font-size:.64rem}
  .hero-card__val{font-size:clamp(1.2rem,5.6vw,1.7rem)}
  .hero-pills{width:100%}
  .hero-pill{flex:1;justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  .hero-wordmark,.hero-pageart .hero-copy,.hero-card{animation:none!important;opacity:1!important;transform:none!important}
}

/* =================================================================
   HERO FOCUS — film jako główny obraz, jedna czytelna kolumna SEO
   ================================================================= */
.hero-focus .hero-bg{
  inset:0;width:100%;height:100%;object-position:right center;
  filter:saturate(.92) contrast(1.04) brightness(.86);
  transform:scale(1.015)
}
.hero-focus .hero-overlay{
  background:
    linear-gradient(90deg,rgba(1,10,17,.96) 0%,rgba(2,13,21,.84) 32%,rgba(2,13,21,.42) 60%,rgba(1,9,15,.18) 100%),
    linear-gradient(180deg,rgba(1,8,14,.28) 0%,transparent 32%,rgba(1,8,13,.66) 100%)
}
.hero-focus .hero-inner-v{
  display:flex;align-items:center;min-height:100svh;
  padding:calc(var(--header-h) + clamp(2.4rem,5vh,4.5rem)) clamp(28px,4.3vw,84px) clamp(3rem,6vh,5rem)
}
@supports(height:100dvh){.hero-focus .hero-inner-v{min-height:100dvh}}
.hero-focus .hero-stage{width:100%;max-width:1540px;margin:0 auto}
.hero-focus .hero-copy{
  max-width:min(650px,45vw);margin:0;text-align:left;filter:none;
  opacity:0;transform:translateY(16px);animation:heroLowerIn .85s cubic-bezier(.2,.8,.2,1) .12s forwards
}
.hero-focus .hero-copy .eyebrow{
  display:flex;align-items:center;justify-content:flex-start;gap:.7rem;margin:0 0 1rem;
  color:#9feaff;font-size:clamp(.65rem,.66vw,.74rem);font-weight:760;letter-spacing:.15em;text-transform:uppercase
}
.hero-focus .hero-eyebrow-mark{display:block;width:30px;height:1px;background:linear-gradient(90deg,#7fdefa,rgba(127,222,250,.2))}
.hero-focus .hero-copy h1{
  max-width:100%;margin:0 0 1.2rem;text-align:left;
  font-size:clamp(2.65rem,3.65vw,4.35rem);font-weight:720;line-height:1;letter-spacing:-.032em;text-wrap:balance
}
.hero-focus .hero-copy h1 .hero-title-line{display:block;opacity:1;animation:none;transform:none;text-shadow:none}
.hero-focus .hero-copy h1 .hero-title-line--light{color:#fff;font-size:1em;font-weight:720;letter-spacing:-.032em}
.hero-focus .hero-copy h1 .hero-title-line--accent{color:#8fe6ff;font-size:1em;font-weight:720;letter-spacing:-.032em}
.hero-focus .hero-copy .lead{
  display:block;max-width:64ch;margin:0;color:rgba(224,239,247,.84);
  font-size:clamp(.95rem,1vw,1.08rem);line-height:1.58;text-align:left
}
.hero-focus .hero-copy .lead strong{color:#fff;font-weight:700}
.hero-focus .hero-pills{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.35rem}
.hero-focus .hero-pill{min-height:46px;padding:.68rem 1.1rem;font-size:.82rem;font-weight:720}
.hero-focus .hero-pill--solid{background:#79d9f5;border-color:#79d9f5;color:#052333;box-shadow:0 12px 30px rgba(52,176,218,.22)}
.hero-focus .hero-pill--ghost{border-color:rgba(210,238,248,.46);background:rgba(4,22,32,.38);color:#fff;backdrop-filter:blur(8px)}
.hero-focus .hero-proof{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:clamp(1.65rem,3vh,2.35rem);
  padding-top:1rem;border-top:1px solid rgba(157,224,247,.25)
}
.hero-focus .hero-proof__chip{
  display:flex;min-width:0;flex-direction:column;gap:.42rem;padding:0 clamp(.75rem,1.4vw,1.35rem);
  color:rgba(218,236,244,.7);font-size:clamp(.67rem,.72vw,.78rem);line-height:1.32
}
.hero-focus .hero-proof__chip:first-child{padding-left:0}
.hero-focus .hero-proof__chip:not(:last-child){border-right:1px solid rgba(157,224,247,.18)}
.hero-focus .hero-proof__chip::after{display:none}
.hero-focus .hero-proof__chip b{
  color:#9beaff;font-family:var(--font-display);font-size:clamp(1.4rem,1.6vw,1.8rem);font-weight:820;
  line-height:1;letter-spacing:-.025em;text-shadow:none
}
.hero-focus .hero-proof__note{
  margin:.75rem 0 0;color:rgba(207,229,238,.42);font-size:.65rem;line-height:1.35;letter-spacing:.012em
}
@media(max-width:960px){
  .hero-focus .hero-inner-v{min-height:760px;padding:calc(var(--header-h) + 3rem) 28px 3.5rem}
  .hero-focus .hero-copy{max-width:min(680px,82vw)}
  .hero-focus .hero-bg{object-position:62% center}
  .hero-focus .hero-overlay{background:linear-gradient(90deg,rgba(1,10,17,.96),rgba(2,13,21,.72) 72%,rgba(1,9,15,.38))}
}
@media(max-width:600px){
  .hero-focus .hero-inner-v{min-height:720px;padding:calc(var(--header-h) + 2.2rem) 18px 2.5rem}
  .hero-focus .hero-copy{max-width:100%}
  .hero-focus .hero-copy h1{font-size:clamp(2rem,9.5vw,2.7rem);max-width:100%;letter-spacing:-.04em}
  .hero-focus .hero-copy .lead{font-size:.98rem;line-height:1.52}
  .hero-focus .hero-pills{display:grid;grid-template-columns:1fr;margin-top:1.25rem}
  .hero-focus .hero-pill{justify-content:space-between;width:100%}
  .hero-focus .hero-proof{margin-top:1.6rem;padding-top:1rem}
  .hero-focus .hero-proof__chip{padding-inline:.55rem;font-size:.61rem}
  .hero-focus .hero-proof__chip b{font-size:clamp(1.18rem,5.4vw,1.55rem)}
}
@media(prefers-reduced-motion:reduce){
  .hero-focus .hero-copy{animation:none!important;opacity:1!important;transform:none!important}
  .hero-focus .hero-bg{transform:none!important}
}

/* =================================================================
   HERO CENTERED — spokojna, markowa kompozycja bez paneli i statystyk
   ================================================================= */
.hero-centered{min-height:100svh;background:#03111a}
.hero-centered::before,.hero-centered::after{display:none}
.hero-centered .hero-bg{
  inset:0;width:100%;height:100%;object-position:right center;
  filter:saturate(.8) contrast(1.04) brightness(.68);transform:none
}
.hero-centered .hero-overlay{
  background:
    linear-gradient(180deg,rgba(1,9,15,.48) 0%,rgba(1,10,16,.28) 42%,rgba(1,9,15,.66) 100%),
    radial-gradient(circle at 50% 47%,rgba(2,20,30,.18),rgba(1,9,15,.48) 78%)
}
.hero-centered .hero-inner-v{
  display:flex;align-items:center;justify-content:center;min-height:100svh;
  padding:calc(var(--header-h) + clamp(2.2rem,4vh,3.6rem)) clamp(24px,4vw,72px) clamp(2.5rem,5vh,4.5rem)
}
@supports(height:100dvh){.hero-centered .hero-inner-v{min-height:100dvh}}
.hero-centered .hero-stage{width:100%;max-width:1320px;margin:0 auto}
.hero-centered .hero-centered__copy{
  display:flex;flex-direction:column;align-items:center;max-width:1240px;margin:0 auto;padding:0;
  text-align:center;filter:none
}
.hero-centered .hero-centered__copy::before{display:none}
.hero-centered__brand{
  display:flex;align-items:center;justify-content:center;gap:clamp(1.2rem,2vw,1.8rem);
  margin:0 0 clamp(1.45rem,2.7vh,2.15rem);opacity:0;transform:scale(.94) translateY(10px);
  animation:heroBrandReveal .8s cubic-bezier(.2,.8,.2,1) .12s forwards
}
.hero-centered__brand>img{width:clamp(126px,10.5vw,164px);height:auto;flex:0 0 auto}
.hero-centered__wordmark{display:flex;flex-direction:column;align-items:center;color:#fff;line-height:1}
.hero-centered__name{
  display:flex;align-items:baseline;font-family:"Bahnschrift","Aptos Display","Segoe UI Variable Display","Arial",sans-serif;
  font-size:clamp(3.8rem,6vw,5.8rem);line-height:.88;letter-spacing:-.045em;white-space:nowrap
}
.hero-centered__name strong{font-weight:800}
.hero-centered__name>span{font-weight:300;letter-spacing:-.055em}
.hero-centered__wordmark small{
  margin-top:.65rem;font-family:"Bahnschrift","Aptos","Segoe UI",sans-serif;font-size:clamp(.92rem,1.25vw,1.3rem);
  font-weight:420;letter-spacing:.06em;line-height:1;text-transform:uppercase;white-space:nowrap
}
.hero-centered .hero-copy h1{
  max-width:none;margin:0;color:#fff;font-size:clamp(1.35rem,1.8vw,1.8rem);font-weight:700;
  line-height:1.22;letter-spacing:.015em;text-align:center;text-wrap:balance;
  opacity:0;transform:translateY(10px);animation:heroCenterIn .6s ease .38s forwards
}
.hero-centered .hero-copy .lead{
  display:block;max-width:900px;margin:.7rem auto 0;color:rgba(224,238,245,.78);
  font-size:clamp(.93rem,1vw,1.04rem);line-height:1.56;text-align:center;text-wrap:balance;
  opacity:0;transform:translateY(10px);animation:heroCenterIn .6s ease .5s forwards
}
.hero-benefit{
  width:100%;margin:clamp(1.7rem,3.5vh,2.65rem) auto 0;text-align:center;
  opacity:0;transform:translateY(10px);animation:heroCenterIn .6s ease .64s forwards
}
.hero-benefit__label{
  display:block;margin-bottom:.65rem;color:#9be8ff;font-size:.72rem;font-weight:780;
  letter-spacing:.16em;text-transform:uppercase
}
.hero-benefit__slider{
  position:relative;display:grid;place-items:center;width:100%;min-height:1.5em;overflow:hidden
}
.hero-benefit__slider .hero-sentence{
  grid-area:1/1;width:100%;padding-inline:1rem;color:#fff;font-family:var(--font-display);
  font-size:clamp(1.85rem,2.65vw,2.75rem);font-weight:680;line-height:1.18;letter-spacing:-.02em;
  text-align:center;white-space:nowrap;will-change:auto
}
.hero-centered .hero-pills{
  display:flex;justify-content:center;flex-wrap:wrap;gap:.7rem;margin-top:clamp(1.6rem,3vh,2.25rem);
  opacity:0;transform:translateY(10px);animation:heroCenterIn .6s ease .82s forwards
}
.hero-centered .hero-pill{min-height:48px;padding:.76rem 1.25rem;font-size:.84rem;font-weight:720}
.hero-centered .hero-pill--solid{background:#7adcf7;border-color:#7adcf7;color:#032433;box-shadow:none}
.hero-centered .hero-pill--solid:hover{background:#9ae8fb;border-color:#9ae8fb;box-shadow:none}
.hero-centered .hero-pill--ghost{color:#fff;background:rgba(2,15,23,.32);border-color:rgba(220,240,248,.48);backdrop-filter:none}
.hero-centered .hero-pill--ghost:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.8)}
@keyframes heroBrandReveal{to{opacity:1;transform:none}}
@keyframes heroCenterIn{to{opacity:1;transform:none}}
@media(max-width:720px){
  .hero-centered .hero-bg{object-position:66% center}
  .hero-centered .hero-inner-v{min-height:760px;padding:calc(var(--header-h) + 2rem) 18px 2.5rem}
  .hero-centered__brand{gap:.75rem;margin-bottom:1.25rem}
  .hero-centered__brand>img{width:64px}
  .hero-centered__name{font-size:clamp(2.05rem,10vw,2.65rem)}
  .hero-centered__wordmark small{margin-top:.42rem;font-size:.7rem}
  .hero-centered .hero-copy h1{font-size:1.25rem}
  .hero-centered .hero-copy .lead{font-size:.93rem;line-height:1.48}
  .hero-benefit{margin-top:1.55rem}
  .hero-benefit__slider{min-height:3.2em}
  .hero-benefit__slider .hero-sentence{font-size:clamp(1.35rem,6.5vw,1.8rem);white-space:normal;text-wrap:balance}
  .hero-centered .hero-pills{display:grid;width:100%;max-width:350px;margin-top:1.45rem}
  .hero-centered .hero-pill{justify-content:space-between;width:100%}
}
@media(prefers-reduced-motion:reduce){
  .hero-centered__brand,.hero-centered .hero-copy h1,.hero-centered .hero-copy .lead,
  .hero-benefit,.hero-centered .hero-pills{animation:none!important;opacity:1!important;transform:none!important}
  .hero-benefit__slider .hero-sentence{transition:none!important}
}

/* =================================================================
   HERO EDITORIAL — szeroki wordmark, SEO i CTA po lewej
   ================================================================= */
.hero-editorial{min-height:100svh;background:#020c13}
.hero-editorial::before,.hero-editorial::after{display:none}
.hero-editorial .hero-bg{
  inset:0;width:100%;height:100%;object-position:right center;
  filter:none;transform:none
}
.hero-editorial .hero-overlay{background:none}
.hero-editorial .hero-inner-v{
  display:flex;align-items:stretch;min-height:100svh;
  padding:calc(var(--header-h) + clamp(1.5rem,3.5vh,2.8rem)) clamp(28px,4.5vw,86px) clamp(2.8rem,5.5vh,4.8rem)
}
@supports(height:100dvh){.hero-editorial .hero-inner-v{min-height:100dvh}}
.hero-editorial__stage{
  display:flex;flex-direction:column;width:100%;max-width:1600px;min-height:0;margin:0 auto
}
.hero-editorial__brand{
  display:flex;align-items:baseline;white-space:nowrap;color:#fff;
  font-family:"Bahnschrift","Aptos Display","Segoe UI Variable Display","Arial",sans-serif;
  font-size:clamp(6.2rem,12.5vw,12.2rem);line-height:.78;letter-spacing:-.065em;
  opacity:0;transform:translateY(16px);animation:heroEditorialIn .8s cubic-bezier(.2,.8,.2,1) .1s forwards
}
.hero-editorial__brand strong{font-weight:800}
.hero-editorial__brand span{font-weight:280;letter-spacing:-.075em}
.hero-editorial__lower{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,7rem);
  align-items:end;margin-top:auto;padding-top:clamp(2.2rem,5vh,4rem)
}
.hero-editorial .hero-editorial__copy{
  display:flex;flex-direction:column;align-items:flex-start;max-width:700px;margin:0;padding:0;
  text-align:left;filter:none;opacity:0;transform:translateY(12px);
  animation:heroEditorialIn .65s ease .4s forwards
}
.hero-editorial .hero-editorial__copy::before{display:none}
.hero-editorial__eyebrow{
  margin:0 0 .9rem;color:#9be8ff;font-size:.72rem;font-weight:760;letter-spacing:.15em;
  line-height:1.35;text-transform:uppercase
}
.hero-editorial .hero-copy h1{
  max-width:13ch;margin:0;color:#fff;font-size:clamp(2.65rem,4.3vw,4.65rem);font-weight:740;
  line-height:.98;letter-spacing:-.035em;text-align:left;text-wrap:balance
}
.hero-editorial .hero-copy .lead{
  display:block;max-width:64ch;margin:1.15rem 0 0;color:rgba(225,239,246,.8);
  font-size:clamp(.98rem,1.08vw,1.12rem);line-height:1.58;text-align:left
}
.hero-editorial .hero-pills{
  display:flex;justify-content:flex-start;flex-wrap:wrap;gap:.7rem;margin-top:1.45rem
}
.hero-editorial .hero-pill{min-height:48px;padding:.75rem 1.2rem;font-size:.84rem;font-weight:720}
.hero-editorial .hero-pill--solid{background:#7adcf7;border-color:#7adcf7;color:#032433;box-shadow:none}
.hero-editorial .hero-pill--solid:hover{background:#9ae8fb;border-color:#9ae8fb;box-shadow:none}
.hero-editorial .hero-pill--ghost{color:#fff;background:rgba(2,15,23,.28);border-color:rgba(220,240,248,.48);backdrop-filter:none}
.hero-editorial .hero-editorial__benefit{
  width:100%;max-width:660px;margin:0 0 .2rem;text-align:left;
  opacity:0;transform:translateY(12px);animation:heroEditorialIn .65s ease .55s forwards
}
.hero-editorial .hero-benefit__label{
  display:block;margin-bottom:.75rem;color:#9be8ff;font-size:.72rem;font-weight:760;
  letter-spacing:.15em;text-transform:uppercase
}
.hero-editorial .hero-benefit__slider{display:grid;place-items:start;width:100%;min-height:2.8em;overflow:hidden}
.hero-editorial .hero-benefit__slider .hero-sentence{
  grid-area:1/1;width:100%;padding:0;color:#fff;font-family:var(--font-display);
  font-size:clamp(1.7rem,2.15vw,2.3rem);font-weight:680;line-height:1.16;letter-spacing:-.02em;
  text-align:left;white-space:nowrap;will-change:auto
}
@keyframes heroEditorialIn{to{opacity:1;transform:none}}
@media(max-width:900px){
  .hero-editorial .hero-bg{object-position:65% center}
  .hero-editorial .hero-inner-v{min-height:820px;padding:calc(var(--header-h) + 2rem) 24px 3rem}
  .hero-editorial__brand{font-size:clamp(4rem,14.5vw,7rem)}
  .hero-editorial__lower{grid-template-columns:1fr;align-items:start;gap:2.1rem;margin-top:2.5rem;padding-top:0}
  .hero-editorial .hero-copy h1{max-width:14ch}
  .hero-editorial .hero-editorial__benefit{max-width:100%}
}
@media(max-width:600px){
  .hero-editorial .hero-inner-v{min-height:780px;padding:calc(var(--header-h) + 1.7rem) 18px 2.4rem}
  .hero-editorial__brand{font-size:clamp(2.8rem,12.5vw,4.2rem);line-height:.84}
  .hero-editorial__lower{gap:1.7rem;margin-top:2rem}
  .hero-editorial__eyebrow{font-size:.62rem}
  .hero-editorial .hero-copy h1{font-size:clamp(2.25rem,10.5vw,3.15rem)}
  html[lang="de"] .hero-editorial .hero-copy h1{max-width:100%;font-size:clamp(1.85rem,8.4vw,2.1rem);letter-spacing:0;overflow-wrap:normal;word-break:normal}
  .hero-editorial .hero-copy .lead{font-size:.94rem;line-height:1.5}
  .hero-editorial .hero-pills{display:grid;width:100%}
  .hero-editorial .hero-pill{justify-content:space-between;width:100%}
  .hero-editorial .hero-benefit__slider{min-height:3em}
  .hero-editorial .hero-benefit__slider .hero-sentence{font-size:clamp(1.35rem,6.5vw,1.8rem);white-space:normal;text-wrap:balance}
}
@media(prefers-reduced-motion:reduce){
  .hero-editorial__brand,.hero-editorial .hero-editorial__copy,.hero-editorial .hero-editorial__benefit{
    animation:none!important;opacity:1!important;transform:none!important
  }
}

/* ===== HERO EDITORIAL — wideo, animacje tekstu, CTA (nakładka) ===== */
/* ciemniej — ten sam ciemny kolor co wcześniej (bez granatu, bez rozmycia) */
.hero-editorial .hero-bg{filter:none}
.hero-editorial .hero-overlay{background:none}
/* kopia: elementy animowane pojedynczo (wordmark zostaje miękki, bez przycinania) */
.hero-editorial .hero-editorial__copy{opacity:1;transform:none;animation:none}
.hero-editorial__eyebrow{opacity:0;animation:heroTxtUp .7s ease .45s both}
.hero-editorial .hero-copy h1{opacity:0;animation:heroHeadRise 1s cubic-bezier(.2,.82,.22,1) .58s both}
@media(min-width:901px){
  .hero-editorial .hero-copy h1{font-size:clamp(2.4rem,3.85vw,4.15rem)}
}
/* opis odsłaniany słowo po słowie (jak czytanie) — inline, tylko opacity (bez nachodzenia) */
.hero-editorial .hero-copy .lead.hero-lead-reveal{max-width:54ch;opacity:1;animation:none}
.hero-lead-reveal .hero-word{opacity:0;
  animation:heroWordIn .4s ease forwards;animation-delay:calc(.95s + var(--wd,0) * .032s)}
/* CTA: wjazd z całkowicie lewej strony, po odsłonięciu opisu */
.hero-editorial .hero-pills{opacity:1;animation:none;overflow:visible;margin-top:3rem}
.hero-editorial .hero-pill{opacity:0;animation:heroPillInLeft .78s cubic-bezier(.2,.85,.22,1) both}
.hero-editorial .hero-pill:nth-child(1){animation-delay:var(--pd,1.6s)}
.hero-editorial .hero-pill:nth-child(2){animation-delay:calc(var(--pd,1.6s) + .15s)}
/* slider korzyści: troszkę w prawo + wejście na końcu */
.hero-editorial .hero-editorial__benefit{padding-left:clamp(1.1rem,3vw,3.2rem);animation-delay:1.5s}
@keyframes heroHeadRise{from{opacity:0;transform:translateY(26px);filter:blur(10px)}
  to{opacity:1;transform:none;filter:blur(0)}}
@keyframes heroTxtUp{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@keyframes heroWordIn{from{opacity:0}to{opacity:1}}
@keyframes heroPillInLeft{from{opacity:0;transform:translateX(-100vw)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  .hero-editorial__eyebrow,.hero-editorial .hero-copy h1,.hero-lead-reveal .hero-word,
  .hero-editorial .hero-pill{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}
}

/* =================================================================
   FIRMA, NOWE PODSTRONY: misja, model, referencje, FAQ, kontakt
   ================================================================= */
.brand-logo{width:clamp(204px,12vw,240px)}
.logo-tagline{font-size:.54rem;letter-spacing:.14em}
.nav-panel__lockup-logo{width:min(250px,100%)}
.nav-panel__item-logo{width:24px;height:24px}
.fbrand-logo__image{width:clamp(250px,15vw,292px)}
.site-footer .logo-tagline{font-size:.58rem;letter-spacing:.16em}
@media(max-width:1160px){
  .brand-logo{width:min(210px,58vw)}
}

.consult-hero{overflow:visible}
.consult-proof{
  z-index:5;bottom:clamp(1.1rem,2.6vw,1.9rem);transform:translateX(-50%);
  min-height:108px;border-radius:14px}
.consult-proof div{min-height:108px;padding:1.25rem 1.35rem}
.consult-proof strong,.consult-proof span{position:relative;z-index:1}
.consult-proof span:not(.consult-proof__ic){display:block;max-width:26em}
.consult-hero + .consult-section--light{padding-top:clamp(3.6rem,6vw,5.2rem)}
@media(max-width:720px){
  .consult-proof{position:relative;left:auto;bottom:auto;width:calc(100% - 28px);margin:-5.2rem auto 0;
    transform:none;grid-template-columns:1fr}
  .consult-proof div{min-height:0}
}

.firm-page main{background:#f3f8fb}
.firm-kicker{display:inline-flex;align-items:center;gap:.65rem;margin:0 0 1rem;
  color:#65cfe9;font-size:.76rem;font-weight:850;letter-spacing:0;text-transform:uppercase}
.firm-kicker::before{content:"";width:28px;height:2px;border-radius:999px;background:currentColor;opacity:.85}
.firm-section-head{max-width:820px;margin-bottom:2.4rem}
.firm-section-head h2{margin:0;color:var(--navy);font-size:2.65rem;line-height:1.08;letter-spacing:0;text-wrap:balance}
.firm-section-head p:not(.firm-kicker){max-width:58em;margin:.95rem 0 0;color:#445864;font-size:1.05rem;line-height:1.66;text-wrap:pretty}

.firm-hero{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#061a26}
.firm-hero::before{content:"";position:absolute;inset:0;z-index:-3;background:var(--firm-bg) center/cover no-repeat;filter:saturate(.82) contrast(1.05) brightness(.66);transform:scale(1.02)}
.firm-hero__shade{position:absolute;inset:0;z-index:-2;background:
  linear-gradient(90deg,rgba(2,13,21,.95) 0%,rgba(4,28,41,.85) 48%,rgba(4,28,41,.38) 100%),
  linear-gradient(180deg,rgba(2,13,21,.24),rgba(2,13,21,.76))}
.firm-hero__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);
  gap:clamp(2rem,5vw,5.5rem);align-items:end;min-height:clamp(660px,82vh,820px);
  padding-top:calc(var(--header-h) + 4.6rem);padding-bottom:clamp(4rem,7vw,6.2rem)}
.firm-hero__inner--wide{grid-template-columns:minmax(0,.95fr) minmax(420px,.9fr)}
.firm-hero__copy{max-width:760px}
.firm-hero h1{max-width:14em;margin:0 0 1.1rem;color:#fff;font-size:4.1rem;line-height:1.02;letter-spacing:0;text-wrap:balance}
.firm-hero__copy p:not(.firm-kicker){max-width:47em;margin:0;color:#d7edf6;font-size:1.12rem;line-height:1.64;text-wrap:pretty}
.firm-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.65rem}
.firm-actions .btn{min-height:50px}
.firm-hero__signals{display:grid;gap:0;align-self:center;border-top:1px solid rgba(163,226,246,.24);
  border-bottom:1px solid rgba(163,226,246,.24)}
.firm-hero__signals div{display:grid;gap:.35rem;padding:1.15rem 0;border-bottom:1px solid rgba(163,226,246,.18)}
.firm-hero__signals div:last-child{border-bottom:0}
.firm-hero__signals strong{color:#fff;font-family:var(--font-display);font-size:2rem;line-height:1;font-weight:820;letter-spacing:0}
.firm-hero__signals span{color:#b9d9e7;font-size:.92rem;line-height:1.45}
.firm-hero__signals--numbers strong{font-size:2.3rem;color:#8de4ff}
.firm-hero .reveal-left,.firm-hero .reveal-right{
  opacity:0;transform:translateY(12px);animation:firmHeroContentIn .62s ease forwards}
.firm-hero .reveal-right{animation-delay:.12s}
@keyframes firmHeroContentIn{to{opacity:1;transform:none}}

.firm-manifest{position:relative;isolation:isolate;overflow:hidden;padding:clamp(4.4rem,8vw,7rem) 0;background:#fff}
.firm-watermark{position:absolute;left:50%;top:50%;z-index:-1;transform:translate(-50%,-50%);
  color:#eaf4f8;font-family:var(--font-display);font-size:14rem;font-weight:850;line-height:1;white-space:nowrap}
.firm-manifest__grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.firm-manifest__lead h2{margin:0;color:var(--navy);font-size:3.2rem;line-height:1.05;letter-spacing:0;text-wrap:balance}
.firm-manifest__text{display:grid;gap:1rem;padding-top:.25rem}
.firm-manifest__text p{margin:0;color:#344955;font-size:1.08rem;line-height:1.75;text-wrap:pretty}

.firm-river{position:relative;overflow:hidden;padding:clamp(4.4rem,8vw,7rem) 0}
.firm-river--light{background:#eef5f9}
.firm-river--dark{background:#061f2d;color:#c9e2ed}
.firm-river--dark .firm-section-head h2{color:#fff}
.firm-river--dark .firm-section-head p:not(.firm-kicker){color:#b4cfdb}
.firm-river__list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(11,61,92,.16)}
.firm-river--dark .firm-river__list{border-top-color:rgba(152,220,242,.22)}
.firm-river__list li{display:grid;grid-template-columns:92px minmax(220px,.35fr) minmax(0,1fr);gap:1.4rem;
  align-items:start;padding:1.25rem 0;border-bottom:1px solid rgba(11,61,92,.16)}
.firm-river--dark .firm-river__list li{border-bottom-color:rgba(152,220,242,.18)}
.firm-river__list span{color:var(--brand-dark);font-family:var(--font-display);font-weight:850;font-size:1.5rem;line-height:1}
.firm-river--dark .firm-river__list span{color:#8de4ff}
.firm-river__list strong{color:var(--navy);font-size:1.15rem;line-height:1.25}
.firm-river--dark .firm-river__list strong{color:#fff}
.firm-river__list p{margin:0;color:#51636e;font-size:1rem;line-height:1.58}
.firm-river--dark .firm-river__list p{color:#b4cfdb}

.firm-media-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,620px);min-height:680px;background:#041723;color:#d9edf6}
.firm-media-split__media{position:relative;overflow:hidden;min-height:420px}
.firm-media-split__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(4,23,35,.64))}
.firm-media-split__media video{width:100%;height:100%;object-fit:cover;filter:saturate(.86) contrast(1.04)}
.firm-media-split__copy{align-self:center;padding:clamp(2.4rem,6vw,5rem)}
.firm-media-split__copy h2{margin:0;color:#fff;font-size:3rem;line-height:1.08;letter-spacing:0;text-wrap:balance}
.firm-media-split__copy>p:not(.firm-kicker){margin:1rem 0 1.6rem;color:#bed9e5;font-size:1.06rem;line-height:1.7}
.firm-lines{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid rgba(156,224,246,.2)}
.firm-lines li{display:grid;grid-template-columns:minmax(160px,.42fr) 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(156,224,246,.2)}
.firm-lines strong{color:#fff}.firm-lines span{color:#b7d3df}

.firm-geo{padding:clamp(4.4rem,8vw,7rem) 0;background:#fff}
.firm-geo__grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:clamp(2rem,6vw,5rem);align-items:center}
.firm-geo h2{margin:0;color:var(--navy);font-size:3rem;line-height:1.08;letter-spacing:0;text-wrap:balance}
.firm-geo__map{position:relative;min-height:360px;border-top:1px solid #d7e6ee;border-bottom:1px solid #d7e6ee;
  background:linear-gradient(90deg,rgba(0,102,204,.08) 1px,transparent 1px),linear-gradient(0deg,rgba(0,102,204,.08) 1px,transparent 1px);
  background-size:52px 52px}
.firm-geo__map::before{content:"";position:absolute;inset:11% 9%;border:1px solid rgba(0,102,204,.16);border-radius:50%}
.firm-geo__map span{position:absolute;left:var(--x);top:var(--y);display:grid;gap:.12rem;transform:translate(-50%,-50%);
  padding:.65rem .8rem;background:#fff;border-left:3px solid #20a9d5;box-shadow:0 12px 28px rgba(11,61,92,.12)}
.firm-geo__map strong{color:var(--navy);font-size:.98rem}.firm-geo__map em{color:#60727d;font-style:normal;font-size:.76rem;white-space:nowrap}

.firm-route{list-style:none;margin:0;padding:0;align-self:center;display:grid;gap:0;border-top:1px solid rgba(163,226,246,.24)}
.firm-route li{display:grid;grid-template-columns:52px 1fr;gap:.3rem 1rem;align-items:start;padding:1rem 0;border-bottom:1px solid rgba(163,226,246,.2)}
.firm-route span{grid-row:span 2;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#8de4ff;color:#052333;font-weight:850}
.firm-route strong{color:#fff;font-size:1.08rem}.firm-route em{color:#b9d9e7;font-style:normal;font-size:.88rem}
.firm-process{padding:clamp(4.4rem,8vw,7rem) 0;background:#fff}
.firm-process__timeline{position:relative;display:grid;gap:0;border-top:1px solid #d7e6ee}
.firm-process__timeline article{display:grid;grid-template-columns:86px minmax(210px,.35fr) minmax(0,1fr);gap:1.2rem;
  align-items:start;padding:1.15rem 0;border-bottom:1px solid #d7e6ee}
.firm-process__timeline span{color:#0b75a4;font-family:var(--font-display);font-size:1.45rem;font-weight:850}
.firm-process__timeline h3{margin:0;color:var(--navy);font-size:1.14rem}.firm-process__timeline p{margin:0;color:#536672;line-height:1.58}
.firm-commitments{padding:clamp(4.4rem,8vw,7rem) 0;background:#0a3147;color:#d6edf6}
.firm-commitments__grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:clamp(2rem,6vw,5rem)}
.firm-commitments h2{margin:0;color:#fff;font-size:3rem;line-height:1.08;letter-spacing:0;text-wrap:balance}
.firm-commitments__list{margin:0;display:grid;border-top:1px solid rgba(159,222,242,.22)}
.firm-commitments__list div{display:grid;grid-template-columns:160px 1fr;gap:1rem;padding:1.05rem 0;border-bottom:1px solid rgba(159,222,242,.22)}
.firm-commitments dt{color:#8de4ff;font-weight:850}.firm-commitments dd{margin:0;color:#c1dbe6;line-height:1.6}

.firm-logo-stream{padding:clamp(4rem,7vw,6rem) 0;background:#fff;overflow:hidden}
.firm-logo-stream__head{max-width:900px}
.firm-logo-stream h2{margin:0 0 2rem;color:var(--navy);font-size:2.55rem;line-height:1.1;letter-spacing:0;text-wrap:balance}
.firm-logo-rail{width:100%;overflow:hidden;border-top:1px solid #dbe8ef;border-bottom:1px solid #dbe8ef;background:#f7fbfd}
.firm-logo-track{display:flex;align-items:center;gap:4rem;width:max-content;padding:1.25rem 0;animation:firmLogoRail 34s linear infinite}
.firm-logo-track img{width:138px;max-height:54px;object-fit:contain;opacity:.74;filter:grayscale(1)}
@keyframes firmLogoRail{to{transform:translateX(-50%)}}
.firm-proof-list{padding:clamp(4.4rem,8vw,7rem) 0;background:#eef5f9}
.firm-proof-list__rows{display:grid;border-top:1px solid #ccdde7}
.firm-proof-list__rows a{display:grid;grid-template-columns:170px minmax(0,1fr) auto;gap:1rem;align-items:center;
  padding:1.25rem 0;border-bottom:1px solid #ccdde7;color:inherit;text-decoration:none}
.firm-proof-list__rows a:hover strong{color:var(--brand-dark);text-decoration:underline;text-underline-offset:.25em}
.firm-proof-list__rows span{color:#0b75a4;font-weight:850}.firm-proof-list__rows strong{color:var(--navy);font-size:1.1rem;line-height:1.35}
.firm-proof-list__rows em{color:var(--brand-dark);font-style:normal;font-weight:760;white-space:nowrap}
.firm-industries{padding:clamp(4.4rem,8vw,7rem) 0;background:#061f2d;color:#d6edf6}
.firm-industries__grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:clamp(2rem,6vw,5rem)}
.firm-industries h2{margin:0;color:#fff;font-size:3rem;line-height:1.08;letter-spacing:0;text-wrap:balance}
.firm-industries__list{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid rgba(159,222,242,.22)}
.firm-industries__list li{display:grid;grid-template-columns:190px 1fr;gap:1rem;padding:1.05rem 0;border-bottom:1px solid rgba(159,222,242,.22)}
.firm-industries__list strong{color:#fff}.firm-industries__list span{color:#b9d5e1}

.firm-faq-jump{align-self:center;display:grid;gap:.4rem;border-top:1px solid rgba(163,226,246,.24);border-bottom:1px solid rgba(163,226,246,.24);padding:.6rem 0}
.firm-faq-jump a{display:flex;justify-content:space-between;align-items:center;min-height:48px;color:#e8f7fc;font-weight:760;text-decoration:none;border-bottom:1px solid rgba(163,226,246,.18)}
.firm-faq-jump a:last-child{border-bottom:0}.firm-faq-jump a::after{content:"→";color:#8de4ff}.firm-faq-jump a:hover{text-decoration:underline;text-underline-offset:.25em}
.firm-faq{padding:clamp(4.4rem,8vw,7rem) 0;background:#fff}
.firm-faq--alt{background:#eef5f9}
.firm-faq__grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.firm-faq__intro{position:sticky;top:100px}.firm-faq h2{margin:0;color:var(--navy);font-size:2.55rem;line-height:1.08;letter-spacing:0;text-wrap:balance}
.firm-faq__list{display:grid;border-top:1px solid #d6e5ee}
.firm-faq details{border-bottom:1px solid #d6e5ee;background:transparent}
.firm-faq summary{cursor:pointer;display:flex;justify-content:space-between;gap:1rem;align-items:center;min-height:74px;
  color:var(--navy);font-weight:800;list-style:none;font-size:1.08rem}
.firm-faq summary::-webkit-details-marker{display:none}.firm-faq summary::after{content:"+";color:#0b75a4;font-size:1.45rem;font-weight:500}
.firm-faq details[open] summary::after{content:"-"}
.firm-faq details div{padding:0 0 1.15rem}.firm-faq details p{margin:0;color:#4b5f6b;line-height:1.68}
.firm-faq summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

.firm-contact-panel{display:grid;align-self:center;border-top:1px solid rgba(163,226,246,.24);border-bottom:1px solid rgba(163,226,246,.24)}
.firm-contact-panel a,.firm-contact-panel p{display:grid;gap:.28rem;margin:0;padding:1.05rem 0;border-bottom:1px solid rgba(163,226,246,.18);color:inherit;text-decoration:none}
.firm-contact-panel a:last-child,.firm-contact-panel p:last-child{border-bottom:0}
.firm-contact-panel span{color:#8de4ff;font-size:.78rem;font-weight:850;text-transform:uppercase}.firm-contact-panel strong{color:#fff;font-size:1.12rem;word-break:break-word}
.firm-contact-main{padding:clamp(4.4rem,8vw,7rem) 0;background:#fff}
.firm-contact-main__grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(380px,1.15fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.firm-contact-main h2{margin:0;color:var(--navy);font-size:3rem;line-height:1.08;letter-spacing:0;text-wrap:balance}
.firm-contact-main__copy>p:not(.firm-kicker){margin:1rem 0 1.6rem;color:#4b5f6b;font-size:1.05rem;line-height:1.66}
.firm-contact-lines{display:grid;border-top:1px solid #d6e5ee}
.firm-contact-lines address{display:grid;gap:.22rem;padding:1.05rem 0;border-bottom:1px solid #d6e5ee;font-style:normal}
.firm-contact-lines span{color:#0b75a4;font-size:.78rem;font-weight:850;text-transform:uppercase}.firm-contact-lines strong{color:var(--navy)}
.firm-contact-lines em{color:#667884;font-style:normal}.firm-contact-lines a{font-weight:760}
.firm-contact-form{border-radius:8px;box-shadow:0 22px 70px rgba(11,61,92,.13)}

@media(max-width:1060px){
  .firm-hero__inner,.firm-hero__inner--wide,.firm-manifest__grid,.firm-geo__grid,.firm-commitments__grid,
  .firm-industries__grid,.firm-faq__grid,.firm-contact-main__grid{grid-template-columns:1fr}
  .firm-hero__inner{align-items:center;min-height:720px}
  .firm-hero h1{font-size:3.15rem}
  .firm-media-split{grid-template-columns:1fr}
  .firm-media-split__media{min-height:360px}
  .firm-faq__intro{position:static}
}
@media(max-width:760px){
  .firm-section-head h2,.firm-manifest__lead h2,.firm-media-split__copy h2,.firm-geo h2,.firm-commitments h2,
  .firm-industries h2,.firm-contact-main h2{font-size:2.05rem}
  .firm-hero__inner{min-height:680px;padding-top:calc(var(--header-h) + 3.2rem);padding-bottom:3.5rem}
  .firm-hero h1{font-size:2.35rem;line-height:1.08}
  .firm-hero__copy p:not(.firm-kicker){font-size:1rem;line-height:1.56}
  .firm-actions{display:grid}.firm-actions .btn{justify-content:center;white-space:normal;text-align:center}
  .firm-river__list li,.firm-process__timeline article,.firm-proof-list__rows a,
  .firm-commitments__list div,.firm-industries__list li,.firm-lines li{grid-template-columns:1fr;gap:.45rem}
  .firm-proof-list__rows em{white-space:normal}
  .firm-watermark{font-size:6rem}
  .firm-logo-track{gap:2rem}.firm-logo-track img{width:112px}
  .firm-faq h2{font-size:2rem}.firm-faq summary{min-height:66px;font-size:1rem}
  .contact-form__row{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .firm-logo-track{animation:none}
  .firm-hero::before{transform:none}
  .firm-hero .reveal-left,.firm-hero .reveal-right{animation:none!important;opacity:1!important;transform:none!important}
}

/* =================================================================
   PODKARTY ROZWIAZAN I USLUG: ochrona, odkamienianie, analiza, audyt, wiedza
   ================================================================= */
.solution-page main{background:#f4f8fb}
.solution-hero{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#061a26}
.solution-hero::before{content:"";position:absolute;inset:0;z-index:-3;background:var(--solution-bg) center/cover no-repeat;
  filter:saturate(.82) contrast(1.08) brightness(.62);transform:scale(1.035)}
.solution-hero::after{content:"";position:absolute;right:-11vw;top:18%;z-index:-1;width:46vw;max-width:720px;aspect-ratio:1;
  background:url('/assets/kabi-sygnet.svg') center/contain no-repeat;opacity:.08;filter:brightness(0) invert(1);
  animation:solutionMarkDrift 18s ease-in-out infinite alternate;pointer-events:none}
.solution-hero__shade{position:absolute;inset:0;z-index:-2;background:
  linear-gradient(90deg,rgba(2,12,19,.96) 0%,rgba(4,31,45,.88) 45%,rgba(4,31,45,.48) 74%,rgba(2,12,19,.74) 100%),
  linear-gradient(180deg,rgba(2,12,19,.12),rgba(2,12,19,.72))}
.solution-hero__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.62fr);
  gap:clamp(2rem,6vw,6rem);align-items:end;min-height:clamp(650px,80vh,790px);
  padding-top:calc(var(--header-h) + 4.2rem);padding-bottom:clamp(4.2rem,7vw,6.4rem)}
.solution-hero__inner--editorial{grid-template-columns:minmax(0,.95fr) minmax(330px,.68fr)}
.solution-hero__copy{max-width:790px}
.solution-hero h1{max-width:15.5em;margin:0 0 1rem;color:#fff;font-size:4.65rem;
  line-height:1.06;letter-spacing:0;text-wrap:pretty}
.solution-hero__copy p:not(.firm-kicker){max-width:49em;margin:0;color:#d9edf6;font-size:1.11rem;line-height:1.64;text-wrap:pretty}
.solution-hero__panel{position:relative;align-self:center;display:grid;overflow:hidden;border-top:1px solid rgba(141,228,255,.3);
  border-bottom:1px solid rgba(141,228,255,.3);background:rgba(4,35,52,.28);backdrop-filter:blur(10px)}
.solution-hero__panel::before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;
  background:linear-gradient(90deg,transparent,#8de4ff,transparent);animation:solutionPanelScan 4.8s ease-in-out infinite}
.solution-hero__panel div{display:grid;gap:.32rem;padding:1.08rem 0;border-bottom:1px solid rgba(141,228,255,.18)}
.solution-hero__panel div:last-child{border-bottom:0}
.solution-hero__panel span{color:#8de4ff;font-size:.76rem;font-weight:850;text-transform:uppercase}
.solution-hero__panel strong{max-width:30em;color:#fff;font-size:1.02rem;line-height:1.42}
.solution-hero__panel--meter div:nth-child(1) strong{color:#dff8ff}
@keyframes solutionMarkDrift{from{transform:translate3d(0,0,0) rotate(0)}to{transform:translate3d(-28px,18px,0) rotate(7deg)}}
@keyframes solutionPanelScan{0%,100%{transform:translateX(-78%);opacity:.15}46%{opacity:.85}55%{transform:translateX(78%);opacity:.5}}

.solution-scan{position:relative;overflow:hidden;padding:clamp(4.6rem,8vw,7rem) 0}
.solution-scan--white{background:#fff}
.solution-scan__grid{display:grid;grid-template-columns:minmax(300px,.92fr) minmax(360px,1.08fr);
  gap:clamp(2rem,6vw,5.8rem);align-items:center}
.solution-scan__grid--reverse{grid-template-columns:minmax(360px,1.02fr) minmax(300px,.98fr)}
.solution-scan__copy h2,.solution-report__copy h2,.lab-intro h2,.solution-flow h2,.knowledge-feature h2{
  margin:0;color:var(--navy);font-size:2.85rem;line-height:1.12;letter-spacing:0;text-wrap:pretty}
.solution-scan__copy>p,.solution-report__copy>p,.lab-intro .firm-section-head p:not(.firm-kicker),
.solution-flow .firm-section-head p:not(.firm-kicker),.knowledge-feature__copy>p{
  margin:1rem 0 1.55rem;color:#465b67;font-size:1.05rem;line-height:1.68;text-wrap:pretty}
.solution-scan__list{list-style:none;margin:0;padding:0;border-top:1px solid #d4e4ec}
.solution-scan__list li{display:grid;grid-template-columns:minmax(160px,.36fr) minmax(0,1fr);gap:1rem;
  padding:1rem 0;border-bottom:1px solid #d4e4ec}
.solution-scan__list strong{color:var(--navy);font-size:1.03rem;line-height:1.35}
.solution-scan__list span{color:#566b76;line-height:1.58}
.solution-scan__visual{position:relative;min-height:clamp(360px,45vw,560px);margin:0;overflow:hidden;border-radius:4px;background:#082a3d;
  box-shadow:none}
.solution-scan__visual img{width:100%;height:100%;min-height:inherit;display:block;object-fit:cover;filter:saturate(.88) contrast(1.04)}
.solution-scan__visual figcaption{display:none}

.solution-lines{padding:clamp(4.6rem,8vw,7rem) 0;background:#061f2d;color:#c9e2ed;overflow:hidden}
/* Zdjęcie w tle ciemnej sekcji na stronach usług - rytm jak w sekcjach RO i odkamieniania. */
.service-analysis-page .solution-lines--dark{
  background:
    linear-gradient(90deg,rgba(3,15,26,.97) 0%,rgba(4,22,36,.9) 45%,rgba(4,21,34,.62) 72%,rgba(3,15,26,.8) 100%),
    linear-gradient(180deg,rgba(3,13,23,.46),rgba(3,13,23,.92)),
    url('/assets/blog/blog-parametry-wody.jpg') 58% center/cover no-repeat;
}
.service-audit-page .solution-report--blue{
  background:
    linear-gradient(90deg,rgba(3,15,26,.97) 0%,rgba(4,22,36,.9) 45%,rgba(4,21,34,.62) 72%,rgba(3,15,26,.8) 100%),
    linear-gradient(180deg,rgba(3,13,23,.46),rgba(3,13,23,.92)),
    url('/assets/visuals-v2/company-collaboration-v2.jpg') 55% center/cover no-repeat;
}
.solution-lines--dark .firm-section-head h2{color:#fff}
.solution-lines--dark .firm-section-head p:not(.firm-kicker){color:#b5d0dc}
.solution-lines__grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(420px,1.22fr);
  gap:clamp(2rem,6vw,5.6rem);align-items:start}
.solution-steps,.solution-process__rail,.solution-flow__steps{list-style:none;margin:0;padding:0;border-top:1px solid rgba(151,221,243,.22)}
.solution-steps li{display:grid;grid-template-columns:76px minmax(190px,.36fr) minmax(0,1fr);gap:1.1rem;
  padding:1.08rem 0;border-bottom:1px solid rgba(151,221,243,.18)}
.solution-steps span,.solution-process__rail span,.solution-flow__steps span{color:#8de4ff;font-family:var(--font-display);font-size:1.35rem;font-weight:850;line-height:1}
.solution-steps strong,.solution-process__rail strong,.solution-flow__steps strong{color:#fff;font-size:1.08rem;line-height:1.32}
.solution-steps p,.solution-process__rail p,.solution-flow__steps p{margin:0;color:#bdd8e4;line-height:1.6}

.solution-index{padding:clamp(4.4rem,8vw,6.8rem) 0;background:#eef5f9}
.solution-index--compact{background:#fff}
.solution-index__grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(420px,1.28fr);
  gap:clamp(2rem,6vw,5rem);align-items:start}
.solution-link-rows{display:grid;border-top:1px solid #cddfe8}
.solution-link-rows a{display:grid;grid-template-columns:minmax(170px,.26fr) minmax(0,1fr) auto;gap:1rem;align-items:center;
  padding:1.15rem 0;border-bottom:1px solid #cddfe8;color:inherit;text-decoration:none}
.solution-link-rows span{color:#0b75a4;font-weight:850;line-height:1.35}
.solution-link-rows strong{color:var(--navy);font-size:1.06rem;line-height:1.42}
.solution-link-rows em{color:var(--brand-dark);font-style:normal;font-weight:800;white-space:nowrap}
.solution-link-rows a:hover strong{text-decoration:underline;text-underline-offset:.25em;color:var(--brand-dark)}

.solution-process,.solution-flow,.lab-intro,.knowledge-feature{padding:clamp(4.6rem,8vw,7rem) 0;background:#fff}
.solution-process__rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:0;gap:0}
.solution-process__rail li{position:relative;display:grid;gap:.7rem;padding:0 1.25rem 0 0;border-top:2px solid #9ccfe1}
.solution-process__rail li::before{content:"";width:14px;height:14px;border-radius:50%;background:#0b75a4;box-shadow:0 0 0 7px #e7f5fa;
  transform:translateY(-8px)}
.solution-process__rail strong{color:var(--navy)}
.solution-process__rail p{color:#536672}

.lab-intro__grid,.solution-flow__grid,.solution-report__grid,.knowledge-stream__grid{
  display:grid;grid-template-columns:minmax(280px,.78fr) minmax(420px,1.22fr);gap:clamp(2rem,6vw,5.6rem);align-items:start}
.lab-matrix{display:grid;border-top:1px solid #d2e2eb;background:#f7fbfd}
.lab-matrix div{display:grid;grid-template-columns:110px minmax(0,1fr) minmax(210px,.38fr);gap:1rem;align-items:center;
  min-height:70px;padding:.95rem 1rem;border-bottom:1px solid #d2e2eb}
.lab-matrix span{color:#0b75a4;font-family:var(--font-display);font-size:1.3rem;font-weight:850}
.lab-matrix strong{color:var(--navy);line-height:1.4}
.lab-matrix em{color:#5c6f7a;font-style:normal;line-height:1.45}

.solution-report{padding:clamp(4.6rem,8vw,7rem) 0;background:#eef5f9}
.solution-report--blue{background:#0a3147;color:#d5edf6}
.solution-report--blue .solution-report__copy h2{color:#fff}
.solution-report--blue .solution-report__copy>p{color:#bdd8e4}
.solution-report__lines{display:grid;border-top:1px solid #cddfe8}
.solution-report--blue .solution-report__lines{border-top-color:rgba(151,221,243,.22)}
.solution-report__lines p{display:grid;grid-template-columns:minmax(170px,.32fr) minmax(0,1fr);gap:1rem;margin:0;
  padding:1.05rem 0;border-bottom:1px solid #cddfe8}
.solution-report--blue .solution-report__lines p{border-bottom-color:rgba(151,221,243,.2)}
.solution-report__lines strong{color:var(--navy);line-height:1.35}
.solution-report--blue .solution-report__lines strong{color:#fff}
.solution-report__lines span{color:#576a75;line-height:1.58}
.solution-report--blue .solution-report__lines span{color:#bdd8e4}

/* Baza wiedzy: szerokie HERO bez ciężkiego panelu bocznego. */
.solution-hero.knowledge-hero::after{animation:none}
.solution-hero.knowledge-hero--hub{
  min-height:100svh;
  min-height:100dvh;
  background:#03101d;
}
.solution-hero.knowledge-hero--hub .solution-hero__inner{
  width:min(1520px,calc(100% - 96px));
  max-width:1520px;
  margin-inline:auto;
  grid-template-columns:1fr;
  align-items:center;
  padding-top:calc(var(--header-h) + 4.8rem);
  padding-bottom:clamp(5rem,8vw,7.5rem);
}
.solution-hero.knowledge-hero--hub .solution-hero__copy{
  width:min(1040px,76%);
  max-width:none;
}
.solution-hero.knowledge-hero--hub h1{
  max-width:980px;
  margin-bottom:1.3rem;
  font-size:clamp(4rem,4.7vw,5.4rem);
  line-height:1.01;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.solution-hero.knowledge-hero--hub .solution-hero__copy>p:not(.firm-kicker){
  max-width:800px;
  color:rgba(222,240,247,.82);
  font-size:1.12rem;
  line-height:1.67;
}
.solution-hero.knowledge-hero--hub .solution-hero__shade{
  background:
    linear-gradient(180deg,rgba(3,12,22,.68) 0%,rgba(4,21,34,.46) 34%,rgba(3,12,22,.94) 100%),
    linear-gradient(90deg,rgba(2,9,17,.94) 0%,rgba(6,35,54,.66) 45%,rgba(2,9,17,.68) 76%,rgba(2,9,17,.9) 100%),
    radial-gradient(circle at 52% 34%,rgba(18,109,143,.18),rgba(3,12,22,.74) 58%,rgba(3,12,22,.98) 100%);
}
.solution-hero.knowledge-hero--hub .solution-hero__media{
  background-position:58% center;
  filter:saturate(.76) contrast(1.1) brightness(.86);
  transform:scale(1.015);
}
.solution-hero.knowledge-hero--hub::after{
  left:50%;
  right:auto;
  top:auto;
  bottom:-18vw;
  width:min(900px,72vw);
  max-width:none;
  opacity:.055;
  animation:none;
  transform:translateX(-50%);
}
.knowledge-hero--hub .firm-actions{align-items:center;margin-top:2rem;gap:17px 28px}
.knowledge-hero__link{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  min-height:48px;
  color:#fff;
  font-size:.94rem;
  font-weight:800;
  text-decoration:none;
}
.knowledge-hero__link span{color:#79d9f1;transition:transform .2s ease}
.knowledge-hero__link:hover,.knowledge-hero__link:focus-visible{color:#79d9f1;text-decoration:none}
.knowledge-hero__link:hover span,.knowledge-hero__link:focus-visible span{transform:translate(3px,-3px)}
.knowledge-hero__facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,auto));
  justify-content:start;
  gap:0;
  max-width:930px;
  margin:2.15rem 0 0;
  padding:1.35rem 0 0;
  border-top:1px solid rgba(151,221,243,.22);
  list-style:none;
}
.knowledge-hero__facts li{
  display:flex;
  align-items:center;
  gap:.65rem;
  min-width:0;
  padding-right:1.8rem;
  color:rgba(232,244,249,.82);
}
.knowledge-hero__facts li+li{padding-left:1.8rem;border-left:1px solid rgba(151,221,243,.16)}
.knowledge-hero__facts img{width:22px;height:22px;flex:0 0 auto;filter:brightness(0) invert(1);opacity:.68}
.knowledge-hero__facts strong{font-size:.86rem;line-height:1.35}

@media(max-width:1080px){
  .solution-hero.knowledge-hero--hub .solution-hero__copy{width:min(880px,90%)}
  .solution-hero.knowledge-hero--hub h1{font-size:clamp(3.5rem,7vw,4.7rem)}
}
@media(max-width:760px){
  .solution-hero.knowledge-hero--hub{min-height:720px}
  .solution-hero.knowledge-hero--hub .solution-hero__inner{
    width:calc(100% - 36px);
    min-height:720px;
    padding-top:calc(var(--header-h) + 4rem);
    padding-bottom:4.5rem;
  }
  .solution-hero.knowledge-hero--hub .solution-hero__copy{width:100%}
  .solution-hero.knowledge-hero--hub h1{font-size:clamp(2.55rem,12vw,3.5rem);line-height:1.03}
  .solution-hero.knowledge-hero--hub .solution-hero__copy>p:not(.firm-kicker){font-size:1rem;line-height:1.58}
  .solution-hero.knowledge-hero--hub .solution-hero__media{background-position:66% center}
  .solution-hero.knowledge-hero--hub::after{bottom:-34vw;width:110vw;opacity:.045}
  .knowledge-hero--hub .firm-actions{display:flex;align-items:center}
  .knowledge-hero__facts{grid-template-columns:1fr;gap:.8rem;margin-top:1.6rem;padding-top:1.1rem}
  .knowledge-hero__facts li,.knowledge-hero__facts li+li{padding:0;border-left:0}
}

.solution-flow{background:#eef5f9}
.solution-flow__steps{background:#fff;border-top:1px solid #cddfe8}
.solution-flow__steps li{display:grid;grid-template-columns:72px minmax(180px,.34fr) minmax(0,1fr);gap:1rem;
  padding:1.05rem 1.1rem;border-bottom:1px solid #cddfe8}
.solution-flow__steps span{color:#0b75a4}
.solution-flow__steps strong{color:var(--navy)}
.solution-flow__steps p{color:#536672}

.knowledge-feature__grid{display:grid;grid-template-columns:minmax(420px,1.12fr) minmax(280px,.88fr);gap:clamp(2rem,6vw,5.4rem);align-items:center}
.knowledge-feature__media{display:block;aspect-ratio:3/2;max-height:470px;overflow:hidden;border-radius:12px;background:#0b3145}
.knowledge-feature__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s ease,filter .7s ease}
.knowledge-feature__media:hover img{transform:scale(1.035);filter:saturate(.9) contrast(1.05)}
.knowledge-feature__copy .text-link{font-weight:850;color:var(--brand-dark);text-decoration:none}
.knowledge-feature__copy .text-link:hover{text-decoration:underline;text-underline-offset:.25em}
.knowledge-index{padding:clamp(4.6rem,8vw,7rem) 0;background:#eef5f9}
.knowledge-index__rows{display:grid;border-top:1px solid #cddfe8}
.knowledge-index__rows a{display:grid;grid-template-columns:74px minmax(230px,.36fr) minmax(0,1fr);gap:1.1rem;align-items:center;
  min-height:78px;padding:1rem 0;border-bottom:1px solid #cddfe8;color:inherit;text-decoration:none}
.knowledge-index__rows span{color:#0b75a4;font-family:var(--font-display);font-size:1.3rem;font-weight:850}
.knowledge-index__rows strong{color:var(--navy);font-size:1.08rem;line-height:1.35}
.knowledge-index__rows em{color:#566b76;font-style:normal;line-height:1.5}
.knowledge-index__rows a:hover strong{color:var(--brand-dark);text-decoration:underline;text-underline-offset:.25em}
.knowledge-stream{padding:clamp(4.6rem,8vw,7rem) 0;background:#fff}
.knowledge-stream__list{display:grid;border-top:1px solid #d4e4ec}
.knowledge-stream__list a{display:grid;grid-template-columns:130px minmax(180px,.34fr) minmax(0,1fr);gap:1.15rem;align-items:center;
  min-height:118px;padding:1rem 0;border-bottom:1px solid #d4e4ec;color:inherit;text-decoration:none}
.knowledge-stream__list img{width:130px;height:86px;object-fit:cover;border-radius:8px;filter:saturate(.88) contrast(1.03)}
.knowledge-stream__list span{color:#0b75a4;font-weight:850;line-height:1.35}
.knowledge-stream__list strong{color:var(--navy);font-size:1.04rem;line-height:1.45}
.knowledge-stream__list a:hover strong{color:var(--brand-dark);text-decoration:underline;text-underline-offset:.25em}

@media(max-width:1080px){
  .solution-hero__inner,.solution-hero__inner--editorial,.solution-scan__grid,.solution-scan__grid--reverse,
  .solution-lines__grid,.solution-index__grid,.lab-intro__grid,.solution-flow__grid,.solution-report__grid,
  .knowledge-feature__grid,.knowledge-stream__grid{grid-template-columns:1fr}
  .solution-hero__inner{align-items:center;min-height:720px}
  .solution-process__rail{grid-template-columns:1fr}
  .solution-process__rail li{padding:1rem 0;border-top:0;border-bottom:1px solid #d4e4ec}
  .solution-process__rail li::before{display:none}
}
@media(max-width:760px){
  .solution-hero__inner{min-height:660px;padding-top:calc(var(--header-h) + 3rem);padding-bottom:3.4rem}
  .solution-hero h1{font-size:2.35rem;line-height:1.1}
  .solution-scan__copy h2,.solution-report__copy h2,.lab-intro h2,.solution-flow h2,.knowledge-feature h2{font-size:2.05rem;line-height:1.16}
  .solution-hero__copy p:not(.firm-kicker){font-size:1rem;line-height:1.56}
  .solution-hero__panel{background:rgba(4,35,52,.5)}
  .solution-scan__visual,.knowledge-feature__media{min-height:330px}
  .solution-scan__list li,.solution-steps li,.solution-link-rows a,.lab-matrix div,.solution-report__lines p,
  .solution-flow__steps li,.knowledge-index__rows a,.knowledge-stream__list a{grid-template-columns:1fr;gap:.45rem}
  .solution-link-rows em{white-space:normal}
  .knowledge-stream__list img{width:100%;height:180px}
}
@media(prefers-reduced-motion:reduce){
  .solution-hero::before,.solution-hero::after,.solution-hero__panel::before,.knowledge-feature__media img{
    animation:none!important;transition:none!important;transform:none!important}
}

/* =================================================================
   GLOBALNY POLISH DLA WSZYSTKICH BASICOWYCH PODSTRON
   ================================================================= */
body:not(.has-video-hero) .hero-basic{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(620px,76vh,780px);
  border-bottom:0;color:#fff;background:#03131d}
body:not(.has-video-hero) .hero-basic::before{content:"";position:absolute;inset:0;z-index:-4;background:var(--page-art) center/cover no-repeat;
  filter:saturate(.76) contrast(1.08) brightness(.58);transform:scale(1.03)}
body:not(.has-video-hero) .hero-basic::after{content:"";position:absolute;right:-8vw;bottom:-16vw;z-index:-1;width:min(620px,48vw);
  aspect-ratio:1;background:url('/assets/kabi-sygnet.svg') center/contain no-repeat;opacity:.08;filter:brightness(0) invert(1);
  pointer-events:none}
.hero-basic__shade{position:absolute;inset:0;z-index:-3;background:
  linear-gradient(90deg,rgba(1,11,18,.96),rgba(4,31,45,.84) 44%,rgba(4,31,45,.48) 72%,rgba(1,11,18,.82)),
  linear-gradient(180deg,rgba(1,11,18,.1),rgba(1,11,18,.68))}
.hero-basic__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.64fr);gap:clamp(2rem,6vw,6rem);
  align-items:center;min-height:inherit;padding-top:calc(var(--header-h) + 4.4rem);padding-bottom:clamp(4rem,7vw,6rem)}
.hero-basic__copy{max-width:790px}
body:not(.has-video-hero) .hero-basic .eyebrow{display:inline-flex;align-items:center;gap:.65rem;margin:0 0 1rem;
  color:#8de4ff;font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:0}
body:not(.has-video-hero) .hero-basic .eyebrow::before{content:"";width:30px;height:2px;border-radius:999px;background:currentColor}
body:not(.has-video-hero) .hero-basic h1{max-width:15.5em;margin:0 0 1.08rem;color:#fff;
  font-size:4.25rem;line-height:1.07;letter-spacing:0;text-wrap:pretty}
body:not(.has-video-hero) .hero-basic .lead{max-width:51em;margin:0;color:#dceef7;font-size:1.08rem;line-height:1.62;text-wrap:pretty}
.hero-basic__geo{max-width:48em;margin:1rem 0 0;color:#9fc9da;font-size:.86rem;line-height:1.55}
.hero-basic__art{position:relative;margin:0;min-height:clamp(360px,42vw,520px);overflow:hidden;border-radius:4px;
  border:0;background:transparent;box-shadow:none}
.hero-basic__art::before{display:none}
.hero-basic__art img{display:block;width:100%;height:100%;min-height:inherit;object-fit:cover;border-radius:4px;filter:saturate(.84) contrast(1.06) brightness(.95)}
.hero-basic__art figcaption{display:none}
body:not(.has-video-hero) .section{position:relative;overflow:hidden;padding:clamp(4.6rem,8vw,7rem) 0;background:#fff}
body:not(.has-video-hero) .section.alt{background:#eef5f9}
body:not(.has-video-hero) .section-head{max-width:900px;margin:0 0 2.2rem;text-align:left}
body:not(.has-video-hero) .section-head::after{margin:1rem 0 0}
body:not(.has-video-hero) .section-head h2{max-width:16em;font-size:2.65rem;line-height:1.12;letter-spacing:0;text-wrap:pretty}
body:not(.has-video-hero) .section-head p{max-width:58em;color:#4f6470;line-height:1.62;text-wrap:pretty}

body:not(.has-video-hero) .feature-grid,body:not(.has-video-hero) .card-grid{
  display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid #cddfe8}
body:not(.has-video-hero) .feature{display:grid;grid-template-columns:64px minmax(210px,.32fr) minmax(0,1fr);gap:1rem;align-items:center;
  min-height:96px;padding:1.05rem 0;background:transparent;border:0;border-bottom:1px solid #cddfe8;border-radius:0;box-shadow:none}
body:not(.has-video-hero) .feature::before{display:none}
body:not(.has-video-hero) .feature:hover{transform:none;box-shadow:none;border-color:#cddfe8}
body:not(.has-video-hero) .feature:hover .ficon{transform:translateY(-1px)}
body:not(.has-video-hero) .ficon{width:46px;height:46px;margin:0;border-radius:8px;background:#e2f4fb;color:#0b75a4}
body:not(.has-video-hero) .feature h3{margin:0;color:var(--navy);font-size:1.08rem;line-height:1.3}
body:not(.has-video-hero) .feature p{margin:0;color:#556a76;line-height:1.55}

body:not(.has-video-hero) .card{display:grid;grid-template-columns:minmax(210px,.3fr) minmax(0,1fr) auto;gap:1rem;align-items:center;
  min-height:96px;padding:1.05rem 0;background:transparent;border:0;border-bottom:1px solid #cddfe8;border-radius:0;box-shadow:none}
body:not(.has-video-hero) .card::before{display:none}
body:not(.has-video-hero) .card:hover{transform:none;box-shadow:none;border-color:#cddfe8;text-decoration:none}
body:not(.has-video-hero) .card h3{margin:0;color:#0b75a4;font-size:1.06rem;line-height:1.35}
body:not(.has-video-hero) .card p{margin:0;color:var(--navy);font-size:1rem;font-weight:720;line-height:1.45}
body:not(.has-video-hero) .card-link{margin:0;color:var(--brand-dark);font-weight:850;white-space:nowrap}

body:not(.has-video-hero) .steps{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid #cddfe8}
body:not(.has-video-hero) .steps li{display:grid;grid-template-columns:64px minmax(210px,.32fr) minmax(0,1fr);gap:1rem;
  align-items:center;min-height:92px;padding:1rem 0;border-bottom:1px solid #cddfe8}
body:not(.has-video-hero) .step-num{width:44px;height:44px;border-radius:50%;box-shadow:none;background:#0b75a4}
body:not(.has-video-hero) .steps h3{margin:0;color:var(--navy);font-size:1.08rem}
body:not(.has-video-hero) .steps p{margin:0;color:#556a76;line-height:1.55}

body:not(.has-video-hero) .prose{position:relative;max-width:960px;padding:0;border-top:1px solid #cddfe8}
body:not(.has-video-hero) .prose h2{margin:1.25rem 0 .75rem;color:var(--navy);font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.12}
body:not(.has-video-hero) .prose h3{margin:1.2rem 0 .4rem;color:#0b75a4}
body:not(.has-video-hero) .prose p{max-width:72em;color:#435863;line-height:1.72;text-wrap:pretty}
body:not(.has-video-hero) .prose ul{display:grid;gap:.65rem;margin:1rem 0 0;padding:0;list-style:none}
body:not(.has-video-hero) .prose li{position:relative;margin:0;padding-left:1.35rem;color:#435863;line-height:1.62}
body:not(.has-video-hero) .prose ul>li::before{content:"";position:absolute;left:0;top:.72em;width:7px;height:7px;border-radius:50%;background:#0b75a4}
/* Lista numerowana: bez kropki ::before (byłaby obok cyfry), za to numer
   przez natywny ::marker. Redaktor wstawia <ol>, więc te reguły są potrzebne. */
body:not(.has-video-hero) .prose ol{display:grid;gap:.65rem;margin:1rem 0 0;padding-left:1.6rem;list-style:decimal}
body:not(.has-video-hero) .prose ol>li{padding-left:.35rem}
body:not(.has-video-hero) .prose ol>li::before{content:none}
body:not(.has-video-hero) .prose ol>li::marker{color:#0b75a4;font-weight:700}
body:not(.has-video-hero) .prose .note,body:not(.has-video-hero) .note{border-left:3px solid #0b75a4;border-radius:0;background:#eef7fb}

body:not(.has-video-hero) .table-wrap{position:relative;z-index:1;max-width:100%;overflow:auto;border-radius:8px;border:1px solid #cddfe8;
  box-shadow:none;background:#fff}
body:not(.has-video-hero) table{min-width:640px}
body:not(.has-video-hero) th,body:not(.has-video-hero) td{padding:1rem 1.05rem;line-height:1.45}
body:not(.has-video-hero) thead th{background:#08324a}

body:not(.has-video-hero) .post-grid{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid #cddfe8}
body:not(.has-video-hero) .post-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:1.2rem;align-items:center;
  padding:1rem 0;border:0;border-bottom:1px solid #cddfe8;border-radius:0;box-shadow:none;background:transparent}
body:not(.has-video-hero) .post-card:hover{transform:none;box-shadow:none;border-color:#cddfe8}
body:not(.has-video-hero) .post-thumb{height:118px;border-radius:8px}
body:not(.has-video-hero) .post-body{padding:0}
body:not(.has-video-hero) .post-card h3{font-size:1.22rem;line-height:1.28}
body:not(.has-video-hero) .post-card p{max-width:58em;line-height:1.55}

body:not(.has-video-hero) .bluf{background:#eef5f9}
body:not(.has-video-hero) .bluf-text{max-width:900px;margin:0 auto;color:var(--navy);font-size:clamp(1.28rem,2.5vw,2rem);line-height:1.3;text-align:left}
body:not(.has-video-hero) .related{background:#fff}
body:not(.has-video-hero) .related h2{font-size:clamp(1.45rem,2.3vw,2rem)}
body:not(.has-video-hero) .related-list{display:grid;gap:0;border-top:1px solid #cddfe8}
body:not(.has-video-hero) .related-list li{border-bottom:1px solid #cddfe8}
body:not(.has-video-hero) .related-list a{display:flex;justify-content:space-between;align-items:center;min-height:58px;padding:.7rem 0;
  border-radius:0;background:transparent;color:var(--navy);font-weight:800}
body:not(.has-video-hero) .related-list a::after{content:"→";color:#0b75a4}
body:not(.has-video-hero) .related-list a:hover{background:transparent;color:var(--brand-dark);text-decoration:underline;text-underline-offset:.25em}
body:not(.has-video-hero) .cta-band{background:#062233;overflow:hidden}
body:not(.has-video-hero) .cta-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem}
body:not(.has-video-hero) .cta-band h2{max-width:17em;font-size:clamp(1.75rem,3vw,2.65rem);line-height:1.1}
body:not(.has-video-hero) .faq details[open] summary::after{content:"-"}

.consult-hero{padding-bottom:clamp(2.2rem,4vw,3.6rem)}
.consult-proof{position:relative;left:auto;bottom:auto;transform:none;width:min(1160px,calc(100% - 44px));
  margin:clamp(-3rem,-4vw,-2rem) auto 0;z-index:3}
.consult-hero + .consult-section--light{padding-top:clamp(4.4rem,7vw,6.5rem)}

@media(max-width:980px){
  .hero-basic__inner{grid-template-columns:1fr;align-items:start;min-height:720px}
  body:not(.has-video-hero) .hero-basic h1{font-size:3.25rem}
  body:not(.has-video-hero) .section-head h2{font-size:2.25rem}
  .hero-basic__art{min-height:340px}
  body:not(.has-video-hero) .feature,body:not(.has-video-hero) .card,body:not(.has-video-hero) .steps li{
    grid-template-columns:1fr;gap:.45rem;align-items:start}
  body:not(.has-video-hero) .card-link{white-space:normal}
  body:not(.has-video-hero) .post-card{grid-template-columns:150px 1fr}
  body:not(.has-video-hero) .cta-inner{grid-template-columns:1fr}
}
@media(max-width:640px){
  body:not(.has-video-hero) .hero-basic{min-height:auto}
  .hero-basic__inner{padding-top:calc(var(--header-h) + 3rem);padding-bottom:3.2rem}
  body:not(.has-video-hero) .hero-basic h1{font-size:2.28rem;line-height:1.08}
  body:not(.has-video-hero) .section-head h2{font-size:1.95rem;line-height:1.16}
  body:not(.has-video-hero) .hero-basic .lead{font-size:1rem}
  .hero-basic__art{min-height:260px}
  body:not(.has-video-hero) .post-card{grid-template-columns:1fr}
  body:not(.has-video-hero) .post-thumb{height:190px}
  .consult-proof{width:calc(100% - 28px);margin:1rem auto 0;grid-template-columns:1fr}
  .consult-hero + .consult-section--light{padding-top:clamp(3.8rem,8vw,5rem)}
}
@media(prefers-reduced-motion:reduce){
  body:not(.has-video-hero) .hero-basic::before{transform:none}
}

/* =================================================================
   Branża: zakłady mięsne i drobiarskie
   ================================================================= */
.industry-detail-page{background:#071729;color:#e9f6fb}
.industry-detail-page main{background:#071729}
.meat-hero{position:relative;isolation:isolate;overflow:hidden;min-height:calc(100svh - var(--header-h));
  background:#071729;color:#fff;border-bottom:1px solid rgba(157,224,247,.18)}
.meat-hero__shade{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(3,14,25,.98) 0%,rgba(5,26,43,.92) 43%,rgba(5,26,43,.42) 72%,rgba(3,14,25,.86) 100%),
  radial-gradient(circle at 78% 18%,rgba(121,217,245,.16),transparent 34%);
  pointer-events:none}
.meat-hero__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(380px,1.05fr);gap:4.5rem;
  align-items:center;min-height:inherit;padding-top:8.35rem;padding-bottom:5rem}
.meat-hero__copy{max-width:720px}
.meat-kicker{display:flex;align-items:center;gap:.72rem;margin:0 0 1.15rem;color:#8bdff8;
  font-size:.76rem;font-weight:820;text-transform:uppercase;letter-spacing:.12em}
.meat-kicker::before{content:"";width:34px;height:2px;background:#7fd4ef;border-radius:999px}
.meat-hero h1{max-width:11.2em;margin:0;color:#fff;font-size:4.9rem;line-height:.98;font-weight:850;letter-spacing:0;text-wrap:balance}
.meat-hero__copy>p:not(.meat-kicker){max-width:38em;margin:1.35rem 0 0;color:rgba(224,241,248,.84);
  font-size:1.12rem;line-height:1.62;text-wrap:pretty}
.meat-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem;margin-top:1.75rem}
.meat-link{display:inline-flex;align-items:center;min-height:48px;padding:.72rem 0;color:#dff7ff;font-weight:820;text-decoration:none}
.meat-link::after{content:"→";margin-left:.55rem;color:#7fd4ef;transition:transform .22s cubic-bezier(.16,1,.3,1)}
.meat-link:hover{text-decoration:none;color:#fff}
.meat-link:hover::after{transform:translateX(4px)}
.meat-hero__media{position:relative;width:100%;max-width:100%;margin:0;min-height:520px;aspect-ratio:1.08/1;border-radius:8px;overflow:hidden;
  background:#0b2639;box-shadow:0 34px 90px rgba(0,0,0,.32)}
.meat-hero__media::before{content:"";position:absolute;inset:0;z-index:2;border:1px solid rgba(181,235,251,.28);border-radius:8px;
  pointer-events:none}
.meat-hero__media::after{content:"";position:absolute;inset:auto 0 0;height:45%;z-index:1;
  background:linear-gradient(180deg,transparent,rgba(3,14,25,.58));pointer-events:none}
.meat-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.88) contrast(1.05) brightness(.9)}

.meat-signal{position:relative;background:#081c30;border-bottom:1px solid rgba(157,224,247,.14)}
.meat-signal__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.meat-signal article{min-height:150px;padding:1.55rem 1.65rem;border-left:1px solid rgba(157,224,247,.13)}
.meat-signal article:first-child{border-left:0}
.meat-signal strong{display:block;margin-bottom:.55rem;color:#fff;font-size:1.1rem;line-height:1.25}
.meat-signal span{display:block;color:rgba(220,238,246,.74);line-height:1.55;text-wrap:pretty}

.meat-risk,.meat-solutions,.meat-flow,.meat-outcome,.meat-related,.meat-cta{position:relative;overflow:hidden;background:#071729;color:#e9f6fb}
.meat-risk{padding:7rem 0 6rem}
.meat-risk__grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:4.5rem;align-items:start}
.meat-risk__intro{position:sticky;top:calc(var(--header-h) + 2rem)}
.meat-risk h2,.meat-section-head h2,.meat-flow h2,.meat-outcome h2,.meat-related h2,.meat-cta h2{
  margin:0;color:#fff;font-size:3.4rem;line-height:1.06;font-weight:850;letter-spacing:0;text-wrap:balance}
.meat-risk__intro p,.meat-section-head p,.meat-flow__copy p,.meat-outcome p,.meat-cta p{
  max-width:42em;margin:1rem 0 0;color:rgba(222,239,247,.76);font-size:1.06rem;line-height:1.66;text-wrap:pretty}
.meat-risk__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(157,224,247,.16);
  border:1px solid rgba(157,224,247,.16);border-radius:8px;overflow:hidden}
.meat-risk__list article{min-height:220px;padding:1.6rem;background:#0b2237}
.meat-risk__list h3{margin:0 0 .75rem;color:#9feaff;font-size:1.28rem;line-height:1.2}
.meat-risk__list p{margin:0;color:rgba(223,240,247,.78);line-height:1.58}

.meat-solutions{padding:6.8rem 0;background:
  linear-gradient(180deg,#071729 0%,#092037 100%)}
.meat-section-head{max-width:920px;margin-bottom:2.4rem}
.meat-bento{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-auto-flow:dense;gap:1rem}
.meat-bento__item{position:relative;min-height:260px;padding:1.55rem;border:1px solid rgba(157,224,247,.16);border-radius:8px;
  background:#0c243b;overflow:hidden;transition:transform .28s cubic-bezier(.16,1,.3,1),border-color .28s cubic-bezier(.16,1,.3,1)}
.meat-bento__item:hover{transform:translateY(-4px);border-color:rgba(127,212,239,.48)}
.meat-bento__item--wide{grid-column:span 2;min-height:300px;background:
  linear-gradient(135deg,rgba(13,51,78,.96),rgba(10,33,53,.96))}
.meat-bento__item--image{min-height:300px;background:
  linear-gradient(180deg,rgba(4,18,29,.12),rgba(4,18,29,.45)),
  url('/assets/industries/industry-meat.jpg') center/cover no-repeat}
.meat-bento__item span{display:block;margin-bottom:.8rem;color:#8bdff8;font-size:.76rem;font-weight:830;text-transform:uppercase;letter-spacing:.1em}
.meat-bento__item h3{max-width:16em;margin:0;color:#fff;font-size:1.62rem;line-height:1.14}
.meat-bento__item p{max-width:35em;margin:.9rem 0 0;color:rgba(223,240,247,.78);line-height:1.6;text-wrap:pretty}

.meat-flow{padding:7rem 0;background:#061320}
.meat-flow__grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:4rem;align-items:start}
.meat-flow__copy .btn{margin-top:1.8rem}
.meat-flow__steps{display:grid;gap:1rem}
.meat-flow__steps article{display:grid;grid-template-columns:minmax(150px,.38fr) minmax(0,1fr);gap:1.4rem;
  padding:1.35rem 0;border-top:1px solid rgba(157,224,247,.18)}
.meat-flow__steps article:last-child{border-bottom:1px solid rgba(157,224,247,.18)}
.meat-flow__steps h3{margin:0;color:#9feaff;font-size:1.15rem;line-height:1.28}
.meat-flow__steps p{margin:0;color:rgba(223,240,247,.78);line-height:1.6}

.meat-outcome{padding:6rem 0;background:#eef7fb;color:#0a3248}
.meat-outcome__inner{display:grid;grid-template-columns:minmax(0,.95fr) minmax(300px,.75fr);gap:4rem;align-items:start}
.meat-outcome h2{color:#0a3248}
.meat-outcome p{color:#425d6a}
.meat-outcome__list{display:grid;gap:.8rem;margin:0;padding:0;list-style:none}
.meat-outcome__list li{position:relative;padding:1rem 1rem 1rem 2.6rem;border:1px solid #c8e0ea;border-radius:8px;background:#fff;
  color:#123c52;font-weight:760;line-height:1.42}
.meat-outcome__list li::before{content:"";position:absolute;left:1rem;top:1.25rem;width:.72rem;height:.72rem;border-radius:50%;
  background:#0b83b4;box-shadow:0 0 0 5px rgba(11,131,180,.12)}

.meat-related{padding:6rem 0;background:#071729}
.meat-related h2{max-width:760px;margin-bottom:2rem}
.meat-related__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.meat-related__grid a{display:flex;min-height:190px;flex-direction:column;justify-content:space-between;gap:1.2rem;
  padding:1.35rem;border:1px solid rgba(157,224,247,.17);border-radius:8px;background:#0c243b;color:#fff;text-decoration:none;
  transition:transform .24s cubic-bezier(.16,1,.3,1),border-color .24s cubic-bezier(.16,1,.3,1)}
.meat-related__grid a::after{content:"→";color:#7fd4ef;font-size:1.3rem}
.meat-related__grid a:hover{transform:translateY(-4px);border-color:rgba(127,212,239,.5)}
.meat-related__grid strong{font-size:1.15rem;line-height:1.24}
.meat-related__grid span{color:rgba(223,240,247,.72);line-height:1.52}

.meat-cta{padding:5rem 0 6rem;background:#061320}
.meat-cta__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;
  padding:2rem;border:1px solid rgba(157,224,247,.19);border-radius:8px;background:linear-gradient(135deg,#0c3048,#082035)}
.meat-cta .btn{white-space:nowrap}

.industry-card-link{color:inherit;text-decoration:none}
.industry-card-link:hover{text-decoration:none}

@media(max-width:1100px){
  .meat-hero__grid{grid-template-columns:1fr;gap:2.4rem;min-height:auto}
  .meat-hero h1{font-size:4.1rem}
  .meat-hero__media{min-height:400px;aspect-ratio:16/9}
  .meat-risk__grid,.meat-flow__grid,.meat-outcome__inner{grid-template-columns:1fr;gap:2.4rem}
  .meat-risk__intro{position:relative;top:auto}
  .meat-bento{grid-template-columns:1fr 1fr}
  .meat-bento__item--wide{grid-column:span 2}
  .meat-related__grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .meat-hero__grid{padding-top:8rem;padding-bottom:3.6rem}
  .meat-hero h1,.meat-risk h2,.meat-section-head h2,.meat-flow h2,.meat-outcome h2,.meat-related h2,.meat-cta h2{
    font-size:2.55rem;line-height:1.08}
  .meat-hero__copy>p:not(.meat-kicker){font-size:1rem}
  .meat-hero__actions{display:grid;grid-template-columns:1fr;align-items:stretch}
  .meat-hero__actions .btn{width:100%;justify-content:center}
  .meat-hero__media{min-height:280px}
  .meat-signal__grid{grid-template-columns:1fr}
  .meat-signal article{min-height:0;border-left:0;border-top:1px solid rgba(157,224,247,.13)}
  .meat-signal article:first-child{border-top:0}
  .meat-risk,.meat-solutions,.meat-flow,.meat-outcome,.meat-related,.meat-cta{padding:4.2rem 0}
  .meat-risk__list,.meat-bento{grid-template-columns:1fr}
  .meat-bento__item--wide{grid-column:auto}
  .meat-flow__steps article{grid-template-columns:1fr;gap:.55rem}
  .meat-cta__inner{grid-template-columns:1fr;padding:1.25rem}
  .meat-cta .btn{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  .meat-bento__item,.meat-related__grid a,.meat-link::after{transition:none!important}
  .meat-bento__item:hover,.meat-related__grid a:hover{transform:none!important}
}

/* =================================================================
   Branże: jedna podstrona sektorowa
   ================================================================= */
.branches-hub-page{background:#061525;color:#e9f6fb}
.branches-hub-page main{background:#061525}
.branches-hero{position:relative;isolation:isolate;overflow:hidden;min-height:100svh;min-height:100dvh;
  display:flex;align-items:center;color:#fff;background:#061525}
.branches-hero__image{position:absolute;inset:0;z-index:-3;background:url('/assets/industries/industry-branches-collage.jpg') center/cover no-repeat;
  overflow:hidden;filter:saturate(.82) contrast(1.1) brightness(.7);transform:scale(1.015)}
.branches-hero__image video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;
  filter:grayscale(.08) saturate(.78) contrast(1.12) brightness(.78)}
.branches-hero__shade{position:absolute;inset:0;z-index:-2;background:
  linear-gradient(180deg,rgba(3,12,22,.64) 0%,rgba(4,21,34,.42) 34%,rgba(3,12,22,.92) 100%),
  linear-gradient(90deg,rgba(2,9,17,.78) 0%,rgba(6,35,54,.34) 47%,rgba(2,9,17,.82) 100%),
  radial-gradient(circle at 50% 34%,rgba(18,109,143,.2),rgba(3,12,22,.72) 58%,rgba(3,12,22,.96) 100%);
  pointer-events:none}
.branches-hero::after{content:"";position:absolute;left:50%;bottom:-18vw;z-index:-1;width:min(900px,72vw);aspect-ratio:1;
  background:url('/assets/kabi-sygnet.svg') center/contain no-repeat;opacity:.06;filter:brightness(0) invert(1);
  transform:translateX(-50%);pointer-events:none}
.branches-hero__inner{position:relative;display:grid;justify-items:center;width:100%;padding-top:calc(var(--header-h) + 4.8rem);
  padding-bottom:clamp(3.8rem,7vw,6.4rem);text-align:center}
.branches-kicker{display:inline-flex;align-items:center;gap:.72rem;margin:0 0 1rem;color:#8be5ff;
  font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.12em}
.branches-kicker::before,.branches-kicker::after{content:"";width:32px;height:2px;border-radius:999px;background:currentColor}
.branch-chapter .branches-kicker,.branches-method .branches-kicker,.branches-savings .branches-kicker{text-align:left}
.branch-chapter .branches-kicker::after,.branches-method .branches-kicker::after,.branches-savings .branches-kicker::after{display:none}
.branches-hero h1{max-width:1180px;margin:0;color:#fff;font-size:clamp(3rem,4.6vw,4.55rem);line-height:1.02;
  font-weight:880;letter-spacing:0;text-wrap:balance}
.branches-hero h1 span{display:block}
.branches-hero__lead{max-width:780px;margin:1.25rem auto 0;color:rgba(226,243,249,.86);
  font-size:1.15rem;line-height:1.66;text-wrap:pretty}
.branches-hero__actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-top:1.9rem}
.branches-link{display:inline-flex;align-items:center;min-height:48px;color:#e6fbff;font-weight:850;text-decoration:none}
.branches-link::after{content:"→";margin-left:.55rem;color:#7fdff8;transition:transform .22s cubic-bezier(.16,1,.3,1)}
.branches-link:hover{color:#fff;text-decoration:none}
.branches-link:hover::after{transform:translateX(4px)}
.branches-sector-strip{width:min(1080px,100%);display:flex;flex-wrap:wrap;justify-content:center;gap:.72rem 1.05rem;margin:clamp(2.3rem,5vw,3.8rem) 0 0;
  padding:0;list-style:none;color:#e9f7fb}
.branches-sector-strip li{display:flex}
.branches-sector-strip a{display:inline-flex;align-items:center;gap:.52rem;color:rgba(232,248,252,.88);
  font-size:.94rem;font-weight:850;line-height:1.25;text-align:left;text-decoration:none;
  transition:color .32s cubic-bezier(.16,1,.3,1),transform .32s cubic-bezier(.16,1,.3,1)}
.branches-sector-strip a::before{content:"";width:7px;height:7px;border-radius:999px;background:#84e6ff;
  box-shadow:0 0 20px rgba(132,230,255,.52)}
.branches-sector-strip a span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:999px;
  border:1px solid rgba(132,230,255,.36);color:#8be5ff;font-size:.78rem;line-height:1;
  transition:transform .32s cubic-bezier(.16,1,.3,1),background .32s cubic-bezier(.16,1,.3,1)}
.branches-sector-strip a:hover{color:#fff;transform:translateY(-2px);text-decoration:none}
.branches-sector-strip a:hover span{background:rgba(132,230,255,.12);transform:translate(2px,2px)}
.branches-sector-strip a:focus-visible{outline:2px solid #84e6ff;outline-offset:5px;border-radius:999px}

.branches-hero .branches-kicker,.branches-hero h1,.branches-hero__lead,.branches-hero__actions,.branches-sector-strip{
  opacity:0;transform:translateY(22px);animation:branchesRise .9s cubic-bezier(.16,1,.3,1) forwards}
.branches-hero h1{animation-delay:.08s}
.branches-hero__lead{animation-delay:.16s}
.branches-hero__actions{animation-delay:.24s}
.branches-sector-strip{animation-delay:.34s}
@keyframes branchesRise{to{opacity:1;transform:translateY(0)}}

.branches-proof{position:relative;overflow:hidden;padding:clamp(4.1rem,5.8vw,5.35rem) 0;background:#071729;
  border-top:1px solid rgba(154,224,247,.08);border-bottom:1px solid rgba(154,224,247,.1)}
.branches-proof__inner{position:relative;display:grid;gap:clamp(2rem,3.3vw,2.8rem);max-width:1340px}
.branches-proof__head{display:grid;grid-template-columns:minmax(500px,.82fr) minmax(420px,.68fr);gap:clamp(2rem,5vw,5.4rem);align-items:end}
.branches-proof__eyebrow{display:inline-flex;align-items:center;gap:.72rem;margin:0 0 1rem;color:#8be5ff;
  font-size:.74rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.branches-proof__eyebrow::before{content:"";width:32px;height:2px;border-radius:999px;background:currentColor}
.branches-proof__intro{margin:0;color:#dff7ff;font-size:clamp(2.25rem,3vw,3.45rem);line-height:1.08;
  font-weight:860;letter-spacing:0;text-wrap:balance}
.branches-proof__intro span{display:block}
.branches-proof__lead{max-width:42em;margin:0;color:rgba(222,239,247,.76);font-size:clamp(1rem,1.06vw,1.13rem);
  line-height:1.62;text-wrap:pretty}
.branches-proof__flow{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.5rem,2.4vw,2.55rem);
  padding-top:1.05rem}
.branches-proof__flow::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(154,224,247,.16)}
.branches-proof article{position:relative;min-height:0;padding:0 1.1rem 0 0}
.branches-proof article::before{content:"";position:absolute;left:0;top:-1.05rem;width:clamp(42px,4.8vw,76px);height:2px;border-radius:999px;background:#84e6ff}
.branches-proof article:not(:last-child)::after{content:"";position:absolute;right:.05rem;top:.22rem;bottom:.1rem;width:1px;background:linear-gradient(180deg,rgba(154,224,247,.12),transparent)}
.branches-proof__top{display:flex;align-items:center;gap:1rem;min-height:1rem;margin-bottom:.82rem}
.branches-proof__num{display:inline-flex;color:#83ddf5;font-size:.77rem;font-weight:850;line-height:1;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.branches-proof strong{display:block;max-width:17em;color:#fff;font-size:1.05rem;line-height:1.24;text-wrap:balance}
.branches-proof article>span:not(.branches-proof__top){display:block;max-width:20.5em;margin-top:.72rem;color:rgba(222,239,247,.72);
  font-size:1rem;line-height:1.56;text-wrap:pretty}

.branches-method{padding:clamp(5rem,8vw,7.2rem) 0;background:#061525;color:#e9f6fb}
.branches-method__grid{display:grid;grid-template-columns:minmax(560px,.92fr) minmax(0,1.08fr);gap:clamp(2.6rem,6vw,5.8rem);align-items:start;max-width:1380px}
.branches-method__grid>div{max-width:640px}
.branches-method h2,.branch-chapter h2,.branches-savings h2,.branches-final h2{margin:0;color:#fff;font-size:clamp(2.45rem,5vw,4.35rem);
  line-height:1.04;font-weight:870;letter-spacing:0;text-wrap:balance}
.branches-method h2 span,.branch-chapter h2 span,.branches-savings h2 span,.branches-final h2 span{display:block}
.branches-method p,.branch-chapter__copy>p,.branches-savings p,.branches-final p{max-width:46em;margin:1rem 0 0;
  color:rgba(222,239,247,.76);font-size:1.05rem;line-height:1.68;text-wrap:pretty}
.branches-method__steps{display:grid;grid-template-columns:1fr;gap:1.05rem;margin:0;padding:0;list-style:none}
.branches-method__steps li{position:relative;display:grid;grid-template-columns:minmax(210px,.38fr) minmax(0,1fr);gap:1.35rem;padding:1rem 0 1rem 1.25rem;
  border-left:1px solid rgba(154,224,247,.2)}
.branches-method__steps li::before{content:"";position:absolute;left:-1px;top:1rem;width:2px;height:28px;border-radius:999px;background:#84e6ff;
  box-shadow:0 0 16px rgba(132,230,255,.25)}
.branches-method__steps strong{color:#9feaff;font-size:1.08rem;line-height:1.28}
.branches-method__steps span{color:rgba(222,239,247,.74);line-height:1.56}

.branch-chapter{scroll-margin-top:calc(var(--header-h) + 1rem);padding:0;background:#061525;color:#e9f6fb;
  border-top:1px solid rgba(154,224,247,.08)}
.branch-chapter:nth-of-type(odd){background:#061525}
.branch-chapter__grid{position:relative;isolation:isolate;overflow:hidden;display:grid;
  grid-template-columns:minmax(0,.48fr) minmax(680px,.78fr);gap:0;align-items:center;
  width:100%;max-width:none;margin:0;
  min-height:100svh;min-height:100dvh;padding:clamp(4.4rem,8vw,8.4rem) clamp(2rem,8vw,10rem);border-radius:0;background:#071b2e;
  box-shadow:none}
.branch-chapter__grid::before{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(4,18,31,.34) 0%,rgba(5,31,50,.58) 40%,rgba(2,12,24,.94) 100%),
  radial-gradient(circle at 82% 24%,rgba(132,230,255,.18),transparent 34%),
  linear-gradient(180deg,rgba(3,12,22,.12),rgba(3,12,22,.4));pointer-events:none}
.branch-chapter__grid::after{content:"";position:absolute;inset:0;border:0;border-radius:inherit;
  pointer-events:none}
.branch-chapter__grid--reverse{grid-template-columns:minmax(680px,.78fr) minmax(0,.48fr)}
.branch-chapter__grid--reverse::before{background:
  linear-gradient(90deg,rgba(2,12,24,.94) 0%,rgba(5,31,50,.62) 58%,rgba(4,18,31,.34) 100%),
  radial-gradient(circle at 18% 24%,rgba(132,230,255,.18),transparent 34%),
  linear-gradient(180deg,rgba(3,12,22,.12),rgba(3,12,22,.4))}
.branch-chapter__copy{position:relative;z-index:1;grid-column:2;max-width:820px}
.branch-chapter__grid--reverse .branch-chapter__copy{grid-column:1}
.branch-chapter__media{position:absolute;inset:0;z-index:-2;margin:0;min-height:0;border-radius:0;overflow:hidden;background:#0b2639}
.branch-chapter__media::after{display:none}
.branch-chapter__media img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;
  filter:grayscale(.18) saturate(.62) contrast(1.16) brightness(.66)}
.branch-chapter--meat .branch-chapter__media img{object-position:34% center}
#mleczarnie .branch-chapter__media img{object-position:68% center}
#chlodnie .branch-chapter__media img{object-position:42% center}
#przemysl-ciezki .branch-chapter__media img{object-position:64% center}
#producenci-zywnosci .branch-chapter__media img{object-position:36% center}
.branch-chapter h2{font-size:clamp(2.55rem,3.4vw,3.85rem);line-height:1.03}
.branch-matrix{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.1rem,3vw,2rem);margin-top:2rem}
.branch-matrix article{position:relative;padding:1.15rem 0 0;border-top:1px solid rgba(154,224,247,.2)}
.branch-matrix article::before{content:"";position:absolute;left:0;top:-1px;width:42px;height:2px;border-radius:999px;background:#84e6ff}
.branch-matrix h3{margin:0 0 .6rem;color:#9feaff;font-size:1.02rem;line-height:1.25}
.branch-matrix p{margin:0;color:rgba(222,239,247,.75);line-height:1.58;text-wrap:pretty}
.branch-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.65rem}

.branches-savings{padding:clamp(5.4rem,9vw,8rem) 0;background:#eef7fb;color:#0a3148}
.branches-savings__grid{display:grid;grid-template-columns:minmax(430px,.72fr) minmax(660px,1fr);gap:clamp(2.2rem,5vw,5rem);align-items:start;max-width:1320px}
.branches-savings .branches-kicker{color:#0a83b4}
.branches-savings h2{color:#0a3148;font-size:clamp(2.35rem,3.1vw,3.35rem);line-height:1.04}
.branches-savings p{color:#405c69}
.branches-savings .branches-link{color:#0a4560}
.branches-savings__stats{display:grid;gap:0;align-self:stretch}
.branches-savings__stats article{display:grid;grid-template-columns:56px minmax(max-content,.86fr) minmax(0,1fr);gap:1.25rem;align-items:center;
  min-height:126px;padding:1.18rem 0;border-top:1px solid #c8e0ea}
.branches-savings__stats article:last-child{border-bottom:1px solid #c8e0ea}
.branches-savings__icon{width:50px;height:50px;display:grid;place-items:center;color:#0678a8;background:transparent;border:0}
.branches-savings__icon svg{width:34px;height:34px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.branches-savings__value{color:#0a3148;font-size:clamp(2.4rem,3.2vw,3.45rem);line-height:.95;font-weight:880;letter-spacing:0;
  white-space:nowrap;font-variant-numeric:tabular-nums}
.branches-savings__label{max-width:27ch;color:#476370;font-size:1.04rem;line-height:1.38;text-wrap:pretty}
.branches-savings.in-view .branches-savings__icon--trend svg{animation:statTrend .7s ease-out .18s both}
@keyframes statTrend{from{opacity:.55;transform:translate3d(-5px,5px,0)}to{opacity:1;transform:translate3d(0,0,0)}}

.branches-final{position:relative;isolation:isolate;overflow:hidden;padding:clamp(3rem,4.8vw,4.45rem) 0;background:#02090e;color:#fff;border-top:1px solid rgba(127,212,239,.08)}
.branches-final__inner{position:relative;isolation:isolate;display:grid;justify-items:center;max-width:min(1220px,calc(100vw - 72px));margin:0 auto;text-align:center}
.branches-final__inner> :not(.branches-final__sigil){position:relative;z-index:1}
.branches-final h2{max-width:1160px;margin:0 auto;font-size:clamp(2.35rem,2.85vw,3.45rem);line-height:1.08}
.branches-final h2 span{white-space:nowrap}
.branches-final p{max-width:760px;margin:1.15rem auto 0}
.branches-final__actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-top:1.55rem}
.branches-final__sigil{position:absolute;left:50%;top:50%;z-index:0;width:clamp(360px,42vw,720px);aspect-ratio:1;margin:0;
  background:url('/assets/kabi-sygnet.svg') center/contain no-repeat;filter:brightness(0) invert(1);opacity:.105;pointer-events:none;user-select:none;
  transform:translate(-50%,-50%) rotate(-3deg)}

@media(max-width:1120px){
  .branches-proof__head{grid-template-columns:1fr;align-items:start}
  .branches-proof__flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .branches-proof article:nth-child(2n)::after{display:none}
  .branches-method__grid,.branch-chapter__grid,.branch-chapter__grid--reverse,.branches-savings__grid{grid-template-columns:1fr}
  .branch-chapter__copy,.branch-chapter__grid--reverse .branch-chapter__copy{grid-column:1}
  .branch-chapter__grid{min-height:100svh;min-height:100dvh}
  .branches-savings__grid{max-width:860px}
  .branches-savings__stats article{grid-template-columns:54px minmax(270px,.75fr) minmax(220px,1fr)}
}
@media(max-width:760px){
  .branches-hero{min-height:100svh;min-height:100dvh}
  .branches-hero__inner{padding-top:calc(var(--header-h) + 4rem);padding-bottom:3.5rem}
  .branches-kicker{font-size:.7rem;line-height:1.25}
  .branches-kicker::before,.branches-kicker::after{width:22px}
  .branches-hero h1{font-size:2.65rem;line-height:1.04}
  .branches-hero__lead{font-size:1rem;line-height:1.58}
  .branches-hero__actions,.branch-actions{display:grid;grid-template-columns:1fr;width:100%}
  .branches-hero__actions .btn,.branch-actions .btn{width:100%;justify-content:center}
  .branches-link{justify-content:center}
  .branches-sector-strip{justify-content:flex-start;gap:.62rem .9rem}
  .branches-sector-strip a{font-size:.86rem}
  .branches-proof{padding:4.2rem 0 4.6rem}
  .branches-proof__flow,.branch-matrix{grid-template-columns:1fr}
  .branches-proof__flow{gap:1.45rem;padding-top:0;padding-left:1.15rem}
  .branches-proof__flow::before{left:0;right:auto;top:.15rem;bottom:.15rem;width:1px;height:auto;background:rgba(154,224,247,.18)}
  .branches-proof article{min-height:0;padding:0 0 0 .15rem}
  .branches-proof article::before{left:-1.2rem;top:.16rem;width:2px;height:34px}
  .branches-proof article::after{display:none}
  .branches-proof__top{gap:.78rem;min-height:0;margin-bottom:.6rem}
  .branches-proof__intro{font-size:2.22rem;line-height:1.06}
  .branches-proof__lead{font-size:1rem}
  .branches-method h2,.branch-chapter h2,.branches-savings h2,.branches-final h2{font-size:2.22rem;line-height:1.08}
  .branches-final h2 span{white-space:normal}
  .branches-final__actions{display:grid;grid-template-columns:1fr;width:100%}
  .branches-final__actions .btn{width:100%;justify-content:center}
  .branches-final__sigil{top:48%;width:clamp(280px,86vw,440px);opacity:.095}
  .branches-method__steps li{grid-template-columns:1fr;gap:.45rem}
  .branch-chapter{padding:0}
  .branch-chapter__grid{min-height:auto;padding:4.4rem 1.25rem;border-radius:0}
  .branch-chapter__grid::before{background:
    linear-gradient(180deg,rgba(2,12,24,.84) 0%,rgba(3,18,31,.76) 42%,rgba(2,12,24,.94) 100%),
    radial-gradient(circle at 50% 18%,rgba(132,230,255,.16),transparent 36%)}
  .branch-chapter__media img{filter:grayscale(.2) saturate(.58) contrast(1.12) brightness(.52)}
  .branch-matrix article{padding:1rem 0;border-left:0;border-top:1px solid rgba(154,224,247,.16)}
  .branch-matrix article:first-child{border-top:0}
  .branches-savings{padding:4.4rem 0}
  .branches-savings__grid{max-width:var(--wrap)}
  .branches-savings__stats article{grid-template-columns:44px minmax(0,1fr);gap:.28rem .9rem;min-height:0;padding:1rem 0}
  .branches-savings__icon{width:40px;height:40px;grid-row:1 / span 2}
  .branches-savings__icon svg{width:28px;height:28px}
  .branches-savings__value{font-size:clamp(2rem,10vw,2.65rem)}
  .branches-savings__label{grid-column:2;max-width:none;font-size:.98rem}
}
@media(prefers-reduced-motion:reduce){
  .branches-hero__image{transform:none}
  .branches-link::after,.branches-sector-strip a,.branches-sector-strip a span{transition:none!important}
  .branches-savings__icon--trend svg{animation:none!important}
  .branches-hero .branches-kicker,.branches-hero h1,.branches-hero__lead,.branches-hero__actions,.branches-sector-strip{
    opacity:1;transform:none;animation:none!important}
}

/* =================================================================
   Bezpłatna konsultacja: wariant spójny z podstroną Branże
   ================================================================= */
.consultation-branches-page{background:#061525;color:#e9f6fb}
.consultation-branches-page main{background:#061525}
.consult-branches-hero{position:relative;isolation:isolate;overflow:hidden;min-height:100svh;min-height:100dvh;
  display:flex;align-items:center;color:#fff;background:#061525}
.consult-branches-hero__media{position:absolute;inset:0;z-index:-3;overflow:hidden;background:url('/assets/industries/industry-branches-collage.jpg') center/cover no-repeat;
  filter:saturate(.82) contrast(1.1) brightness(.72);transform:scale(1.015)}
.consult-branches-hero__media video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;
  filter:grayscale(.08) saturate(.8) contrast(1.12) brightness(.76)}
.consult-branches-hero__shade{position:absolute;inset:0;z-index:-2;background:
  linear-gradient(180deg,rgba(3,12,22,.68) 0%,rgba(4,21,34,.46) 34%,rgba(3,12,22,.94) 100%),
  linear-gradient(90deg,rgba(2,9,17,.82) 0%,rgba(6,35,54,.36) 48%,rgba(2,9,17,.84) 100%),
  radial-gradient(circle at 50% 34%,rgba(18,109,143,.22),rgba(3,12,22,.74) 58%,rgba(3,12,22,.98) 100%);
  pointer-events:none}
.consult-branches-hero::after{content:"";position:absolute;left:50%;bottom:-18vw;z-index:-1;width:min(900px,72vw);aspect-ratio:1;
  background:url('/assets/kabi-sygnet.svg') center/contain no-repeat;opacity:.06;filter:brightness(0) invert(1);
  transform:translateX(-50%);pointer-events:none}
.consult-branches-hero__inner{position:relative;display:grid;justify-items:center;width:100%;padding-top:calc(var(--header-h) + 4.8rem);
  padding-bottom:clamp(3.8rem,7vw,6.4rem);text-align:center}
.consult-branches-hero h1{max-width:1180px;margin:0;color:#fff;font-size:clamp(3rem,4.55vw,4.55rem);line-height:1.02;
  font-weight:880;letter-spacing:0;text-wrap:balance}
.consult-branches-hero h1 span{display:block}
.consult-branches-hero__lead{max-width:800px;margin:1.25rem auto 0;color:rgba(226,243,249,.86);
  font-size:1.15rem;line-height:1.66;text-wrap:pretty}
.consult-branches-hero__actions{margin-top:1.9rem}
.consult-branches-strip{width:min(1120px,100%);column-gap:clamp(.65rem,1vw,.9rem)}
@media(min-width:1121px){
  .consult-branches-strip{flex-wrap:nowrap}
  .consult-branches-strip a{gap:.42rem;font-size:.9rem;white-space:nowrap}
  .consult-branches-strip a::before{width:6px;height:6px;flex:0 0 6px}
  .consult-branches-strip a span{width:20px;height:20px;flex:0 0 20px}
}
.consult-branches-hero .branches-kicker,.consult-branches-hero h1,.consult-branches-hero__lead,.consult-branches-hero__actions,.consult-branches-strip{
  opacity:0;transform:translateY(22px);animation:branchesRise .9s cubic-bezier(.16,1,.3,1) forwards}
.consult-branches-hero h1{animation-delay:.08s}
.consult-branches-hero__lead{animation-delay:.16s}
.consult-branches-hero__actions{animation-delay:.24s}
.consult-branches-strip{animation-delay:.34s}

.consult-branches-proof .branches-proof__inner{max-width:1340px}
.consult-branches-method .branches-method__steps{align-self:start}
.consult-branches-method .branches-method__steps li{min-height:92px}
.consult-branches-method h2{font-size:clamp(2.5rem,4vw,3.65rem);line-height:1.04}
.consult-branches-chapter .branch-chapter__grid::before{background:
  linear-gradient(90deg,rgba(4,18,31,.32) 0%,rgba(5,31,50,.58) 38%,rgba(2,12,24,.94) 100%),
  radial-gradient(circle at 80% 24%,rgba(132,230,255,.16),transparent 34%),
  linear-gradient(180deg,rgba(3,12,22,.18),rgba(3,12,22,.46))}
.consult-branches-chapter .branch-chapter__media img{object-position:58% center;filter:grayscale(.2) saturate(.58) contrast(1.15) brightness(.62)}

.consult-branches-form{position:relative}
.consult-branches-form__grid{grid-template-columns:minmax(420px,.72fr) minmax(600px,1fr);max-width:1320px}
.consult-branches-form__notes{display:grid;gap:.85rem;margin-top:1.5rem;padding-top:1.15rem;border-top:1px solid #c8e0ea;color:#405c69}
.consult-branches-form__notes p{margin:0;color:#405c69;font-size:1rem;line-height:1.55}
.consult-branches-form__notes strong{color:#0a3148}
.consult-branches-form__notes a{font-weight:820;text-decoration:none}
.consult-branches-form__notes a:hover{text-decoration:underline;text-underline-offset:.22em}
.consult-contact-link{display:grid;grid-template-columns:34px minmax(0,1fr);gap:.75rem;align-items:center;width:fit-content;color:#0a5575;text-decoration:none}
.consult-contact-link__icon{display:grid;width:32px;height:32px;place-items:center;border:1px solid rgba(8,119,183,.4);border-radius:50%;color:#0877b7;transition:background-color .22s ease,border-color .22s ease,color .22s ease}
.consult-contact-link__icon svg{width:15px;height:15px}
.consult-contact-link small{display:block;margin-bottom:.08rem;color:#59727f;font-size:.73rem;font-weight:720;line-height:1.2}
.consult-contact-link strong{display:block;color:#075f91;font-size:1rem;line-height:1.28}
.consult-contact-link:hover,.consult-contact-link:focus-visible{text-decoration:none}
.consult-contact-link:hover .consult-contact-link__icon,.consult-contact-link:focus-visible .consult-contact-link__icon{border-color:#0877b7;background:#0877b7;color:#fff}
.consult-branches-form__stage{position:relative;isolation:isolate;align-self:start;width:100%}
.consult-branches-form__sigil{position:absolute;z-index:0;top:50%;right:-230px;width:460px;aspect-ratio:1;
  background:url('/assets/kabi-sygnet.svg') center/contain no-repeat;opacity:.12;pointer-events:none;user-select:none;
  transform:translateY(-50%) rotate(-5deg)}
.consult-branches-form__card{position:relative;z-index:1;align-self:start;border:1px solid #c8e0ea;border-radius:10px;background:#fff;
  box-shadow:0 24px 70px rgba(11,61,92,.13)}
.consult-branches-form .consult-smart-form .btn{min-height:54px}

.consult-branches-faq{background:#061525;overflow:visible}
.consult-branches-faq__layout{display:grid;grid-template-columns:minmax(440px,.72fr) minmax(620px,1fr);gap:clamp(2.2rem,5vw,5.2rem);
  align-items:start;max-width:1320px}
.consult-branches-faq__intro{position:sticky;top:calc(var(--header-h) + clamp(1.35rem,3vh,2.4rem));align-self:start}
.consult-branches-faq__list{display:grid;gap:0;border-top:1px solid rgba(154,224,247,.18)}
.consult-branches-faq details{border-bottom:1px solid rgba(154,224,247,.16)}
.consult-branches-faq summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;min-height:72px;
  color:#fff;font-size:1.05rem;font-weight:850;line-height:1.3;list-style:none}
.consult-branches-faq summary::-webkit-details-marker{display:none}
.consult-branches-faq summary::after{content:"+";display:grid;place-items:center;flex:0 0 auto;width:28px;height:28px;border-radius:999px;
  border:1px solid rgba(132,230,255,.32);color:#8be5ff;font-size:1.1rem;font-weight:700;line-height:1;transition:transform .22s cubic-bezier(.16,1,.3,1),background .22s cubic-bezier(.16,1,.3,1)}
.consult-branches-faq details[open] summary::after{background:rgba(132,230,255,.12);transform:rotate(45deg)}
.consult-branches-faq details p{max-width:52em;margin:0 0 1.2rem;color:rgba(222,239,247,.72);font-size:1rem;line-height:1.62}
.consult-branches-faq summary:focus-visible{outline:2px solid #84e6ff;outline-offset:5px;border-radius:6px}
.consult-branches-final .branches-final__inner{max-width:min(1240px,calc(100vw - 72px))}

@media(max-width:1120px){
  .consult-branches-form__grid,.consult-branches-faq__layout{grid-template-columns:1fr;max-width:860px}
  .consult-branches-form__sigil{right:-170px;width:410px;opacity:.1}
  .consult-branches-faq__intro{position:static}
  .consult-branches-method .branches-method__steps li{min-height:0}
}
@media(max-width:760px){
  .consult-branches-hero{min-height:100svh;min-height:100dvh}
  .consult-branches-hero__inner{padding-top:calc(var(--header-h) + 4rem);padding-bottom:3.5rem}
  .consult-branches-hero h1{font-size:2.65rem;line-height:1.04}
  .consult-branches-hero__lead{font-size:1rem;line-height:1.58}
  .consult-branches-hero__actions{display:grid;grid-template-columns:1fr;width:100%}
  .consult-branches-hero__actions .btn{width:100%;justify-content:center}
  .consult-branches-strip{justify-content:flex-start}
  .consult-branches-form__grid,.consult-branches-faq__layout{max-width:var(--wrap)}
  .consult-branches-form__sigil{right:-105px;width:280px;opacity:.07}
  .consult-branches-form__card{padding:1rem}
  .consult-branches-faq summary{min-height:66px;font-size:1rem}
  .consult-branches-faq details p{font-size:.98rem}
}
@media(prefers-reduced-motion:reduce){
  .consult-branches-hero__media{transform:none}
  .consult-branches-hero .branches-kicker,.consult-branches-hero h1,.consult-branches-hero__lead,.consult-branches-hero__actions,.consult-branches-strip{
    opacity:1;transform:none;animation:none!important}
}

/* =================================================================
   Kalkulator: kompletna podstrona ekspercka
   ================================================================= */
.calculator-experience-page{background:#061525;color:#e9f6fb}
.calculator-experience-page main{background:#061525}

.calc-page-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;
  min-height:100svh;min-height:100dvh;background:#04111e;color:#fff}
.calc-page-hero__media{position:absolute;inset:0;z-index:-3;overflow:hidden;
  background:#071a29 url('/assets/impact/impact-05-operational-costs.png') center/cover no-repeat;
  filter:saturate(.82) contrast(1.1) brightness(.72);transform:scale(1.015)}
.calc-page-hero__media video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;
  filter:grayscale(.08) saturate(.8) contrast(1.12) brightness(.78)}
.calc-page-hero__shade{position:absolute;inset:0;z-index:-2;pointer-events:none;background:
  linear-gradient(180deg,rgba(3,12,22,.68) 0%,rgba(4,21,34,.46) 34%,rgba(3,12,22,.94) 100%),
  linear-gradient(90deg,rgba(2,9,17,.84) 0%,rgba(6,35,54,.34) 48%,rgba(2,9,17,.86) 100%),
  radial-gradient(circle at 50% 34%,rgba(18,109,143,.2),rgba(3,12,22,.74) 58%,rgba(3,12,22,.98) 100%)}
.calc-page-hero__inner{position:relative;display:grid;justify-items:center;width:100%;
  padding-top:calc(var(--header-h) + 4.8rem);padding-bottom:clamp(3.8rem,7vw,6.4rem);text-align:center}
.calc-page-hero__copy{display:grid;justify-items:center;width:100%;max-width:1180px}
.calc-page-hero .branches-kicker{margin-bottom:1.1rem;opacity:0;transform:translateY(18px);animation:calcPageRise .8s cubic-bezier(.16,1,.3,1) .05s forwards}
.calc-page-hero h1{max-width:1180px;margin:0;color:#fff;font-size:clamp(3rem,4.55vw,4.55rem);line-height:1.02;font-weight:880;letter-spacing:0;text-wrap:balance;
  opacity:0;transform:translateY(22px);animation:calcPageRise .9s cubic-bezier(.16,1,.3,1) .12s forwards}
.calc-page-hero h1 span{display:block;white-space:nowrap}
.calc-page-hero__lead{max-width:800px;margin:1.25rem auto 0;color:rgba(226,243,249,.86);font-size:1.15rem;line-height:1.66;text-wrap:pretty;
  opacity:0;transform:translateY(20px);animation:calcPageRise .85s cubic-bezier(.16,1,.3,1) .2s forwards}
.calc-page-hero__actions{justify-content:center;margin-top:1.9rem;opacity:0;transform:translateY(18px);
  animation:calcPageRise .8s cubic-bezier(.16,1,.3,1) .28s forwards}

.calculator-experience-page .calc2-section{scroll-margin-top:calc(var(--header-h) + .5rem);padding-top:5.2rem;padding-bottom:7rem;
  border-top:1px solid rgba(154,224,247,.1)}
.calculator-experience-page .calc2-section>.wrap{max-width:1360px}
.calculator-experience-page .calc2-head{max-width:960px;margin-bottom:2.6rem}
.calculator-experience-page .calc2-head h2{font-size:3.55rem;line-height:1.04;letter-spacing:0;text-wrap:balance}
.calculator-experience-page .calc2-head p:not(.eyebrow){max-width:900px;font-size:1.06rem;line-height:1.68}

.calc-page-method{background:#edf8fb;color:#0a3148;border-top:1px solid #c9e2eb;border-bottom:1px solid #c9e2eb}
.calc-page-method .branches-kicker{color:#087fa7}
.calc-page-method h2{color:#092f45;font-size:3.8rem}
.calc-page-method p{color:#486571}
.calc-page-method .branches-method__steps li{border-left-color:#bddae5}
.calc-page-method .branches-method__steps li::before{background:#0a98c4;box-shadow:0 0 16px rgba(10,152,196,.18)}
.calc-page-method .branches-method__steps strong{color:#086884}
.calc-page-method .branches-method__steps span{color:#486571}

.calc-page-reading .branch-chapter__grid{grid-template-columns:minmax(0,.52fr) minmax(650px,.72fr);min-height:88svh;min-height:88dvh}
.calc-page-reading .branch-chapter__grid::before{background:
  linear-gradient(90deg,rgba(3,15,25,.25) 0%,rgba(4,24,39,.52) 37%,rgba(2,12,24,.95) 72%,rgba(2,10,19,.98) 100%),
  linear-gradient(180deg,rgba(3,13,23,.24),rgba(3,13,23,.56))}
.calc-page-reading .branch-chapter__media img{object-position:34% center;filter:grayscale(.12) saturate(.72) contrast(1.13) brightness(.68)}
.calc-page-reading h2{font-size:3.65rem}

.calc-page-faq{scroll-margin-top:calc(var(--header-h) + .5rem);padding-top:6.8rem;padding-bottom:7.4rem;background:#071729}
.calc-page-faq .consult-branches-faq__layout{max-width:1340px}
.calc-page-faq summary{padding:.2rem 0}
.calc-page-faq details[open] summary{color:#9feaff}
.calc-page-final{padding-top:5rem;padding-bottom:5rem}
.calc-page-final .branches-final__inner{max-width:min(1280px,calc(100vw - 72px))}
.calc-page-final h2{font-size:3.35rem}

@keyframes calcPageRise{to{opacity:1;transform:translateY(0)}}

@media(max-width:1120px){
  .calc-page-hero{min-height:100svh;min-height:100dvh}
  .calc-page-method h2{font-size:3.2rem}
  .calc-page-reading .branch-chapter__grid{grid-template-columns:1fr;min-height:82svh;min-height:82dvh}
  .calc-page-reading .branch-chapter__copy{max-width:760px;margin-left:auto}
  .calc-page-reading h2{font-size:3.2rem}
}
@media(max-width:760px){
  .calc-page-hero{min-height:100svh;min-height:100dvh;align-items:flex-start}
  .calc-page-hero__media video{object-position:center;filter:grayscale(.1) saturate(.72) contrast(1.1) brightness(.62)}
  .calc-page-hero__shade{background:
    linear-gradient(180deg,rgba(2,10,18,.76) 0%,rgba(3,17,29,.72) 42%,rgba(2,10,18,.96) 100%),
    linear-gradient(90deg,rgba(2,10,18,.76),rgba(3,17,29,.5))}
  .calc-page-hero__inner{padding-top:calc(var(--header-h) + 4rem);padding-bottom:3.5rem}
  .calc-page-hero h1{font-size:2.65rem;line-height:1.02}
  .calc-page-hero h1 span{white-space:normal}
  .calc-page-hero__lead{margin-top:1.05rem;font-size:1rem;line-height:1.55}
  .calc-page-hero__actions{display:grid;grid-template-columns:1fr;width:100%;gap:.65rem;margin-top:1.35rem}
  .calc-page-hero__actions .btn{width:100%;justify-content:center}
  .calc-page-hero__actions .branches-link{justify-content:center}
  .calculator-experience-page .calc2-section{padding-top:4.2rem;padding-bottom:5rem}
  .calculator-experience-page .calc2-head{margin-bottom:1.8rem}
  .calculator-experience-page .calc2-head h2{font-size:2.25rem;line-height:1.07}
  .calculator-experience-page .calc2-head p:not(.eyebrow){font-size:.98rem;line-height:1.6}
  .calc-page-method{padding-top:4.8rem;padding-bottom:4.8rem}
  .calc-page-method h2,.calc-page-reading h2,.calc-page-final h2{font-size:2.25rem;line-height:1.07}
  .calc-page-reading .branch-chapter__grid{min-height:auto;padding-top:5rem;padding-bottom:5rem}
  .calc-page-reading .branch-chapter__grid::before{background:
    linear-gradient(180deg,rgba(2,12,24,.86) 0%,rgba(3,18,31,.76) 34%,rgba(2,12,24,.97) 100%)}
  .calc-page-reading .branch-chapter__media img{object-position:43% center;filter:grayscale(.15) saturate(.66) contrast(1.1) brightness(.48)}
  .calc-page-faq{padding-top:4.8rem;padding-bottom:5rem}
  .calc-page-final{padding-top:4.2rem;padding-bottom:4.2rem}
  .calc-page-final .branches-final__inner{max-width:calc(100vw - 40px)}
}
@media(prefers-reduced-motion:reduce){
  .calc-page-hero__media{transform:none}
  .calc-page-hero .branches-kicker,.calc-page-hero h1,.calc-page-hero__lead,.calc-page-hero__actions{
    opacity:1;transform:none;animation:none!important}
}

/* =================================================================
   BAZA WIEDZY: lżejsze nagłówki (artykuły i kategorie).
   Pełnoekranowy landingowy hero był za ciężki dla wpisów blogowych.
   Selektory z podwójną klasą (.solution-hero.knowledge-*) biją reguły
   .solution-hero z solution-pages.css niezależnie od kolejności plików.
   ================================================================= */
/* Kategorie: niższy hero i mniejszy H1 niż na landingach rozwiązań. */
.solution-hero.knowledge-hero--compact{min-height:auto}
.solution-hero.knowledge-hero--compact .solution-hero__inner{
  align-items:end;
  min-height:clamp(400px,52vh,540px);
  padding-top:calc(var(--header-h) + 3rem);
  padding-bottom:clamp(2.6rem,4.5vw,4rem)}
.solution-hero.knowledge-hero--compact h1{font-size:clamp(2.2rem,4.4vw,3.5rem);max-width:16em;line-height:1.08}

/* Wpis blogowy: kompaktowy, redakcyjny nagłówek zamiast landingu. */
.solution-hero.knowledge-article-hero{min-height:auto}
.solution-hero.knowledge-article-hero::after{display:none}   /* bez dryfującego sygnetu */
.knowledge-article-hero__inner{
  position:relative;z-index:2;max-width:940px;
  min-height:clamp(300px,40vh,430px);
  display:flex;flex-direction:column;justify-content:flex-end;
  padding-top:calc(var(--header-h) + 3rem);
  padding-bottom:clamp(2.2rem,3.5vw,3.2rem)}
.knowledge-article-hero .firm-kicker{margin-bottom:.6rem}
.solution-hero.knowledge-article-hero h1{
  margin:0 0 .85rem;color:#fff;font-size:clamp(2rem,3.9vw,3.05rem);
  line-height:1.1;letter-spacing:0;max-width:20em;text-wrap:pretty}
.knowledge-article-hero__lead{
  max-width:46em;margin:0;color:#d9edf6;
  font-size:clamp(1.02rem,1.2vw,1.14rem);line-height:1.62;text-wrap:pretty}
.knowledge-article-hero__meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;
  list-style:none;margin:1.15rem 0 0;padding:0}
.knowledge-article-hero__meta li{
  color:#8de4ff;font-size:.76rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.knowledge-article-hero__meta li+li::before{content:"·";margin-right:.75rem;color:#8de4ff;opacity:.55}

/* Kolumna treści artykułu: przyjemny rytm czytania. */
.knowledge-article .prose{padding-block:clamp(2.6rem,5vw,4rem)}
.knowledge-article .prose h2{margin-top:2.2em}
.knowledge-article .prose h2:first-child{margin-top:0}

/* =================================================================
   BAZA WIEDZY: kaskadowe reveal list z artykułami/kategoriami
   (odpowiednik animowanych kart treści na stronach rozwiązań).
   Powiązane strony / FAQ / CTA pozostają statyczne — jak w rozwiązaniach.
   ================================================================= */
.knowledge-page .knowledge-index__rows>a.reveal:nth-child(2),
.knowledge-page .knowledge-stream__list>a.reveal:nth-child(2){transition-delay:.07s}
.knowledge-page .knowledge-index__rows>a.reveal:nth-child(3),
.knowledge-page .knowledge-stream__list>a.reveal:nth-child(3){transition-delay:.14s}
.knowledge-page .knowledge-index__rows>a.reveal:nth-child(4),
.knowledge-page .knowledge-stream__list>a.reveal:nth-child(4){transition-delay:.21s}
.knowledge-page .knowledge-index__rows>a.reveal:nth-child(5){transition-delay:.28s}

/* =================================================================
   BAZA WIEDZY: znak wodny (sygnet Kabi) w tle sekcji treści.
   Delikatny, nie przeszkadza w czytaniu; wchodzi na hub, kategorie i wpisy.
   ================================================================= */
.knowledge-page .knowledge-stream,
.knowledge-page .knowledge-article{position:relative;overflow:clip}
.knowledge-page .knowledge-stream::before,
.knowledge-page .knowledge-article::before{
  content:"";
  position:absolute;
  z-index:0;
  right:clamp(-170px,-7vw,-60px);
  top:50%;
  width:clamp(300px,32vw,540px);
  aspect-ratio:1;
  background:url('/assets/kabi-sygnet.svg') center/contain no-repeat;
  opacity:.06;
  transform:translateY(-50%);
  pointer-events:none;
  user-select:none;
}
.knowledge-page .knowledge-stream>.wrap,
.knowledge-page .knowledge-article>.wrap{position:relative;z-index:1}

/* =================================================================
   USŁUGI: proces współpracy w editorial — duże numery zamiast kółek.
   ================================================================= */
.uslugi-process{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:clamp(1.8rem,3vw,2.8rem) 0 0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--line);
}
.uslugi-process li{
  padding:clamp(1.6rem,2.4vw,2.1rem) 30px clamp(.4rem,1vw,.9rem) 0;
  border-right:1px solid var(--line);
}
.uslugi-process li+li{padding-left:30px}
.uslugi-process li:last-child{border-right:0}
.uslugi-process__no{
  display:block;
  margin-bottom:clamp(1rem,2vw,1.7rem);
  font-family:var(--font-display);
  font-weight:850;
  line-height:1;
  font-size:clamp(2.3rem,3.6vw,3.2rem);
  color:#0b75a4;
  letter-spacing:-.01em;
}
.uslugi-process li h3{margin:0 0 .4rem;color:var(--navy);font-size:1.16rem;line-height:1.25}
.uslugi-process li p{margin:0;color:var(--muted);line-height:1.6;max-width:32ch}
@media(max-width:760px){
  .uslugi-process{grid-template-columns:1fr;border-top:0}
  .uslugi-process li{border-right:0;border-top:1px solid var(--line);padding:1.35rem 0}
  .uslugi-process__no{margin-bottom:.55rem}
}

/* =================================================================
   BAZA WIEDZY: „Polecany temat" jako immersyjna karta editorial
   (duże zdjęcie + gradient + tekst na obrazie), zamiast płaskiego
   układu obraz-obok-tekstu. Bogatsze, mniej „stockowe".
   ================================================================= */
.knowledge-feature{padding:clamp(3rem,6vw,5rem) 0;background:#fff}
.knowledge-feature__card{
  position:relative;display:block;overflow:hidden;isolation:isolate;
  min-height:clamp(430px,46vw,540px);border-radius:16px;background:#0b3145;
  box-shadow:0 30px 70px rgba(6,24,39,.22);text-decoration:none;
}
.knowledge-feature__img{
  position:absolute;inset:0;z-index:-2;
  background:var(--kf-img) center/cover no-repeat;
  transform:scale(1.02);transition:transform .9s cubic-bezier(.2,.76,.2,1);
}
.knowledge-feature__card:hover .knowledge-feature__img,
.knowledge-feature__card:focus-visible .knowledge-feature__img{transform:scale(1.07)}
.knowledge-feature__shade{
  position:absolute;inset:0;z-index:-1;background:
    linear-gradient(90deg,rgba(4,20,33,.95) 0%,rgba(4,20,33,.8) 38%,rgba(4,20,33,.32) 70%,rgba(4,20,33,.1) 100%),
    linear-gradient(0deg,rgba(4,20,33,.78),rgba(4,20,33,0) 58%);
}
.knowledge-feature__body{
  position:relative;height:100%;min-height:inherit;max-width:640px;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:clamp(1.9rem,4vw,3.4rem);
}
.knowledge-feature__eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .9rem;margin:0 0 1.05rem}
.knowledge-feature__badge{
  display:inline-flex;align-items:center;padding:.36rem .72rem;border-radius:999px;
  background:var(--brand);color:#fff;font-size:.69rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase;
}
.knowledge-feature__meta{color:#8de4ff;font-size:.76rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.knowledge-feature__card h2{
  margin:0 0 .85rem;color:#fff;font-weight:800;letter-spacing:-.01em;
  font-size:clamp(1.9rem,3.3vw,2.85rem);line-height:1.08;max-width:15em;text-wrap:pretty;
}
.knowledge-feature__lead{
  margin:0 0 1.5rem;color:rgba(224,240,247,.86);
  font-size:clamp(1rem,1.15vw,1.12rem);line-height:1.55;max-width:46ch;
}
.knowledge-feature__cta{display:inline-flex;align-items:center;gap:.5rem;color:#fff;font-weight:850;font-size:1rem}
.knowledge-feature__cta i{font-style:normal;transition:transform .25s ease}
.knowledge-feature__card:hover .knowledge-feature__cta i,
.knowledge-feature__card:focus-visible .knowledge-feature__cta i{transform:translate(4px,-4px)}
@media(max-width:640px){
  .knowledge-feature__card{min-height:clamp(400px,92vw,480px)}
  .knowledge-feature__body{max-width:none}
  .knowledge-feature__shade{background:
    linear-gradient(0deg,rgba(4,20,33,.94) 0%,rgba(4,20,33,.62) 46%,rgba(4,20,33,.28) 100%)}
}

/* =================================================================
   BAZA WIEDZY: kategorie jako immersyjne karty ze zdjęciami
   (wzorem kart Branże) — zamiast płaskiej listy.
   ================================================================= */
.knowledge-cards{padding:clamp(3.4rem,6vw,6rem) 0;background:#eef5f9}
.knowledge-cards__grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(288px,1fr));
  gap:clamp(1rem,1.5vw,1.4rem);margin-top:clamp(1.8rem,3vw,2.6rem);
}
.kcard{
  position:relative;display:block;overflow:hidden;isolation:isolate;
  min-height:clamp(300px,27vw,360px);border-radius:14px;background:#0b3145;
  text-decoration:none;box-shadow:0 18px 44px rgba(6,24,39,.16);
  transition:transform .3s ease,box-shadow .3s ease;
}
.kcard:hover,.kcard:focus-visible{transform:translateY(-5px);box-shadow:0 30px 64px rgba(6,24,39,.28)}
.kcard__img{
  position:absolute;inset:0;z-index:-2;background:var(--kc-img) center/cover no-repeat;
  transform:scale(1.03);transition:transform .85s cubic-bezier(.2,.76,.2,1);
}
.kcard:hover .kcard__img,.kcard:focus-visible .kcard__img{transform:scale(1.1)}
.kcard__shade{
  position:absolute;inset:0;z-index:-1;
  background:linear-gradient(0deg,rgba(4,20,33,.96) 6%,rgba(4,20,33,.58) 46%,rgba(4,20,33,.2) 100%);
}
.kcard__body{
  position:relative;display:flex;flex-direction:column;height:100%;min-height:inherit;
  padding:clamp(1.3rem,2vw,1.85rem);
}
.kcard__no{font-family:var(--font-display);font-weight:850;font-size:1.55rem;line-height:1;color:#8de4ff;margin-bottom:auto}
.kcard__title{display:block;margin:.95rem 0 .4rem;color:#fff;font-weight:800;font-size:clamp(1.16rem,1.5vw,1.42rem);line-height:1.2;letter-spacing:-.01em}
.kcard__desc{display:block;color:rgba(223,240,247,.82);font-size:.93rem;line-height:1.5}
.kcard__go{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;color:#fff;font-weight:850;font-size:.9rem}
.kcard__go i{font-style:normal;transition:transform .25s ease}
.kcard:hover .kcard__go i,.kcard:focus-visible .kcard__go i{transform:translate(3px,-3px)}

/* Polecany temat: kafelki statystyk (frosted glass) po prawej stronie karty */
.knowledge-feature__stats{
  position:absolute;z-index:1;
  right:clamp(1.4rem,3vw,3.2rem);bottom:clamp(1.9rem,4vw,3.4rem);
  display:flex;flex-direction:column;gap:.7rem;width:min(290px,40%);
}
.kf-stat{
  padding:.9rem 1.1rem;border-radius:13px;
  background:rgba(7,26,41,.46);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(141,228,255,.3);
}
.kf-stat strong{display:block;font-family:var(--font-display);font-size:1.55rem;font-weight:850;line-height:1;color:#8de4ff}
.kf-stat span{display:block;margin-top:.35rem;color:rgba(226,241,248,.92);font-size:.82rem;line-height:1.35}
@media(max-width:820px){.knowledge-feature__stats{display:none}}

/* =================================================================
   BAZA WIEDZY: magazynowy układ artykułów — 1 duży + 2 mniejsze karty.
   Zastępuje pojedynczą "Polecany temat" oraz "Ostatnie materiały".
   ================================================================= */
.knowledge-mag{padding:clamp(3.4rem,6vw,6rem) 0;background:#fff}
.knowledge-mag__grid{
  display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.95fr);
  gap:clamp(1rem,1.5vw,1.4rem);margin-top:clamp(1.8rem,3vw,2.6rem);
}
.knowledge-mag__side{display:grid;grid-template-rows:1fr 1fr;gap:clamp(1rem,1.5vw,1.4rem)}
.kmag{
  position:relative;display:block;overflow:hidden;isolation:isolate;border-radius:16px;
  background:#0b3145;text-decoration:none;box-shadow:0 18px 44px rgba(6,24,39,.16);
  transition:transform .3s ease,box-shadow .3s ease;
}
.kmag:hover,.kmag:focus-visible{transform:translateY(-4px);box-shadow:0 30px 64px rgba(6,24,39,.28)}
.kmag--lead{min-height:clamp(430px,44vw,545px)}
.kmag--sm{min-height:clamp(190px,20vw,262px)}
.kmag__img{position:absolute;inset:0;z-index:-2;background:var(--kc-img) center/cover no-repeat;transform:scale(1.03);transition:transform .85s cubic-bezier(.2,.76,.2,1)}
.kmag:hover .kmag__img,.kmag:focus-visible .kmag__img{transform:scale(1.09)}
.kmag__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(4,20,33,.95) 8%,rgba(4,20,33,.5) 52%,rgba(4,20,33,.16) 100%)}
.kmag--lead .kmag__shade{background:
  linear-gradient(90deg,rgba(4,20,33,.95) 0%,rgba(4,20,33,.78) 38%,rgba(4,20,33,.3) 72%,rgba(4,20,33,.1) 100%),
  linear-gradient(0deg,rgba(4,20,33,.72),rgba(4,20,33,0) 58%)}
.kmag__body{position:relative;display:flex;flex-direction:column;justify-content:flex-end;height:100%;min-height:inherit;padding:clamp(1.3rem,2.2vw,1.9rem)}
.kmag--lead .kmag__body{max-width:640px}
.kmag__eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin:0 0 .85rem}
.kmag__meta{color:#8de4ff;font-size:.74rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.kmag--sm .kmag__meta{margin:0 0 .45rem}
.kmag__title{margin:0;color:#fff;font-weight:800;line-height:1.16;letter-spacing:-.01em;font-size:clamp(1.1rem,1.5vw,1.4rem);text-wrap:pretty}
.kmag__title--lg{font-size:clamp(1.85rem,3.1vw,2.7rem);line-height:1.08;max-width:15em;margin-bottom:.85rem}
.kmag__lead{margin:0 0 1.35rem;color:rgba(224,240,247,.86);font-size:clamp(1rem,1.1vw,1.1rem);line-height:1.55;max-width:44ch}
.kmag__cta{display:inline-flex;align-items:center;gap:.5rem;color:#fff;font-weight:850;font-size:1rem}
.kmag__cta i{font-style:normal;transition:transform .25s ease}
.kmag--lead:hover .kmag__cta i,.kmag--lead:focus-visible .kmag__cta i{transform:translate(4px,-4px)}
.kmag--sm:hover .kmag__title,.kmag--sm:focus-visible .kmag__title{text-decoration:underline;text-underline-offset:.22em}
@media(max-width:820px){
  .knowledge-mag__grid{grid-template-columns:1fr}
  .knowledge-mag__side{grid-template-rows:auto}
  .kmag--lead .kmag__body{max-width:none}
  .knowledge-feature__stats{display:none}
}

/* =================================================================
   BAZA WIEDZY: sekcja artykułów w stylu kart Branże —
   ciemna sekcja + baner ze zdjęciem + czyste numerowane karty tekstowe.
   ================================================================= */
.knowledge-branze{position:relative;padding:clamp(3.6rem,7vw,6.5rem) 0;background:linear-gradient(158deg,#0a2740 0%,#061525 62%);color:#e9f6fb;overflow:clip}
.knowledge-branze .firm-kicker{color:var(--accent)}
.knowledge-branze .firm-section-head h2{color:#fff}
.knowledge-branze__media{
  height:clamp(240px,26vw,360px);
  margin:clamp(1.7rem,3vw,2.4rem) 0 clamp(1.3rem,2vw,1.8rem);
  border-radius:18px;background:var(--kb-img) center/cover no-repeat;
  position:relative;overflow:hidden;border:1px solid rgba(168,232,255,.16);box-shadow:0 30px 70px rgba(0,0,0,.42);
}
.knowledge-branze__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(2,9,14,.5))}
.knowledge-branze__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.4vw,2rem)}
.kbcard{
  position:relative;display:flex;flex-direction:column;gap:.45rem;
  padding:1.15rem 0 1.3rem;border-top:2px solid rgba(127,212,239,.4);
  text-decoration:none;transition:border-color .25s ease;
}
.kbcard:hover,.kbcard:focus-visible{border-top-color:var(--accent)}
.kbcard__num{font-family:var(--font-display);font-size:1.5rem;font-weight:850;color:var(--accent);line-height:1}
.kbcard__meta{color:rgba(215,238,248,.58);font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.kbcard__title{margin:.15rem 0 0;color:#fff;font-size:clamp(1.06rem,1.3vw,1.3rem);line-height:1.2;font-weight:780;letter-spacing:-.01em}
.kbcard__desc{margin:0;color:rgba(215,238,248,.82);font-size:.92rem;line-height:1.5}
.kbcard__go{display:inline-flex;align-items:center;gap:.4rem;margin-top:.45rem;color:var(--accent);font-weight:850;font-size:.85rem}
.kbcard__go i{font-style:normal;transition:transform .2s ease}
.kbcard:hover .kbcard__go i,.kbcard:focus-visible .kbcard__go i{transform:translate(3px,-3px)}
.kbcard:hover .kbcard__title,.kbcard:focus-visible .kbcard__title{text-decoration:underline;text-underline-offset:.22em}
@media(max-width:820px){.knowledge-branze__grid{grid-template-columns:1fr;gap:0}
  .kbcard{padding:1.2rem 0}.kbcard+.kbcard{border-top-width:1px}}

/* =================================================================
   BAZA WIEDZY: karty kategorii — zdjęcie u góry, tekst pod spodem
   (bez tekstu na zdjęciu). Czyste, w duchu Branże.
   ================================================================= */
.kccard{
  display:flex;flex-direction:column;overflow:hidden;border-radius:14px;
  background:#fff;text-decoration:none;
  box-shadow:0 12px 30px rgba(6,24,39,.09);
  transition:transform .3s ease,box-shadow .3s ease;
}
.kccard:hover,.kccard:focus-visible{transform:translateY(-5px);box-shadow:0 26px 56px rgba(6,24,39,.18)}
.kccard__img{
  display:block;aspect-ratio:16/10;
  background:var(--kc-img) center/cover no-repeat;
  border-bottom:3px solid var(--accent);
}
.kccard__body{display:flex;flex-direction:column;gap:.35rem;padding:1.25rem 1.35rem 1.5rem}
.kccard__no{font-family:var(--font-display);font-size:1.35rem;font-weight:850;color:#0b75a4;line-height:1;margin-bottom:.15rem}
.kccard__title{color:var(--navy);font-size:clamp(1.1rem,1.4vw,1.34rem);font-weight:800;line-height:1.2;letter-spacing:-.01em}
.kccard__desc{color:var(--muted);font-size:.92rem;line-height:1.5}
.kccard__go{display:inline-flex;align-items:center;gap:.4rem;margin-top:.6rem;color:var(--brand-dark);font-weight:850;font-size:.88rem}
.kccard__go i{font-style:normal;transition:transform .2s ease}
.kccard:hover .kccard__go i,.kccard:focus-visible .kccard__go i{transform:translate(3px,-3px)}
/* 5 kart: 3 w rzędzie, ostatni rząd (2) wyśrodkowany — bez pustej dziury */
.knowledge-cards__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(1rem,1.5vw,1.5rem)}
.knowledge-cards__grid .kccard{flex:1 1 300px;max-width:392px}
@media(max-width:620px){.knowledge-cards__grid .kccard{flex-basis:100%;max-width:none}}

/* =================================================================
   Membrany RO — dedykowana kategoria redakcyjna
   ================================================================= */
.knowledge-category--membrany-ro{
  --membrane-deep:#041423;
  --membrane-navy:#0b3047;
  --membrane-ink:#0b3047;
  --membrane-copy:#58717f;
  --membrane-line:#d4e0e6;
}
.knowledge-category--membrany-ro .knowledge-hero{
  min-height:100svh;min-height:100dvh;background:var(--membrane-deep);
}
.knowledge-category--membrany-ro .knowledge-hero .solution-hero__inner{
  width:min(1360px,calc(100% - 72px));max-width:1360px;min-height:100svh;min-height:100dvh;
  grid-template-columns:minmax(0,1fr) minmax(330px,.58fr);align-items:center;
  padding-top:calc(var(--header-h) + 4.5rem);padding-bottom:clamp(4.8rem,8vw,7rem);
}
.knowledge-category--membrany-ro .knowledge-hero .solution-hero__copy{max-width:830px}
.knowledge-category--membrany-ro .knowledge-hero h1{
  max-width:790px;margin:0 0 1.25rem;color:#fff;font-size:clamp(3.7rem,5.3vw,5.25rem);line-height:.99;text-wrap:balance;
}
.knowledge-category--membrany-ro .knowledge-hero .solution-hero__copy>p:not(.firm-kicker){
  max-width:700px;color:rgba(224,239,246,.82);font-size:1.08rem;line-height:1.66;
}
.knowledge-category--membrany-ro .knowledge-hero .solution-hero__media{
  background-position:58% center;filter:saturate(.72) contrast(1.08) brightness(.72);transform:scale(1.018);
}
.knowledge-category--membrany-ro .knowledge-hero .solution-hero__shade{
  background:linear-gradient(90deg,rgba(3,15,26,.98) 0%,rgba(4,23,37,.94) 42%,rgba(4,21,34,.58) 72%,rgba(3,15,25,.5) 100%),linear-gradient(180deg,rgba(3,14,24,.25),rgba(3,14,24,.88));
}
.knowledge-category--membrany-ro .knowledge-hero::after{
  top:auto;right:-10vw;bottom:-16vw;width:min(660px,46vw);max-width:none;opacity:.055;animation:none;transform:none;
}
.knowledge-category--membrany-ro .knowledge-hero__panel{
  align-self:center;overflow:visible;padding:0 0 0 clamp(26px,3vw,46px);border:0;border-left:1px solid rgba(255,255,255,.3);
  border-radius:0;background:transparent;backdrop-filter:none;
}
.knowledge-category--membrany-ro .knowledge-hero__panel::before{display:none}
.knowledge-category--membrany-ro .knowledge-hero__panel div{padding:1.2rem 0;border-color:rgba(255,255,255,.16)}
.knowledge-category--membrany-ro .knowledge-hero__panel span{color:rgba(255,255,255,.62)}
.knowledge-category--membrany-ro .knowledge-hero__panel strong{color:#fff}

.membrane-category-intro{position:relative;isolation:isolate;overflow:hidden;padding:clamp(5.5rem,8vw,8rem) 0;background:#fff}
.membrane-category-intro__mark{
  position:absolute;z-index:-1;top:50%;right:clamp(-100px,-3vw,-30px);width:clamp(340px,30vw,560px);aspect-ratio:1;
  background:url('/assets/kabi-sygnet.svg') center/contain no-repeat;opacity:.045;transform:translateY(-50%) rotate(-6deg);pointer-events:none;
}
.membrane-category-intro__grid{
  display:grid;grid-template-columns:minmax(470px,.96fr) minmax(0,1.04fr);gap:clamp(3.5rem,6vw,6.8rem);align-items:start;
}
.membrane-category-intro .firm-section-head{position:sticky;top:calc(var(--header-h) + 2rem);max-width:630px;margin:0}
.membrane-category-intro .firm-section-head h2{max-width:620px;color:var(--membrane-ink);font-size:clamp(2.5rem,3.25vw,3.45rem);line-height:1.04;text-wrap:balance}
.membrane-category-intro .firm-section-head p:not(.firm-kicker){max-width:600px;margin-top:1.35rem;color:var(--membrane-copy);font-size:1.05rem;line-height:1.68}
.membrane-category-intro__steps{margin:0;padding:0;border-top:1px solid var(--membrane-line);list-style:none}
.membrane-category-intro__steps li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:24px;padding:30px 0;border-bottom:1px solid var(--membrane-line)}
.membrane-category-intro__steps>li>span{color:#55707e;font-family:var(--font-display);font-size:.82rem;font-weight:850;letter-spacing:.08em}
.membrane-category-intro__steps strong{display:block;color:var(--membrane-ink);font-size:1.2rem;line-height:1.3}
.membrane-category-intro__steps p{max-width:660px;margin:.55rem 0 0;color:var(--membrane-copy);line-height:1.62}
.knowledge-category--membrany-ro .knowledge-stream{background:#f7f9fa}
.knowledge-category--membrany-ro .knowledge-stream__grid{gap:clamp(3.5rem,8vw,8rem)}
.knowledge-category--membrany-ro .knowledge-stream__list a{grid-template-columns:160px minmax(180px,.34fr) minmax(0,1fr);min-height:142px}
.knowledge-category--membrany-ro .knowledge-stream__list img{width:160px;height:104px;border-radius:4px}

body.knowledge-category--membrany-ro .reveal,
body.knowledge-category--membrany-ro .reveal-left,
body.knowledge-category--membrany-ro .reveal-right{
  opacity:0!important;transform:translateY(24px)!important;
  transition:opacity .72s cubic-bezier(.16,1,.3,1),transform .72s cubic-bezier(.16,1,.3,1)!important;
}
body.knowledge-category--membrany-ro .reveal-left{transform:translateX(-34px)!important}
body.knowledge-category--membrany-ro :is(.reveal,.reveal-left,.reveal-right).in-view{opacity:1!important;transform:none!important}
.membrane-category-intro__steps>.reveal:nth-child(2){transition-delay:.08s!important}
.membrane-category-intro__steps>.reveal:nth-child(3){transition-delay:.16s!important}

@media(max-width:1000px){
  .knowledge-category--membrany-ro .knowledge-hero .solution-hero__inner,
  .membrane-category-intro__grid{grid-template-columns:1fr}
  .knowledge-category--membrany-ro .knowledge-hero__panel{max-width:680px}
  .membrane-category-intro .firm-section-head{position:static}
}
@media(max-width:700px){
  .knowledge-category--membrany-ro .knowledge-hero .solution-hero__inner{width:calc(100% - 32px);padding-top:calc(var(--header-h) + 3.8rem)}
  .knowledge-category--membrany-ro .knowledge-hero h1{font-size:clamp(2.55rem,12vw,3.4rem)}
  .knowledge-category--membrany-ro .knowledge-hero__panel{padding-left:20px}
  .knowledge-category--membrany-ro .knowledge-hero::after{right:-32vw;bottom:-12vw;width:90vw}
  .membrane-category-intro__mark{right:-130px;width:310px;opacity:.035}
  .membrane-category-intro__steps li{grid-template-columns:40px minmax(0,1fr);gap:15px;padding:25px 0}
  .knowledge-category--membrany-ro .knowledge-stream__list a{grid-template-columns:1fr}
  .knowledge-category--membrany-ro .knowledge-stream__list img{width:100%;height:190px}
}
@media(prefers-reduced-motion:reduce){
  body.knowledge-category--membrany-ro :is(.reveal,.reveal-left,.reveal-right){opacity:1!important;transform:none!important;transition:none!important}
  .knowledge-category--membrany-ro .knowledge-hero .solution-hero__media{transform:none}
}

/* ===================================================================
   Mobile coherence pass
   Wspolny rytm, pelna nawigacja i odporne uklady dla PL / EN / DE / AR.
   =================================================================== */
.skip{
  position:fixed;top:0;left:12px;z-index:220;
  transform:translateY(calc(-100% - 16px));
}
.skip:focus{top:12px;left:12px;transform:none}

html.nav-open,html.nav-open body{overflow:hidden;overscroll-behavior:none}

@media(max-width:1160px){
  .site-header{height:var(--header-h)}
  .primary{
    inset:var(--header-h) 0 0 0;
    width:100%;height:calc(100svh - var(--header-h));height:calc(100dvh - var(--header-h));max-height:none;
    padding:12px 20px calc(20px + env(safe-area-inset-bottom));
    background:#fff;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
    transform:translateY(calc(-100% - var(--header-h)));
  }
  .primary.open{transform:none}
  .menu{width:100%;align-items:stretch;gap:0}
  .menu>li{width:100%}
  .menu>li>a{
    width:100%;min-height:50px;justify-content:space-between;padding:.72rem .25rem;
    color:var(--navy);font-size:.98rem;text-align:start;
  }
  .menu>.nav-calculator-item{width:100%;margin:.55rem 0 .2rem}
  .menu>.nav-calculator-item>a{width:100%;justify-content:center}
  .nav-panel{width:100%;padding:.2rem 0 .65rem .65rem}
  .nav-panel__groups,.nav-panel__links{width:100%}
  .nav-panel__links a{width:100%;min-width:0}
  .language-switch,.nav-cta{width:100%}
  .nav-cta{margin-top:.8rem}
  .nav-toggle{min-width:44px;min-height:44px;align-items:center;justify-content:center}
  html[dir="rtl"] .nav-panel{padding-right:.65rem;padding-left:0}
}

@media(max-width:760px){
  :root{--mobile-pad:20px}
  body{font-size:16px}
  .wrap{width:100%;max-width:100%;padding-inline:var(--mobile-pad)}
  main{width:100%;max-width:100%}
  main>section,main>article{max-width:100%}
  main :where(.wrap,.grid,[class*="__grid"],[class*="__inner"],[class*="__copy"],[class*="__content"],header,article,aside,form,fieldset){min-width:0}
  h1,h2,h3{max-width:100%;text-wrap:balance;overflow-wrap:anywhere}
  p,li,summary,label,a,strong,span{text-wrap:pretty}
  .btn{max-width:100%;min-height:48px;justify-content:center;white-space:normal;text-align:center}
  .ui-arrow{--ui-arrow-size:1rem;display:inline-grid;flex:0 0 var(--ui-arrow-size);width:var(--ui-arrow-size);height:var(--ui-arrow-size);
    place-items:center;overflow:hidden;font-size:0!important;font-style:normal;line-height:0!important;vertical-align:-.12em}
  .ui-arrow::before{content:"";display:block;width:100%;height:100%;background:currentColor;
    -webkit-mask:var(--ui-arrow-mask) center/contain no-repeat;mask:var(--ui-arrow-mask) center/contain no-repeat}
  .ui-arrow--up-right{--ui-arrow-mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M7%2017%2017%207M7%207h10v10'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E")}
  .ui-arrow--right{--ui-arrow-mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M5%2012h14M13%206l6%206-6%206'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E")}
  .ui-arrow--down-right{--ui-arrow-mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M7%207l10%2010M17%207v10H7'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E")}
  .ui-arrow--down{--ui-arrow-mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M12%205v14M6%2013l6%206%206-6'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E")}
  html[dir="rtl"] :is(.ui-arrow--up-right,.ui-arrow--right,.ui-arrow--down-right)::before{transform:scaleX(-1)}
  .btn-arrow::after{content:"";flex-basis:1rem;width:1rem;height:1rem;background:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M7%2017%2017%207M7%207h10v10'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M7%2017%2017%207M7%207h10v10'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
  html[dir="rtl"] .btn-arrow::after{transform:scaleX(-1)}
  html[dir="rtl"] .btn-arrow:hover::after,html[dir="rtl"] .btn-arrow:focus-visible::after{transform:translate(-2px,-2px) scaleX(-1)}
  .expert-controls button{font-size:0}
  .expert-controls button::before{content:"";width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor}
  .expert-controls [data-reel-prev]::before{transform:rotate(135deg)}
  .expert-controls [data-reel-next]::before{transform:rotate(-45deg)}
  html[dir="rtl"] .expert-controls [data-reel-prev]::before{transform:rotate(-45deg)}
  html[dir="rtl"] .expert-controls [data-reel-next]::before{transform:rotate(135deg)}
  .expert-reel{touch-action:pan-y;overscroll-behavior-inline:contain}
  .gallery-arrow{display:grid;width:44px;height:44px;place-items:center}
  html[dir="rtl"] .gallery-arrow svg,html[dir="rtl"] .nav-panel__links svg{transform:scaleX(-1)}
  .cta-row,.cta-actions{width:100%}
  input,select,textarea,button{max-width:100%}
  .table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
  body:not(.has-video-hero) table{min-width:36rem}
  .breadcrumb{max-width:100%;overflow-wrap:anywhere}

  .reveal-left,.reveal-right,.scroll-fly-item{transform:translateY(14px)}
  .reveal-left.in-view,.reveal-right.in-view,.scroll-fly-item.in-view{transform:none}

  /* Strona glowna: naturalna wysokosc i stabilny rotator korzysci. */
  .hero-editorial .hero-inner-v{
    min-height:100svh;min-height:100dvh;height:auto;
    padding:calc(var(--header-h) + 1.45rem) var(--mobile-pad) 2.6rem;
  }
  .hero-editorial__stage{min-height:0}
  .hero-editorial__brand{font-size:3rem;line-height:.86;letter-spacing:-.045em}
  .hero-editorial__lower{gap:1.45rem;margin-top:1.8rem}
  .hero-editorial__eyebrow{font-size:.66rem;line-height:1.45}
  .hero-editorial .hero-copy h1{max-width:100%;font-size:2.35rem;line-height:1.02}
  .hero-editorial .hero-copy .lead{font-size:1rem;line-height:1.52}
  .hero-editorial .hero-pills{gap:.62rem;margin-top:1.35rem}
  .hero-editorial .hero-editorial__benefit{
    max-width:100%;margin:0;padding:1.2rem 0 0;border-top:1px solid rgba(155,232,255,.28)
  }
  .hero-editorial .hero-benefit__label{margin-bottom:.55rem}
  .hero-editorial .hero-benefit__slider{min-height:4.35em;overflow:hidden}
  .hero-editorial .hero-benefit__slider .hero-sentence{
    font-size:1.45rem;line-height:1.2;white-space:normal;text-wrap:balance
  }
  html[lang="de"] .hero-editorial .hero-copy h1{font-size:1.85rem;hyphens:auto;overflow-wrap:anywhere}
  html[lang="ar"] .hero-editorial .hero-copy h1{font-size:2.05rem}

  /* Partnerzy: ta sama tresc co na desktopie, bez absolutnych kolizji. */
  .partner-marquee{display:flex;min-height:0;flex-direction:column;align-items:stretch;padding:3.25rem 0 2.6rem}
  .partner-trust-panel{
    position:relative;top:auto;left:auto;width:calc(100% - 40px);max-width:36rem;margin:0 auto;
    opacity:1;transform:none;filter:none
  }
  .partner-trust-label{font-size:1.55rem}
  .partner-trust-panel p{max-width:34ch;margin-top:.8rem;font-size:.88rem;line-height:1.55}
  .partner-rails{order:2;gap:1.2rem;padding:2.4rem 0 0}
  .partner-rail{height:58px}
  .partner-track{gap:.8rem}
  .partner-logo{flex-basis:108px;height:52px;padding:.35rem .5rem}
  .partner-scale-group{
    position:relative;right:auto;bottom:auto;left:auto;order:3;display:grid;width:calc(100% - 40px);max-width:36rem;
    margin:2.15rem auto 0;gap:.85rem;opacity:1;transform:none
  }
  .partner-scale-copy{max-width:none;margin:0;font-size:1.1rem;line-height:1.3;white-space:normal;text-align:center}
  .partner-growth-arrow{display:none}
  .partner-scale-badge{width:100%;min-width:0;padding:1rem;text-align:center}
  .partner-scale-badge strong{font-size:2.4rem}

  .branches-savings__value{max-width:100%;font-size:2rem;white-space:normal;overflow-wrap:anywhere}

  /* Formularz konsultacji: dekoracja nie moze poszerzac dokumentu. */
  .consult-branches-form{overflow:clip}
  .consult-branches-form__sigil{right:-72px;width:220px;opacity:.055}
  .consult-branches-form__card{width:100%;min-width:0}

  /* Mobilna stopka: marka i kontakt maja pelna szerokosc, linki tworza zwarty katalog. */
  .footer-grid{
    grid-template-columns:1fr;gap:0;
    padding:2.65rem var(--mobile-pad) 2rem
  }
  .footer-grid>*{min-width:0}
  .fbrand{
    align-self:auto;justify-self:stretch;align-items:flex-start;
    padding:0 0 1.75rem;border-bottom:1px solid rgba(255,255,255,.12)
  }
  .fbrand-logo{justify-content:flex-start;width:auto;margin-bottom:1.1rem}
  .fbrand-logo__image{width:min(270px,76vw)}
  .footer-socials{justify-content:flex-start}
  .footer-links{
    display:block;columns:2;column-gap:2rem;
    padding:1.8rem 0 .15rem
  }
  .footer-links .fcol{
    display:inline-block;width:100%;margin:0 0 1.7rem;
    break-inside:avoid;vertical-align:top
  }
  .footer-links .fcol h3{margin-bottom:.8rem}
  .footer-links .fcol ul{gap:.6rem}
  .footer-offices{
    grid-column:auto;padding:1.7rem 0 0;
    border-top:1px solid rgba(255,255,255,.12)
  }
  .footer-location{padding:0;border-left:0;gap:.3rem;font-size:.9rem}
  .footer-location strong{font-size:1.05rem}
  .footer-location a{font-size:.9rem}
  .footer-bottom{
    align-items:flex-start;flex-direction:column;gap:.5rem;
    padding:1.15rem var(--mobile-pad) calc(1.35rem + env(safe-area-inset-bottom))
  }
  .footer-bottom p{font-size:.78rem;line-height:1.5}

  html[lang="de"] :where(main,footer,.primary) :where(h1,h2,h3,p,a,span,strong,li,summary,label){
    hyphens:auto;overflow-wrap:anywhere;word-break:normal
  }
  html[dir="rtl"] :where(main,footer,.primary) :where(h1,h2,h3,p,a,span,strong,li,summary,label){overflow-wrap:anywhere}
  html[dir="rtl"] .partner-scale-copy{text-align:center}
}

@media(max-width:360px){
  :root{--mobile-pad:16px}
  .brand-logo{width:min(190px,64vw)}
  .hero-editorial__brand{font-size:2.55rem}
  .hero-editorial .hero-copy h1{font-size:2.05rem}
  html[lang="de"] .hero-editorial .hero-copy h1{font-size:1.7rem}
  .footer-links{columns:1}
}

@media(max-width:760px) and (prefers-reduced-motion:reduce){
  .hero-editorial .hero-benefit__slider .hero-sentence{opacity:0!important;transform:none!important}
  .hero-editorial .hero-benefit__slider .hero-sentence.is-active{opacity:1!important}
  .partner-scale-group,.partner-trust-panel{opacity:1!important;transform:none!important}
}

/* Obrazki wstawiane w treść artykułu przez panel redakcyjny.
   Bez tej reguły grafika wychodziła poza kolumnę tekstu. */
.prose figure{margin:1.7em 0}
.prose img{display:block;width:100%;height:auto;border-radius:12px}
.prose figcaption{margin-top:.6em;font-size:.86em;line-height:1.5;color:#5c7382}

/* Wyrównanie i rozmiar wstawiane z panelu redakcyjnego.
   Klasy, nie style inline — filtr treści przepuszcza wyłącznie znane nazwy. */
.prose .tekst-srodek{text-align:center}
.prose .tekst-prawo{text-align:right}
.prose figure.foto-mala{width:40%}
.prose figure.foto-srednia{width:65%}
.prose figure.foto-pelna{width:100%}
.prose figure.tekst-srodek{margin-left:auto;margin-right:auto}
.prose figure.tekst-prawo{margin-left:auto;margin-right:0}
@media (max-width:640px){
  /* Na wąskim ekranie zmniejszanie grafiki przestaje mieć sens. */
  .prose figure.foto-mala,.prose figure.foto-srednia{width:100%}
}

/* Wyrównana lista: punktor musi iść razem z tekstem. Przy domyślnym
   list-style-position:outside znacznik zostaje przy lewej krawędzi,
   a tekst ucieka na prawo — wygląda to jak błąd składu. */
.prose ul.tekst-srodek,.prose ol.tekst-srodek,
.prose ul.tekst-prawo,.prose ol.tekst-prawo{list-style-position:inside;padding-left:0}

/* Serwis rysuje punktor jako ::before przypięty do left:0, więc przy
   wyrównanej liście kropka zostawała przy lewej krawędzi, a tekst uciekał.
   Dla wyrównanych list znacznik musi płynąć razem z tekstem. */
.prose ul.tekst-srodek li,.prose ul.tekst-prawo li{padding-left:0}
.prose ul.tekst-srodek li::before,.prose ul.tekst-prawo li::before{
  position:static;display:inline-block;margin-right:.55rem;vertical-align:middle}
.prose ol.tekst-srodek,.prose ol.tekst-prawo{list-style-position:inside;padding-left:0}

/* Grafika oblewana tekstem. Zamiast osobnego <div> wystarczy float na
   <figure>, który i tak jest blokiem — mniej znaczników w treści. */
.prose figure.foto-oblewa-lewo{float:left;margin:.35em 1.7rem 1rem 0}
.prose figure.foto-oblewa-prawo{float:right;margin:.35em 0 1rem 1.7rem}
/* Nagłówek zawsze zaczyna nowy blok, nie wciska się obok grafiki. */
.prose h2,.prose h3{clear:both}
/* Domknięcie pływania, żeby grafika nie wystawała poza treść artykułu. */
.prose::after{content:"";display:table;clear:both}
@media (max-width:640px){
  /* Na telefonie oblewanie nie ma sensu — grafika idzie na pełną szerokość. */
  .prose figure.foto-oblewa-lewo,.prose figure.foto-oblewa-prawo{
    float:none;width:100%;margin:1.7em 0}
}

/* Elementy wstawiane rozbudowanym edytorem panelu: cytat, tabela, linia,
   przekreślenie i indeksy (wzory chemiczne, jednostki). Słownik znaczników
   pilnuje filtr w admin-panel.js — te reguły muszą mu odpowiadać. */
.prose blockquote{border-left:3px solid #0b75a4;margin:1.8em 0;
  padding:.6em 0 .6em 1.4em;color:#33525f;font-size:1.04em;line-height:1.65;
  font-style:italic;background:linear-gradient(90deg,rgba(11,117,164,.05),transparent 70%)}
.prose blockquote p{margin:0 0 .6em;max-width:none}
.prose blockquote p:last-child{margin-bottom:0}
.prose hr{border:0;border-top:1px solid #cddbe3;margin:2.4em auto;max-width:280px}
.prose table{width:100%;border-collapse:collapse;margin:1.8em 0;
  font-size:.95em;line-height:1.5}
.prose th,.prose td{border:1px solid #cddbe3;padding:.65em .85em;
  text-align:left;vertical-align:top}
.prose th{background:#eef5f9;font-weight:700;color:#0f2a3a}
.prose tbody tr:nth-child(even) td{background:#f7fafc}
.prose s{opacity:.75}
.prose sub,.prose sup{font-size:.72em;line-height:0}
@media (max-width:640px){
  /* Szeroka tabela przewija się w poziomie, zamiast rozpychać stronę. */
  .prose table{display:block;overflow-x:auto}
}


/* Kafel referencji — kwadrat identyczny z zaślepką, w środku sama miniaturka
   dokumentu. Podgląd w <iframe>, bo CSP serwisu blokuje <object>/<embed>. */
.company-reference-card{position:relative;display:block;aspect-ratio:1/1;
  border:.8px solid #cddbe3;border-radius:16px;overflow:hidden;background:#fff;
  transition:border-color .2s,box-shadow .2s}
.company-reference-card:hover{border-color:#0b75a4;box-shadow:0 6px 22px rgba(11,61,92,.13)}
/* A4 dopasowane do szerokości ma wysokość 141,4% — kwadrat przycina dół
   strony i zostaje czytelna góra dokumentu. */
.company-reference-card iframe{position:absolute;left:0;top:0;width:100%;
  height:141.4%;border:0;pointer-events:none;background:#fff}
