{"id":10355,"date":"2026-09-10T05:59:29","date_gmt":"2026-09-10T05:59:29","guid":{"rendered":"https:\/\/assecoplatform.com\/otif-it\/"},"modified":"2026-09-10T13:39:59","modified_gmt":"2026-09-10T13:39:59","slug":"otif","status":"publish","type":"page","link":"https:\/\/assecoplatform.com\/it\/otif\/","title":{"rendered":"OTIF (On-Time In-Full)"},"content":{"rendered":"\n<div class=\"wp-block-group alignfull otif26 ap-scope is-layout-flow wp-block-group-is-layout-flow\">\n\n\n<style>\n\n\/* ==== BAZA Design System (kopia z LP SRE #6729) ==== *\/\n\n\/* ============================================\n   ASSECO BS Design System \u2014 Global Styles\n   Based on Figma: AP_PodstronaERP + AP_Homepage + AP_Homepage_animacje\n   ============================================ *\/\n\n\/* --- Font Face --- *\/\n@font-face {\n  font-family: 'PP Mori';\n  src: url('https:\/\/assecoplatform.com\/wp-content\/themes\/asseco-lp-fse\/dist\/fonts\/subset-PPMori-Regular.woff2') format('woff2');\n  font-weight: 200;\n  font-style: normal;\n  font-display: swap;\n}\n\n@font-face {\n  font-family: 'PP Mori';\n  src: url('https:\/\/assecoplatform.com\/wp-content\/themes\/asseco-lp-fse\/dist\/fonts\/subset-PPMori-Regular.woff2') format('woff2');\n  font-weight: 400;\n  font-style: normal;\n  font-display: swap;\n}\n\n@font-face {\n  font-family: 'PP Mori';\n  src: url('https:\/\/assecoplatform.com\/wp-content\/themes\/asseco-lp-fse\/dist\/fonts\/subset-PPMori-SemiBold.woff2') format('woff2');\n  font-weight: 600;\n  font-style: normal;\n  font-display: swap;\n}\n\n\/* --- CSS Custom Properties (Design Tokens) --- *\/\n:root {\n  \/* Colors *\/\n  --color-base:        #F2F2F2;\n  --color-gray:        #F2F2F2;\n  --color-white:       #FDFDFD;\n  --color-black:       #232323;\n  --color-dark-black:  #090909;\n  --color-dark-gray:   #676767;\n  --color-medium-gray: #AEAEAE;\n  --color-light-gray:  #DFDFDF;\n\n  \/* Brand \/ ERP Colors *\/\n  --color-erp-yellow:     #FFA533;\n  --color-erp-red:        #FF4A6A;\n  --color-erp-green:      #00C2B6;\n  --color-erp-blue:       #3FA2EB;\n  --color-erp-light-orange: #FFC274;\n\n  \/* Accent \/ Gradient *\/\n  --color-accent-orange: #EF5909;\n  --color-accent-red:    #D70E44;\n  --color-accent-purple: #A046E1;\n  --gradient-brand: linear-gradient(90deg, #ef5909 0%, #d70e44 33.333%, #a046e1 66.666%, #1676c3);\n\n  \/* Surfaces *\/\n  --surface-card-dark:  #141414;\n  --surface-card-dark2: #282828;\n  --surface-icon-dark:  #484848;\n\n  \/* Typography Scale *\/\n  --font-family: 'PP Mori', arial, sans-serif;\n\n  \/* Spacing *\/\n  --space-xs:  4px;\n  --space-sm:  8px;\n  --space-md:  16px;\n  --space-lg:  24px;\n  --space-xl:  32px;\n  --space-2xl: 48px;\n  --space-3xl: 64px;\n  --space-4xl: 96px;\n\n  \/* Border Radius *\/\n  --radius-sm:   8px;\n  --radius-md:  16px;\n  --radius-lg:  24px;\n  --radius-xl:  52px;\n  --radius-full: 9999px;\n\n  \/* Status colors *\/\n  --color-status-success: #10B981;\n  --color-status-warning: #F59E0B;\n\n  \/* Max width *\/\n  --max-width: 1270px;\n  --page-padding: clamp(16px, 4vw, 48px);\n}\n\n\/* --- Typography --- *\/\n.text-h2 {\n  font-size: 32px;\n  font-weight: 600;\n  line-height: 1.19;\n  letter-spacing: normal;\n}\n\n.text-h4 {\n  font-size: 48px;\n  font-weight: 600;\n  line-height: 1.125;\n  letter-spacing: normal;\n}\n\n.text-h5 {\n  font-size: 40px;\n  font-weight: 600;\n  line-height: 1.2;\n  letter-spacing: normal;\n}\n\n.text-h7 {\n  font-size: 24px;\n  font-weight: 600;\n  line-height: 1.34;\n  letter-spacing: 0;\n}\n\n.text-h8 {\n  font-size: 20px;\n  font-weight: 600;\n  line-height: 1.34;\n  letter-spacing: 0;\n}\n\n.text-h9 {\n  font-size: 18px;\n  font-weight: 600;\n  line-height: 1.2;\n  letter-spacing: normal;\n}\n\n.text-h10 {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.5;\n  letter-spacing: normal;\n}\n\n.text-h11 {\n  font-size: 12px;\n  font-weight: 400;\n  line-height: 1.44;\n  letter-spacing: -0.24px;\n}\n\n.text-small {\n  font-size: 14px;\n  font-weight: 400;\n  line-height: 1.4;\n}\n\n.text-tiny {\n  font-size: 10px;\n  font-weight: 400;\n  line-height: 1.44;\n  letter-spacing: -0.2px;\n}\n\n\/* Text colors *\/\n.text-black      { color: var(--color-black); }\n.text-white      { color: var(--color-white); }\n.text-dark-gray  { color: var(--color-dark-gray); }\n.text-medium-gray { color: var(--color-medium-gray); }\n.text-light-gray { color: var(--color-light-gray); }\n\n\/* Gradient text *\/\n.text-gradient {\n  background: var(--gradient-brand);\n  -webkit-background-clip: text;\n  -webkit-text-fill-color: transparent;\n  background-clip: text;\n}\n\n\/* --- Layout --- *\/\n.container {\n  max-width: var(--max-width);\n  margin: 0 auto;\n  padding: 0 var(--page-padding);\n}\n\n.section {\n  padding: var(--space-4xl) 0;\n}\n\n\/* --- Buttons --- *\/\n.btn {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: var(--space-sm);\n  font-family: var(--font-family);\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.4;\n  white-space: nowrap;\n  border-radius: 9999px;\n  padding: 11px 16px 9px;\n  height: 42px;\n  transition: opacity 0.2s ease, transform 0.15s ease;\n}\n\n.btn:hover {\n  opacity: 0.85;\n}\n\n\/* Button with arrow icon (::before) \u2014 matches live assecobs.pl *\/\n.btn-has-arrow {\n  flex-direction: row-reverse;\n  gap: 8px;\n}\n\n.btn-has-arrow::before {\n  content: \"\";\n  display: block;\n  width: 16px;\n  height: 16px;\n  background-image: url(\"data:image\/svg+xml,%3Csvg width='16' height='16' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath d='M2 6.25a.75.75 0 0 0 0 1.5v-1.5Zm12.53 1.28a.75.75 0 0 0 0-1.06l-4.773-4.773a.75.75 0 1 0-1.06 1.06L12.939 7l-4.242 4.243a.75.75 0 0 0 1.06 1.06L14.53 7.53ZM2 7.75h12v-1.5H2v1.5Z' fill='%23232323'\/%3E%3C\/svg%3E\");\n  background-size: contain;\n  background-repeat: no-repeat;\n  flex-shrink: 0;\n  transition: transform 0.2s ease;\n}\n\n.btn-has-arrow:hover::before {\n  transform: translateX(4px);\n}\n\n.btn-primary-white.btn-has-arrow:hover {\n  opacity: 1;\n  background-color: #3FA2EB;\n  color: var(--color-white);\n}\n\n.btn-primary-white.btn-has-arrow:hover::before {\n  background-image: url(\"data:image\/svg+xml,%3Csvg width='16' height='16' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath d='M2 6.25a.75.75 0 0 0 0 1.5v-1.5Zm12.53 1.28a.75.75 0 0 0 0-1.06l-4.773-4.773a.75.75 0 1 0-1.06 1.06L12.939 7l-4.242 4.243a.75.75 0 0 0 1.06 1.06L14.53 7.53ZM2 7.75h12v-1.5H2v1.5Z' fill='%23FDFDFD'\/%3E%3C\/svg%3E\");\n}\n\n.btn-primary.btn-has-arrow::before {\n  background-image: url(\"data:image\/svg+xml,%3Csvg width='16' height='16' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath d='M2 6.25a.75.75 0 0 0 0 1.5v-1.5Zm12.53 1.28a.75.75 0 0 0 0-1.06l-4.773-4.773a.75.75 0 1 0-1.06 1.06L12.939 7l-4.242 4.243a.75.75 0 0 0 1.06 1.06L14.53 7.53ZM2 7.75h12v-1.5H2v1.5Z' fill='%23FDFDFD'\/%3E%3C\/svg%3E\");\n}\n\n.btn-primary.btn-has-arrow:hover {\n  opacity: 1;\n  background-color: #3FA2EB;\n}\n\n.btn:active {\n  transform: scale(0.97);\n}\n\n\/* Primary \u2014 dark fill *\/\n.btn-primary {\n  background-color: var(--color-black);\n  color: var(--color-white);\n}\n\n\/* Primary \u2014 white fill *\/\n.btn-primary-white {\n  background-color: var(--color-white);\n  color: var(--color-black);\n}\n\n\/* Outline *\/\n.btn-outline {\n  background-color: var(--color-white);\n  color: var(--color-black);\n  border: 1px solid var(--color-black);\n}\n\n\/* Hero badge (kicker label above heading) *\/\n.hero-badge {\n  display: inline-flex;\n  align-items: center;\n  gap: var(--space-sm);\n  padding: var(--space-sm) var(--space-md);\n  border-radius: var(--radius-full);\n  border: 1px solid rgba(255, 255, 255, 0.15);\n  background: rgba(255, 255, 255, 0.06);\n  backdrop-filter: blur(8px);\n  -webkit-backdrop-filter: blur(8px);\n  font-size: 12px;\n  font-weight: 400;\n  line-height: 1.44;\n  letter-spacing: -0.24px;\n  color: var(--color-medium-gray);\n  margin-bottom: var(--space-lg);\n}\n\n\/* Primary with blue hover *\/\n.btn-primary--blue-hover:hover {\n  background-color: var(--color-erp-blue);\n  color: var(--color-white);\n  opacity: 1;\n}\n\n\/* Small button (header CTA) *\/\n.btn--sm {\n  padding: var(--space-sm) 20px;\n  height: auto;\n}\n\n\/* Outline on dark background *\/\n.btn-outline-white {\n  background-color: transparent;\n  color: var(--color-white);\n  border: 1px solid var(--color-white);\n}\n\n.btn-outline-white:hover {\n  background-color: var(--color-black);\n  color: var(--color-white);\n  border-color: var(--color-black);\n}\n\n\/* Outline on tinted bg *\/\n.btn-outline-tinted {\n  background-color: #e6f0ef;\n  color: var(--color-black);\n  border: 1px solid var(--color-black);\n}\n\n\/* Large pill (footer CTA) *\/\n.btn-lg {\n  height: 60px;\n  padding: 12px 24px;\n  border-radius: var(--radius-xl);\n}\n\n\/* Arrow icon inside buttons *\/\n.btn-icon {\n  width: 16px;\n  height: 16px;\n  flex-shrink: 0;\n}\n\n.btn-icon svg {\n  width: 100%;\n  height: 100%;\n}\n\n\/* Round arrow button (used in bran\u017ce section) *\/\n.btn-round {\n  width: 60px;\n  height: 60px;\n  border-radius: 50%;\n  padding: 0;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n}\n\n\/* --- Tags --- *\/\n.tag {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  padding: 9px 8px 7px;\n  border-radius: 8px;\n  font-size: 12px;\n  font-weight: 400;\n  line-height: 1;\n  letter-spacing: -0.02rem;\n  color: var(--color-white);\n  white-space: nowrap;\n  margin: 0;\n}\n\n.tag-blue    { background-color: rgb(22, 118, 195); }\n.tag-orange  { background-color: rgb(255, 165, 51); }\n.tag-wms     { background-color: rgb(255, 194, 116); }\n.tag-red     { background-color: rgb(255, 74, 106); }\n.tag-gray    { background-color: rgb(174, 174, 174); }\n.tag-green   { background-color: rgb(0, 194, 182); }\n.tag-salmon  { background-color: rgb(241, 107, 94); }\n.tag-yellow  { background-color: var(--color-erp-yellow); }\n\n\/* --- Cards --- *\/\n.card {\n  background-color: var(--color-white);\n  border-radius: var(--radius-lg);\n  overflow: hidden;\n}\n\n.card-dark {\n  background-color: var(--surface-card-dark);\n  color: var(--color-white);\n  border-radius: var(--radius-lg);\n}\n\n.card-dark2 {\n  background-color: var(--surface-card-dark2);\n  color: var(--color-white);\n  border-radius: var(--radius-md);\n}\n\n\/* ERP Products Grid *\/\n.erp-products {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 38px 25px;\n  justify-content: center;\n  max-width: 1326px;\n  margin: 0 auto;\n}\n\n\/* ERP Solution Card *\/\n.card-erp {\n  position: relative;\n  background-color: var(--color-white);\n  border-radius: 25px;\n  overflow: visible;\n  cursor: pointer;\n  padding-bottom: 38px;\n}\n\n.card-erp__image {\n  position: relative;\n  overflow: hidden;\n  border-radius: 25px;\n  height: 195px;\n  margin-bottom: 25px;\n  transition: height 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.card-erp__image img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n}\n\n.card-erp__logo {\n  position: relative;\n  padding: 0 25px;\n  display: grid;\n  grid-template-rows: 0fr;\n  overflow: visible;\n  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.card-erp__logo-img,\nimg.card-erp__logo-img {\n  display: block;\n  width: auto;\n  height: 0;\n  opacity: 0;\n  min-height: 0;\n  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.card-erp__logo-img img {\n  height: 50px;\n  width: auto;\n}\n\n.card-erp__open {\n  position: absolute;\n  right: 25px;\n  top: 0;\n  bottom: -52px;\n  width: 52px;\n  height: 52px;\n  border-radius: 19px;\n  background: rgba(242, 242, 242, 0.75);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: none;\n  cursor: pointer;\n  transition: all 0.3s;\n  z-index: 2;\n}\n\n.card-erp__open:hover {\n  background: var(--color-black);\n}\n\n.card-erp__open:hover svg path {\n  stroke: white;\n}\n\n.card-erp__body {\n  padding: 0 33px;\n  margin-top: 35px;\n  transition: margin-top 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.card-erp__title {\n  font-size: 24px;\n  font-weight: 600;\n  line-height: 33px;\n  color: var(--color-black);\n  margin-bottom: 13px;\n}\n\n.card-erp__desc {\n  font-size: 20px;\n  font-weight: 400;\n  line-height: 25px;\n  color: var(--color-dark-gray);\n}\n\n\/* Card hover \u2014 show logo, shrink image *\/\n.card-erp:hover .card-erp__image {\n  height: 144px;\n}\n\n.card-erp:hover .card-erp__logo {\n  grid-template-rows: 1fr;\n}\n\n.card-erp:hover .card-erp__logo-img,\n.card-erp:hover img.card-erp__logo-img {\n  height: 50px;\n  opacity: 1;\n}\n\n.card-erp:hover .card-erp__body {\n  margin-top: 27px;\n}\n\n\/* --- ERP Slide Overlay (fixed, like live site) --- *\/\n.erp-slider {\n  position: fixed;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 200;\n  display: none;\n  overflow: visible;\n}\n\n.erp-slider.is-active {\n  display: flex;\n  justify-content: flex-end;\n}\n\n.erp-slider__bg {\n  position: fixed;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  background: rgba(35, 35, 35, 0.5);\n  z-index: 0;\n}\n\n.erp-slider__panel {\n  position: relative;\n  z-index: 1;\n  width: 83.3%;\n  max-width: 1200px;\n  height: 100vh;\n  background: var(--color-base);\n  border-radius: 25px 0 0 25px;\n  overflow: hidden;\n  transform: translateX(100%);\n  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.erp-slider.is-active .erp-slider__panel {\n  transform: translateX(0);\n}\n\n\/* Nav arrows (bottom-right of panel) *\/\n.erp-slider__nav {\n  position: absolute;\n  bottom: 50px;\n  right: 54px;\n  display: flex;\n  gap: 8px;\n  z-index: 10;\n}\n\n.erp-slider__arrow {\n  width: 31px;\n  height: 31px;\n  border-radius: 9999px;\n  background: var(--color-white);\n  border: none;\n  cursor: pointer;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: var(--color-black);\n  transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.erp-slider__arrow svg {\n  width: 12px;\n  height: 12px;\n}\n\n.erp-slider__arrow:hover {\n  background: var(--color-black);\n}\n\n.erp-slider__arrow:hover svg path {\n  stroke: #fff;\n}\n\n.erp-slider__arrow svg path {\n  transition: stroke 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.erp-slider__arrow:disabled {\n  opacity: 0.3;\n  cursor: default;\n}\n\n.erp-slider__arrow:disabled:hover {\n  background: var(--color-white);\n}\n\n.erp-slider__arrow:disabled:hover svg path {\n  stroke: #232323;\n}\n\n\/* Individual slide panel *\/\n.erp-slide {\n  display: none;\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  grid-template-columns: 1.18fr 1fr;\n  grid-template-rows: 1fr auto;\n  gap: 19px 69px;\n  padding: 134px 50px 50px;\n  overflow-y: auto;\n  z-index: 1;\n}\n\n.erp-slide.is-active {\n  display: grid;\n}\n\n.erp-slide__close {\n  position: absolute;\n  left: 50px;\n  top: 33px;\n  width: 52px;\n  height: 52px;\n  border-radius: 19px;\n  background: var(--color-white);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border: none;\n  cursor: pointer;\n  z-index: 10;\n  transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.erp-slide__close svg {\n  width: 20px;\n  height: 20px;\n}\n\n.erp-slide__close:hover {\n  background: var(--color-black);\n}\n\n.erp-slide__close:hover svg path {\n  stroke: white;\n}\n\n.erp-slide__close svg path {\n  transition: stroke 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.erp-slide__content {\n  padding: 0;\n  display: flex;\n  flex-direction: column;\n  align-items: flex-start;\n  grid-row: 1;\n  grid-column: 1;\n}\n\n.erp-slide__logo {\n  width: auto;\n  height: 50px;\n  margin-bottom: 40px;\n}\n\n.erp-slide__logo img {\n  height: 100%;\n  width: auto;\n}\n\n\/* Logo badge \u2014 icon + label (DRS variant) *\/\n.erp-slide__logo-badge {\n  display: inline-flex;\n  align-items: center;\n  gap: var(--space-md);\n  margin-bottom: var(--space-xl);\n}\n\n.erp-slide__logo-badge-icon {\n  width: 48px;\n  height: 48px;\n  border-radius: var(--radius-sm);\n  background-color: var(--color-gray);\n  background-repeat: no-repeat;\n  background-position: center;\n  background-size: 24px 24px;\n  flex-shrink: 0;\n}\n\n.erp-slide__logo-badge-label {\n  font-size: 16px;\n  font-weight: 600;\n  line-height: 1.5;\n  color: var(--color-dark-gray);\n}\n\n.erp-slide__heading {\n  font-size: 32px;\n  font-weight: 600;\n  line-height: 56px;\n  color: var(--color-black);\n  margin-bottom: 12px;\n}\n\n.erp-slide__subheading {\n  font-size: 20px;\n  font-weight: 600;\n  line-height: 23px;\n  color: var(--color-dark-gray);\n  margin-bottom: 29px;\n}\n\n.erp-slide__checklist {\n  list-style: none;\n  padding: 0 0 0 38px;\n  display: block;\n  margin: 25px 0;\n}\n\n.erp-slide__checklist li {\n  position: relative;\n  padding: 0;\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 23px;\n  color: var(--color-dark-gray);\n  margin-bottom: 13px;\n}\n\n.erp-slide__checklist li:last-child {\n  margin-bottom: 0;\n}\n\n.erp-slide__checklist li::before {\n  content: '';\n  position: absolute;\n  left: -38px;\n  top: 0;\n  width: 22px;\n  height: 22px;\n  border: none;\n  border-radius: 0;\n  background: url(\"list-check.svg\") no-repeat 0 0 \/ 22px 22px;\n}\n\n.erp-slide__image {\n  grid-row: 1 \/ 3;\n  grid-column: 2;\n  border-radius: 0;\n  overflow: visible;\n  position: relative;\n}\n\n.erp-slide__image img {\n  width: 100%;\n  height: auto;\n  object-fit: contain;\n}\n\n\/* \"Wi\u0119cej\" button *\/\n.erp-slide__more {\n  grid-row: 2;\n  grid-column: 1;\n  align-self: end;\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  background: var(--color-black);\n  color: var(--color-white);\n  border: none;\n  border-radius: 9999px;\n  padding: 11px 17px 9px;\n  font-size: 16px;\n  font-weight: 400;\n  cursor: pointer;\n  width: fit-content;\n  transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n  text-decoration: none;\n}\n\n.erp-slide__more:hover {\n  background: var(--color-dark-gray);\n}\n\n.erp-slide__more svg {\n  width: 16px;\n  height: 16px;\n}\n\n.erp-slide__more svg path {\n  stroke: currentColor;\n}\n\n\/* Product category card *\/\n.card-product {\n  background-color: var(--color-white);\n  border-radius: var(--radius-lg);\n  padding: 32px;\n  width: 298px;\n}\n\n.card-product--tinted {\n  background-color: rgba(0, 194, 182, 0.05);\n}\n\n.card-product__logo {\n  height: 50px;\n  margin-bottom: 48px;\n}\n\n.card-product__logo img {\n  height: 100%;\n  width: auto;\n}\n\n.card-product__title {\n  font-size: 24px;\n  font-weight: 600;\n  line-height: 1.34;\n  color: var(--color-black);\n  margin-bottom: 12px;\n}\n\n.card-product__desc {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.4;\n  color: var(--color-black);\n  height: 71px;\n  margin-bottom: 48px;\n}\n\n.card-product--tinted .card-product__desc {\n  color: var(--color-dark-gray);\n}\n\n\/* Product card CTA \u2014 outline pill, matches .is-style-arrow-right-white-outline on live site *\/\n.card-product .btn-case-cta {\n  background: transparent;\n  border: 1px solid #232323;\n  color: #232323;\n  transition: background-color 0.3s, color 0.3s;\n}\n\n.card-product .btn-case-cta:hover {\n  background: #232323;\n  color: #FDFDFD;\n}\n\n.card-product .btn-case-cta:hover .btn-case-cta__arrow {\n  filter: invert(100%);\n  transform: translateX(0.25rem);\n  transition: filter 0.3s, transform 0.3s;\n}\n\n\/* Case study card *\/\n\/* Case Studies \u2014 matches .slider-case-studies on assecobs.pl\/erp *\/\n.card-case {\n  background-color: #141414;\n  border-radius: 1.5rem;\n  padding: clamp(1.5rem, 4vw, 3rem) clamp(1.25rem, 4vw, 4.125rem) clamp(1.5rem, 4vw, 3rem) clamp(1.25rem, 3vw, 2rem);\n  display: grid;\n  grid-template-columns: 1fr auto;\n  align-items: center;\n  gap: clamp(1rem, 4vw, 5.1875rem);\n  width: min(54.6875rem, 90vw);\n  flex-shrink: 0;\n}\n\n.card-case__content {\n  min-width: 0;\n}\n\n.card-case__title {\n  font-size: 3rem;\n  font-weight: 600;\n  line-height: 1.13;\n  color: var(--color-white);\n  margin-bottom: 2rem;\n}\n\n.card-case__desc {\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.375rem;\n  color: #F2F2F2;\n  margin-bottom: 0.5rem;\n}\n\n.card-case__author {\n  font-size: 1rem;\n  color: #AEAEAE;\n  margin-bottom: 2rem;\n}\n\n.card-case__logo {\n  background: #FDFDFD;\n  border-radius: 1.5rem;\n  padding: 1.5rem;\n  height: clamp(8rem, 20vw, 19.875rem);\n  display: grid;\n  place-items: center;\n  flex-shrink: 0;\n  max-width: min(200px, 30vw);\n}\n\n.card-case__logo img {\n  width: 100%;\n  height: 100%;\n  object-fit: contain;\n  object-position: center;\n}\n\n\/* Case study CTA button \u2014 white pill, matches .is-style-arrow-right-white on live *\/\n.btn-case-cta {\n  display: inline-flex;\n  width: fit-content;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.72rem 1rem 0.59rem;\n  border: none;\n  border-radius: 9999px;\n  background: #FDFDFD;\n  color: #090909;\n  font-size: 1rem;\n  font-weight: 400;\n  letter-spacing: -0.02rem;\n  text-decoration: none;\n  transition: background 0.3s;\n}\n\n.btn-case-cta:hover {\n  background: #e6e6e6;\n}\n\n\/* Case study nav arrows \u2014 gray bg, matches live site *\/\n.case-slider__arrow {\n  width: 1.875rem;\n  height: 1.875rem;\n  border-radius: 9999px;\n  background: rgb(103, 103, 103);\n  border: none;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n  padding: 0;\n}\n\n.case-slider__arrow svg {\n  width: 0.875rem;\n  height: 0.875rem;\n}\n\n.case-slider__arrow:hover {\n  background: rgb(253, 253, 253);\n}\n\n.case-slider__arrow:hover svg path {\n  stroke: rgb(35, 35, 35);\n}\n\n.case-slider__arrow:disabled {\n  pointer-events: none;\n  display: none;\n}\n\n\/* Case Studies section mobile fix *\/\n.section-case-studies {\n  background-size: auto min(100%, 400px) !important;\n}\n\n\/* Case Studies marquee animation *\/\n.case-studies-marquee {\n  overflow: hidden;\n  margin-left: -1.5rem;\n  margin-right: -1.5rem;\n  padding-left: 1.5rem;\n}\n\n.case-studies-marquee .slider-track {\n  overflow: visible;\n  scroll-snap-type: none;\n  width: max-content;\n  animation: caseStudiesScroll 160s linear infinite;\n  padding-top: 4px;\n  padding-bottom: 4px;\n}\n\n.case-studies-marquee .slider-track:hover {\n  animation-play-state: paused;\n}\n\n@keyframes caseStudiesScroll {\n  from { transform: translateX(0); }\n  to { transform: translateX(-50%); }\n}\n\n\/* Case card gradient border on hover *\/\n.card-case {\n  position: relative;\n}\n\n.card-case::before {\n  content: '';\n  position: absolute;\n  inset: -2px;\n  border-radius: calc(1.5rem + 2px);\n  padding: 2px;\n  background: linear-gradient(107deg, #ef5909 17%, #d70e44 34%, #a046e1 55%, #1676c3 73%);\n  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n  -webkit-mask-composite: xor;\n  mask-composite: exclude;\n  opacity: 0;\n  transition: opacity 0.3s ease;\n  pointer-events: none;\n}\n\n.card-case:hover::before {\n  opacity: 1;\n}\n\n.btn-case-cta__arrow {\n  display: block;\n  width: 1rem;\n  height: 1rem;\n  flex-shrink: 0;\n  background: url(\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIgNi4yNWEuNzUuNzUgMCAwIDAgMCAxLjV2LTEuNVptMTIuNTMgMS4yOGEuNzUuNzUgMCAwIDAgMC0xLjA2TDkuNzU3IDEuNjk3YS43NS43NSAwIDEgMC0xLjA2IDEuMDZMMTIuOTM5IDdsLTQuMjQyIDQuMjQzYS43NS43NSAwIDAgMCAxLjA2IDEuMDZMMTQuNTMgNy41M1pNMiA3Ljc1aDEydi0xLjVIMnYxLjVaIiBmaWxsPSIjMjMyMzIzIi8+PC9zdmc+\") center \/ 1rem no-repeat;\n}\n\n\/* ======= Video Testimonials \u2014 1:1 copy from assecobs.pl\/erp\/ .slider-video-v2 ======= *\/\n\n\/* Card \u2014 matches .box-video *\/\n.card-testimonial {\n  width: 21.25rem; \/* 340px at 16px base, matches splide slide width *\/\n  height: auto;\n  aspect-ratio: 9 \/ 16;\n  border-radius: 1.5rem;\n  overflow: hidden;\n  position: relative;\n  flex-shrink: 0;\n  background: #333;\n}\n\n.card-testimonial__image {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  display: block;\n}\n\n\/* Dark gradient overlay \u2014 matches .wp-block-video::after *\/\n.card-testimonial::after {\n  content: '';\n  position: absolute;\n  inset: 0;\n  width: 100%;\n  height: 100%;\n  background: linear-gradient(to bottom, transparent, rgba(35,35,35,0.8));\n  pointer-events: none;\n  z-index: 1;\n  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n\/* On hover: gradient shifts to bottom-focused (keeps person info readable on static thumbnails) *\/\n.card-testimonial:hover::after {\n  background: linear-gradient(to bottom, transparent 40%, rgba(35,35,35,0.6) 100%);\n}\n\n\/* Play\/pause pill \u2014 matches .box-video__play .wp-element-button::before\/::after *\/\n.card-testimonial__play {\n  position: absolute;\n  inset: 0;\n  z-index: 40;\n  cursor: pointer;\n  display: flex;\n  align-items: flex-start;\n  justify-content: flex-end;\n  padding: 1rem;\n  background: transparent;\n}\n\n\/* Play icon pill (::before) \u2014 visible by default *\/\n.card-testimonial__play::before {\n  content: '';\n  position: absolute;\n  right: 1rem;\n  top: 1rem;\n  width: 3.125rem;\n  height: 3.125rem;\n  background-color: rgba(216, 216, 216, 0.4);\n  border-radius: 1.125rem;\n  background-image: url(\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNMTIuNTAxIDcuMTFhMS4wNDQgMS4wNDQgMCAwIDEgMCAxLjc4TDQuNjggMTMuODNjLS43MzEuNDU2LTEuNjgtLjA1My0xLjY4LS44OVYzLjA2YzAtLjgzNy45Ni0xLjM0NiAxLjY4LS44OUwxMi41IDcuMTFaIiBmaWxsPSIjRkRGREZEIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGgxNnYxNkgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==\");\n  background-position: center;\n  background-repeat: no-repeat;\n  background-size: 1rem;\n  opacity: 1;\n  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n\/* Pause icon pill (::after) \u2014 hidden by default, shown on hover *\/\n.card-testimonial__play::after {\n  content: '';\n  position: absolute;\n  right: 1rem;\n  top: 1rem;\n  width: 3.125rem;\n  height: 3.125rem;\n  background-color: rgba(216, 216, 216, 0.4);\n  border-radius: 1.125rem;\n  background-image: url(\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3Qgd2lkdGg9IjQiIGhlaWdodD0iMTUiIHJ4PSIxIiBmaWxsPSIjRkRGREZEIi8+PHJlY3QgeD0iOSIgd2lkdGg9IjQiIGhlaWdodD0iMTUiIHJ4PSIxIiBmaWxsPSIjRkRGREZEIi8+PC9zdmc+\");\n  background-position: center;\n  background-repeat: no-repeat;\n  background-size: 0.8125rem 0.9375rem;\n  opacity: 0;\n  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n\/* Hover: play fades, pause appears with dark bg *\/\n.card-testimonial:hover .card-testimonial__play::before {\n  opacity: 0;\n}\n\n.card-testimonial:hover .card-testimonial__play::after {\n  opacity: 1;\n  background-color: rgb(35, 35, 35);\n}\n\n\/* Bottom content area \u2014 matches .box-video__content with grid-template-rows animation *\/\n.card-testimonial__content {\n  position: absolute;\n  inset: auto 0 0;\n  z-index: 50;\n  display: grid;\n  align-items: flex-start;\n  grid-template-rows: 0px 0fr;\n  padding: 0 1rem;\n  transition: grid-template-rows 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n\/* Hover: expand content to show CTA + tags *\/\n.card-testimonial:hover .card-testimonial__content {\n  grid-template-rows: 4.1875rem 1fr;\n}\n\n\/* Person info \u2014 positioned above the content grid via absolute *\/\n.card-testimonial__person-info {\n  position: absolute;\n  bottom: calc(100% + 1rem);\n  left: 1rem;\n  display: flex;\n  align-items: center;\n  gap: 0.75rem;\n}\n\n.card-testimonial__avatar {\n  width: 3.125rem;\n  height: 3.125rem;\n  border-radius: 50%;\n  aspect-ratio: 1 \/ 1;\n  object-fit: cover;\n  flex-shrink: 0;\n}\n\n.card-testimonial__name {\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.375rem;\n  color: var(--color-white);\n  letter-spacing: -0.02rem;\n}\n\n\/* CTA button \u2014 inside expandable grid row *\/\n.card-testimonial__cta {\n  overflow: hidden;\n  position: relative;\n  z-index: 10;\n}\n\n\/* Matches .is-style-arrow-right-white .wp-element-button on live site *\/\n.card-testimonial__cta a {\n  display: inline-flex;\n  width: fit-content;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.72rem 1rem 0.59rem;\n  border: none;\n  border-radius: 9999px;\n  background: var(--color-white);\n  color: #232323;\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.4;\n  letter-spacing: -0.02rem;\n  text-decoration: none;\n  transition: background 0.3s, color 0.3s;\n  white-space: nowrap;\n}\n\n\/* Arrow icon via ::before \u2014 matches live site SVG *\/\n.card-testimonial__cta a::before {\n  content: '';\n  display: block;\n  width: 1rem;\n  height: 1rem;\n  flex-shrink: 0;\n  background: url(\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIgNi4yNWEuNzUuNzUgMCAwIDAgMCAxLjV2LTEuNVptMTIuNTMgMS4yOGEuNzUuNzUgMCAwIDAgMC0xLjA2TDkuNzU3IDEuNjk3YS43NS43NSAwIDEgMC0xLjA2IDEuMDZMMTIuOTM5IDdsLTQuMjQyIDQuMjQzYS43NS43NSAwIDAgMCAxLjA2IDEuMDZMMTQuNTMgNy41M1pNMiA3Ljc1aDEydi0xLjVIMnYxLjVaIiBmaWxsPSIjMjMyMzIzIi8+PC9zdmc+\") center \/ 1rem no-repeat;\n}\n\n.card-testimonial__cta a:hover {\n  background: var(--color-erp-blue);\n  color: var(--color-white);\n}\n\n.card-testimonial__cta a:hover::before {\n  background-image: url(\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIgNi4yNWEuNzUuNzUgMCAwIDAgMCAxLjV2LTEuNVptMTIuNTMgMS4yOGEuNzUuNzUgMCAwIDAgMC0xLjA2TDkuNzU3IDEuNjk3YS43NS43NSAwIDEgMC0xLjA2IDEuMDZMMTIuOTM5IDdsLTQuMjQyIDQuMjQzYS43NS43NSAwIDAgMCAxLjA2IDEuMDZMMTQuNTMgNy41M1pNMiA3Ljc1aDEydi0xLjVIMnYxLjVaIiBmaWxsPSIjRkRGREZEIi8+PC9zdmc+\");\n}\n\n\/* Remove old SVG arrows from HTML \u2014 they're now in ::before *\/\n.card-testimonial__cta a svg {\n  display: none;\n}\n\n\/* Tags \u2014 inside expandable grid row, with margin-bottom transition *\/\n.card-testimonial__tags {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 0.25rem;\n  width: 100%;\n  overflow: hidden;\n  margin-bottom: 0;\n  transition: margin-bottom 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n\/* Hover: add bottom margin to tags *\/\n.card-testimonial:hover .card-testimonial__tags {\n  margin-bottom: 1rem;\n}\n\n\/* ======= Slider Video Section Layout \u2014 matches assecobs.pl\/erp\/ ======= *\/\n.slider-video-section .slider-video-layout {\n  display: grid;\n  grid-template-columns: 1.13fr 1fr 1fr;\n  align-items: flex-start;\n  position: relative;\n}\n\n.slider-video-section .slider-video__text {\n  padding: 0 0 0 1.5rem;\n  grid-column: 1;\n  grid-row: 1;\n  position: relative;\n  width: 100%;\n  z-index: 10;\n}\n\n.slider-video-section .slider-video__text p {\n  letter-spacing: -0.02rem;\n  margin-bottom: 1.75rem;\n  max-width: 25rem;\n}\n\n.slider-video-section .slider-video__track-wrapper {\n  grid-column: 2 \/ 4;\n  grid-row: 1;\n  overflow: visible;\n}\n\n.slider-video-section .slider-video__track-wrapper .slider-track {\n  gap: 1.5rem;\n  padding-right: 48px;\n}\n\n\/* Nav arrows \u2014 matches .splide__arrows on live site *\/\n.slider-video__nav {\n  display: flex;\n  gap: 1rem;\n}\n\n.slider-video__arrow {\n  width: 1.875rem;\n  height: 1.875rem;\n  border-radius: 9999px;\n  background: rgb(255, 255, 255);\n  border: none;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n  padding: 0;\n}\n\n.slider-video__arrow svg {\n  width: 0.875rem;\n  height: 0.875rem;\n  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.slider-video__arrow svg path {\n  stroke: #232323;\n  transition: stroke 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n\/* Hover: dark bg, white stroke *\/\n.slider-video__arrow:hover {\n  background: rgb(35, 35, 35);\n}\n\n.slider-video__arrow:hover svg path {\n  stroke: rgb(253, 253, 253);\n}\n\n\/* Disabled: gray bg, hidden on desktop *\/\n.slider-video__arrow:disabled {\n  background: rgb(103, 103, 103);\n  pointer-events: none;\n  display: none;\n}\n\n\/* Industry tile *\/\n.tile-industry {\n  background-color: #232323;\n  border-radius: 17px;\n  width: 175px;\n  height: 159px;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 21px 8px;\n  cursor: pointer;\n  transition: background-color 0.3s;\n}\n\n.tile-industry:hover {\n  background-color: #2d2d2d;\n}\n\n.tile-industry__inner {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 16px;\n}\n\n.tile-industry__icon {\n  width: 63px;\n  height: 63px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.tile-industry__icon img,\n.tile-industry__icon svg {\n  width: 63px;\n  height: 63px;\n  padding: 15px;\n  background-color: rgb(72, 72, 72);\n  border-radius: 9999px;\n  box-sizing: border-box;\n}\n\n.tile-industry__label {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.4;\n  color: var(--color-white);\n  text-align: center;\n}\n\n\/* --- Advantage Bar --- *\/\n.advantage-bar {\n  background-color: var(--color-white);\n  padding: 61px 0;\n}\n\n.advantage-bar__list {\n  display: flex;\n  align-items: flex-start;\n  justify-content: center;\n  gap: 51px;\n  list-style: none;\n}\n\n.advantage-bar__item {\n  display: flex;\n  align-items: flex-start;\n  gap: 16px;\n  max-width: 370px;\n}\n\n.advantage-bar__icon {\n  width: 22px;\n  height: 22px;\n  flex-shrink: 0;\n}\n\n.advantage-bar__text {\n  font-size: 20px;\n  font-weight: 400;\n  line-height: 1.34;\n  color: var(--color-black);\n}\n\n\/* --- Hero Section --- *\/\n.hero {\n  background-color: var(--color-gray);\n  position: relative;\n  height: 678px;\n  overflow: hidden;\n}\n\n\/* Blob background \u2014 1:1 from assecobs.pl\/erp *\/\n.hero__desktop-bg {\n  position: absolute;\n  top: 0;\n  right: 0;\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: flex-start;\n  justify-content: flex-end;\n  pointer-events: none;\n}\n\n.hero__content {\n  position: relative;\n  z-index: 20;\n  margin-top: 217px;\n  margin-left: 50px;\n  width: 529px;\n  display: flex;\n  flex-direction: column;\n  align-items: flex-start;\n  gap: 32px;\n}\n\n.hero__logo {\n  height: 70px;\n  width: auto;\n}\n\n.hero__title {\n  font-size: 48px;\n  font-weight: 600;\n  line-height: 1.13;\n  color: var(--color-black);\n}\n\n.hero__subtitle {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.4;\n  color: var(--color-dark-gray);\n}\n\n\/* Hero slider *\/\n.hero__slider {\n  position: absolute;\n  top: 218px;\n  left: 706px;\n  width: 830px;\n  height: 460px;\n  z-index: 10;\n  overflow: hidden;\n}\n\n.hero__slider-track {\n  display: flex;\n  width: 100%;\n  height: 100%;\n  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.hero__slide {\n  min-width: 100%;\n  height: 100%;\n}\n\n.hero__slide img {\n  width: 100%;\n  height: 100%;\n  object-fit: contain;\n}\n\n.hero__arrows {\n  position: absolute;\n  top: 80px;\n  right: 65px;\n  z-index: 30;\n  display: flex;\n  gap: 8px;\n}\n\n.hero__arrow-btn {\n  width: 31px;\n  height: 31px;\n  border-radius: 9999px;\n  background: var(--color-white);\n  border: none;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  box-shadow: none;\n  transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), color 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.hero__arrow-btn:hover {\n  background-color: var(--color-black);\n}\n\n.hero__arrow-btn:hover svg path {\n  stroke: #fff;\n}\n\n.hero__arrow-btn svg path {\n  transition: stroke 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n\/* Mobile blob \u2014 hidden on desktop, shown on mobile *\/\n.hero__mobile-bg {\n  display: none;\n  position: absolute;\n  top: -40px;\n  right: -60px;\n  width: 420px;\n  height: 100%;\n  pointer-events: none;\n  overflow: visible;\n}\n\n.hero__decorative-shape {\n  position: absolute;\n  top: -20%;\n  right: -15%;\n  width: 838px;\n  height: 838px;\n  opacity: 0.15;\n}\n\n\/* --- Slider Controls --- *\/\n.slider-controls {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n}\n\n.slider-arrow {\n  width: 30px;\n  height: 30px;\n  border-radius: 50%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  background: transparent;\n  border: 1px solid var(--color-medium-gray);\n  transition: background-color 0.2s;\n}\n\n.slider-arrow:hover {\n  background: rgba(0,0,0,0.05);\n}\n\n.slider-arrow--dark {\n  border-color: var(--color-dark-gray);\n}\n\n.slider-arrow--dark:hover {\n  background: rgba(255,255,255,0.1);\n}\n\n.slider-arrow svg {\n  width: 14px;\n  height: 14px;\n}\n\n.slider-arrow--prev svg {\n  transform: rotate(180deg);\n}\n\n\/* --- Horizontal Scroll Slider --- *\/\n.slider-track {\n  display: flex;\n  gap: var(--space-lg);\n  overflow-x: auto;\n  scroll-snap-type: x mandatory;\n  -webkit-overflow-scrolling: touch;\n  scrollbar-width: none;\n  padding-bottom: 8px;\n}\n\n.slider-track::-webkit-scrollbar {\n  display: none;\n}\n\n.slider-track > * {\n  scroll-snap-align: start;\n  flex-shrink: 0;\n}\n\n\/* --- Section Headers --- *\/\n.section-header {\n  display: flex;\n  align-items: flex-start;\n  justify-content: space-between;\n  margin-bottom: var(--space-3xl);\n}\n\n.section-header__title {\n  font-size: 40px;\n  font-weight: 600;\n  line-height: 1.13;\n}\n\n.section-header--center {\n  justify-content: center;\n  text-align: center;\n}\n\n.section-header--center .section-header__title {\n  width: 100%;\n}\n\n\/* --- Footer --- *\/\n.footer {\n  background-color: var(--color-dark-black);\n  border-radius: var(--radius-lg) var(--radius-lg) 0 0;\n  padding: clamp(16px, 4vw, 48px);\n  color: var(--color-white);\n  overflow: hidden;\n}\n\n.footer__top {\n  display: flex;\n  align-items: center;\n  gap: 193px;\n  margin-bottom: 26px;\n}\n\n.footer__logo {\n  height: 31px;\n  width: auto;\n}\n\n.footer__cta {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: 32px;\n}\n\n.footer__cta-text {\n  font-size: 20px;\n  font-weight: 600;\n  line-height: 1.34;\n  color: var(--color-gray);\n  max-width: 360px;\n}\n\n.footer__cta-buttons {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 16px;\n}\n\n.footer__columns {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 50px;\n  margin-bottom: 26px;\n}\n\n.footer__column-title {\n  font-size: 16px;\n  font-weight: 600;\n  line-height: 1.4;\n  color: var(--color-gray);\n  margin-bottom: 11px;\n}\n\n.footer__link {\n  display: block;\n  font-size: 14px;\n  font-weight: 400;\n  line-height: 1.4;\n  color: var(--color-medium-gray);\n  margin-bottom: 4px;\n  transition: color 0.2s;\n}\n\n.footer__link:hover {\n  color: var(--color-white);\n}\n\n.footer__divider {\n  width: 100%;\n  height: 1px;\n  background: rgba(255,255,255,0.1);\n  margin-bottom: 24px;\n}\n\n.footer__bottom {\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-start;\n}\n\n.footer__social {\n  display: flex;\n  gap: 16px;\n  margin-bottom: 12px;\n}\n\n.footer__social-link {\n  font-size: 16px;\n  color: var(--color-dark-gray);\n  transition: color 0.2s;\n}\n\n.footer__social-link:hover {\n  color: var(--color-white);\n}\n\n.footer__copyright {\n  font-size: 12px;\n  color: var(--color-dark-gray);\n  letter-spacing: -0.24px;\n}\n\n.footer__legal {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 16px;\n}\n\n.footer__legal-link {\n  font-size: 10px;\n  color: var(--color-medium-gray);\n  letter-spacing: -0.2px;\n  transition: color 0.2s;\n}\n\n.footer__legal-link:hover {\n  color: var(--color-white);\n}\n\n\/* Help tag pills in footer *\/\n.footer__help-tags {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 9px;\n}\n\n.footer__help-tag {\n  display: inline-flex;\n  align-items: center;\n  gap: 7px;\n  background: var(--color-black);\n  border-radius: 20px;\n  padding: 10px 12px 8px;\n  height: 35px;\n  font-size: 12px;\n  color: var(--color-medium-gray);\n}\n\n.footer__help-tag-icon {\n  width: 10px;\n  height: 10px;\n}\n\n\/* --- CTA Banner (Bran\u017ce \"Nie widzisz...\") --- *\/\n.cta-banner {\n  background: var(--color-white);\n  border-radius: var(--radius-lg);\n  padding: 36px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 53px;\n}\n\n.cta-banner__text {\n  font-size: 20px;\n  font-weight: 600;\n  line-height: 1.34;\n  color: var(--color-black);\n}\n\n\/* --- Utility Classes --- *\/\n.flex { display: flex; }\n.flex-col { flex-direction: column; }\n.flex-wrap { flex-wrap: wrap; }\n.items-center { align-items: center; }\n.items-start { align-items: flex-start; }\n.justify-center { justify-content: center; }\n.justify-between { justify-content: space-between; }\n.gap-xs  { gap: var(--space-xs); }\n.gap-sm  { gap: var(--space-sm); }\n.gap-md  { gap: var(--space-md); }\n.gap-lg  { gap: var(--space-lg); }\n.gap-xl  { gap: var(--space-xl); }\n.gap-2xl { gap: var(--space-2xl); }\n.gap-3xl { gap: var(--space-3xl); }\n.text-center { text-align: center; }\n.w-full { width: 100%; }\n.relative { position: relative; }\n.overflow-hidden { overflow: hidden; }\n\n\/* ============================================\n   HOMEPAGE Components (AP_Homepage_1366px)\n   ============================================ *\/\n\n\/* --- Additional Typography (Homepage) --- *\/\n.text-h1 {\n  font-size: 68px;\n  font-weight: 600;\n  line-height: 1.06;\n  letter-spacing: -1.36px;\n}\n\n.text-h3 {\n  font-size: 68px;\n  font-weight: 400;\n  line-height: 1.06;\n  letter-spacing: normal;\n}\n\n.text-h6 {\n  font-size: 24px;\n  font-weight: 600;\n  line-height: 1.34;\n  letter-spacing: normal;\n}\n\n.text-h5-gradient {\n  font-size: 32px;\n  font-weight: 600;\n  line-height: 1.31;\n  background: var(--gradient-brand);\n  -webkit-background-clip: text;\n  -webkit-text-fill-color: transparent;\n  background-clip: text;\n}\n\n.text-h7-regular {\n  font-size: 24px;\n  font-weight: 400;\n  line-height: 1.37;\n}\n\n\/* --- Hero Video Section --- *\/\n.hero-video {\n  position: relative;\n  width: 100%;\n  display: grid;\n  grid-template-columns: 1fr;\n  grid-template-rows: 1fr;\n  align-items: flex-end;\n  overflow: hidden;\n}\n\n.hero-video__video-wrapper {\n  grid-area: 1 \/ 1 \/ -1 \/ -1;\n  position: relative;\n  width: 100%;\n  height: 100%;\n}\n\n.hero-video__video {\n  width: 100%;\n  height: 100%;\n  min-height: 620px;\n  object-fit: cover;\n  display: block;\n}\n\n.hero-video__overlay {\n  position: absolute;\n  inset: 0;\n  background: rgba(0, 0, 0, 0.5);\n  z-index: 1;\n  pointer-events: none;\n}\n\n.hero-video__content {\n  grid-area: 1 \/ 1 \/ -1 \/ -1;\n  position: relative;\n  z-index: 10;\n  max-width: var(--max-width);\n  margin: 0 auto;\n  padding: 130px 24px;\n  width: 100%;\n  display: flex;\n  flex-direction: column;\n  justify-content: flex-end;\n  align-items: flex-start;\n}\n\n.hero-video__heading {\n  font-size: clamp(38px, 6vw, 68px);\n  font-weight: 600;\n  line-height: 1.15;\n  letter-spacing: -1.36px;\n  color: var(--color-white);\n  max-width: 835px;\n  margin-bottom: 32px;\n  cursor: default;\n}\n\n.hero-video__heading .text-gradient {\n  background: var(--gradient-brand);\n  -webkit-background-clip: text;\n  -webkit-text-fill-color: transparent;\n  background-clip: text;\n}\n\n.hero-video__watch-btn {\n  display: flex;\n  align-items: center;\n  gap: 6px;\n  background: transparent;\n  border: none;\n  color: var(--color-white);\n  font-family: inherit;\n  font-size: 16px;\n  font-weight: 400;\n  cursor: pointer;\n  padding: 0;\n  position: absolute;\n  bottom: 32px;\n  right: 48px;\n  z-index: 10;\n}\n\n.hero-video__watch-btn::after {\n  content: '';\n  position: absolute;\n  bottom: -4px;\n  left: 0;\n  width: 100%;\n  height: 1px;\n  background: var(--color-white);\n  opacity: 0;\n  transition: opacity 0.3s;\n}\n\n.hero-video__watch-btn:hover::after {\n  opacity: 1;\n}\n\n.hero-video__watch-btn svg {\n  transition: transform 0.3s;\n}\n\n.hero-video__watch-btn:hover svg {\n  transform: translateX(4px);\n}\n\n\/* Fullscreen video popup *\/\n.hero-video__fullscreen {\n  position: fixed;\n  inset: 0;\n  z-index: 40;\n  background: rgba(0, 0, 0, 0.95);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  opacity: 0;\n  visibility: hidden;\n  pointer-events: none;\n  transition: opacity 0.3s ease, visibility 0.3s ease;\n}\n\n.hero-video__fullscreen.is-open {\n  opacity: 1;\n  visibility: visible;\n  pointer-events: auto;\n}\n\n.hero-video__fullscreen-video {\n  max-width: 90vw;\n  max-height: 85vh;\n  border-radius: 12px;\n}\n\n.hero-video__fullscreen-close {\n  position: absolute;\n  top: 24px;\n  right: 24px;\n  background: rgba(255,255,255,0.1);\n  border: none;\n  border-radius: 50%;\n  width: 48px;\n  height: 48px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  transition: background 0.2s;\n}\n\n.hero-video__fullscreen-close:hover {\n  background: rgba(255,255,255,0.2);\n}\n\n.hero-video__actions {\n  display: flex;\n  align-items: center;\n  gap: 24px;\n}\n\n\/* --- Button: Secondary (play + text) --- *\/\n.btn-secondary {\n  display: inline-flex;\n  align-items: center;\n  gap: 12px;\n  font-size: 16px;\n  font-weight: 600;\n  color: var(--color-white);\n  background: none;\n  border: none;\n  cursor: pointer;\n  padding: 0;\n  transition: opacity 0.2s;\n}\n\n.btn-secondary:hover {\n  opacity: 0.8;\n}\n\n.btn-secondary__play {\n  width: 48px;\n  height: 48px;\n  border-radius: 50%;\n  border: 2px solid var(--color-white);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n\/* --- Logo Bar --- *\/\n.logo-bar {\n  max-width: var(--max-width);\n  margin: 0 auto;\n  padding: 0 var(--page-padding);\n}\n\n.logo-bar__heading {\n  font-size: 24px;\n  font-weight: 600;\n  line-height: 1.2;\n  letter-spacing: -0.52px;\n  color: var(--color-black);\n  margin-bottom: 40px;\n}\n\n.logo-bar__grid {\n  display: grid;\n  grid-template-columns: repeat(6, 1fr);\n  gap: 0;\n}\n\n.logo-bar__item {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 16px 24px;\n}\n\n.logo-bar__item img {\n  max-width: 100%;\n  height: auto;\n  max-height: 80px;\n}\n\n\/* Mobile slider \u2014 hidden on desktop *\/\n.logo-bar__heading {\n  text-align: center;\n}\n\n.logo-bar__slider {\n  display: none;\n  align-items: center;\n  gap: 8px;\n  margin-top: 16px;\n}\n\n.logo-bar__slider-track {\n  flex: 1;\n  display: flex;\n  overflow: hidden;\n  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.logo-bar__slider-item {\n  flex: 0 0 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 24px;\n  min-height: 120px;\n}\n\n.logo-bar__slider-item img {\n  max-width: 200px;\n  max-height: 80px;\n  height: auto;\n}\n\n.logo-bar__arrow {\n  width: 44px;\n  height: 44px;\n  border-radius: 50%;\n  background: var(--color-white);\n  border: none;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  flex-shrink: 0;\n  color: var(--color-black);\n  box-shadow: 0 2px 8px rgba(0,0,0,0.08);\n  transition: background 0.2s;\n}\n\n.logo-bar__arrow:hover {\n  background: var(--color-black);\n  color: var(--color-white);\n}\n\n.logo-bar__dots {\n  display: none;\n  justify-content: center;\n  gap: 8px;\n  margin-top: 24px;\n}\n\n.logo-bar__dot {\n  width: 8px;\n  height: 8px;\n  border-radius: 50%;\n  background: var(--color-light-gray);\n  border: none;\n  padding: 0;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.logo-bar__dot.is-active {\n  width: 24px;\n  border-radius: 4px;\n  background: var(--color-erp-blue);\n}\n\n\/* Mobile breakpoint \u2014 show slider, hide grid *\/\n@media (max-width: 768px) {\n  .logo-bar__grid {\n    display: none;\n  }\n  .logo-bar__slider {\n    display: flex;\n  }\n  .logo-bar__dots {\n    display: flex;\n    flex-wrap: wrap;\n  }\n}\n\n\/* --- Card: News (dark article card) --- *\/\n.card-news {\n  background: #141414;\n  border-radius: 24px;\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n  width: 366px;\n  flex-shrink: 0;\n  padding: 36px;\n  text-decoration: none;\n  color: inherit;\n  transition: transform 0.25s;\n}\n\n.card-news:hover {\n  transform: translateY(-4px);\n}\n\n.card-news__image-wrap {\n  margin-bottom: 28px;\n}\n\n.card-news__image {\n  width: 100%;\n  height: 194px;\n  object-fit: cover;\n  display: block;\n  border-radius: 24px;\n}\n\n.card-news__title {\n  font-size: 18px;\n  font-weight: 600;\n  line-height: 1.31;\n  color: #676767;\n  margin-bottom: 28px;\n}\n\n.card-news__desc {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.375;\n  color: #AEAEAE;\n  flex: 1;\n}\n\n.card-news__meta {\n  display: flex;\n  gap: 8px;\n  margin-top: 20px;\n}\n\n\/* --- Tag: Dark (date \/ reading time) --- *\/\n.tag-dark {\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n  padding: 6px 12px;\n  border-radius: var(--radius-full);\n  background: var(--surface-card-dark2);\n  font-size: 12px;\n  font-weight: 400;\n  color: var(--color-medium-gray);\n  white-space: nowrap;\n}\n\n\/* --- Label: Pill (bordered, no fill) --- *\/\n.label-pill {\n  display: inline-flex;\n  align-items: center;\n  padding: 8px 16px;\n  border-radius: var(--radius-full);\n  border: 1px solid var(--color-dark-gray);\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--color-white);\n  background: transparent;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.label-pill:hover {\n  border-color: var(--color-white);\n}\n\n.label-pill--active {\n  background: var(--color-white);\n  color: var(--color-black);\n  border-color: var(--color-white);\n}\n\n\/* --- Card: Quote (white card with avatar) --- *\/\n.card-quote {\n  background: var(--color-white);\n  border-radius: var(--radius-md);\n  padding: 40px 32px;\n  display: flex;\n  flex-direction: column;\n  gap: 24px;\n  max-width: 560px;\n  min-width: 400px;\n  flex-shrink: 0;\n}\n\n.card-quote__text {\n  font-size: 18px;\n  font-weight: 400;\n  line-height: 1.56;\n  color: var(--color-black);\n}\n\n.card-quote__footer {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 16px;\n}\n\n.card-quote__author {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n}\n\n.card-quote__avatar {\n  width: 48px;\n  height: 48px;\n  border-radius: 50%;\n  background: var(--color-light-gray);\n  overflow: hidden;\n  flex-shrink: 0;\n}\n\n.card-quote__avatar img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n}\n\n.card-quote__name {\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--color-black);\n  line-height: 1.4;\n}\n\n.card-quote__role {\n  font-size: 12px;\n  font-weight: 400;\n  color: var(--color-dark-gray);\n}\n\n.card-quote__company-logo {\n  height: 24px;\n  opacity: 0.6;\n}\n\n\/* --- Section: Benefits (dark video slider) --- *\/\n.section-benefits {\n  background: var(--color-dark-black);\n  position: relative;\n  overflow: hidden;\n  padding: 96px 0;\n}\n\n.section-benefits__bg-video {\n  position: absolute;\n  inset: 0;\n  opacity: 0.2;\n}\n\n.section-benefits__bg-video video {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n}\n\n.section-benefits__header {\n  position: relative;\n  z-index: 2;\n  padding: 0 var(--page-padding);\n  max-width: var(--max-width);\n  margin: 0 auto 56px;\n}\n\n.section-benefits__content {\n  position: relative;\n  z-index: 2;\n  padding: 0 var(--page-padding);\n  max-width: var(--max-width);\n  margin: 0 auto;\n  display: flex;\n  gap: 48px;\n  align-items: flex-start;\n}\n\n.section-benefits__info {\n  flex: 1;\n  max-width: 480px;\n}\n\n.section-benefits__client {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  margin-bottom: 24px;\n}\n\n.section-benefits__client-logo {\n  width: 56px;\n  height: 56px;\n  border-radius: var(--radius-sm);\n  background: var(--color-white);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  overflow: hidden;\n}\n\n.section-benefits__client-name {\n  font-size: 20px;\n  font-weight: 600;\n  color: var(--color-white);\n}\n\n.section-benefits__client-industry {\n  font-size: 14px;\n  color: var(--color-medium-gray);\n}\n\n.section-benefits__quote {\n  font-size: 24px;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--color-white);\n  margin-bottom: 32px;\n  font-style: italic;\n}\n\n.section-benefits__stats {\n  display: flex;\n  gap: 48px;\n}\n\n.section-benefits__stat-value {\n  font-size: 68px;\n  font-weight: 400;\n  color: var(--color-white);\n  line-height: 1;\n}\n\n.section-benefits__stat-value .text-gradient {\n  background: var(--gradient-brand);\n  -webkit-background-clip: text;\n  -webkit-text-fill-color: transparent;\n}\n\n.section-benefits__stat-label {\n  font-size: 14px;\n  color: var(--color-medium-gray);\n  margin-top: 8px;\n}\n\n.section-benefits__visual {\n  flex: 1;\n  border-radius: var(--radius-lg);\n  overflow: hidden;\n  min-height: 400px;\n  background: var(--surface-card-dark);\n}\n\n\/* --- Section: Map (globe with country pills) --- *\/\n.section-map {\n  background: var(--color-gray);\n  padding: 80px 0 100px;\n  position: relative;\n  overflow: hidden;\n  text-align: center;\n}\n\n.section-map__heading {\n  font-size: 48px;\n  font-weight: 600;\n  line-height: 1.2;\n  color: var(--color-black);\n  margin-bottom: 0;\n  position: relative;\n  z-index: 2;\n}\n\n.section-map {\n  min-height: 900px;\n}\n\n.section-map__globe {\n  position: relative;\n  width: 660px;\n  height: 660px;\n  margin: 0 auto;\n  z-index: 0;\n  isolation: isolate;\n}\n\n.section-map__globe video {\n  width: 100%;\n  height: 100%;\n  object-fit: contain;\n  mix-blend-mode: multiply;\n}\n\n.section-map__countries {\n  position: absolute;\n  width: 100%;\n  top: 450px;\n  z-index: 10;\n  overflow: clip;\n}\n\n.section-map__row {\n  display: flex;\n  margin-bottom: 14px;\n}\n\n.section-map__row ul {\n  display: flex;\n  flex-shrink: 0;\n  list-style: none;\n  padding: 0 0 0 28px;\n  margin: 0;\n  animation: map-scroll-left 30s linear infinite;\n}\n\n.section-map__row--2 ul {\n  animation-name: map-scroll-right;\n}\n\n.section-map__row--3 ul {\n  animation-delay: -7s;\n}\n\n.section-map__row li {\n  font-size: 32px;\n  font-weight: 400;\n  line-height: 1.44;\n  color: var(--color-black);\n  background: var(--color-white);\n  border-radius: 9999px;\n  padding: 9px 30px 3px;\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n@keyframes map-scroll-left {\n  0% { translate: 0; }\n  100% { translate: -100%; }\n}\n\n@keyframes map-scroll-right {\n  0% { translate: -100%; }\n  100% { translate: 0; }\n}\n\n@media (max-width: 768px) {\n  .section-map__heading {\n    font-size: 32px;\n  }\n\n  .section-map__globe {\n    width: 300px;\n    height: 300px;\n    margin-bottom: -100px;\n  }\n\n  .section-map__row li {\n    font-size: 20px;\n    padding: 8px 20px 4px;\n  }\n}\n\n\/* --- Section: CTA (large centered text) --- *\/\n.section-cta {\n  background: var(--color-gray);\n  padding: 100px var(--page-padding);\n  text-align: center;\n}\n\n.section-cta__heading {\n  font-size: 40px;\n  font-weight: 600;\n  line-height: 1.2;\n  letter-spacing: -0.8px;\n  color: var(--color-black);\n  margin-bottom: 40px;\n  max-width: 780px;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n.section-cta__btn {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  font-family: inherit;\n  font-size: 16px;\n  font-weight: 400;\n  color: var(--color-white);\n  background: var(--color-black);\n  border: none;\n  border-radius: 9999px;\n  padding: 20px 24px 18px;\n  text-decoration: none;\n  cursor: pointer;\n  transition: opacity 0.2s;\n}\n\n.section-cta__btn:hover {\n  background: var(--color-erp-blue);\n}\n\n.section-cta__btn .arrow-icon {\n  width: 16px;\n  height: 16px;\n  flex-shrink: 0;\n  stroke: var(--color-white);\n}\n\n\/* --- Section: Recommendations slider --- *\/\n.section-recommendations {\n  background: var(--color-gray);\n  padding: 96px 0;\n}\n\n.section-recommendations__header {\n  padding: 0 var(--page-padding);\n  max-width: var(--max-width);\n  margin: 0 auto 48px;\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-end;\n}\n\n.section-recommendations__track {\n  display: flex;\n  gap: 24px;\n  overflow-x: auto;\n  padding: 0 var(--page-padding) 16px;\n  scroll-snap-type: x mandatory;\n  -ms-overflow-style: none;\n  scrollbar-width: none;\n}\n\n.section-recommendations__track::-webkit-scrollbar {\n  display: none;\n}\n\n\/* --- Section: Popular Topics \/ News --- *\/\n.section-news {\n  background: var(--color-dark-black);\n  padding: 96px 0;\n}\n\n.section-news__header {\n  padding: 0 var(--page-padding);\n  max-width: var(--max-width);\n  margin: 0 auto 16px;\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-end;\n}\n\n.section-news__pills {\n  display: flex;\n  gap: 8px;\n  padding: 0 var(--page-padding);\n  max-width: var(--max-width);\n  margin: 0 auto 40px;\n  flex-wrap: wrap;\n}\n\n.section-news__track {\n  display: flex;\n  gap: 24px;\n  overflow-x: auto;\n  padding: 0 var(--page-padding) 16px;\n  scroll-snap-type: x mandatory;\n  -ms-overflow-style: none;\n  scrollbar-width: none;\n}\n\n.section-news__track::-webkit-scrollbar {\n  display: none;\n}\n\n\/* --- Product Cards: Homepage variant (dark bg) --- *\/\n.card-product--dark {\n  background: var(--surface-card-dark);\n  border: 1px solid rgba(255,255,255,0.08);\n}\n\n.card-product--dark .card-product__title {\n  color: var(--color-white);\n}\n\n.card-product--dark .card-product__desc {\n  color: var(--color-medium-gray);\n}\n\n\/* ============================================\n   HR SUBPAGE Components (AP_Homepage_animacje)\n   ============================================ *\/\n\n\/* --- Hero: Subpage variant --- *\/\n.hero-subpage {\n  position: relative;\n  width: 100%;\n  max-width: 100vw;\n  display: grid;\n  align-items: flex-end;\n  overflow: hidden;\n}\n\n.hero-subpage__video-wrapper {\n  position: relative;\n  grid-area: 1 \/ 1;\n  overflow: hidden;\n  min-height: 100%;\n}\n\n.hero-subpage__video-wrapper::after {\n  content: \"\";\n  position: absolute;\n  top: 0;\n  right: 0;\n  width: 100%;\n  height: 100%;\n  background-color: var(--color-dark-black);\n  opacity: 0.65;\n  pointer-events: none;\n}\n\n.hero-subpage__video-wrapper video {\n  width: 100%;\n  height: 100%;\n  min-height: 100%;\n  object-fit: cover;\n  display: block;\n  position: absolute;\n  inset: 0;\n}\n\n.hero-subpage__content {\n  grid-area: 1 \/ 1;\n  position: relative;\n  z-index: 10;\n  max-width: var(--max-width);\n  width: 100%;\n  margin: 0 auto;\n  padding: clamp(120px, 25vw, 256px) var(--page-padding) 48px;\n  display: flex;\n  flex-direction: column;\n  align-items: flex-start;\n  box-sizing: border-box;\n}\n\n.hero-subpage__logo-figure {\n  margin: 0 0 44px;\n}\n\n.hero-subpage__logo {\n  width: 89px;\n  height: 50px;\n  display: block;\n}\n\n.hero-subpage__heading {\n  font-size: clamp(38px, 5vw, 48px);\n  font-weight: 600;\n  line-height: 1.15;\n  color: var(--color-white);\n  max-width: 835px;\n  margin-bottom: clamp(24px, 4vw, 40px);\n}\n\n.hero-subpage__cta {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 12px;\n}\n\n\/* --- Section: Two-Column Description --- *\/\n.section-description {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 28px;\n  padding: 96px 24px 78px;\n  max-width: var(--max-width);\n  margin: 0 auto;\n  align-items: flex-start;\n  overflow: hidden;\n}\n\n.section-description__heading {\n  flex: 0 0 50%;\n  font-size: 40px;\n  font-weight: 600;\n  line-height: 1.2;\n  color: var(--color-black);\n}\n\n.section-description__body {\n  flex: 1 1 280px;\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.4;\n  color: var(--color-dark-gray);\n}\n\n\/* --- Section: Content Split (sticky text + stacking cards) --- *\/\n.section-content-split {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: var(--space-3xl);\n  max-width: var(--max-width);\n  margin: 0 auto;\n  padding: var(--space-4xl) var(--page-padding) var(--space-2xl);\n  min-height: 200vh;\n  position: relative;\n}\n\n@media (max-width: 768px) {\n  .section-content-split {\n    grid-template-columns: 1fr;\n    min-height: 280vh;\n  }\n  .section-content-split__text {\n    position: static;\n    padding-right: 0;\n    margin-bottom: var(--space-xl);\n  }\n  .section-content-split__media:nth-child(1) {\n    top: 80px;\n  }\n  .section-content-split__media:nth-child(2) {\n    top: 110px;\n  }\n  .section-content-split__media:nth-child(3) {\n    top: 140px;\n  }\n}\n\n.section-content-split__text {\n  position: sticky;\n  top: 120px;\n  align-self: start;\n  height: fit-content;\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-lg);\n  padding-right: var(--space-2xl);\n}\n\n.section-content-split__heading {\n  font-size: clamp(24px, 5vw, 48px);\n  font-weight: 600;\n  line-height: 1.125;\n  color: var(--color-black);\n}\n\n.section-content-split__subtitle {\n  font-size: 16px;\n  font-weight: 600;\n  line-height: 1.5;\n  color: var(--color-black);\n}\n\n.section-content-split__body {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--color-dark-gray);\n}\n\n\/* Right column: stacking sticky cards *\/\n.section-content-split__cards {\n  position: relative;\n  padding-top: 0;\n}\n\n.section-content-split__media {\n  position: sticky;\n  display: flex;\n  flex-direction: column;\n  gap: 0;\n  border-radius: var(--radius-lg);\n  overflow: hidden;\n  background: var(--color-white);\n  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.12);\n  margin-bottom: var(--space-2xl);\n  border: 1px solid var(--color-light-gray);\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.section-content-split__media:hover {\n  transform: translateY(-3px);\n  box-shadow: 0 32px 96px rgba(0, 0, 0, 0.16);\n}\n\n.section-content-split__media:nth-child(1) {\n  top: 100px;\n  z-index: 1;\n}\n\n.section-content-split__media:nth-child(2) {\n  top: 140px;\n  z-index: 2;\n}\n\n.section-content-split__media:nth-child(3) {\n  top: 180px;\n  z-index: 3;\n}\n\n.section-content-split__image {\n  width: 100%;\n  aspect-ratio: 16 \/ 10;\n  object-fit: cover;\n  display: block;\n}\n\n.section-content-split__card {\n  padding: var(--space-xl);\n}\n\n.section-content-split__card-title {\n  font-size: 20px;\n  font-weight: 600;\n  line-height: 1.3;\n  color: var(--color-black);\n  margin-bottom: var(--space-sm);\n}\n\n.section-content-split__card-desc {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--color-dark-gray);\n}\n\n\/* --- Section: Service Cards Grid (3-col, expandable) --- *\/\n.section-services {\n  background: var(--color-gray);\n  padding: var(--space-4xl) 0;\n}\n\n.section-services__header {\n  text-align: center;\n  margin-bottom: var(--space-2xl);\n}\n\n.section-services__header h2 {\n  font-size: 40px;\n  font-weight: 600;\n  line-height: 1.2;\n  color: var(--color-black);\n  margin-bottom: var(--space-sm);\n}\n\n.section-services__header p {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--color-dark-gray);\n}\n\n.section-services__grid {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: var(--space-lg);\n  align-items: stretch;\n}\n\n\/* Service card *\/\n.card-service {\n  background: var(--color-white);\n  border: 1px solid var(--color-light-gray);\n  border-radius: var(--radius-lg);\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n  transition: transform 0.4s ease, box-shadow 0.4s ease;\n  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);\n}\n\n.card-service:hover {\n  transform: translateY(-4px);\n  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.1);\n}\n\n.card-service__image {\n  width: 100%;\n  height: 200px;\n  overflow: hidden;\n  flex-shrink: 0;\n}\n\n.card-service__image img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  transition: transform 0.6s ease;\n}\n\n.card-service:hover .card-service__image img {\n  transform: scale(1.05);\n}\n\n.card-service__header {\n  padding: var(--space-lg) var(--space-lg) var(--space-md);\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n}\n\n.card-service__title {\n  font-size: 20px;\n  font-weight: 600;\n  line-height: 1.3;\n  color: var(--color-black);\n  margin-bottom: var(--space-sm);\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: var(--space-md);\n}\n\n.card-service__desc {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--color-dark-gray);\n  margin-bottom: var(--space-md);\n  flex: 1;\n}\n\n.card-service__metric {\n  display: inline-flex;\n  align-items: center;\n  gap: var(--space-sm);\n  padding: 6px 14px;\n  font-size: 12px;\n  font-weight: 600;\n  line-height: 1.44;\n  letter-spacing: -0.24px;\n  border-radius: var(--radius-full);\n  background: rgba(0, 0, 0, 0.05);\n  color: var(--color-dark-gray);\n  border: 1px solid var(--color-light-gray);\n  align-self: flex-start;\n  margin-top: auto;\n}\n\n.card-service__metric svg {\n  width: 14px;\n  height: 14px;\n  stroke: currentColor;\n  fill: none;\n  stroke-width: 2;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n}\n\n\/* Toggle button (+) *\/\n.card-service__toggle {\n  width: 36px;\n  height: 36px;\n  border-radius: var(--radius-full);\n  border: 1.5px solid var(--color-light-gray);\n  background: var(--color-white);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  transition: all 0.3s ease;\n  flex-shrink: 0;\n}\n\n.card-service__toggle svg {\n  width: 16px;\n  height: 16px;\n  stroke: var(--color-black);\n  stroke-width: 1.5;\n  fill: none;\n  stroke-linecap: round;\n  transition: stroke 0.3s ease;\n}\n\n.card-service__toggle:hover {\n  border-color: var(--color-erp-blue);\n}\n\n.card-service__toggle:hover svg {\n  stroke: var(--color-erp-blue);\n}\n\n.card-service.is-open .card-service__toggle {\n  background: var(--color-erp-blue);\n  border-color: var(--color-erp-blue);\n  transform: rotate(45deg);\n}\n\n.card-service.is-open .card-service__toggle svg {\n  stroke: var(--color-white);\n}\n\n\/* Expandable body *\/\n.card-service__body {\n  max-height: 0;\n  overflow: hidden;\n  transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.card-service.is-open .card-service__body {\n  max-height: 1200px;\n}\n\n.card-service__content {\n  padding: 0 var(--space-lg) var(--space-lg);\n  border-top: 1px solid var(--color-light-gray);\n  padding-top: var(--space-lg);\n}\n\n.card-service__lead {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--color-black);\n  margin-bottom: var(--space-md);\n}\n\n.card-service__content h4 {\n  font-size: 16px;\n  font-weight: 600;\n  line-height: 1.5;\n  color: var(--color-black);\n  margin-bottom: var(--space-sm);\n}\n\n.card-service__items {\n  list-style: none;\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-sm);\n  margin-bottom: var(--space-lg);\n}\n\n.card-service__items li {\n  display: flex;\n  align-items: flex-start;\n  gap: 10px;\n  font-size: 14px;\n  font-weight: 400;\n  line-height: 1.4;\n  color: var(--color-black);\n}\n\n.card-service__items li::before {\n  content: '';\n  width: 6px;\n  height: 6px;\n  border-radius: var(--radius-full);\n  background: var(--color-erp-blue);\n  flex-shrink: 0;\n  margin-top: 7px;\n}\n\n.card-service__case {\n  background: rgba(22, 118, 195, 0.04);\n  border-left: 3px solid var(--color-erp-blue);\n  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;\n  padding: var(--space-md) var(--space-lg);\n  margin-bottom: var(--space-lg);\n}\n\n.card-service__case-label {\n  font-size: 12px;\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 0.05em;\n  line-height: 1.44;\n  color: var(--color-erp-blue);\n  margin-bottom: var(--space-sm);\n}\n\n.card-service__case p {\n  font-size: 14px;\n  font-weight: 400;\n  line-height: 1.4;\n  color: var(--color-dark-gray);\n  font-style: italic;\n}\n\n.card-service__when {\n  font-size: 14px;\n  font-weight: 400;\n  line-height: 1.4;\n  color: var(--color-dark-gray);\n}\n\n.card-service__when strong {\n  color: var(--color-black);\n}\n\n\/* --- Section: Results Cards (dark, gradient metrics) --- *\/\n.section-results {\n  background: var(--color-dark-black);\n  padding: var(--space-4xl) 0;\n  position: relative;\n  overflow: hidden;\n}\n\n.section-results::before {\n  content: '';\n  position: absolute;\n  top: -30%;\n  left: -10%;\n  width: 600px;\n  height: 600px;\n  border-radius: 50%;\n  background: radial-gradient(circle, rgba(239, 89, 9, 0.08) 0%, rgba(215, 14, 68, 0.04) 40%, transparent 70%);\n  filter: blur(80px);\n  pointer-events: none;\n}\n\n.section-results::after {\n  content: '';\n  position: absolute;\n  bottom: -20%;\n  right: -5%;\n  width: 500px;\n  height: 500px;\n  border-radius: 50%;\n  background: radial-gradient(circle, rgba(22, 118, 195, 0.08) 0%, rgba(160, 70, 225, 0.04) 40%, transparent 70%);\n  filter: blur(80px);\n  pointer-events: none;\n}\n\n.section-results .container {\n  position: relative;\n  z-index: 1;\n}\n\n.section-results__header {\n  text-align: center;\n  margin-bottom: var(--space-2xl);\n}\n\n.section-results__header h2 {\n  font-size: 40px;\n  font-weight: 600;\n  line-height: 1.2;\n  color: var(--color-white);\n  margin-bottom: var(--space-sm);\n}\n\n.section-results__header p {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--color-medium-gray);\n}\n\n.section-results__grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));\n  gap: var(--space-xl);\n}\n\n\/* Result card *\/\n.card-result {\n  background: rgba(255, 255, 255, 0.03);\n  border: 1px solid rgba(255, 255, 255, 0.07);\n  border-radius: var(--radius-lg);\n  padding: var(--space-xl) var(--space-xl) var(--space-2xl);\n  transition: all 0.4s ease;\n  position: relative;\n  overflow: hidden;\n}\n\n.card-result::before {\n  content: '';\n  position: absolute;\n  inset: 0;\n  border-radius: inherit;\n  background: radial-gradient(ellipse at 30% 0%, rgba(239, 89, 9, 0.06) 0%, transparent 60%);\n  pointer-events: none;\n  opacity: 0;\n  transition: opacity 0.4s ease;\n}\n\n.card-result:hover::before {\n  opacity: 1;\n}\n\n.card-result:hover {\n  border-color: rgba(255, 255, 255, 0.15);\n  transform: translateY(-6px);\n  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.5);\n}\n\n.card-result__badge {\n  display: inline-block;\n  padding: 6px 14px;\n  font-size: 12px;\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 0.08em;\n  line-height: 1.44;\n  border-radius: var(--radius-full);\n  border: 1px solid rgba(255, 255, 255, 0.12);\n  color: var(--color-medium-gray);\n  margin-bottom: var(--space-xl);\n}\n\n.card-result__metric {\n  font-size: 68px;\n  font-weight: 400;\n  line-height: 1.06;\n  letter-spacing: -0.03em;\n  background: var(--gradient-brand);\n  -webkit-background-clip: text;\n  -webkit-text-fill-color: transparent;\n  background-clip: text;\n  margin-bottom: var(--space-xs);\n}\n\n.card-result__metric-label {\n  font-size: 12px;\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 0.1em;\n  line-height: 1.44;\n  color: var(--color-dark-gray);\n  margin-bottom: var(--space-lg);\n}\n\n.card-result__title {\n  font-size: 20px;\n  font-weight: 600;\n  line-height: 1.3;\n  color: var(--color-white);\n  margin-bottom: var(--space-sm);\n}\n\n.card-result__desc {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--color-dark-gray);\n}\n\n\/* --- Section: Persona Cards (DRS \u2014 tabs + problem\/solution panels) --- *\/\n.section-persona-cards {\n  background: var(--color-gray);\n  padding: var(--space-4xl) 0;\n}\n\n.section-persona-cards__header {\n  margin-bottom: var(--space-2xl);\n}\n\n.section-persona-cards__header h2 {\n  font-size: 40px;\n  font-weight: 600;\n  line-height: 1.2;\n  color: var(--color-black);\n  margin-bottom: var(--space-sm);\n}\n\n.section-persona-cards__header p {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--color-dark-gray);\n}\n\n.section-persona-cards__tabs {\n  display: flex;\n  gap: var(--space-md);\n  margin-bottom: var(--space-2xl);\n  flex-wrap: wrap;\n}\n\n.section-persona-cards__tab {\n  padding: 12px 24px;\n  font-family: var(--font-family);\n  font-size: 16px;\n  font-weight: 600;\n  line-height: 1.5;\n  color: var(--color-dark-gray);\n  background: var(--color-white);\n  border: 1px solid var(--color-light-gray);\n  border-radius: var(--radius-full);\n  cursor: pointer;\n  transition: all 0.3s ease;\n}\n\n.section-persona-cards__tab:hover {\n  border-color: var(--color-black);\n  color: var(--color-black);\n}\n\n.section-persona-cards__tab.is-active {\n  background: var(--color-black);\n  border-color: var(--color-black);\n  color: var(--color-white);\n}\n\n\/* Persona panel \u2014 two columns *\/\n.persona-card-panel {\n  display: none;\n}\n\n.persona-card-panel.is-active {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: var(--space-lg);\n}\n\n\/* Left: problem \/ quote with bg image *\/\n.persona-card__problem {\n  border-radius: var(--radius-lg);\n  overflow: hidden;\n  padding: 40px;\n  display: flex;\n  flex-direction: column;\n  justify-content: flex-start;\n  background-size: cover;\n  background-position: center;\n  position: relative;\n}\n\n.persona-card__problem::after {\n  content: '';\n  position: absolute;\n  inset: 0;\n  background: linear-gradient(to top, rgba(10, 10, 10, 0.85) 0%, rgba(10, 10, 10, 0.6) 50%, rgba(10, 10, 10, 0.4) 100%);\n  border-radius: inherit;\n}\n\n.persona-card__problem > * {\n  position: relative;\n  z-index: 1;\n}\n\n.persona-card__label {\n  font-size: 12px;\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 0.1em;\n  line-height: 1.44;\n  color: var(--color-medium-gray);\n  margin-bottom: var(--space-md);\n}\n\n.persona-card__quote {\n  font-size: 16px;\n  font-weight: 400;\n  font-style: italic;\n  line-height: 1.7;\n  color: var(--color-light-gray);\n  border-left: 3px solid rgba(255, 255, 255, 0.2);\n  padding-left: var(--space-md);\n}\n\n\/* Right: solution + result *\/\n.persona-card__solution {\n  background: var(--color-white);\n  border: 1px solid var(--color-light-gray);\n  border-radius: var(--radius-lg);\n  padding: 40px;\n  display: flex;\n  flex-direction: column;\n}\n\n.persona-card__helps {\n  list-style: none;\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  margin-bottom: var(--space-xl);\n}\n\n.persona-card__helps li {\n  display: flex;\n  align-items: flex-start;\n  gap: 14px;\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--color-black);\n}\n\n.persona-card__helps li::before {\n  content: '';\n  width: 22px;\n  height: 22px;\n  flex-shrink: 0;\n  margin-top: 1px;\n  border-radius: var(--radius-full);\n  background: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6L9 17l-5-5' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'\/%3E%3C\/svg%3E\") center\/13px no-repeat, linear-gradient(135deg, #ef5909, #d70e44, #a046e1);\n}\n\n.persona-card__result {\n  position: relative;\n  padding: 20px var(--space-lg);\n  margin-top: auto;\n  border-radius: var(--radius-sm);\n  background: var(--color-gray);\n}\n\n.persona-card__result::before {\n  content: '';\n  position: absolute;\n  inset: -1.5px;\n  border-radius: calc(var(--radius-sm) + 1.5px);\n  background: var(--gradient-brand);\n  z-index: -1;\n}\n\n.persona-card__result-label {\n  font-size: 12px;\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 0.08em;\n  line-height: 1.44;\n  color: var(--color-black);\n  margin-bottom: var(--space-sm);\n}\n\n.persona-card__result p {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.6;\n  color: var(--color-dark-gray);\n}\n\n\/* --- Section: Why Cards (dark, 4-col grid with video bg) --- *\/\n.section-why-cards {\n  position: relative;\n  overflow: hidden;\n  background: var(--color-dark-black);\n  border-radius: var(--radius-lg);\n  padding: var(--space-4xl) 0;\n}\n\n.section-why-cards__video-bg {\n  position: absolute;\n  inset: 0;\n  z-index: 0;\n}\n\n.section-why-cards__video-bg video {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n}\n\n.section-why-cards__video-bg::after {\n  content: '';\n  position: absolute;\n  inset: 0;\n  background: rgba(4, 6, 18, 0.72);\n}\n\n.section-why-cards .container {\n  position: relative;\n  z-index: 1;\n}\n\n.section-why-cards__header {\n  margin-bottom: var(--space-2xl);\n}\n\n.section-why-cards__header h2 {\n  font-size: 40px;\n  font-weight: 600;\n  line-height: 1.2;\n  color: var(--color-white);\n  margin-bottom: var(--space-sm);\n}\n\n.section-why-cards__header p {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--color-medium-gray);\n}\n\n.section-why-cards__grid {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: var(--space-md);\n}\n\n\/* Why card *\/\n.card-why {\n  position: relative;\n  border-radius: var(--radius-lg);\n  overflow: hidden;\n  background: rgba(255, 255, 255, 0.04);\n  backdrop-filter: blur(16px);\n  -webkit-backdrop-filter: blur(16px);\n  border: 1px solid rgba(255, 255, 255, 0.06);\n  transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.3s ease;\n}\n\n.card-why:hover {\n  transform: translateY(-4px);\n  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.6);\n  border-color: transparent;\n}\n\n.card-why::before {\n  content: '';\n  position: absolute;\n  inset: -1px;\n  border-radius: inherit;\n  padding: 2px;\n  background: var(--gradient-brand);\n  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n  -webkit-mask-composite: xor;\n  mask-composite: exclude;\n  pointer-events: none;\n  opacity: 0;\n  transition: opacity 0.3s ease;\n}\n\n.card-why:hover::before {\n  opacity: 1;\n}\n\n.card-why__inner {\n  padding: var(--space-xl);\n  height: 100%;\n  display: flex;\n  flex-direction: column;\n}\n\n.card-why__icon {\n  width: 48px;\n  height: 48px;\n  border-radius: var(--radius-sm);\n  background: var(--surface-card-dark2);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  margin-bottom: var(--space-lg);\n}\n\n.card-why__icon svg {\n  width: 22px;\n  height: 22px;\n  stroke: var(--color-medium-gray);\n  fill: none;\n  stroke-width: 1.5;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n}\n\n.card-why__title {\n  font-size: 16px;\n  font-weight: 600;\n  line-height: 1.3;\n  color: var(--color-white);\n  margin-bottom: var(--space-sm);\n}\n\n.card-why__desc {\n  font-size: 14px;\n  font-weight: 400;\n  line-height: 1.65;\n  color: var(--color-medium-gray);\n}\n\n\/* --- Section: Partner Cards (4-col grid, gradient border hover) --- *\/\n.section-partners {\n  background: var(--color-gray);\n  padding: var(--space-4xl) 0;\n}\n\n.section-partners__header {\n  margin-bottom: var(--space-xl);\n}\n\n.section-partners__header h2 {\n  font-size: 40px;\n  font-weight: 600;\n  line-height: 1.2;\n  color: var(--color-black);\n  margin-bottom: var(--space-sm);\n}\n\n.section-partners__header p {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--color-dark-gray);\n}\n\n.section-partners__intro {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.7;\n  color: var(--color-dark-gray);\n  max-width: 680px;\n  margin-bottom: var(--space-2xl);\n}\n\n.section-partners__grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));\n  gap: var(--space-md);\n}\n\n.card-partner {\n  background: linear-gradient(var(--color-white), var(--color-white)) padding-box,\n              linear-gradient(var(--color-light-gray), var(--color-light-gray)) border-box;\n  border: 2px solid transparent;\n  min-width: 0;\n  overflow: hidden;\n  border-radius: var(--radius-lg);\n  padding: var(--space-lg);\n  display: flex;\n  flex-direction: column;\n  align-items: flex-start;\n  gap: var(--space-sm);\n  transition: all 0.3s ease;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\n}\n\n.card-partner:hover {\n  background: linear-gradient(var(--color-white), var(--color-white)) padding-box,\n              var(--gradient-brand) border-box;\n  transform: translateY(-3px);\n  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);\n}\n\n.card-partner__logo {\n  height: 36px;\n  width: auto;\n  display: block;\n  margin-bottom: var(--space-sm);\n}\n\n.card-partner__name {\n  font-size: 16px;\n  font-weight: 600;\n  line-height: 1.3;\n  color: var(--color-black);\n}\n\n.card-partner__desc {\n  font-size: 14px;\n  font-weight: 400;\n  line-height: 1.4;\n  color: var(--color-dark-gray);\n}\n\n\/* --- Section: Process Timeline (dark, centered zigzag) --- *\/\n.section-process {\n  background: var(--color-dark-black);\n  border-radius: var(--radius-lg);\n  padding: var(--space-4xl) 0;\n  overflow: hidden;\n}\n\n.section-process__header {\n  text-align: center;\n  margin-bottom: var(--space-xl);\n}\n\n.section-process__header h2 {\n  font-size: 40px;\n  font-weight: 600;\n  line-height: 1.2;\n  color: var(--color-white);\n  margin-bottom: var(--space-sm);\n}\n\n.section-process__header p {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--color-medium-gray);\n}\n\n.section-process__cta {\n  text-align: center;\n  margin-bottom: var(--space-2xl);\n}\n\n\/* Timeline *\/\n.process-timeline {\n  position: relative;\n  max-width: 900px;\n  margin: 0 auto;\n  padding: var(--space-xl) 0;\n}\n\n.process-timeline::before {\n  content: '';\n  position: absolute;\n  left: 50%;\n  top: 0;\n  bottom: var(--space-xl);\n  width: 2px;\n  transform: translateX(-50%) scaleY(0);\n  transform-origin: top center;\n  background: rgba(255, 255, 255, 0.35);\n  transition: transform 1.6s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.process-timeline.is-line-visible::before {\n  transform: translateX(-50%) scaleY(1);\n}\n\n\/* Timeline item *\/\n.process-timeline__item {\n  position: relative;\n  display: flex;\n  margin-bottom: 80px;\n  opacity: 0;\n  transform: translateX(-60px);\n  transition: opacity 0.75s cubic-bezier(0.4, 0, 0.2, 1), transform 0.75s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.process-timeline__item:nth-child(even) {\n  transform: translateX(60px);\n}\n\n.process-timeline__item.is-visible {\n  opacity: 1;\n  transform: translateX(0);\n}\n\n.process-timeline__item:last-child {\n  margin-bottom: 0;\n}\n\n.process-timeline__item:nth-child(odd) {\n  justify-content: flex-start;\n  padding-right: max(0px, calc(50% + 48px));\n}\n\n.process-timeline__item:nth-child(even) {\n  justify-content: flex-end;\n  padding-left: max(0px, calc(50% + 48px));\n}\n\n@media (max-width: 768px) {\n  .process-timeline__item:nth-child(odd),\n  .process-timeline__item:nth-child(even) {\n    padding-left: 48px;\n    padding-right: 0;\n    justify-content: flex-start;\n  }\n  .process-timeline__item:nth-child(odd) .process-timeline__content,\n  .process-timeline__item:nth-child(even) .process-timeline__content {\n    text-align: left;\n  }\n  .process-timeline::before {\n    left: 16px !important;\n    transform: scaleY(0) !important;\n    transform-origin: top !important;\n  }\n  .process-timeline.is-line-visible::before {\n    transform: scaleY(1) !important;\n  }\n}\n\n.process-timeline__item:nth-child(odd) .process-timeline__content {\n  text-align: right;\n}\n\n.process-timeline__item:nth-child(even) .process-timeline__content {\n  text-align: left;\n}\n\n\/* Dot *\/\n.process-timeline__dot {\n  position: absolute;\n  left: 50%;\n  top: 8px;\n  width: 16px;\n  height: 16px;\n  border-radius: var(--radius-full);\n  background: var(--gradient-brand);\n  transform: translateX(-50%) scale(0);\n  box-shadow: 0 0 16px rgba(160, 70, 225, 0.5), 0 0 40px rgba(239, 89, 9, 0.3);\n  z-index: 2;\n  transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 0.35s;\n}\n\n.process-timeline__item.is-visible .process-timeline__dot {\n  transform: translateX(-50%) scale(1);\n}\n\n.process-timeline__item:hover .process-timeline__dot {\n  box-shadow: 0 0 24px rgba(160, 70, 225, 0.7), 0 0 56px rgba(239, 89, 9, 0.4);\n}\n\n\/* Content *\/\n.process-timeline__label {\n  font-size: 16px;\n  font-weight: 600;\n  line-height: 1.5;\n  margin-bottom: var(--space-sm);\n  background: var(--gradient-brand);\n  -webkit-background-clip: text;\n  -webkit-text-fill-color: transparent;\n  background-clip: text;\n}\n\n.process-timeline__content h3 {\n  font-size: 20px;\n  font-weight: 600;\n  line-height: 1.3;\n  color: var(--color-white);\n  margin-bottom: var(--space-sm);\n}\n\n.process-timeline__content p {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.7;\n  color: var(--color-light-gray);\n  max-width: 420px;\n}\n\n.process-timeline__item:nth-child(odd) .process-timeline__content p {\n  margin-left: auto;\n}\n\n\/* --- Section: Testimonial Marquee (auto-scrolling quote cards) --- *\/\n.section-testimonial-marquee {\n  background: var(--color-gray);\n  padding: var(--space-4xl) 0;\n  overflow: hidden;\n}\n\n.section-testimonial-marquee__header {\n  text-align: center;\n  margin-bottom: var(--space-2xl);\n}\n\n.section-testimonial-marquee__header h2 {\n  font-size: 40px;\n  font-weight: 600;\n  line-height: 1.2;\n  color: var(--color-black);\n  margin-bottom: var(--space-sm);\n}\n\n.section-testimonial-marquee__header p {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--color-dark-gray);\n}\n\n.testimonial-marquee__wrapper {\n  position: relative;\n}\n\n.testimonial-marquee__wrapper::before,\n.testimonial-marquee__wrapper::after {\n  content: '';\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  width: 220px;\n  z-index: 2;\n  pointer-events: none;\n}\n\n.testimonial-marquee__wrapper::before {\n  left: 0;\n  background: linear-gradient(to right, var(--color-gray) 20%, transparent);\n}\n\n.testimonial-marquee__wrapper::after {\n  right: 0;\n  background: linear-gradient(to left, var(--color-gray) 20%, transparent);\n}\n\n.testimonial-marquee__track {\n  display: flex;\n  gap: var(--space-md);\n  width: max-content;\n  animation: testimonialMarqueeScroll 50s linear infinite;\n}\n\n.testimonial-marquee__track:hover {\n  animation-play-state: paused;\n}\n\n@keyframes testimonialMarqueeScroll {\n  from { transform: translateX(0); }\n  to { transform: translateX(-50%); }\n}\n\n\/* Marquee card *\/\n.card-testimonial-marquee {\n  background: linear-gradient(var(--color-white), var(--color-white)) padding-box,\n              linear-gradient(var(--color-light-gray), var(--color-light-gray)) border-box;\n  border: 2px solid transparent;\n  border-radius: var(--radius-lg);\n  padding: var(--space-xl);\n  width: 340px;\n  flex-shrink: 0;\n  transition: all 0.3s ease;\n}\n\n.card-testimonial-marquee:hover {\n  background: linear-gradient(var(--color-white), var(--color-white)) padding-box,\n              var(--gradient-brand) border-box;\n  transform: translateY(-3px);\n  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);\n}\n\n.card-testimonial-marquee__avatar {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  margin-bottom: var(--space-md);\n}\n\n.card-testimonial-marquee__avatar img {\n  width: 44px;\n  height: 44px;\n  border-radius: var(--radius-full);\n  object-fit: cover;\n  flex-shrink: 0;\n  background: var(--color-gray);\n}\n\n.card-testimonial-marquee__name {\n  font-size: 14px;\n  font-weight: 600;\n  line-height: 1.2;\n  color: var(--color-black);\n}\n\n.card-testimonial-marquee__role {\n  font-size: 14px;\n  font-weight: 400;\n  line-height: 1.4;\n  color: var(--color-dark-gray);\n}\n\n.card-testimonial-marquee__quote {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.7;\n  color: var(--color-dark-gray);\n  font-style: italic;\n}\n\n\/* --- Section: Cert Cards (dark, 4-col, icon + download) --- *\/\n.section-certs {\n  background: var(--color-dark-black);\n  padding: var(--space-4xl) 0;\n  position: relative;\n  overflow: hidden;\n}\n\n.section-certs::before {\n  content: '';\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  width: 800px;\n  height: 400px;\n  transform: translate(-50%, -50%);\n  background: radial-gradient(ellipse, rgba(22, 118, 195, 0.06) 0%, transparent 70%);\n  pointer-events: none;\n}\n\n.section-certs .container {\n  position: relative;\n  z-index: 1;\n}\n\n.section-certs__header {\n  text-align: center;\n  margin-bottom: var(--space-2xl);\n}\n\n.section-certs__header h2 {\n  font-size: 40px;\n  font-weight: 600;\n  line-height: 1.2;\n  color: var(--color-white);\n  margin-bottom: var(--space-sm);\n}\n\n.section-certs__header p {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--color-medium-gray);\n}\n\n.section-certs__grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));\n  gap: var(--space-lg);\n}\n\n.card-cert {\n  background: rgba(255, 255, 255, 0.03);\n  border: 1px solid rgba(255, 255, 255, 0.08);\n  border-radius: var(--radius-lg);\n  padding: 40px var(--space-xl);\n  text-align: center;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  transition: all 0.4s ease;\n  position: relative;\n  overflow: hidden;\n}\n\n.card-cert::before {\n  content: '';\n  position: absolute;\n  inset: -1px;\n  border-radius: inherit;\n  padding: 2px;\n  background: var(--gradient-brand);\n  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n  -webkit-mask-composite: xor;\n  mask-composite: exclude;\n  pointer-events: none;\n  opacity: 0;\n  transition: opacity 0.3s ease;\n}\n\n.card-cert:hover::before {\n  opacity: 1;\n}\n\n.card-cert:hover {\n  border-color: transparent;\n  transform: translateY(-4px);\n  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);\n}\n\n.card-cert__icon {\n  width: 64px;\n  height: 64px;\n  margin-bottom: var(--space-lg);\n  border-radius: var(--radius-full);\n  background: linear-gradient(135deg, rgba(22, 118, 195, 0.15), rgba(160, 70, 225, 0.1));\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.card-cert__icon svg,\n.card-cert__icon img {\n  width: 32px;\n  height: 32px;\n  stroke: rgba(255, 255, 255, 0.7);\n  stroke-width: 1.5;\n  fill: none;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n}\n\n.card-cert__name {\n  font-size: 24px;\n  font-weight: 600;\n  line-height: 1.34;\n  color: var(--color-white);\n  margin-bottom: var(--space-sm);\n}\n\n.card-cert__desc {\n  font-size: 14px;\n  font-weight: 400;\n  line-height: 1.6;\n  color: var(--color-medium-gray);\n  flex: 1;\n}\n\n.card-cert__btn {\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n  margin-top: var(--space-lg);\n  padding: var(--space-sm) var(--space-md);\n  font-family: var(--font-family);\n  font-size: 14px;\n  font-weight: 600;\n  line-height: 1.4;\n  color: var(--color-medium-gray);\n  border: 1px solid rgba(255, 255, 255, 0.18);\n  border-radius: var(--radius-full);\n  text-decoration: none;\n  background: transparent;\n  transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;\n}\n\n.card-cert__btn:hover {\n  color: var(--color-white);\n  border-color: rgba(255, 255, 255, 0.45);\n  background: rgba(255, 255, 255, 0.06);\n}\n\n.card-cert__btn svg {\n  width: 13px;\n  height: 13px;\n  stroke: currentColor;\n  stroke-width: 2;\n  fill: none;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n  flex-shrink: 0;\n}\n\n\/* --- Section: CTA Banner (dark card with animated orbs) --- *\/\n.section-cta-banner {\n  background: var(--color-gray);\n  padding: var(--space-4xl) 0;\n}\n\n.cta-banner-card {\n  position: relative;\n  background: var(--color-dark-black);\n  border-radius: var(--radius-lg);\n  padding: var(--space-3xl);\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: var(--space-2xl);\n  overflow: hidden;\n}\n\n.cta-banner-card::after {\n  content: '';\n  position: absolute;\n  inset: 0;\n  background: linear-gradient(to right, var(--color-dark-black) 30%, rgba(9, 9, 9, 0.65) 55%, rgba(9, 9, 9, 0.15) 100%);\n  pointer-events: none;\n  z-index: 2;\n}\n\n\/* Animated color orbs *\/\n.cta-banner-card__orbs {\n  position: absolute;\n  top: 0;\n  right: 0;\n  width: 60%;\n  height: 100%;\n  pointer-events: none;\n  z-index: 1;\n  overflow: hidden;\n}\n\n.cta-banner-card__orb {\n  position: absolute;\n  border-radius: 50%;\n  filter: blur(60px);\n}\n\n@keyframes ctaBannerFloat1 {\n  0%, 100% { transform: translate(0, 0) scale(1); }\n  40% { transform: translate(-25px, 30px) scale(1.12); }\n  70% { transform: translate(15px, -15px) scale(0.92); }\n}\n\n@keyframes ctaBannerFloat2 {\n  0%, 100% { transform: translate(0, 0) scale(1); }\n  35% { transform: translate(20px, -28px) scale(0.9); }\n  65% { transform: translate(-18px, 20px) scale(1.1); }\n}\n\n@keyframes ctaBannerFloat3 {\n  0%, 100% { transform: translate(0, 0) scale(1); }\n  50% { transform: translate(-20px, -25px) scale(1.08); }\n}\n\n\/* Content *\/\n.cta-banner-card__content {\n  position: relative;\n  z-index: 10;\n  max-width: 600px;\n}\n\n.cta-banner-card__content h2 {\n  font-size: 32px;\n  font-weight: 600;\n  line-height: 1.19;\n  color: var(--color-white);\n  margin-bottom: var(--space-md);\n}\n\n.cta-banner-card__content p {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.6;\n  color: var(--color-medium-gray);\n}\n\n\/* Actions *\/\n.cta-banner-card__actions {\n  position: relative;\n  z-index: 10;\n  display: flex;\n  flex-wrap: wrap;\n  gap: var(--space-md);\n  flex-shrink: 0;\n}\n\n\/* --- Section: FAQ Accordion --- *\/\n.section-faq {\n  background: var(--color-white);\n  padding: var(--space-4xl) 0;\n}\n\n.section-faq__header {\n  text-align: center;\n  margin-bottom: var(--space-2xl);\n}\n\n.section-faq__header h2 {\n  font-size: 40px;\n  font-weight: 600;\n  line-height: 1.2;\n  color: var(--color-black);\n  margin-bottom: var(--space-sm);\n}\n\n.section-faq__header p {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--color-dark-gray);\n}\n\n.section-faq__list {\n  max-width: 900px;\n  margin: 0 auto;\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-md);\n}\n\n.faq-item {\n  background: linear-gradient(var(--color-white), var(--color-white)) padding-box,\n              linear-gradient(var(--color-light-gray), var(--color-light-gray)) border-box;\n  border: 1.5px solid transparent;\n  border-radius: var(--radius-md);\n  overflow: hidden;\n  transition: transform 0.25s ease, box-shadow 0.25s ease;\n}\n\n.faq-item:hover {\n  transform: translateY(-2px);\n  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);\n}\n\n.faq-item__question {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: var(--space-lg);\n  padding: var(--space-lg) var(--space-xl);\n  cursor: pointer;\n  font-family: var(--font-family);\n  font-size: 16px;\n  font-weight: 600;\n  line-height: 1.5;\n  color: var(--color-black);\n  background: none;\n  border: none;\n  width: 100%;\n  text-align: left;\n  transition: background 0.2s ease;\n}\n\n.faq-item__question:hover {\n  background: var(--color-gray);\n}\n\n.faq-item__arrow {\n  width: 20px;\n  height: 20px;\n  flex-shrink: 0;\n  stroke: var(--color-dark-gray);\n  stroke-width: 2;\n  fill: none;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n  transition: transform 0.3s ease;\n}\n\n.faq-item.is-open .faq-item__arrow {\n  transform: rotate(180deg);\n}\n\n.faq-item__answer {\n  max-height: 0;\n  overflow: hidden;\n  transition: max-height 0.4s ease;\n}\n\n.faq-item.is-open .faq-item__answer {\n  max-height: 600px;\n}\n\n.faq-item__answer-inner {\n  padding: 0 var(--space-xl) var(--space-lg);\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.75;\n  color: var(--color-dark-gray);\n}\n\n.faq-item__answer-inner ul {\n  list-style: none;\n  margin-top: var(--space-sm);\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n}\n\n.faq-item__answer-inner ul li {\n  display: flex;\n  gap: 10px;\n}\n\n.faq-item__answer-inner ul li::before {\n  content: '2013';\n  color: var(--color-medium-gray);\n  flex-shrink: 0;\n}\n\n\/* --- Header: DRS (fixed, transparent \u2192 blur on scroll) --- *\/\n.header-drs {\n  position: fixed;\n  top: 0;\n  left: 0;\n  right: 0;\n  z-index: 1000;\n  height: 64px;\n  background: transparent;\n  backdrop-filter: blur(0px);\n  -webkit-backdrop-filter: blur(0px);\n  transition: background 1s ease, backdrop-filter 1s ease, -webkit-backdrop-filter 1s ease;\n}\n\n.header-drs.is-scrolled {\n  background: rgba(0, 0, 0, 0.6);\n  backdrop-filter: blur(20px);\n  -webkit-backdrop-filter: blur(20px);\n}\n\n.header-drs__inner {\n  max-width: var(--max-width);\n  margin: 0 auto;\n  padding: 0 var(--page-padding);\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: var(--space-md);\n  overflow: hidden;\n}\n\n.header-drs__logo {\n  flex-shrink: 0;\n}\n\n.header-drs__logo svg {\n  height: 26px;\n  width: auto;\n  display: block;\n}\n\n.header-drs__logo svg path {\n  fill: var(--color-white);\n}\n\n.header-drs__nav {\n  display: flex;\n  align-items: center;\n  gap: 0;\n  white-space: nowrap;\n}\n\n.header-drs__nav a {\n  padding: var(--space-sm) 12px;\n  font-size: 16px;\n  font-weight: 400;\n  color: var(--color-white);\n  border-radius: var(--radius-sm);\n  transition: all 0.2s ease;\n  opacity: 0.85;\n  text-decoration: none;\n}\n\n.header-drs__nav a:hover {\n  opacity: 1;\n  background: rgba(255, 255, 255, 0.1);\n}\n\n.header-drs__actions {\n  display: flex;\n  align-items: center;\n  gap: var(--space-sm);\n}\n\n.header-drs__lang {\n  display: flex;\n  align-items: center;\n  gap: 4px;\n}\n\n.header-drs__lang-btn {\n  padding: 6px 10px;\n  font-family: var(--font-family);\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--color-medium-gray);\n  border-radius: var(--radius-sm);\n  text-decoration: none;\n  transition: all 0.2s ease;\n}\n\n.header-drs__lang-btn:hover {\n  color: var(--color-white);\n  background: rgba(255, 255, 255, 0.1);\n}\n\n.header-drs__lang-btn.is-active {\n  color: var(--color-white);\n  background: rgba(255, 255, 255, 0.15);\n}\n\n\/* Nav CTA \u2014 hidden on desktop, shown in mobile overlay *\/\n.header-drs__nav-cta,\n.header-drs__nav-header,\n.header-drs__nav-lang {\n  display: none;\n}\n\n\/* Nav list wrapper \u2014 na desktopie staje si\u0119 \"prze\u017aroczysty\" (linki s\u0105 bezpo\u015brednimi flex-itemami .header-drs__nav) *\/\n.header-drs__nav-list {\n  display: contents;\n}\n\n\/* Hamburger \u2014 hidden on desktop *\/\n.header-drs__hamburger {\n  display: none;\n  background: none;\n  border: none;\n  padding: 8px;\n  cursor: pointer;\n}\n\n\/* Close button inside mobile nav *\/\n.header-drs__nav-close {\n  display: none;\n  background: none;\n  border: none;\n  padding: 8px;\n  cursor: pointer;\n  align-self: flex-end;\n  margin-bottom: 16px;\n}\n\n\/* --- Footer DRS --- *\/\n.footer-drs {\n  background: var(--color-dark-black);\n  color: var(--color-white);\n  padding: var(--space-3xl) 0 var(--space-xl);\n}\n\n.footer-drs__grid {\n  display: grid;\n  grid-template-columns: 2fr repeat(3, 1fr);\n  gap: var(--space-2xl);\n  margin-bottom: var(--space-2xl);\n}\n\n.footer-drs__brand p {\n  color: var(--color-dark-gray);\n  margin-top: var(--space-md);\n  font-size: 16px;\n  line-height: 1.6;\n}\n\n.footer-drs__address {\n  font-style: normal;\n  color: var(--color-medium-gray);\n  font-size: 14px;\n  line-height: 1.7;\n  margin-top: var(--space-md);\n}\n\n.footer-drs__legal-info {\n  color: var(--color-dark-gray);\n  font-size: 14px;\n  line-height: 1.7;\n  margin-top: var(--space-sm);\n}\n\n.footer-drs__social {\n  display: flex;\n  gap: 12px;\n  margin-top: var(--space-lg);\n}\n\n.footer-drs__social a {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 36px;\n  height: 36px;\n  border-radius: var(--radius-full);\n  border: 1px solid rgba(255, 255, 255, 0.12);\n  color: var(--color-medium-gray);\n  transition: border-color 0.2s, color 0.2s, background 0.2s;\n}\n\n.footer-drs__social a:hover {\n  border-color: rgba(255, 255, 255, 0.35);\n  color: var(--color-white);\n  background: rgba(255, 255, 255, 0.06);\n}\n\n.footer-drs__links h4 {\n  margin-bottom: var(--space-lg);\n  font-size: 14px;\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 0.05em;\n  color: var(--color-white);\n}\n\n.footer-drs__links a {\n  display: block;\n  color: var(--color-dark-gray);\n  font-size: 16px;\n  padding: var(--space-sm) 0;\n  transition: color 0.2s ease;\n  text-decoration: none;\n}\n\n.footer-drs__links a:hover {\n  color: var(--color-white);\n}\n\n.footer-drs__bottom {\n  padding-top: var(--space-xl);\n  border-top: 1px solid rgba(255, 255, 255, 0.1);\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  color: var(--color-dark-gray);\n  font-size: 14px;\n  flex-wrap: wrap;\n  gap: 12px;\n}\n\n.footer-drs__bottom a {\n  color: var(--color-dark-gray);\n  margin-left: var(--space-lg);\n  text-decoration: none;\n  transition: color 0.2s;\n}\n\n.footer-drs__bottom a:hover {\n  color: var(--color-white);\n}\n\n\/* --- Section: FAQ Dark (gradient border on hover\/open) --- *\/\n.section-faq-dark {\n  background: var(--color-dark-black);\n  border-radius: var(--radius-lg);\n  padding: var(--space-4xl) 0;\n}\n\n.section-faq-dark__label {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: var(--space-sm);\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--color-medium-gray);\n  margin-bottom: var(--space-md);\n}\n\n.section-faq-dark__header {\n  text-align: center;\n  margin-bottom: var(--space-2xl);\n}\n\n.section-faq-dark__header h2 {\n  font-size: 40px;\n  font-weight: 600;\n  line-height: 1.2;\n  color: var(--color-white);\n}\n\n.section-faq-dark__list {\n  max-width: 820px;\n  margin: 0 auto;\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n}\n\n.faq-item-dark {\n  background: var(--surface-card-dark);\n  border: 2px solid rgba(255, 255, 255, 0.06);\n  border-radius: var(--radius-md);\n  overflow: hidden;\n  transition: all 0.3s ease;\n  background-origin: border-box;\n  background-clip: padding-box, border-box;\n}\n\n.faq-item-dark:hover {\n  border-color: transparent;\n  background-image: linear-gradient(#1a1a1a, #1a1a1a), var(--gradient-brand);\n}\n\n.faq-item-dark.is-open {\n  border-color: transparent;\n  background-image: linear-gradient(#1a1a1a, #1a1a1a), var(--gradient-brand);\n  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);\n}\n\n.faq-item-dark__question {\n  width: 100%;\n  padding: 20px var(--space-lg);\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  cursor: pointer;\n  background: none;\n  border: none;\n  font-family: var(--font-family);\n  font-size: 16px;\n  font-weight: 600;\n  color: var(--color-light-gray);\n  text-align: left;\n  transition: color 0.3s ease;\n  gap: var(--space-md);\n}\n\n.faq-item-dark__question:hover {\n  color: var(--color-white);\n}\n\n.faq-item-dark__chevron {\n  width: 24px;\n  height: 24px;\n  transition: transform 0.3s ease;\n  flex-shrink: 0;\n  color: var(--color-white);\n  opacity: 0.85;\n}\n\n.faq-item-dark.is-open .faq-item-dark__chevron {\n  transform: rotate(45deg);\n  opacity: 1;\n}\n\n.faq-item-dark__answer {\n  max-height: 0;\n  overflow: hidden;\n  transition: max-height 0.4s ease;\n}\n\n.faq-item-dark.is-open .faq-item-dark__answer {\n  max-height: 400px;\n}\n\n.faq-item-dark__answer-inner {\n  padding: 0 var(--space-lg) 20px;\n  font-size: 16px;\n  font-weight: 400;\n  color: var(--color-medium-gray);\n  line-height: 1.8;\n}\n\n\/* --- Section: Comparison Cards (dark, 3-col, feature checklist) --- *\/\n\/* --- Award Banner (Gartner-style highlight) --- *\/\n.award-banner {\n  max-width: var(--max-width);\n  margin: 0 auto;\n}\n\n.award-banner__inner {\n  display: flex;\n  gap: 48px;\n  align-items: center;\n}\n\n.award-banner__card {\n  flex: 0 0 50%;\n  background: var(--color-black);\n  border-radius: 30px;\n  padding: 48px 36px;\n  display: flex;\n  flex-direction: column;\n}\n\n.award-banner__heading {\n  font-size: 32px;\n  font-weight: 600;\n  line-height: 1.3;\n  color: var(--color-white);\n  margin-bottom: 48px;\n}\n\n.award-banner__image {\n  flex: 1;\n}\n\n.award-banner__image img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  border-radius: 30px;\n}\n\n.award-banner__disclaimer {\n  font-size: 12px;\n  font-weight: 400;\n  line-height: 1.8;\n  color: var(--color-dark-gray);\n  margin-top: 40px;\n}\n\n\/* --- Case Studies: Filter Bar --- *\/\n.cs-filter {\n  max-width: var(--max-width);\n  margin: 0 auto;\n}\n\n.cs-filter__bar {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  background: var(--color-white);\n  border-radius: var(--radius-lg);\n  padding: 16px 24px;\n}\n\n.cs-filter__dropdown {\n  position: relative;\n}\n\n.cs-filter__dropdown-toggle {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  padding: 12px 20px;\n  border: 1px solid var(--color-light-gray);\n  border-radius: var(--radius-sm);\n  background: transparent;\n  cursor: pointer;\n  min-width: 180px;\n  justify-content: space-between;\n  font-size: 16px;\n  font-weight: 400;\n  color: var(--color-black);\n  transition: border-color 0.2s;\n}\n\n.cs-filter__dropdown-toggle:hover {\n  border-color: var(--color-dark-gray);\n}\n\n.cs-filter__dropdown-toggle svg {\n  color: var(--color-dark-gray);\n  transition: transform 0.2s;\n}\n\n.cs-filter__dropdown.is-open .cs-filter__dropdown-toggle {\n  border-color: var(--color-black);\n}\n\n.cs-filter__dropdown.is-open .cs-filter__dropdown-toggle svg {\n  transform: rotate(180deg);\n}\n\n.cs-filter__dropdown-menu {\n  position: absolute;\n  top: calc(100% + 4px);\n  left: 0;\n  min-width: 100%;\n  background: var(--color-white);\n  border: 1px solid var(--color-light-gray);\n  border-radius: var(--radius-sm);\n  padding: 8px 0;\n  z-index: 100;\n  display: none;\n  box-shadow: 0 8px 24px rgba(0,0,0,0.08);\n}\n\n.cs-filter__dropdown.is-open .cs-filter__dropdown-menu {\n  display: block;\n}\n\n.cs-filter__checkbox {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  padding: 10px 20px;\n  font-size: 16px;\n  font-weight: 400;\n  color: var(--color-black);\n  cursor: pointer;\n  transition: background 0.15s;\n}\n\n.cs-filter__checkbox:hover {\n  background: var(--color-gray);\n}\n\n.cs-filter__checkbox input {\n  display: none;\n}\n\n.cs-filter__checkmark {\n  width: 18px;\n  height: 18px;\n  border: 1.5px solid var(--color-medium-gray);\n  border-radius: 4px;\n  flex-shrink: 0;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  transition: border-color 0.15s, background 0.15s;\n}\n\n.cs-filter__checkbox input:checked + .cs-filter__checkmark {\n  background: var(--color-black);\n  border-color: var(--color-black);\n}\n\n.cs-filter__checkbox input:checked + .cs-filter__checkmark::after {\n  content: '';\n  width: 10px;\n  height: 6px;\n  border-left: 2px solid var(--color-white);\n  border-bottom: 2px solid var(--color-white);\n  transform: rotate(-45deg);\n  margin-bottom: 2px;\n}\n\n.cs-filter__clear {\n  padding: 12px 20px;\n  border: 1px solid var(--color-light-gray);\n  border-radius: 9999px;\n  background: transparent;\n  font-size: 16px;\n  font-weight: 400;\n  color: var(--color-black);\n  cursor: pointer;\n  transition: border-color 0.2s;\n  margin-left: auto;\n}\n\n.cs-filter__clear:hover {\n  border-color: var(--color-dark-gray);\n}\n\n\/* --- Case Studies: Cards --- *\/\n.cs-cards {\n  max-width: var(--max-width);\n  margin: 0 auto;\n  display: flex;\n  flex-direction: column;\n  gap: 24px;\n}\n\n.cs-card {\n  display: grid;\n  grid-template-columns: 1fr 2fr;\n  gap: 48px;\n  background: var(--color-white);\n  border-radius: var(--radius-lg);\n  padding: 32px;\n  align-items: center;\n}\n\n.cs-card__image {\n  position: relative;\n  border-radius: var(--radius-lg);\n  overflow: hidden;\n}\n\n.cs-card__image img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  border-radius: var(--radius-lg);\n  display: block;\n}\n\n.cs-card__industry-tag {\n  position: absolute;\n  top: 16px;\n  left: 16px;\n  background: var(--color-white);\n  color: var(--color-black);\n  font-size: 12px;\n  font-weight: 500;\n  padding: 6px 16px;\n  border-radius: 9999px;\n}\n\n.cs-card__category-tags {\n  position: absolute;\n  bottom: 16px;\n  left: 16px;\n  display: flex;\n  gap: 8px;\n  flex-wrap: wrap;\n}\n\n.cs-card__category-tag {\n  font-size: 12px;\n  font-weight: 400;\n  color: var(--color-white);\n  padding: 7px 12px 5px;\n  border-radius: var(--radius-sm);\n  line-height: 1;\n}\n\n.cs-card__category-tag--blue {\n  background: var(--color-erp-blue);\n}\n\n.cs-card__category-tag--yellow {\n  background: var(--color-erp-yellow);\n}\n\n.cs-card__category-tag--green {\n  background: var(--color-erp-green);\n}\n\n.cs-card__category-tag--red {\n  background: var(--color-erp-red);\n}\n\n.cs-card__content {\n  display: flex;\n  flex-direction: column;\n  gap: 24px;\n}\n\n.cs-card__title {\n  font-size: 24px;\n  font-weight: 600;\n  line-height: 1.34;\n  background: linear-gradient(107deg, #ef5909 17%, #d70e44 34%, #a046e1 55%, #1676c3 73%);\n  -webkit-background-clip: text;\n  -webkit-text-fill-color: transparent;\n  background-clip: text;\n}\n\n.cs-card__excerpt {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--color-dark-gray);\n}\n\n\/* --- Case Studies: Pagination --- *\/\n.cs-pagination {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 12px;\n  margin-top: 48px;\n}\n\n.cs-pagination__item {\n  width: 40px;\n  height: 40px;\n  border-radius: 9999px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-size: 14px;\n  font-weight: 500;\n  color: var(--color-dark-gray);\n  background: var(--color-white);\n  text-decoration: none;\n  transition: background 0.2s, color 0.2s;\n}\n\n.cs-pagination__item:hover {\n  background: var(--color-light-gray);\n  color: var(--color-black);\n}\n\n.cs-pagination__item.is-active {\n  background: var(--color-black);\n  color: var(--color-white);\n}\n\n.cs-pagination__next {\n  font-size: 14px;\n  font-weight: 500;\n  color: var(--color-black);\n  text-decoration: none;\n  margin-left: 8px;\n}\n\n.cs-pagination__next:hover {\n  color: var(--color-erp-blue);\n}\n\n.section-comparison {\n  background: var(--color-dark-black);\n  border-radius: var(--radius-lg);\n  padding: var(--space-4xl) 0;\n  position: relative;\n  overflow: hidden;\n}\n\n.section-comparison .container { position: relative; z-index: 1; }\n\n.section-comparison__header { margin-bottom: var(--space-2xl); }\n\n.section-comparison__label {\n  display: flex;\n  align-items: center;\n  gap: var(--space-sm);\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--color-medium-gray);\n  margin-bottom: var(--space-md);\n}\n\n.section-comparison__label::before {\n  content: '';\n  width: 20px;\n  height: 3px;\n  border-radius: 2px;\n  background: var(--gradient-brand);\n}\n\n.section-comparison__header h2 {\n  font-size: 40px;\n  font-weight: 600;\n  line-height: 1.2;\n  color: var(--color-white);\n  margin-bottom: var(--space-sm);\n}\n\n.section-comparison__header p {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--color-medium-gray);\n}\n\n.section-comparison__grid {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: var(--space-lg);\n}\n\n\/* Comparison card *\/\n.card-comparison {\n  background: var(--surface-card-dark);\n  border: 2px solid rgba(255, 255, 255, 0.06);\n  border-radius: var(--radius-lg);\n  display: flex;\n  flex-direction: column;\n  transition: all 0.3s ease;\n  background-origin: border-box;\n  background-clip: padding-box, border-box;\n}\n\n.card-comparison:hover {\n  transform: translateY(-4px);\n  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);\n}\n\n.card-comparison--recommended {\n  border-color: transparent;\n  background-image: linear-gradient(#0f0f0f, #0f0f0f), var(--gradient-brand);\n  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.4);\n}\n\n\/* Header *\/\n.card-comparison__header {\n  padding: var(--space-xl) var(--space-lg) var(--space-lg);\n  border-bottom: 1px solid rgba(255, 255, 255, 0.06);\n}\n\n.card-comparison__badge {\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n  background: var(--gradient-brand);\n  color: var(--color-white);\n  font-size: 12px;\n  font-weight: 600;\n  padding: 4px 12px;\n  border-radius: var(--radius-full);\n  text-transform: uppercase;\n  letter-spacing: 0.06em;\n  margin-bottom: 12px;\n}\n\n.card-comparison__icon {\n  width: 48px;\n  height: 48px;\n  background: rgba(255, 255, 255, 0.06);\n  border-radius: var(--radius-sm);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  margin-bottom: var(--space-md);\n  border: 1px solid rgba(255, 255, 255, 0.1);\n}\n\n.card-comparison__icon svg {\n  width: 24px;\n  height: 24px;\n  stroke: var(--color-medium-gray);\n  stroke-width: 1.5;\n  fill: none;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n}\n\n.card-comparison--recommended .card-comparison__icon {\n  background: rgba(255, 255, 255, 0.1);\n}\n\n.card-comparison--recommended .card-comparison__icon svg {\n  stroke: var(--color-light-gray);\n}\n\n.card-comparison__title {\n  font-size: 20px;\n  font-weight: 600;\n  color: var(--color-white);\n  margin-bottom: 6px;\n}\n\n.card-comparison--recommended .card-comparison__title {\n  background: var(--gradient-brand);\n  -webkit-background-clip: text;\n  -webkit-text-fill-color: transparent;\n  background-clip: text;\n}\n\n.card-comparison__desc {\n  font-size: 14px;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--color-dark-gray);\n}\n\n\/* Score *\/\n.card-comparison__score {\n  padding: 20px var(--space-lg);\n  border-bottom: 1px solid rgba(255, 255, 255, 0.06);\n  display: flex;\n  align-items: baseline;\n  gap: var(--space-sm);\n}\n\n.card-comparison__score-num {\n  font-size: 32px;\n  font-weight: 600;\n  line-height: 1;\n  color: var(--color-dark-gray);\n}\n\n.card-comparison:nth-child(2) .card-comparison__score-num {\n  color: var(--color-status-warning);\n}\n\n.card-comparison--recommended .card-comparison__score-num {\n  background: var(--gradient-brand);\n  -webkit-background-clip: text;\n  -webkit-text-fill-color: transparent;\n  background-clip: text;\n}\n\n.card-comparison__score-label {\n  font-size: 14px;\n  font-weight: 400;\n  color: var(--color-dark-gray);\n}\n\n\/* Feature list *\/\n.card-comparison__list {\n  padding: 20px var(--space-lg) var(--space-lg);\n  list-style: none;\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n  flex: 1;\n}\n\n.card-comparison__item {\n  display: flex;\n  align-items: flex-start;\n  gap: 10px;\n  font-size: 14px;\n  line-height: 1.4;\n  color: var(--color-medium-gray);\n}\n\n.card-comparison__item.is-active {\n  color: var(--color-light-gray);\n}\n\n.card-comparison__status {\n  width: 20px;\n  height: 20px;\n  min-width: 20px;\n  border-radius: var(--radius-full);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  margin-top: 1px;\n}\n\n.card-comparison__status svg {\n  width: 12px;\n  height: 12px;\n  stroke-width: 2.5;\n  fill: none;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n}\n\n.card-comparison__status--yes { background: rgba(16, 185, 129, 0.15) \/* --color-status-success *\/; }\n.card-comparison__status--yes svg { stroke: var(--color-status-success); }\n\n.card-comparison__status--partial { background: rgba(245, 158, 11, 0.15) \/* --color-status-warning *\/; }\n.card-comparison__status--partial svg { stroke: var(--color-status-warning); }\n\n.card-comparison__status--no { background: rgba(255, 255, 255, 0.05); }\n.card-comparison__status--no svg { stroke: rgba(255, 255, 255, 0.2); }\n\n\/* --- PDF Modal --- *\/\n.pdf-modal {\n  position: fixed;\n  inset: 0;\n  z-index: 2000;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  opacity: 0;\n  visibility: hidden;\n  transition: opacity 0.3s ease, visibility 0.3s ease;\n}\n\n.pdf-modal.is-active {\n  opacity: 1;\n  visibility: visible;\n}\n\n.pdf-modal__bg {\n  position: absolute;\n  inset: 0;\n  background: rgba(0, 0, 0, 0.7);\n  backdrop-filter: blur(8px);\n  -webkit-backdrop-filter: blur(8px);\n}\n\n.pdf-modal__panel {\n  position: relative;\n  width: 90vw;\n  height: 85vh;\n  max-width: 1000px;\n  background: var(--color-white);\n  border-radius: var(--radius-lg);\n  overflow: hidden;\n  box-shadow: 0 32px 96px rgba(0, 0, 0, 0.3);\n}\n\n.pdf-modal__close {\n  position: absolute;\n  top: var(--space-md);\n  right: var(--space-md);\n  width: 40px;\n  height: 40px;\n  border-radius: var(--radius-full);\n  background: var(--color-white);\n  border: 1px solid var(--color-light-gray);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  z-index: 10;\n  transition: background 0.2s;\n}\n\n.pdf-modal__close:hover {\n  background: var(--color-gray);\n}\n\n.pdf-modal__iframe {\n  width: 100%;\n  height: 100%;\n  border: none;\n}\n\n\/* --- Section: Marquee \/ Animated Text --- *\/\n.section-marquee {\n  text-align: center;\n  padding: 64px var(--page-padding);\n  overflow: hidden;\n}\n\n.section-marquee--animated {\n  padding: 64px 0;\n}\n\n.section-marquee__text {\n  font-size: 32px;\n  font-weight: 600;\n  line-height: 1.31;\n  color: var(--color-black);\n}\n\n.section-marquee:not(.section-marquee--animated) .section-marquee__text {\n  max-width: 833px;\n  margin: 0 auto;\n}\n\n\/* --- Stat Cards (gradient numbers) --- *\/\n.stat-cards {\n  display: flex;\n  gap: 24px;\n  justify-content: center;\n  flex-wrap: wrap;\n}\n\n.stat-card {\n  background: var(--color-white);\n  border-radius: var(--radius-lg);\n  padding: 48px 36px;\n  text-align: center;\n  width: 369px;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 4px;\n}\n\n.stat-card__value {\n  font-size: 68px;\n  font-weight: 400;\n  line-height: 1.06;\n  background: var(--gradient-brand);\n  -webkit-background-clip: text;\n  -webkit-text-fill-color: transparent;\n  background-clip: text;\n}\n\n.stat-card__label {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.4;\n  color: var(--color-black);\n}\n\n\/* --- Stat Card: Glass variant (dark overlay, 4-column) --- *\/\n.stat-cards--glass {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: var(--space-md);\n  width: 100%;\n}\n\n.stat-card--glass {\n  background: rgba(255, 255, 255, 0.06);\n  border: 1px solid rgba(255, 255, 255, 0.1);\n  border-radius: var(--radius-md);\n  backdrop-filter: blur(12px);\n  -webkit-backdrop-filter: blur(12px);\n  padding: var(--space-lg) var(--space-lg);\n  text-align: left;\n  width: auto;\n  align-items: flex-start;\n}\n\n.stat-card--glass .stat-card__value {\n  font-size: 32px;\n  font-weight: 600;\n  line-height: 1.19;\n  background: none;\n  -webkit-background-clip: unset;\n  -webkit-text-fill-color: unset;\n  background-clip: unset;\n  color: var(--color-white);\n}\n\n.stat-card--glass .stat-card__label {\n  font-size: 14px;\n  font-weight: 400;\n  line-height: 1.4;\n  color: var(--color-medium-gray);\n}\n\n\/* --- Tabs: Big pill tabs --- *\/\n.tabs-big {\n  display: flex;\n  gap: 16px;\n  align-items: center;\n  justify-content: center;\n}\n\n.tab-big {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 20px 24px 18px;\n  min-width: 150px;\n  border-radius: var(--radius-full);\n  background: var(--color-white);\n  font-size: 16px;\n  font-weight: 400;\n  color: var(--color-black);\n  cursor: pointer;\n  border: none;\n  transition: color 0.3s, background-color 0.3s;\n}\n\n.tab-big:hover {\n  background: #1676C3;\n  color: var(--color-white);\n}\n\n.tab-big--active {\n  background: var(--color-black);\n  color: var(--color-white);\n}\n\n\/* --- Section: Personas (tabbed comparison) --- *\/\n.section-personas {\n  background: var(--color-gray);\n  padding: 96px var(--page-padding);\n  position: relative;\n  overflow: hidden;\n}\n\n.section-personas__heading {\n  font-size: 32px;\n  font-weight: 600;\n  line-height: 1.19;\n  color: var(--color-black);\n  text-align: center;\n  margin-bottom: var(--space-2xl);\n}\n\n.section-personas__blob {\n  position: absolute;\n  bottom: -350px;\n  right: 0;\n  width: 877px;\n  height: 1185px;\n  pointer-events: none;\n  z-index: 0;\n}\n\n.section-personas__blob img {\n  width: 100%;\n  height: 100%;\n}\n\n.section-personas .tabs-big,\n.section-personas .section-personas__panels-wrapper {\n  position: relative;\n  z-index: 1;\n}\n\n.section-personas__panels-wrapper {\n  position: relative;\n  margin-top: 40px;\n  min-height: 500px;\n}\n\n.section-personas__slide {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  opacity: 0;\n  pointer-events: none;\n  transition: opacity 0.4s ease;\n}\n\n.section-personas__slide.is-active {\n  position: relative;\n  opacity: 1;\n  pointer-events: auto;\n}\n\n.section-personas__panels {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: flex-start;\n  gap: 24px;\n  padding: clamp(16px, 3vw, 24px);\n  border-radius: var(--radius-lg);\n}\n\n.section-personas__quote-panel {\n  background: var(--color-white);\n  border-radius: var(--radius-lg);\n  padding: clamp(20px, 4vw, 40px);\n  width: min(515px, 100%);\n  flex-shrink: 0;\n}\n\n.section-personas__quote-title {\n  font-size: 24px;\n  font-weight: 600;\n  line-height: 1.34;\n  color: var(--color-black);\n  max-width: 361px;\n  margin-bottom: 35px;\n}\n\n.section-personas__quote-text {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.4;\n  color: var(--color-dark-gray);\n  margin-bottom: 23px;\n}\n\n.section-personas__quote-author {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n}\n\n.section-personas__quote-avatar {\n  width: 50px;\n  height: 50px;\n  border-radius: 0;\n  overflow: hidden;\n  flex-shrink: 0;\n  object-fit: cover;\n}\n\n.section-personas__quote-meta {\n  font-size: 12px;\n  font-weight: 400;\n  line-height: 1.44;\n  letter-spacing: -0.24px;\n  color: var(--color-dark-gray);\n}\n\n.section-personas__benefits-panel {\n  background: var(--color-white);\n  border-radius: var(--radius-lg);\n  padding: clamp(20px, 4vw, 40px);\n  flex: 1 1 min(100%, 400px);\n  display: flex;\n  flex-direction: column;\n  gap: 38px;\n}\n\n.section-personas__benefits-panel .btn {\n  align-self: flex-start;\n}\n\n.section-personas__benefits-header {\n  background: var(--color-white);\n  border: 1px solid var(--color-light-gray);\n  border-radius: var(--radius-lg);\n  padding: 36px;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 12px;\n}\n\n.section-personas__benefits-title {\n  font-size: 24px;\n  font-weight: 600;\n  line-height: 1.34;\n  color: var(--color-black);\n}\n\n.section-personas__benefits-icon {\n  width: 60px;\n  height: 60px;\n  flex-shrink: 0;\n}\n\n.section-personas__benefits-icon img {\n  width: 100%;\n  height: 100%;\n}\n\n\/* Persona Tabs \u2014 Mobile nav (hidden on desktop) *\/\n.section-personas__mobile-nav {\n  display: none;\n}\n\n\/* --- Checklist --- *\/\n.checklist {\n  display: flex;\n  flex-direction: column;\n  gap: 24px;\n}\n\n.checklist__item {\n  display: flex;\n  gap: 14px;\n  align-items: flex-start;\n}\n\n.checklist__icon {\n  width: 21px;\n  height: 21px;\n  flex-shrink: 0;\n  color: var(--color-erp-green);\n}\n\n.checklist__icon svg {\n  width: 100%;\n  height: 100%;\n}\n\n.checklist__text {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.4;\n  color: var(--color-dark-gray);\n}\n\n\/* Checklist variant: black checkbox (like live assecobs.pl\/erp\/system-hr) *\/\n.checklist--check .checklist__icon {\n  color: var(--color-black);\n}\n\n.checklist--check .checklist__icon svg {\n  width: 21px;\n  height: 21px;\n}\n\n\/* --- Card: Feature (white card with icon) --- *\/\n.card-feature {\n  background: var(--color-white);\n  border-radius: var(--radius-lg);\n  padding: 0 32px 36px;\n  display: flex;\n  flex-direction: column;\n  gap: 32px;\n  cursor: pointer;\n  transition: background 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.card-feature__icon {\n  width: auto;\n  height: 60px;\n  padding-top: 32px;\n}\n\n.card-feature__icon img {\n  height: 100%;\n  width: auto;\n}\n\n.card-feature__content {\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  flex: 1;\n}\n\n.card-feature__title {\n  font-size: 24px;\n  font-weight: 600;\n  line-height: 1.39;\n  color: var(--color-black);\n}\n\n.card-feature__desc {\n  font-size: 18px;\n  font-weight: 400;\n  line-height: 1.39;\n  color: var(--color-dark-gray);\n}\n\n.card-feature__action {\n  display: flex;\n  justify-content: flex-end;\n}\n\n.card-feature__detail-icon {\n  width: 50px;\n  height: 50px;\n  border-radius: 18px;\n  background: rgba(242, 242, 242, 0.75);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  transition: background 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.card-feature__detail-icon svg {\n  width: 28px;\n  height: 28px;\n  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), filter 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.card-feature:hover .card-feature__detail-icon {\n  background: var(--color-black);\n}\n\n.card-feature:hover .card-feature__detail-icon svg {\n  transform: rotate(90deg);\n  filter: invert(1);\n}\n\n\/* --- Feature Cards Grid --- *\/\n.feature-grid {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: 36px 24px;\n  max-width: var(--max-width);\n  margin: 0 auto;\n}\n\n\/* --- Section: Feature Tags (image + tags cloud) --- *\/\n.section-feature-tags {\n  background: var(--color-gray);\n  padding: 64px var(--page-padding);\n  overflow: hidden;\n}\n\n.section-feature-tags__inner {\n  max-width: var(--max-width);\n  margin: 0 auto;\n  display: flex;\n  flex-wrap: wrap;\n  gap: 64px;\n  align-items: flex-start;\n  position: relative;\n}\n\n.section-feature-tags__image {\n  width: 583px;\n  max-width: 100%;\n  height: 353px;\n  border-radius: var(--radius-lg);\n  overflow: hidden;\n  flex-shrink: 0;\n}\n\n.section-feature-tags__image img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n}\n\n.section-feature-tags__content {\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  gap: 24px;\n}\n\n.section-feature-tags__heading {\n  font-size: 32px;\n  font-weight: 600;\n  line-height: 1.19;\n  color: var(--color-black);\n}\n\n\/* --- Tag: Big (white, rounded) --- *\/\n.tag-big {\n  display: inline-flex;\n  align-items: center;\n  padding: 12px;\n  border-radius: var(--radius-sm);\n  background: var(--color-white);\n  font-size: 14px;\n  font-weight: 400;\n  line-height: 1.44;\n  letter-spacing: -0.28px;\n  color: var(--color-black);\n  white-space: nowrap;\n}\n\n.tag-big-cloud {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n}\n\n\/* --- Section: Interface Slider --- *\/\n.section-interface-slider {\n  background: var(--color-gray);\n  padding: 64px 0;\n  text-align: center;\n  position: relative;\n  overflow: hidden;\n}\n\n.section-interface-slider__heading {\n  font-size: 32px;\n  font-weight: 600;\n  line-height: 42px;\n  color: var(--color-black);\n  margin-bottom: 48px;\n}\n\n.section-interface-slider__track {\n  position: relative;\n  overflow: visible;\n  max-width: 825px;\n  margin: 0 auto;\n}\n\n.section-interface-slider__slides {\n  display: flex;\n  transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.section-interface-slider__slide {\n  flex-shrink: 0;\n  width: 825px;\n  display: flex;\n  justify-content: center;\n}\n\n.section-interface-slider__slide img {\n  width: 100%;\n  height: auto;\n  border-radius: 0;\n  transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1);\n  transform: scale(0.9);\n}\n\n.section-interface-slider__slide.is-active img {\n  transform: scale(1.1);\n}\n\n.section-interface-slider__nav {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  display: flex;\n  justify-content: space-between;\n  width: 100%;\n  max-width: 1060px;\n  padding: 0 24px;\n  box-sizing: border-box;\n  z-index: 2;\n  pointer-events: none;\n}\n\n.section-interface-slider__arrow {\n  width: 30px;\n  height: 30px;\n  border-radius: 9999px;\n  border: none;\n  background: var(--color-white);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  pointer-events: auto;\n  transition: background 0.2s;\n}\n\n.section-interface-slider__arrow:hover {\n  background: var(--color-black);\n}\n\n.section-interface-slider__arrow:hover svg path {\n  stroke: var(--color-white);\n}\n\n.section-interface-slider__arrows {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n  left: 0;\n  right: 0;\n  display: flex;\n  justify-content: space-between;\n  padding: 0 11%;\n  pointer-events: none;\n}\n\n.section-interface-slider__arrow {\n  pointer-events: auto;\n}\n\n\/* --- Card: Video (tall card with gradient overlay) --- *\/\n.card-video {\n  width: 355px;\n  height: 631px;\n  border-radius: 18px;\n  overflow: hidden;\n  position: relative;\n  flex-shrink: 0;\n  cursor: pointer;\n  transform: scale(0.9);\n  transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.card-video.is-visible {\n  transform: scale(1);\n}\n\n\/* Embed wrapper \u2014 holds iframe, gradient overlay via ::after *\/\n.card-video__embed {\n  position: absolute;\n  inset: 0;\n  z-index: 1;\n}\n\n.card-video__embed iframe {\n  width: 100%;\n  height: 100%;\n  border: none;\n  border-radius: inherit;\n  pointer-events: none;\n  position: relative;\n  z-index: 1;\n}\n\n.card-video.is-playing .card-video__embed iframe {\n  pointer-events: auto;\n  z-index: 70;\n}\n\n.card-video__embed::after {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  background: linear-gradient(180deg, transparent 20%, #232323 100%);\n  opacity: 1;\n  visibility: visible;\n  pointer-events: none;\n  z-index: 2;\n  transition: opacity 0.3s ease, visibility 0.3s ease;\n}\n\n.card-video.is-playing .card-video__embed::after {\n  opacity: 0;\n  visibility: hidden;\n}\n\n\/* Backward-compat: old __bg \/ __overlay still work if present *\/\n.card-video__bg {\n  position: absolute;\n  inset: 0;\n}\n\n.card-video__bg img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n}\n\n.card-video__overlay {\n  position: absolute;\n  inset: 0;\n  background: linear-gradient(180deg, rgba(35,35,35,0) 1.5%, rgba(35,35,35,0.8) 98%);\n  border-radius: var(--radius-lg);\n}\n\n\/* Play\/pause toggle \u2014 top-right 50\u00d750 circle *\/\n.card-video__play-toggle {\n  position: absolute;\n  top: 16px;\n  right: 16px;\n  width: 50px;\n  height: 50px;\n  border-radius: 18px;\n  background: rgba(216, 216, 216, 0.4);\n  border: none;\n  cursor: pointer;\n  z-index: 60;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  transition: background 0.3s ease;\n}\n\n.card-video__play-toggle:hover {\n  background: rgb(35, 35, 35);\n}\n\n.card-video__play-toggle .icon-pause {\n  position: absolute;\n  opacity: 0;\n  transition: opacity 0.3s ease;\n}\n\n.card-video__play-toggle .icon-play {\n  opacity: 1;\n  transition: opacity 0.3s ease;\n}\n\n.card-video:hover .card-video__play-toggle .icon-play {\n  opacity: 0;\n}\n\n.card-video:hover .card-video__play-toggle .icon-pause {\n  opacity: 1;\n}\n\n\/* Legacy center play button (hidden when new toggle is used) *\/\n.card-video__play {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  width: 60px;\n  height: 60px;\n  border-radius: 50%;\n  background: rgba(255,255,255,0.2);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  transition: background 0.2s;\n}\n\n.card-video__play:hover {\n  background: rgba(255,255,255,0.35);\n}\n\n.card-video__top {\n  display: none;\n}\n\n.card-video__top-icon {\n  display: none;\n}\n\n\/* Bottom content area *\/\n.card-video__bottom {\n  position: absolute;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  padding: 0 16px;\n  z-index: 50;\n  display: grid;\n  grid-template-rows: 0fr;\n  align-items: flex-start;\n  transition: grid-template-rows 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.card-video:hover .card-video__bottom {\n  grid-template-rows: 1fr;\n}\n\n.card-video__person {\n  position: absolute;\n  bottom: calc(100% + 16px);\n  left: 0;\n  right: 0;\n  padding: 0 16px;\n  display: flex;\n  align-items: center;\n  gap: 12px;\n}\n\n.card-video__person-icon {\n  width: 50px;\n  height: 50px;\n  flex-shrink: 0;\n}\n\n.card-video__person-title {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.3;\n  color: var(--color-white);\n  letter-spacing: -0.02rem;\n}\n\n.card-video__tags-wrap {\n  overflow: hidden;\n}\n\n.card-video__tags {\n  display: flex;\n  gap: 4px;\n  flex-wrap: wrap;\n  overflow: hidden;\n  margin-bottom: 0;\n  transition: margin-bottom 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.card-video:hover .card-video__tags {\n  margin-bottom: 16px;\n}\n\n.card-video__tag {\n  font-size: 12px;\n  color: var(--color-black);\n  background: var(--color-white);\n  border-radius: 8px;\n  padding: 9px 8px 7px;\n  line-height: 1;\n  white-space: nowrap;\n  letter-spacing: -0.02rem;\n}\n\n.card-video__info {\n  position: absolute;\n  bottom: 16px;\n  left: 16px;\n  right: 16px;\n  display: none;\n  align-items: center;\n  gap: 12px;\n}\n\n.card-video__product-icon {\n  width: 50px;\n  height: 50px;\n  border-radius: 16px;\n  background: var(--gradient-brand);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  overflow: hidden;\n  flex-shrink: 0;\n}\n\n.card-video__product-icon img {\n  width: 34px;\n  height: 34px;\n}\n\n.card-video__label {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.4;\n  color: var(--color-white);\n}\n\n\/* --- Section: Video Slider (text + cards) --- *\/\n.section-video-slider {\n  background: var(--color-gray);\n  padding: 96px 0;\n  overflow: hidden;\n}\n\n.section-video-slider__inner {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 32px;\n  align-items: flex-start;\n}\n\n.section-video-slider__header {\n  padding-left: var(--page-padding);\n  width: 562px;\n  max-width: 100%;\n  flex-shrink: 0;\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n}\n\n.section-video-slider__heading {\n  font-size: 32px;\n  font-weight: 600;\n  line-height: 1.19;\n  color: var(--color-black);\n}\n\n.section-video-slider__desc {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.4;\n  color: var(--color-dark-gray);\n}\n\n.section-video-slider__arrows {\n  display: flex;\n  gap: 16px;\n  margin-top: 24px;\n}\n\n.section-video-slider__arrow {\n  width: 30px;\n  height: 30px;\n  border-radius: 9999px;\n  border: none;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  transition: background 0.2s;\n  color: var(--color-white);\n}\n\n.section-video-slider__arrow--prev {\n  background: #676767;\n  display: none;\n}\n\n.section-video-slider__arrow--prev.is-visible {\n  display: flex;\n}\n\n.section-video-slider__arrow--next {\n  background: var(--color-white);\n  color: var(--color-black);\n  box-shadow: 0 1px 4px rgba(0,0,0,0.1);\n}\n\n.section-video-slider__arrow:hover {\n  opacity: 0.8;\n}\n\n.section-video-slider__track {\n  display: flex;\n  gap: 24px;\n  overflow-x: auto;\n  padding-right: var(--page-padding);\n  -ms-overflow-style: none;\n  scrollbar-width: none;\n}\n\n.section-video-slider__track::-webkit-scrollbar {\n  display: none;\n}\n\n\/* --- Section: Cooperation Video Slider (Homepage) --- *\/\n\/* \u2500\u2500 Testimonials Quote Slider v2 (Homepage) \u2500\u2500 *\/\n.section-testimonials-v2 {\n  background: var(--color-base);\n  padding: 112px 0 122px;\n  position: relative;\n  overflow: visible;\n  background-image: url('images\/testimonials-blob.svg');\n  background-repeat: no-repeat;\n  background-position: 0% calc(100% + 400px);\n  background-size: 844px 1114px;\n}\n.section-testimonials-v2__left {\n  max-width: 480px;\n  padding: 0 24px;\n  margin-bottom: 40px;\n}\n.section-testimonials-v2__heading {\n  font-size: 32px;\n  font-weight: 600;\n  line-height: 1.12;\n  margin-bottom: 32px;\n}\n.section-testimonials-v2__right {\n  position: relative;\n  padding-left: 24px;\n  overflow: hidden;\n}\n.section-testimonials-v2__nav {\n  display: flex;\n  gap: 16px;\n  justify-content: flex-end;\n  padding-right: 24px;\n  margin-bottom: 16px;\n}\n.section-testimonials-v2__arrow {\n  width: 30px;\n  height: 30px;\n  border-radius: 50%;\n  background: var(--color-white);\n  border: none;\n  cursor: pointer;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  z-index: 2;\n  transition: background 0.2s;\n}\n.section-testimonials-v2__arrow:hover {\n  background: var(--color-black);\n}\n.section-testimonials-v2__arrow:hover svg path {\n  stroke: #FDFDFD;\n}\n.section-testimonials-v2__track {\n  display: flex;\n  gap: 24px;\n  width: max-content;\n  animation: testimonialQuoteScroll 160s linear infinite;\n  padding: 8px 0 24px;\n}\n.section-testimonials-v2__track:hover {\n  animation-play-state: paused;\n}\n@keyframes testimonialQuoteScroll {\n  from { transform: translateX(0); }\n  to { transform: translateX(-50%); }\n}\n.section-testimonials-v2__card {\n  flex: 0 0 min(744px, 90vw);\n  background: var(--color-white);\n  border-radius: 24px;\n  padding: 36px 24px 24px;\n  display: flex;\n  flex-direction: column;\n  justify-content: space-between;\n  min-height: 380px;\n  position: relative;\n  border: 2px solid transparent;\n  transition: border-color 0.3s ease;\n}\n\n.section-testimonials-v2__card::before {\n  content: '';\n  position: absolute;\n  inset: -2px;\n  border-radius: 26px;\n  padding: 2px;\n  background: linear-gradient(107deg, #ef5909 17%, #d70e44 34%, #a046e1 55%, #1676c3 73%);\n  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n  -webkit-mask-composite: xor;\n  mask-composite: exclude;\n  opacity: 0;\n  transition: opacity 0.3s ease;\n  pointer-events: none;\n}\n\n.section-testimonials-v2__card:hover::before {\n  opacity: 1;\n}\n.section-testimonials-v2__quote {\n  font-size: 24px;\n  font-weight: 400;\n  line-height: 1.38;\n  color: var(--color-black);\n  margin-bottom: 24px;\n}\n.section-testimonials-v2__footer {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-top: auto;\n}\n.section-testimonials-v2__person {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n}\n.section-testimonials-v2__avatar {\n  width: 50px;\n  height: 50px;\n  border-radius: 0;\n  object-fit: cover;\n}\n.section-testimonials-v2__name {\n  font-size: 16px;\n  font-weight: 400;\n  color: #676767;\n  line-height: 22px;\n}\n.section-testimonials-v2__role {\n  font-size: 16px;\n  font-weight: 400;\n  color: #676767;\n  line-height: 22px;\n}\n.section-testimonials-v2__logo {\n  height: 50px;\n  width: auto;\n  max-width: 140px;\n  object-fit: contain;\n}\n\n\/* Dark pill button with arrow (matches live site) *\/\n.btn-with-arrow {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n}\n.btn-with-arrow::before {\n  content: '';\n  display: block;\n  width: 16px;\n  height: 16px;\n  flex-shrink: 0;\n  background-image: url(\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIgNi4yNWEuNzUuNzUgMCAwIDAgMCAxLjV2LTEuNVptMTIuNTMgMS4yOGEuNzUuNzUgMCAwIDAgMC0xLjA2TDkuNzU3IDEuNjk3YS43NS43NSAwIDEgMC0xLjA2IDEuMDZMMTIuOTM5IDdsLTQuMjQyIDQuMjQzYS43NS43NSAwIDAgMCAxLjA2IDEuMDZMMTQuNTMgNy41M1pNMiA3Ljc1aDEydi0xLjVIMnYxLjVaIiBmaWxsPSIjRkRGREZEIi8+PC9zdmc+\");\n  background-size: contain;\n  background-repeat: no-repeat;\n  transition: transform 0.2s;\n}\n.btn-with-arrow:hover {\n  background-color: #3FA2EB;\n}\n.btn-with-arrow:hover::before {\n  transform: translateX(4px);\n}\n\n.section-cooperation {\n  background: var(--color-dark-black);\n  border-radius: var(--radius-lg);\n  padding: 100px 0 120px;\n}\n\n.section-cooperation__heading {\n  font-size: 40px;\n  font-weight: 600;\n  line-height: 1.15;\n  letter-spacing: -0.8px;\n  color: var(--color-gray);\n  text-align: center;\n  margin-bottom: 48px;\n}\n\n.section-cooperation__slider {\n  display: flex;\n  gap: 24px;\n  max-width: var(--max-width);\n  margin: 0 auto;\n  padding: 0 var(--page-padding);\n  align-items: flex-start;\n}\n\n.section-cooperation__video {\n  flex: 1.9;\n  border-radius: 24px;\n  overflow: hidden;\n  position: relative;\n  aspect-ratio: 16\/9;\n}\n\n.section-cooperation__video iframe {\n  width: 100%;\n  height: 100%;\n  position: absolute;\n  top: 0;\n  left: 0;\n  border-radius: 24px;\n}\n\n.section-cooperation__info {\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n}\n\n.section-cooperation__nav {\n  display: flex;\n  gap: 8px;\n  justify-content: flex-end;\n}\n\n.section-cooperation__arrow {\n  width: 30px;\n  height: 30px;\n  border-radius: 9999px;\n  background: var(--color-medium-gray);\n  border: none;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  color: var(--color-white);\n  transition: background 0.2s;\n}\n\n.section-cooperation__arrow:hover {\n  background: var(--color-white);\n  color: var(--color-black);\n}\n\n.section-cooperation__card {\n  background: #141414;\n  border-radius: 24px;\n  padding: 36px 36px 40px;\n  min-height: 320px;\n  display: flex;\n  flex-direction: column;\n  position: relative;\n}\n\n.section-cooperation__slide {\n  display: none;\n  flex-direction: column;\n  flex: 1;\n}\n\n.section-cooperation__slide.is-active {\n  display: flex;\n}\n\n.section-cooperation__name {\n  font-size: 20px;\n  font-weight: 600;\n  line-height: 1.3;\n  color: var(--color-white);\n  margin-bottom: 8px;\n}\n\n.section-cooperation__role {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.4;\n  color: var(--color-medium-gray);\n  margin-bottom: 16px;\n}\n\n.section-cooperation__company {\n  font-size: 12px;\n  font-weight: 400;\n  color: var(--color-medium-gray);\n  border: 1px solid var(--color-medium-gray);\n  border-radius: 9999px;\n  padding: 8px 14px;\n  display: inline-block;\n  align-self: flex-start;\n  margin-bottom: auto;\n}\n\n.section-cooperation__tags {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  margin-top: 24px;\n}\n\n.section-cooperation__tag {\n  font-size: 12px;\n  font-weight: 400;\n  color: var(--color-black);\n  border-radius: 8px;\n  padding: 5px 8px;\n}\n\n@media (max-width: 768px) {\n  .section-cooperation__slider {\n    flex-direction: column;\n  }\n\n  .section-cooperation__heading {\n    font-size: 28px;\n  }\n}\n\n\/* --- Section: Stat Cards with Blob (Homepage) --- *\/\n.section-stat-cards {\n  position: relative;\n  max-width: var(--max-width);\n  margin: 0 auto;\n  padding: 0 var(--page-padding);\n}\n\n.section-stat-cards__grid {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 24px;\n  position: relative;\n  z-index: 2;\n}\n\n.stat-card-home {\n  flex: 1 1 min(100%, 280px);\n  background: var(--color-white);\n  border-radius: 24px;\n  padding: 40px 32px;\n  text-align: center;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  min-height: 220px;\n}\n\n.stat-card-home__number {\n  font-size: 68px;\n  font-weight: 400;\n  line-height: 1;\n  letter-spacing: -1.36px;\n  margin-bottom: 16px;\n  background: var(--gradient-brand);\n  -webkit-background-clip: text;\n  -webkit-text-fill-color: transparent;\n  background-clip: text;\n}\n\n.stat-card-home__desc {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.4;\n  letter-spacing: -0.32px;\n  color: var(--color-black);\n  text-align: center;\n  max-width: 300px;\n}\n\n.section-stat-cards__blob {\n  position: absolute;\n  bottom: -480px;\n  right: 0;\n  width: 60%;\n  height: 1310px;\n  background: url('images\/blob-desktop.svg') no-repeat right center;\n  background-size: contain;\n  z-index: 1;\n  pointer-events: none;\n}\n\n@media (max-width: 768px) {\n  .section-stat-cards__grid {\n    flex-direction: column;\n  }\n\n  .stat-card-home__number {\n    font-size: 48px;\n  }\n\n  .section-stat-cards__blob {\n    display: none;\n  }\n}\n\n\/* --- Section: Wybierz rozwi\u0105zanie --- *\/\n.section-choose {\n  max-width: var(--max-width);\n  margin: 0 auto;\n  padding: 0 var(--page-padding);\n  text-align: center;\n}\n\n.section-choose__heading {\n  font-size: 40px;\n  font-weight: 600;\n  line-height: 1.2;\n  letter-spacing: -0.8px;\n  color: var(--color-black);\n  text-align: center;\n  margin-bottom: 36px;\n}\n\n.section-choose__video-wrapper {\n  max-width: 980px;\n  margin: 0 auto;\n  overflow: hidden;\n}\n\n.section-choose__video {\n  width: 112%;\n  height: auto;\n  display: block;\n  margin-left: -6%;\n}\n\n@media (max-width: 768px) {\n  .section-choose__heading {\n    font-size: 28px;\n  }\n}\n\n\/* --- Section: Homepage Product Cards --- *\/\n.section-products {\n  max-width: var(--max-width);\n  margin: 0 auto;\n  padding: 0 var(--page-padding);\n}\n\n.section-products__header {\n  display: flex;\n  gap: 40px;\n  margin-bottom: 64px;\n  align-items: flex-start;\n}\n\n.section-products__heading {\n  flex: 1;\n  font-size: 40px;\n  font-weight: 600;\n  line-height: 1.13;\n  letter-spacing: -0.8px;\n  color: var(--color-black);\n}\n\n.section-products__desc {\n  flex: 1;\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.4;\n  letter-spacing: -0.32px;\n  color: var(--color-dark-gray);\n  padding-top: 10px;\n}\n\n.section-products__cards {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 28px;\n  margin-bottom: 64px;\n}\n\n.card-product-home {\n  flex: 1 1 min(100%, 400px);\n  background: var(--color-white);\n  border-radius: 24px;\n  padding: 32px;\n  display: flex;\n  flex-direction: column;\n}\n\n.card-product-home__logo {\n  margin-bottom: 32px;\n}\n\n.card-product-home__logo img {\n  height: 66px;\n  width: auto;\n}\n\n.card-product-home__title {\n  font-size: 24px;\n  font-weight: 600;\n  line-height: 1.2;\n  letter-spacing: -0.48px;\n  color: var(--color-black);\n  margin-bottom: 12px;\n}\n\n.card-product-home__desc {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.4;\n  letter-spacing: -0.32px;\n  color: var(--color-dark-gray);\n  margin-bottom: 32px;\n  flex: 1;\n}\n\n.card-product-home__btn {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  font-family: inherit;\n  font-size: 16px;\n  font-weight: 400;\n  color: var(--color-black);\n  background: var(--color-white);\n  border: 1px solid var(--color-black);\n  border-radius: 9999px;\n  padding: 11px 16px 9px;\n  text-decoration: none;\n  cursor: pointer;\n  transition: background 0.2s, color 0.2s;\n  align-self: flex-start;\n}\n\n.card-product-home__btn:hover {\n  background: var(--color-black);\n  color: var(--color-white);\n}\n\n.card-product-home__btn:hover .arrow-icon {\n  stroke: var(--color-white);\n}\n\n.card-product-home__btn .arrow-icon {\n  width: 16px;\n  height: 16px;\n  flex-shrink: 0;\n}\n\n.section-products__cta {\n  text-align: center;\n}\n\n.section-products__cta-btn {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  font-family: inherit;\n  font-size: 16px;\n  font-weight: 400;\n  color: var(--color-white);\n  background: var(--color-black);\n  border: none;\n  border-radius: 9999px;\n  padding: 20px 24px 18px;\n  text-decoration: none;\n  cursor: pointer;\n  transition: opacity 0.2s;\n}\n\n.section-products__cta-btn:hover {\n  background: var(--color-erp-blue);\n}\n\n.section-products__cta-btn .arrow-icon {\n  width: 16px;\n  height: 16px;\n  flex-shrink: 0;\n  stroke: var(--color-white);\n}\n\n@media (max-width: 768px) {\n  .section-products__header {\n    flex-direction: column;\n    gap: 24px;\n  }\n\n  .section-products__cards {\n    flex-direction: column;\n  }\n\n  .section-products__heading {\n    font-size: 28px;\n  }\n}\n\n\/* --- Section: Why Choose (Vertical Text Nav) --- *\/\n.section-why-choose {\n  max-width: 1300px;\n  margin: 0 auto;\n  padding: 0 40px;\n}\n\n.section-why-choose__grid {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 40px;\n  align-items: start;\n}\n\n.section-why-choose__left {\n  display: flex;\n  flex-direction: column;\n  gap: 64px;\n}\n\n.section-why-choose__heading {\n  font-size: 40px;\n  font-weight: 600;\n  line-height: 1.12;\n  letter-spacing: -0.8px;\n  color: var(--color-black);\n}\n\n.section-why-choose__nav {\n  position: relative;\n  padding-left: 20px;\n}\n\n.section-why-choose__scrollbar {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 12px;\n  height: 100%;\n  background: var(--color-light-gray);\n  border-radius: 9999px;\n}\n\n.section-why-choose__scrollbar-thumb {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 12px;\n  height: 36px;\n  background: var(--color-black);\n  border-radius: 9999px;\n  transition: top 0.4s ease;\n}\n\n.section-why-choose__nav-list {\n  display: flex;\n  flex-direction: column;\n}\n\n.section-why-choose__nav-item {\n  background: none;\n  border: none;\n  padding: 14px 0 10px;\n  font-family: inherit;\n  font-size: 20px;\n  font-weight: 400;\n  line-height: 1.3;\n  letter-spacing: -0.4px;\n  color: var(--color-medium-gray);\n  text-align: left;\n  cursor: pointer;\n  transition: color 0.4s ease;\n}\n\n.section-why-choose__nav-item:hover {\n  color: var(--color-dark-gray);\n}\n\n.section-why-choose__nav-item.is-active {\n  color: var(--color-black);\n}\n\n\/* Right: content card *\/\n.section-why-choose__card {\n  position: relative;\n  background: var(--color-white);\n  border-radius: 24px;\n  overflow: hidden;\n  min-height: 620px;\n}\n\n.section-why-choose__slide {\n  display: none;\n  flex-direction: column;\n  justify-content: space-between;\n  padding: 36px;\n  min-height: 620px;\n}\n\n.section-why-choose__slide.is-active {\n  display: flex;\n}\n\n.section-why-choose__image {\n  margin: 0;\n  text-align: center;\n  overflow: hidden;\n  border-radius: var(--radius-lg);\n}\n\n.section-why-choose__image img {\n  max-width: 100%;\n  height: auto;\n  max-height: 340px;\n  border-radius: var(--radius-lg);\n}\n\n.section-why-choose__content {\n  padding: 0;\n}\n\n.section-why-choose__content p {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.375;\n  letter-spacing: -0.32px;\n  color: var(--color-dark-gray);\n  margin: 0 0 8px;\n}\n\n.section-why-choose__content p:last-child {\n  margin-bottom: 0;\n}\n\n.section-why-choose__content p strong {\n  font-weight: 600;\n  color: var(--color-dark-gray);\n}\n\n.section-why-choose__tags {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  margin-top: 16px;\n}\n\n.section-why-choose__tag {\n  font-size: 12px;\n  font-weight: 400;\n  line-height: 1;\n  letter-spacing: -0.24px;\n  color: var(--color-white);\n  background: var(--color-black);\n  border-radius: 8px;\n  padding: 6px 8px 4px;\n}\n\n@media (max-width: 768px) {\n  .section-why-choose__grid {\n    grid-template-columns: 1fr;\n    gap: 32px;\n  }\n\n  .section-why-choose__heading {\n    font-size: 28px;\n  }\n\n  .section-why-choose__nav-item {\n    font-size: 16px;\n  }\n\n  .section-why-choose__card {\n    min-height: auto;\n  }\n\n  .section-why-choose__slide {\n    min-height: auto;\n  }\n}\n\n\/* --- Section: Contact Form --- *\/\n.section-contact-form {\n  background: var(--color-gray);\n  padding: 96px var(--page-padding);\n  position: relative;\n  overflow: hidden;\n}\n\n.section-contact-form__header {\n  text-align: center;\n  margin-bottom: 48px;\n}\n\n.section-contact-form__heading {\n  font-size: 32px;\n  font-weight: 600;\n  line-height: 42px;\n  color: var(--color-black);\n  margin-bottom: 16px;\n}\n\n.section-contact-form__intro {\n  font-size: 12px;\n  font-weight: 400;\n  line-height: 1.44;\n  letter-spacing: -0.24px;\n  color: var(--color-dark-gray);\n  text-align: center;\n  max-width: 700px;\n  margin: 0 auto;\n}\n\n.section-contact-form__fields {\n  display: flex;\n  gap: 36px;\n  max-width: 756px;\n  margin: 0 auto 32px;\n}\n\n.section-contact-form__column {\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n}\n\n.section-contact-form__submit {\n  text-align: center;\n  margin-top: 32px;\n}\n\n.section-contact-form__legal {\n  font-size: 10px;\n  font-weight: 400;\n  line-height: 1.44;\n  letter-spacing: -0.2px;\n  color: var(--color-dark-gray);\n  text-align: center;\n  max-width: 756px;\n  margin: 32px auto 0;\n}\n\n\/* --- Form: Input --- *\/\n.form-input {\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n}\n\n.form-input__label {\n  font-size: 12px;\n  font-weight: 400;\n  line-height: 1.44;\n  letter-spacing: -0.24px;\n  color: var(--color-dark-gray);\n}\n\n.form-input__field {\n  width: 100%;\n  padding: 12px 16px;\n  border: 1px solid var(--color-light-gray);\n  border-radius: 12px;\n  font-size: 16px;\n  font-weight: 400;\n  font-family: inherit;\n  color: var(--color-black);\n  background: var(--color-white);\n  outline: none;\n  transition: border-color 0.2s;\n}\n\n.form-input__field:focus {\n  border-color: var(--color-black);\n}\n\n.form-input__field--textarea {\n  resize: vertical;\n  min-height: 156px;\n}\n\n\/* --- Form: Checkbox --- *\/\n.form-checkbox {\n  display: flex;\n  gap: 8px;\n  align-items: flex-start;\n}\n\n.form-checkbox__box {\n  width: 16px;\n  height: 16px;\n  flex-shrink: 0;\n  border: 1px solid var(--color-medium-gray);\n  border-radius: 2px;\n  margin-top: 2px;\n  cursor: pointer;\n  appearance: none;\n  -webkit-appearance: none;\n}\n\n.form-checkbox__box:checked {\n  background: var(--color-black);\n  border-color: var(--color-black);\n}\n\n.form-checkbox__label {\n  font-size: 12px;\n  font-weight: 400;\n  line-height: 1.44;\n  letter-spacing: -0.24px;\n  color: var(--color-dark-gray);\n}\n\n\/* --- Decorative Circles --- *\/\n.deco-circle {\n  position: absolute;\n  border-radius: 50%;\n  pointer-events: none;\n}\n\n.deco-circle--orange {\n  background: var(--color-erp-yellow);\n}\n\n.deco-circle--orange-light {\n  background: var(--color-erp-light-orange);\n}\n\n.deco-circle--green {\n  background: var(--color-erp-green);\n}\n\n\/* ============================================\n   ANIMATIONS & TRANSITIONS\n   ============================================ *\/\n\n\/* --- Scroll-Reveal Base --- *\/\n[data-anim] {\n  opacity: 0;\n  transform: translateY(40px);\n  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),\n              transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n[data-anim].is-visible {\n  opacity: 1;\n  transform: translateY(0);\n}\n\n\/* Variant: fade only *\/\n[data-anim=\"fade\"] {\n  transform: none;\n}\n\n\/* Variant: slide from left *\/\n[data-anim=\"slide-left\"] {\n  transform: translateX(-60px);\n}\n[data-anim=\"slide-left\"].is-visible {\n  transform: translateX(0);\n}\n\n\/* Variant: slide from right *\/\n[data-anim=\"slide-right\"] {\n  transform: translateX(60px);\n}\n[data-anim=\"slide-right\"].is-visible {\n  transform: translateX(0);\n}\n\n\/* Variant: scale up *\/\n[data-anim=\"scale\"] {\n  transform: scale(0.9);\n}\n[data-anim=\"scale\"].is-visible {\n  transform: scale(1);\n}\n\n\/* Variant: zoom in *\/\n[data-anim=\"zoom\"] {\n  transform: scale(0.85);\n}\n[data-anim=\"zoom\"].is-visible {\n  transform: scale(1);\n}\n\n\/* --- Stagger Delays (children) --- *\/\n[data-stagger] > *:nth-child(1) { transition-delay: 0s; }\n[data-stagger] > *:nth-child(2) { transition-delay: 0.1s; }\n[data-stagger] > *:nth-child(3) { transition-delay: 0.2s; }\n[data-stagger] > *:nth-child(4) { transition-delay: 0.3s; }\n[data-stagger] > *:nth-child(5) { transition-delay: 0.4s; }\n[data-stagger] > *:nth-child(6) { transition-delay: 0.5s; }\n[data-stagger] > *:nth-child(7) { transition-delay: 0.6s; }\n[data-stagger] > *:nth-child(8) { transition-delay: 0.7s; }\n[data-stagger] > *:nth-child(9) { transition-delay: 0.8s; }\n[data-stagger] > *:nth-child(10) { transition-delay: 0.9s; }\n[data-stagger] > *:nth-child(11) { transition-delay: 1.0s; }\n[data-stagger] > *:nth-child(12) { transition-delay: 1.1s; }\n\n\/* Stagger items start hidden *\/\n[data-stagger] > * {\n  opacity: 0;\n  transform: translateY(30px);\n  transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1),\n              transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n[data-stagger].is-visible > * {\n  opacity: 1;\n  transform: translateY(0);\n}\n\n\/* --- Custom Delay Attribute --- *\/\n[data-delay=\"100\"] { transition-delay: 0.1s; }\n[data-delay=\"200\"] { transition-delay: 0.2s; }\n[data-delay=\"300\"] { transition-delay: 0.3s; }\n[data-delay=\"400\"] { transition-delay: 0.4s; }\n[data-delay=\"500\"] { transition-delay: 0.5s; }\n[data-delay=\"600\"] { transition-delay: 0.6s; }\n\n\/* --- Marquee Animation --- *\/\n@keyframes marquee-scroll {\n  0% { transform: translateX(0); }\n  100% { transform: translateX(-50%); }\n}\n\n.section-marquee--animated .section-marquee__track {\n  display: flex;\n  gap: 80px;\n  white-space: nowrap;\n  animation: marquee-scroll 20s linear infinite;\n  width: max-content;\n}\n\n.section-marquee--animated .section-marquee__track:hover {\n  animation-play-state: paused;\n}\n\n\/* --- Events Ticker (Asseco Platform style) --- *\/\n.events-ticker {\n  width: 100%;\n  background: var(--color-black);\n  overflow: hidden;\n  position: relative;\n  display: flex;\n  align-items: center;\n  padding: 12px 16px;\n}\n\n.events-ticker__track {\n  display: flex;\n  gap: 2rem;\n  min-width: max-content;\n  animation: events-ticker-scroll 30s linear infinite;\n}\n\n.events-ticker__track:hover {\n  animation-play-state: paused;\n}\n\n.events-ticker__item {\n  color: var(--color-white);\n  font-size: 15px;\n  font-weight: 500;\n  white-space: nowrap;\n}\n\n.events-ticker__btn {\n  position: absolute;\n  right: 16px;\n  padding: 7px 19px;\n  background: var(--color-white);\n  color: var(--color-black);\n  border-radius: 9999px;\n  font-size: 14px;\n  font-weight: 500;\n  text-decoration: none;\n  white-space: nowrap;\n  transition: background-color 0.3s, color 0.3s;\n}\n\n.events-ticker__btn:hover {\n  background: var(--color-erp-blue);\n  color: var(--color-white);\n}\n\n@keyframes events-ticker-scroll {\n  0% { transform: translateX(0); }\n  100% { transform: translateX(-50%); }\n}\n\n\/* --- Floating Decorative Circles --- *\/\n@keyframes float-y {\n  0%, 100% { transform: translateY(0); }\n  50% { transform: translateY(-16px); }\n}\n\n@keyframes float-x {\n  0%, 100% { transform: translateX(0); }\n  50% { transform: translateX(12px); }\n}\n\n.deco-circle--float {\n  animation: float-y 4s ease-in-out infinite;\n}\n\n.deco-circle--float-alt {\n  animation: float-x 5s ease-in-out infinite;\n}\n\n\/* --- Counter Animation (number counting) --- *\/\n.stat-card__value[data-count] {\n  transition: none;\n}\n\n\/* --- Parallax-like Decorative Blobs --- *\/\n@keyframes rotate-slow {\n  0% { transform: rotate(0deg); }\n  100% { transform: rotate(360deg); }\n}\n\n.gradient-blob {\n  animation: rotate-slow 30s linear infinite;\n}\n\n\/* --- Blob Background (SVG decoration) --- *\/\n.blob-bg {\n  position: absolute;\n  pointer-events: none;\n  z-index: 0;\n  width: 900px;\n  height: auto;\n}\n\n.blob-bg--bottom-right {\n  bottom: -200px;\n  right: -260px;\n  transform: rotate(135deg);\n}\n\n.blob-bg--bottom-left {\n  bottom: -220px;\n  left: -200px;\n  transform: rotate(135deg) scaleX(-1);\n}\n\n.blob-bg--top-right {\n  top: -180px;\n  right: -200px;\n  transform: rotate(135deg);\n}\n\n\/* Decorative colored dots *\/\n.deco-dot {\n  position: absolute;\n  border-radius: 50%;\n  width: 40px;\n  height: 40px;\n  pointer-events: none;\n  z-index: 1;\n}\n\n.deco-dot--orange  { background: var(--color-erp-yellow); }\n.deco-dot--pink    { background: var(--color-erp-red); }\n.deco-dot--cyan    { background: #27D8CD; }\n\n@media (max-width: 768px) {\n  \/* Hero mobile \u2014 1:1 from assecobs.pl\/erp *\/\n  .hero {\n    height: 549px;\n  }\n  .hero__desktop-bg {\n    display: none;\n  }\n  .hero__mobile-bg {\n    display: block;\n  }\n  .hero__content {\n    margin: 0;\n    padding: 176px 20px 56px;\n    width: 100%;\n    position: relative;\n    top: auto;\n    left: auto;\n  }\n  .hero__title {\n    font-size: 38px;\n    line-height: 44px;\n  }\n  .hero__subtitle {\n    display: none;\n  }\n  .hero__slider {\n    display: none;\n  }\n  .hero__arrows {\n    display: none;\n  }\n  .hero .btn {\n    width: 100%;\n    justify-content: center;\n  }\n\n  \/* Advantage bar mobile *\/\n  .advantage-bar__list {\n    flex-direction: column;\n    gap: 24px;\n  }\n  .advantage-bar__item {\n    max-width: 100%;\n  }\n  .advantage-bar__text {\n    font-size: 16px;\n    line-height: 1.4;\n  }\n\n  .blob-bg {\n    width: 500px;\n  }\n  .deco-dot {\n    width: 24px;\n    height: 24px;\n  }\n\n  \/* ERP cards mobile *\/\n  .erp-products {\n    grid-template-columns: 1fr;\n    gap: 28px;\n    max-width: 335px;\n    margin: 0 auto;\n  }\n  .card-erp {\n    border-radius: 18px;\n    padding-bottom: 33px;\n  }\n  .card-erp__image {\n    height: 100px;\n    border-radius: 18px;\n  }\n  .card-erp__open {\n    width: 50px;\n    height: 50px;\n  }\n  .card-erp__logo {\n    display: none;\n  }\n  .card-erp__body {\n    margin-top: 0;\n  }\n  .card-erp__title {\n    font-size: 22px;\n    line-height: 28px;\n  }\n  .card-erp__desc {\n    font-size: 16px;\n    line-height: 22px;\n  }\n  .card-erp:hover .card-erp__image {\n    height: 100px;\n  }\n\n  \/* ERP popup mobile *\/\n  .erp-slider__panel {\n    width: 100%;\n    max-width: 100%;\n    border-radius: 0;\n  }\n  .erp-slide.is-active {\n    grid-template-columns: 1fr;\n    padding: 80px 20px 20px;\n    gap: 16px;\n  }\n  .erp-slide__image {\n    grid-column: 1;\n    grid-row: auto;\n  }\n  .erp-slide__heading {\n    font-size: 24px;\n    line-height: 34px;\n  }\n  .erp-slide__subheading {\n    font-size: 16px;\n    line-height: 20px;\n  }\n  .erp-slide__checklist li {\n    font-size: 15px;\n    line-height: 21px;\n  }\n  .erp-slider__nav {\n    bottom: 20px;\n    right: 20px;\n  }\n  .erp-slide__close {\n    top: 20px;\n    left: 20px;\n    width: 40px;\n    height: 40px;\n  }\n\n  \/* Industries mobile *\/\n  .tile-industry {\n    width: 140px;\n    height: 130px;\n  }\n}\n\n\/* --- Enhanced Hover Transitions --- *\/\n.card-erp,\n.card-product,\n.card-news,\n.card-video,\n.card-quote,\n.card-case {\n  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),\n              box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.card-erp:hover,\n.card-quote:hover {\n  transform: translateY(-6px);\n  box-shadow: 0 12px 40px rgba(0,0,0,0.08);\n}\n\n.card-news:hover {\n  transform: translateY(-6px);\n  box-shadow: 0 12px 40px rgba(0,0,0,0.2);\n}\n\n\/* card-video: no lift\/scale hover \u2014 matches live assecobs.pl *\/\n\n\/* card-case: no hover state \u2014 matches live assecobs.pl *\/\n\/* tile-industry: no lift\/scale hover \u2014 matches live assecobs.pl *\/\n\n\/* --- Button Press Effect --- *\/\n.btn:active {\n  transform: scale(0.96);\n  transition: transform 0.1s;\n}\n\n.tab-big {\n  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.tab-big:active {\n  transform: scale(0.95);\n}\n\n\/* --- Hero Entrance Animation --- *\/\n@keyframes hero-fade-in {\n  0% {\n    opacity: 0;\n    transform: translateY(30px);\n  }\n  100% {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n\n@keyframes hero-bg-zoom {\n  0% {\n    transform: scale(1.08);\n  }\n  100% {\n    transform: scale(1);\n  }\n}\n\n.hero-video .hero-video__video-wrapper,\n.hero-subpage .hero-subpage__video-wrapper,\n.hero .hero__bg {\n  animation: hero-bg-zoom 1.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;\n}\n\n.hero-video .hero-video__content,\n.hero-subpage .hero-subpage__content {\n  animation: hero-fade-in 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.3s both;\n}\n\n\/* --- Slider Track Smooth Scroll --- *\/\n.slider-track,\n.section-recommendations__track,\n.section-news__track,\n.section-video-slider__track {\n  scroll-behavior: smooth;\n}\n\n\/* --- Advantage Bar Scrolling --- *\/\n@keyframes advantage-scroll {\n  0% { transform: translateX(0); }\n  100% { transform: translateX(-50%); }\n}\n\n.advantage-bar--animated .advantage-bar__track {\n  display: flex;\n  gap: 48px;\n  animation: advantage-scroll 25s linear infinite;\n  width: max-content;\n}\n\n\/* --- Checklist Item Stagger --- *\/\n.checklist[data-stagger] .checklist__item {\n  opacity: 0;\n  transform: translateX(-20px);\n}\n\n.checklist[data-stagger].is-visible .checklist__item {\n  opacity: 1;\n  transform: translateX(0);\n}\n\n\/* --- Form Input Focus Animation --- *\/\n.form-input__field {\n  transition: border-color 0.3s, box-shadow 0.3s;\n}\n\n.form-input__field:focus {\n  border-color: var(--color-black);\n  box-shadow: 0 0 0 3px rgba(35,35,35,0.08);\n}\n\n.label-pill {\n  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n\/* --- Gradient Text Shimmer (optional) --- *\/\n@keyframes gradient-shift {\n  0% { background-position: 0% 50%; }\n  50% { background-position: 100% 50%; }\n  100% { background-position: 0% 50%; }\n}\n\n.text-gradient--animated {\n  background-size: 200% 200%;\n  animation: gradient-shift 4s ease infinite;\n}\n\n\/* --- Stat Card Value Scale-In --- *\/\n@keyframes value-pop {\n  0% {\n    opacity: 0;\n    transform: scale(0.5);\n  }\n  60% {\n    transform: scale(1.05);\n  }\n  100% {\n    opacity: 1;\n    transform: scale(1);\n  }\n}\n\n.stat-card.is-visible .stat-card__value {\n  animation: value-pop 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;\n}\n\n\/* --- Logo Bar Hover --- *\/\n.logo-bar__item {\n  transition: transform 0.3s;\n}\n\n.logo-bar__item:hover {\n  transform: scale(1.05);\n}\n\n\/* --- Smooth Section Transitions --- *\/\n.preview-section {\n  transition: opacity 0.3s;\n}\n\n\/* --- Persona Panel Slide --- *\/\n.section-personas__panels {\n  transition: opacity 0.4s, transform 0.4s;\n}\n\n.section-personas__quote-panel,\n.section-personas__benefits-panel {\n  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1),\n              opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n\/* ======================================================\n   ON-TIME INSIGHTS SLIDER\n   ====================================================== *\/\n.slider-on-time {\n  overflow: hidden;\n  padding: 6rem 0;\n  position: relative;\n}\n\n.slider-on-time__inner {\n  max-width: 82.375rem;\n  margin: 0 auto;\n  padding: 0 48px;\n  overflow: visible;\n}\n\n\/* Nav arrows row *\/\n.slider-on-time__nav {\n  display: flex;\n  justify-content: flex-end;\n  gap: 1rem;\n  margin-bottom: 2rem;\n}\n\n.slider-on-time__arrow {\n  width: 2.5rem;\n  height: 2.5rem;\n  border-radius: 9999px;\n  background: var(--color-white);\n  border: none;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  transition: background-color 0.3s, border-color 0.3s;\n  padding: 0;\n}\n\n.slider-on-time__arrow svg {\n  width: 1rem;\n  height: 1rem;\n}\n\n.slider-on-time__arrow svg path {\n  stroke: #232323;\n  transition: stroke 0.3s;\n}\n\n.slider-on-time__arrow:hover {\n  background: #232323;\n  border-color: #232323;\n}\n\n.slider-on-time__arrow:hover svg path {\n  stroke: #fdfdfd;\n}\n\n.slider-on-time__arrow:disabled {\n  display: none;\n}\n\n\/* Track *\/\n.slider-on-time__track {\n  display: flex;\n  gap: 1.5rem;\n  overflow: hidden;\n  position: relative;\n}\n\n.slider-on-time__track-inner {\n  display: flex;\n  gap: 1.5rem;\n  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);\n  will-change: transform;\n}\n\n\/* Card *\/\n.card-on-time {\n  flex: 0 0 min(90vw, 75rem);\n  scroll-snap-align: start;\n  background: var(--color-gray);\n  border-radius: 1.5rem;\n  overflow: hidden;\n  display: grid;\n  grid-template-columns: 0.81fr 1fr;\n  min-height: 18rem;\n}\n\n@media (max-width: 48.875rem) {\n  .card-on-time {\n    grid-template-columns: 1fr;\n    grid-template-rows: max-content 1fr;\n    flex: 0 0 min(90vw, 22rem);\n  }\n}\n\n\/* Card media (image or video) *\/\n.card-on-time__media {\n  overflow: hidden;\n  position: relative;\n  border-top-left-radius: 1.5rem;\n  border-bottom-left-radius: 1.5rem;\n}\n\n@media (max-width: 48.875rem) {\n  .card-on-time__media {\n    border-bottom-left-radius: 0;\n    border-top-right-radius: 1.5rem;\n  }\n}\n\n.card-on-time__media img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  display: block;\n  aspect-ratio: 520 \/ 291;\n}\n\n.card-on-time__media iframe {\n  width: 100%;\n  height: 100%;\n  border: none;\n  display: block;\n}\n\n\/* Card content *\/\n.card-on-time__content {\n  display: flex;\n  flex-direction: column;\n  justify-content: space-between;\n  background: var(--color-white);\n  padding: 2.25rem 3rem 2.5rem;\n  border-top-right-radius: 1.5rem;\n  border-bottom-right-radius: 1.5rem;\n}\n\n@media (max-width: 48.875rem) {\n  .card-on-time__content {\n    border-top-right-radius: 0;\n    border-bottom-left-radius: 1.5rem;\n    padding: 2rem 1.25rem 2.25rem;\n  }\n}\n\n.card-on-time__heading {\n  font-size: 2rem;\n  font-weight: 600;\n  line-height: 2.625rem;\n  color: var(--color-black);\n  margin-bottom: 0.75rem;\n}\n\n.card-on-time__heading .text-gradient {\n  background: var(--gradient-brand);\n  -webkit-background-clip: text;\n  -webkit-text-fill-color: transparent;\n  background-clip: text;\n}\n\n.card-on-time__desc {\n  font-size: 1rem;\n  line-height: 1.5;\n  color: var(--color-dark-gray);\n  margin-bottom: 2rem;\n  max-width: 27.5rem;\n}\n\n.card-on-time__btn {\n  display: inline-flex;\n  align-items: center;\n  gap: 0.75rem;\n  padding: 0.875rem 2rem;\n  background: var(--color-black);\n  color: var(--color-white);\n  border: none;\n  border-radius: 9999px;\n  font-size: 1rem;\n  font-weight: 500;\n  cursor: pointer;\n  text-decoration: none;\n  transition: background-color 0.3s;\n  width: fit-content;\n}\n\n.card-on-time__btn:hover {\n  background: var(--color-erp-blue);\n}\n\n.card-on-time__btn svg {\n  width: 1rem;\n  height: 1rem;\n}\n\n.card-on-time__btn svg path {\n  stroke: currentColor;\n}\n\n\/* ======================================================\n   POPULAR TOPICS \/ SLIDER POSTS V2 (from assecobs.pl)\n   ====================================================== *\/\n.slider-posts--v2 {\n  background: #090909;\n  border-radius: var(--radius-md);\n  padding: 128px 60px;\n  position: relative;\n  overflow: hidden;\n}\n\n.slider-posts__circle {\n  display: block;\n  width: 40px;\n  height: 40px;\n  background: #3FA2EB;\n  border-radius: 9999px;\n  position: absolute;\n  top: 114px;\n  right: 365px;\n}\n\n.slider-posts__heading {\n  font-size: 40px;\n  font-weight: 600;\n  color: #F2F2F2;\n  text-align: center;\n  margin: 0 0 100px;\n}\n\n.slider-posts__viewport {\n  position: relative;\n  max-width: 1240px;\n  margin: 0 auto;\n}\n\n.slider-posts__track {\n  display: flex;\n  gap: 1.5rem;\n  overflow: hidden;\n  scroll-behavior: smooth;\n}\n\n\/* --- Post Card --- *\/\n.post-card {\n  background: #141414;\n  border-radius: 24px;\n  padding: 36px;\n  display: flex;\n  flex-direction: column;\n  flex: 0 0 min(380px, 85vw);\n  text-decoration: none;\n  color: inherit;\n  transition: background-color 0.3s;\n}\n\n.post-card:hover {\n  background-color: #282828;\n}\n\n.post-card__image {\n  margin-bottom: 24px;\n}\n\n.post-card__image img {\n  width: 100%;\n  height: 194px;\n  object-fit: cover;\n  border-radius: 24px;\n  display: block;\n}\n\n.post-card__content {\n  display: flex;\n  flex-direction: column;\n  flex: 1;\n}\n\n.post-card__title {\n  font-size: 18px;\n  font-weight: 600;\n  line-height: 1.31;\n  margin: 0 0 28px;\n  color: #FDFDFD;\n}\n\n.post-card__excerpt {\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 1.375;\n  color: #AEAEAE;\n  margin: 0 0 28px;\n  flex: 1;\n}\n\n.post-card__meta {\n  display: flex;\n  gap: 8px;\n  margin-top: auto;\n}\n\n.post-card__meta div {\n  font-size: 12px;\n  color: #DFDFDF;\n  background: #232323;\n  border-radius: 9999px;\n  padding: 6px 16px;\n}\n\n\/* Arrows \u2014 vertically centered on both sides *\/\n.slider-posts__arrow {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n  width: 30px;\n  height: 30px;\n  background: #676767;\n  border: none;\n  border-radius: 9999px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  transition: background 0.2s;\n  z-index: 2;\n}\n\n.slider-posts__arrow:hover {\n  background: #AEAEAE;\n}\n\n.slider-posts__arrow--prev {\n  left: -48px;\n}\n\n.slider-posts__arrow--next {\n  right: -48px;\n}\n\n\/* CTA *\/\n.slider-posts__cta {\n  display: flex;\n  justify-content: center;\n  margin-top: 80px;\n}\n\n.slider-posts__btn {\n  display: inline-flex;\n  align-items: center;\n  gap: 10px;\n  font-size: 16px;\n  color: #232323;\n  background: #FDFDFD;\n  border: 1px solid #232323;\n  border-radius: 9999px;\n  padding: 20px 24px 18px;\n  text-decoration: none;\n  transition: background 0.2s;\n}\n\n.slider-posts__btn:hover {\n  background: #3FA2EB;\n  color: #FDFDFD;\n  border-color: #3FA2EB;\n}\n\n.slider-posts__btn-arrow {\n  font-size: 14px;\n}\n\n\/* --- Query Form Popup --- *\/\n.query-form-popup {\n  position: fixed;\n  inset: 0;\n  z-index: 10000;\n  display: none;\n}\n\n.query-form-popup.is-active {\n  display: block;\n}\n\n.query-form-popup__bg {\n  position: absolute;\n  inset: 0;\n  background: rgba(0, 0, 0, 0.5);\n  animation: fadeIn 0.3s ease;\n}\n\n@keyframes fadeIn {\n  from { opacity: 0; }\n  to { opacity: 1; }\n}\n\n@keyframes slideInRight {\n  from { transform: translateX(100%); }\n  to { transform: translateX(0); }\n}\n\n.query-form-popup__panel {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  width: 68%;\n  max-width: 1307px;\n  background: var(--color-gray);\n  border-radius: 24px 0 0 24px;\n  padding: 32px 48px;\n  overflow-y: auto;\n  z-index: 1;\n  animation: slideInRight 0.6s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.query-form-popup__close {\n  width: 50px;\n  height: 50px;\n  border-radius: 16px;\n  background: var(--color-white);\n  border: none;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  transition: background 0.2s;\n  margin-bottom: 24px;\n}\n\n.query-form-popup__close:hover {\n  background: var(--color-black);\n}\n\n.query-form-popup__close:hover svg path {\n  stroke: var(--color-white);\n}\n\n.query-form-popup__circle {\n  position: absolute;\n  width: 40px;\n  height: 40px;\n  border-radius: 50%;\n  z-index: 0;\n}\n\n.query-form-popup__circle--orange {\n  top: 80px;\n  right: 44%;\n  background: #FFA533;\n}\n\n.query-form-popup__circle--teal {\n  bottom: 30%;\n  right: 40%;\n  background: #00C2B6;\n}\n\n.query-form-popup__content {\n  display: flex;\n  gap: 53px;\n  position: relative;\n  z-index: 1;\n}\n\n.query-form-popup__left {\n  flex: 0 0 465px;\n  display: flex;\n  flex-direction: column;\n}\n\n.query-form-popup__right {\n  flex: 1;\n  max-width: 596px;\n}\n\n.query-form-popup__heading {\n  font-size: 48px;\n  font-weight: 600;\n  line-height: 1.1;\n  color: var(--color-black);\n  margin-bottom: 24px;\n}\n\n.query-form-popup__desc {\n  font-size: 12px;\n  line-height: 1.4;\n  color: var(--color-dark-gray);\n}\n\n.query-form-popup__desc a {\n  color: var(--color-black);\n  text-decoration: underline;\n}\n\n.query-form-popup__legal {\n  font-size: 11px;\n  line-height: 1.5;\n  color: var(--color-dark-gray);\n  margin-top: 24px;\n}\n\n\/* Form fields *\/\n.query-form__row {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 16px;\n}\n\n.query-form__field {\n  margin-bottom: 16px;\n}\n\n.query-form__field label {\n  display: block;\n  font-size: 12px;\n  font-weight: 400;\n  color: var(--color-black);\n  margin-bottom: 16px;\n}\n\n.query-form__field input,\n.query-form__field textarea {\n  width: 100%;\n  height: 40px;\n  border: 1px solid #DFDFDF;\n  border-radius: 12px;\n  padding: 0 16px;\n  font-size: 16px;\n  font-family: var(--font-family);\n  background: var(--color-white);\n  color: var(--color-black);\n  outline: none;\n  transition: border-color 0.2s;\n  box-sizing: border-box;\n}\n\n.query-form__field input:focus,\n.query-form__field textarea:focus {\n  border-color: #1676C3;\n}\n\n.query-form__field textarea {\n  height: 160px;\n  resize: vertical;\n  padding: 12px 16px;\n}\n\n.query-form__consent-intro {\n  font-size: 12px;\n  line-height: 1.5;\n  color: var(--color-dark-gray);\n  margin-bottom: 12px;\n}\n\n.query-form__checkbox {\n  display: flex;\n  align-items: flex-start;\n  gap: 8px;\n  font-size: 14px;\n  color: var(--color-dark-gray);\n  margin-bottom: 8px;\n  cursor: pointer;\n}\n\n.query-form__checkbox input[type=\"checkbox\"] {\n  width: 18px;\n  height: 18px;\n  margin-top: 2px;\n  flex-shrink: 0;\n  accent-color: #1676C3;\n}\n\n.query-form__submit {\n  display: flex;\n  justify-content: flex-end;\n  margin-top: 24px;\n}\n\n\/* --- Query Form Inline (component preview) --- *\/\n.query-form-inline {\n  background: var(--color-gray);\n  border-radius: 24px;\n  padding: 32px 48px;\n  position: relative;\n  overflow: hidden;\n}\n\n.query-form-inline__circle {\n  position: absolute;\n  width: 40px;\n  height: 40px;\n  border-radius: 50%;\n  z-index: 0;\n}\n\n.query-form-inline__circle--orange {\n  top: 72px;\n  right: 44%;\n  background: #FFA533;\n}\n\n.query-form-inline__circle--teal {\n  bottom: 30%;\n  right: 40%;\n  background: #00C2B6;\n}\n\n.query-form-inline__content {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 53px;\n  position: relative;\n  z-index: 1;\n}\n\n.query-form-inline__left {\n  flex: 0 0 min(465px, 100%);\n  display: flex;\n  flex-direction: column;\n}\n\n.query-form-inline__right {\n  flex: 1;\n  max-width: 596px;\n}\n\n.query-form-inline__heading {\n  font-size: 48px;\n  font-weight: 600;\n  line-height: 1.1;\n  color: var(--color-black);\n  margin-bottom: 24px;\n}\n\n.query-form-inline__desc {\n  font-size: 12px;\n  line-height: 1.4;\n  color: var(--color-dark-gray);\n}\n\n.query-form-inline__desc a {\n  color: var(--color-black);\n  text-decoration: underline;\n}\n\n.query-form-inline__legal {\n  font-size: 11px;\n  line-height: 1.5;\n  color: var(--color-dark-gray);\n  margin-top: 24px;\n}\n\n.query-form-inline__legal a {\n  color: var(--color-black);\n  text-decoration: underline;\n}\n\n\/* ============================================\n   RESPONSIVE \u2014 Breakpoint overrides\n   ============================================ *\/\n\n\/* --- Small laptop (\u22641280px) --- *\/\n@media (max-width: 1280px) {\n  .section-feature-tags__inner {\n    gap: 32px;\n  }\n  .section-feature-tags__image {\n    width: 400px;\n    height: auto;\n  }\n  .section-video-slider__header {\n    width: 400px;\n  }\n  .card-case {\n    width: min(90vw, 54.6875rem);\n  }\n  .hero-video__heading {\n    font-size: 48px;\n  }\n}\n\n\/* --- Tablet (\u2264768px) --- *\/\n@media (max-width: 768px) {\n  \/* Feature Tags: stack vertically *\/\n  .section-feature-tags__inner {\n    flex-direction: column;\n    gap: 24px;\n  }\n  .section-feature-tags__image {\n    width: 100%;\n    height: auto;\n  }\n\n  \/* Video Slider: stack header + track *\/\n  .section-video-slider__inner {\n    flex-direction: column;\n    gap: 24px;\n  }\n  .section-video-slider__header {\n    width: 100%;\n    padding-left: var(--page-padding);\n    padding-right: var(--page-padding);\n  }\n  .section-video-slider__track {\n    padding-left: var(--page-padding);\n  }\n  .card-video {\n    width: 280px;\n    height: 498px;\n  }\n\n  \/* Testimonials Quote: smaller cards *\/\n  .section-testimonials-v2 {\n    padding: 64px 0;\n  }\n  .section-testimonials-v2__card {\n    flex: 0 0 min(90vw, 500px);\n    min-height: 300px;\n    padding: 24px 20px 20px;\n  }\n  .section-testimonials-v2__quote {\n    font-size: 18px;\n  }\n\n  \/* Case Studies: smaller cards *\/\n  .card-case {\n    width: min(90vw, 40rem);\n    padding: 2rem;\n    grid-template-columns: 1fr;\n    gap: 1.5rem;\n  }\n  .card-case__title {\n    font-size: 2rem;\n  }\n  .card-case__logo {\n    display: none;\n  }\n\n  \/* Insights Slider: card width responsive *\/\n  .card-on-time {\n    flex: 0 0 min(90vw, 22rem);\n  }\n\n  \/* Query Form: stack layout *\/\n  .query-form-inline__content {\n    flex-direction: column;\n    gap: 32px;\n  }\n  .query-form-inline__left {\n    flex: none;\n    width: 100%;\n  }\n  .query-form-inline__right {\n    width: 100%;\n  }\n  .query-form-inline {\n    padding: 24px;\n  }\n\n  \/* Hero Video *\/\n  .hero-video__heading {\n    font-size: 40px;\n  }\n  .hero-video__video {\n    min-height: 500px;\n  }\n  .hero-video__content {\n    padding: 80px 24px;\n  }\n\n  \/* Hero ERP *\/\n  .hero {\n    padding: 64px 24px;\n  }\n  .hero__slider {\n    display: none;\n  }\n  .hero__heading {\n    font-size: 40px;\n  }\n\n  \/* Content Split DRS: stack *\/\n  .section-content-split {\n    flex-direction: column;\n    gap: 32px;\n    padding: 64px var(--page-padding);\n  }\n  .section-content-split__text {\n    max-width: 100%;\n  }\n  .section-content-split__cards {\n    width: 100%;\n  }\n\n  \/* Award Banner: stack *\/\n  .award-banner__inner {\n    flex-direction: column;\n    gap: 24px;\n  }\n  .award-banner__card {\n    flex: none;\n    width: 100%;\n  }\n\n  \/* CS Card: stack *\/\n  .cs-card {\n    grid-template-columns: 1fr;\n    gap: 24px;\n  }\n\n  \/* CS Filter: wrap *\/\n  .cs-filter__bar {\n    flex-wrap: wrap;\n    gap: 12px;\n  }\n  .cs-filter__dropdown {\n    flex: 1 1 calc(50% - 8px);\n  }\n  .cs-filter__dropdown-toggle {\n    min-width: 0;\n    width: 100%;\n  }\n\n  \/* Cooperation Slider *\/\n  .section-cooperation__slide {\n    grid-template-columns: 1fr;\n    gap: 24px;\n  }\n\n  \/* Why Choose *\/\n  .section-why-choose__grid {\n    grid-template-columns: 1fr;\n    gap: 32px;\n  }\n  .section-why-choose__heading {\n    font-size: 32px;\n  }\n\n  \/* Why Cards DRS *\/\n  .section-why-cards__grid {\n    grid-template-columns: repeat(2, 1fr);\n  }\n\n  \/* Partner Cards DRS *\/\n  .section-partner-cards__grid {\n    grid-template-columns: repeat(2, 1fr);\n  }\n\n  \/* Persona Tabs *\/\n  .tabs-big {\n    flex-wrap: wrap;\n    gap: 8px;\n  }\n  .tab-big {\n    font-size: 14px;\n    padding: 10px 16px;\n  }\n  .section-personas__slide {\n    grid-template-columns: 1fr;\n    gap: 24px;\n  }\n\n  \/* ERP Solutions Grid *\/\n  .erp-products {\n    grid-template-columns: repeat(2, 1fr);\n  }\n\n  \/* Feature Cards Grid *\/\n  .feature-grid {\n    grid-template-columns: repeat(2, 1fr);\n  }\n\n  \/* Industries *\/\n  .industries__grid {\n    grid-template-columns: repeat(2, 1fr);\n  }\n\n  \/* Product Cards *\/\n  .section-product-cards__grid {\n    grid-template-columns: repeat(2, 1fr);\n  }\n\n  \/* Homepage Products *\/\n  .section-products__grid {\n    grid-template-columns: 1fr;\n  }\n\n  \/* Footer *\/\n  .footer__columns {\n    grid-template-columns: repeat(2, 1fr);\n  }\n\n  \/* Stat cards *\/\n  .stat-cards {\n    flex-wrap: wrap;\n  }\n  .stat-card {\n    flex: 1 1 calc(50% - 12px);\n  }\n  .stat-cards--glass .stat-card--glass {\n    flex: 1 1 calc(50% - 12px);\n  }\n\n  \/* Logo Bar *\/\n  .logo-bar__grid {\n    grid-template-columns: repeat(3, 1fr);\n  }\n}\n\n\/* --- Mobile (\u2264480px) --- *\/\n@media (max-width: 480px) {\n  \/* Feature Tags *\/\n  .section-feature-tags {\n    padding: 48px 16px;\n  }\n  .section-feature-tags__heading {\n    font-size: 24px;\n  }\n\n  \/* Video Slider *\/\n  .section-video-slider {\n    padding: 48px 0;\n  }\n  .section-video-slider__heading {\n    font-size: 24px;\n  }\n  .card-video {\n    width: 240px;\n    height: 426px;\n  }\n\n  \/* Testimonials Quote *\/\n  .section-testimonials-v2__card {\n    flex: 0 0 calc(100vw - 48px);\n    min-height: auto;\n  }\n  .section-testimonials-v2__quote {\n    font-size: 16px;\n  }\n  .section-testimonials-v2__heading {\n    font-size: 24px;\n  }\n\n  \/* Case Studies *\/\n  .card-case {\n    width: calc(100vw - 48px);\n    padding: 1.5rem;\n  }\n  .card-case__title {\n    font-size: 1.5rem;\n  }\n\n  \/* Insights Slider *\/\n  .card-on-time {\n    flex: 0 0 calc(100vw - 48px);\n  }\n\n  \/* Query Form *\/\n  .query-form-inline {\n    padding: 16px;\n  }\n  .query-form__row {\n    flex-direction: column;\n    gap: 16px;\n  }\n\n  \/* Hero Video *\/\n  .hero-video__heading {\n    font-size: 32px;\n  }\n  .hero-video__content {\n    padding: 48px 16px;\n  }\n  .hero-video__video {\n    min-height: 400px;\n  }\n\n  \/* Hero ERP *\/\n  .hero__heading {\n    font-size: 32px;\n  }\n\n  \/* Hero Subpage *\/\n  .hero-subpage__heading {\n    font-size: 38px;\n    line-height: 44px;\n  }\n  .hero-subpage__content {\n    padding: 176px 20px 56px;\n  }\n  .hero-subpage__cta {\n    width: 100%;\n  }\n  .hero-subpage__cta a,\n  .hero-subpage__cta .btn {\n    width: 100%;\n    justify-content: center;\n  }\n  .hero-badge {\n    font-size: 12px;\n  }\n\n  \/* Content Split *\/\n  .section-content-split {\n    padding: 48px 16px;\n  }\n  .section-content-split__heading {\n    font-size: 24px;\n  }\n\n  \/* Award Banner *\/\n  .award-banner__card {\n    padding: 32px 20px;\n    border-radius: var(--radius-lg);\n  }\n  .award-banner__heading {\n    font-size: 24px;\n    margin-bottom: 24px;\n  }\n\n  \/* CS Cards *\/\n  .cs-card {\n    padding: 16px;\n    gap: 16px;\n  }\n  .cs-card__title {\n    font-size: 20px;\n  }\n\n  \/* CS Filter *\/\n  .cs-filter__bar {\n    padding: 12px 16px;\n  }\n  .cs-filter__dropdown {\n    flex: 1 1 100%;\n  }\n\n  \/* Why Choose *\/\n  .section-why-choose__heading {\n    font-size: 24px;\n  }\n  .section-why-choose__card {\n    padding: 24px 16px;\n  }\n\n  \/* Why Cards DRS *\/\n  .section-why-cards__grid {\n    grid-template-columns: 1fr;\n  }\n\n  \/* Partner Cards DRS *\/\n  .section-partner-cards__grid {\n    grid-template-columns: 1fr;\n  }\n\n  \/* ERP Solutions \/ Feature Cards Grid *\/\n  .erp-products,\n  .feature-grid {\n    grid-template-columns: 1fr;\n  }\n\n  \/* Industries *\/\n  .industries__grid {\n    grid-template-columns: 1fr;\n  }\n\n  \/* Product Cards *\/\n  .section-product-cards__grid {\n    grid-template-columns: 1fr;\n  }\n\n  \/* Footer *\/\n  .footer__columns {\n    grid-template-columns: 1fr;\n  }\n  .footer__top {\n    flex-direction: column;\n    gap: 16px;\n  }\n\n  \/* Stat Cards *\/\n  .stat-card {\n    flex: 1 1 100%;\n  }\n  .stat-cards--glass .stat-card--glass {\n    flex: 1 1 100%;\n  }\n  .stat-card__value {\n    font-size: 40px;\n  }\n\n  \/* Marquee *\/\n  .section-marquee__text {\n    font-size: 32px;\n  }\n\n  \/* Logo Bar *\/\n  .logo-bar__grid {\n    grid-template-columns: repeat(2, 1fr);\n  }\n\n  \/* Persona Tabs *\/\n  .tab-big {\n    font-size: 12px;\n    padding: 8px 12px;\n  }\n\n  \/* CTA Section *\/\n  .section-cta__heading {\n    font-size: 24px;\n  }\n\n  \/* Cooperation Slider *\/\n  .section-cooperation__heading {\n    font-size: 24px;\n  }\n\n  \/* Two-Column *\/\n  .section-description {\n    flex-direction: column;\n    gap: 24px;\n  }\n\n  \/* Navigation *\/\n  .site-header__nav {\n    display: none;\n  }\n\n  \/* Header DRS \u2014 mobile: only logo + hamburger *\/\n  .header-drs__hamburger {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    order: 3;\n  }\n  .header-drs__actions {\n    display: none;\n  }\n  .header-drs__inner {\n    overflow: visible;\n  }\n\n  \/* Mobile nav overlay \u2014 wz\u00f3r assecobs.pl *\/\n  .header-drs__nav {\n    display: none;\n    position: fixed;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100vh;\n    height: 100dvh;\n    background: var(--color-white);\n    z-index: 1100;\n    flex-direction: column;\n    align-items: stretch;\n    padding: 80px 24px 32px;\n    gap: 0;\n    overflow-y: auto;\n    white-space: normal;\n  }\n  .header-drs__nav.is-mobile-open {\n    display: flex;\n  }\n  .header-drs__nav-close {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    position: absolute;\n    top: 20px;\n    right: 20px;\n  }\n  .header-drs__nav a {\n    display: block;\n    color: var(--color-black);\n    font-size: 18px;\n    font-weight: 500;\n    padding: 20px 0;\n    border-bottom: 1px solid var(--color-light-gray);\n    border-radius: 0;\n    opacity: 1;\n    text-decoration: none;\n    text-align: left;\n  }\n  .header-drs__nav a:hover {\n    background: none;\n    color: var(--color-black);\n    opacity: 0.7;\n  }\n\n  \/* CTA button inside mobile nav *\/\n  .header-drs__nav-cta {\n    display: flex;\n    margin-top: auto;\n    padding-top: 24px;\n  }\n  .header-drs__nav-cta .btn {\n    display: flex !important;\n    width: 100%;\n    align-items: center !important;\n    justify-content: center !important;\n    gap: var(--space-sm) !important;\n    text-align: center !important;\n    background: var(--color-black);\n    color: var(--color-white);\n    border-color: var(--color-black);\n  }\n\n  \/* Mobile nav header \u2014 logo + close (wz\u00f3r assecobs.pl) *\/\n  .header-drs__nav-header {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 16px 24px;\n    margin: -80px -24px 16px;\n    border-bottom: 1px solid var(--color-light-gray);\n    flex-shrink: 0;\n  }\n  .header-drs__nav-logo {\n    height: 36px;\n    width: auto;\n  }\n\n  \/* Mobile nav \u2014 list wrapper (zawiera linki) *\/\n  .header-drs__nav-list {\n    display: flex;\n    flex-direction: column;\n    padding: 0 24px;\n    flex-grow: 1;\n  }\n\n  \/* Mobile lang switcher \u2014 globus + dropdown popup \"Select Country\/Region\" *\/\n  .header-drs__nav-lang {\n    display: flex;\n    flex-direction: column;\n    padding: 0 24px 24px;\n    flex-shrink: 0;\n    position: relative;\n  }\n  .header-drs__nav-lang-toggle {\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    background: transparent;\n    border: 0;\n    padding: 8px 0;\n    cursor: pointer;\n    width: fit-content;\n  }\n  .header-drs__nav-lang-toggle svg:last-child {\n    transition: transform 0.2s ease;\n  }\n  .header-drs__nav-lang.is-open .header-drs__nav-lang-toggle svg:last-child {\n    transform: rotate(180deg);\n  }\n  .header-drs__nav-lang-menu {\n    display: none;\n    flex-direction: column;\n    gap: 4px;\n    margin-top: 12px;\n    padding: 16px;\n    background: var(--color-white);\n    border: 1px solid var(--color-light-gray);\n    border-radius: var(--radius-md);\n    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);\n    width: 100%;\n    max-width: 280px;\n  }\n  .header-drs__nav-lang.is-open .header-drs__nav-lang-menu {\n    display: flex;\n  }\n  .header-drs__nav-lang-menu-header {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 12px;\n    font-size: 16px;\n    font-weight: 600;\n    color: var(--color-black);\n    margin-bottom: 8px;\n  }\n  .header-drs__nav-lang-menu-close {\n    background: transparent;\n    border: 0;\n    padding: 4px;\n    cursor: pointer;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n  }\n  .header-drs__nav-lang-menu .header-drs__lang-btn {\n    padding: 8px 0;\n    font-size: 16px;\n    font-weight: 400;\n    color: var(--color-black);\n    text-decoration: none;\n    transition: color 0.2s ease;\n  }\n  .header-drs__nav-lang-menu .header-drs__lang-btn:hover {\n    color: var(--color-erp-blue);\n  }\n  .header-drs__nav-lang-menu .header-drs__lang-btn.is-active {\n    background: transparent;\n    color: var(--color-medium-gray);\n    pointer-events: none;\n  }\n\n  \/* Mobile nav: ukryj border-bottom na linkach wewn\u0105trz __nav-list oraz resetuj padding *\/\n  .header-drs__nav .header-drs__nav-list a {\n    padding: 20px 0;\n  }\n\n  \/* Process Timeline *\/\n  .timeline__item {\n    grid-template-columns: 1fr;\n    gap: 16px;\n  }\n\n  \/* Comparison Cards *\/\n  .section-comparison__grid {\n    grid-template-columns: 1fr;\n  }\n\n  \/* Cert Cards *\/\n  .section-cert-cards__grid {\n    grid-template-columns: 1fr;\n  }\n\n  \/* Global page padding *\/\n  :root {\n    --page-padding: 16px;\n  }\n\n  \/* Header DRS: hide lang, shrink CTA *\/\n  .header-drs__lang {\n    display: none;\n  }\n  .header-drs__actions .btn {\n    font-size: 13px;\n    padding: 6px 12px;\n  }\n  .header-drs__inner {\n    overflow: visible;\n  }\n\n  \/* CTA Banner Card: stack vertically *\/\n  .cta-banner-card {\n    flex-direction: column;\n    align-items: flex-start;\n    padding: var(--space-xl);\n  }\n  .cta-banner-card__actions {\n    flex-direction: column;\n    width: 100%;\n    flex-shrink: 1;\n  }\n  .cta-banner-card__actions .btn {\n    width: 100%;\n    justify-content: center;\n  }\n  .cta-banner-card__content h2 {\n    font-size: 24px;\n  }\n\n  \/* Process Timeline: contain within viewport *\/\n  .process-timeline__item:nth-child(odd),\n  .process-timeline__item:nth-child(even) {\n    padding-left: 36px;\n    padding-right: 0;\n  }\n  .process-timeline__content p {\n    max-width: 100%;\n  }\n  .process-timeline__dot {\n    left: 8px;\n  }\n  .process-timeline::before {\n    left: 8px !important;\n  }\n\n  \/* Personas benefits panel: prevent overflow + ikona po lewej, tytu\u0142 po prawej (jak na Asseco HR live) *\/\n  .section-personas__benefits-header {\n    padding: var(--space-md);\n    flex-wrap: nowrap;\n    flex-direction: row;\n    justify-content: flex-start;\n    text-align: left;\n    gap: var(--space-md);\n  }\n  .section-personas__benefits-icon {\n    width: 44px;\n    height: 44px;\n    order: -1;\n  }\n  .section-personas__benefits-title {\n    font-size: 18px;\n  }\n  .section-personas__benefits-panel {\n    max-width: 100%;\n    overflow: hidden;\n  }\n  .checklist__item {\n    flex-wrap: wrap;\n  }\n  .checklist__text {\n    max-width: 100%;\n    word-break: break-word;\n  }\n\n  \/* Persona Tabs \u2014 ukryj tabs-big, poka\u017c mobile nav (prev \/ title \/ next) *\/\n  .section-personas .tabs-big {\n    display: none;\n  }\n  .section-personas__mobile-nav {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 12px;\n    margin-top: var(--space-lg);\n    padding: 4px var(--page-padding);\n  }\n  .section-personas__arrow {\n    width: 44px;\n    height: 44px;\n    border-radius: 50%;\n    background: var(--color-white);\n    border: 0;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    cursor: pointer;\n    flex-shrink: 0;\n    transition: background 0.3s ease;\n  }\n  .section-personas__arrow:hover {\n    background: var(--color-black);\n  }\n  .section-personas__arrow:hover svg path {\n    stroke: #fff;\n  }\n  .section-personas__arrow svg path {\n    transition: stroke 0.3s ease;\n  }\n  .section-personas__mobile-title {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    padding: 14px 24px;\n    min-width: 150px;\n    border-radius: var(--radius-full);\n    background: var(--color-black);\n    color: var(--color-white);\n    font-size: 14px;\n    font-weight: 400;\n    text-align: center;\n  }\n\n  \/* Testimonials: contain overflow *\/\n  .section-testimonials-v2 {\n    overflow: hidden;\n  }\n}\n\n\/* ===========================================================================\n   Form validation popups (DRS) \u2014 used with .form-input \/ .form-checkbox-wrap\n   =========================================================================== *\/\n.form-input,\n.form-checkbox-wrap {\n  position: relative;\n}\n.form-input__error {\n  display: none;\n  position: absolute;\n  top: calc(100% + 8px);\n  right: 0;\n  width: fit-content;\n  background: #FFC7C1;\n  color: #232323;\n  padding: 9px 10px 7px;\n  border-radius: 8px;\n  font-size: 10px;\n  font-weight: 400;\n  line-height: 1.4;\n  letter-spacing: normal;\n  z-index: 10;\n  pointer-events: none;\n}\n.form-input__error::before {\n  content: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='18' height='12' fill='none'%3E%3Cpath d='M7.48 1.358a2 2 0 0 1 2.79 0l6.444 6.271c1.286 1.252.4 3.434-1.395 3.434H2.431c-1.795 0-2.681-2.182-1.395-3.434L7.48 1.358Z' fill='%23FFC7C1'\/%3E%3C\/svg%3E\");\n  position: absolute;\n  top: -8px;\n  left: 16px;\n  width: 18px;\n  height: 12px;\n}\n.form-input.is-invalid > .form-input__error,\n.form-checkbox-wrap.is-invalid > .form-input__error {\n  display: block;\n}\n.form-input.is-invalid .form-input__field {\n  border-color: #FF7669;\n  border-width: 1.2px;\n}\n.form-checkbox-wrap.is-invalid .form-checkbox__box {\n  border-color: #FF7669;\n}\n\n\/* Checkbox checked state \u2014 white check on dark fill *\/\n.form-checkbox__box:checked {\n  background: var(--color-black) url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 6 5 8.5 9.5 4' stroke='%23FDFDFD' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'\/%3E%3C\/svg%3E\") center\/10px 10px no-repeat;\n  border-color: var(--color-black);\n}\n\n\/* Legal text link (used in intro + legal paragraph of contact form) *\/\n.section-contact-form__legal-link {\n  color: inherit;\n  text-decoration: underline;\n  text-underline-offset: 2px;\n  transition: color 0.2s ease;\n}\n.section-contact-form__legal-link:hover,\n.section-contact-form__legal-link:focus-visible {\n  color: var(--color-black);\n}\n.form-status{max-width:756px;margin:32px auto;padding:10px 10px 10px 40px;font-size:14px;line-height:1.44;color:#232323;background:transparent;border:2px solid transparent;border-radius:12px;position:relative;background-repeat:no-repeat;background-position:10px center;background-size:21px 21px}\n.form-status[hidden]{display:none}\n.form-status.is-success{border-color:rgb(70,180,80);background-image:url(\"data:image\/svg+xml,%3Csvg width='21' height='21' viewBox='0 0 21 21' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Ccircle cx='10.5' cy='10.5' r='9' stroke='%2346B450' stroke-width='2'\/%3E%3Cpath d='M6 10.7l3.2 3.2 6-6' stroke='%2346B450' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'\/%3E%3C\/svg%3E\")}\n.form-status.is-error{border-color:rgb(220,50,50);background-image:url(\"data:image\/svg+xml,%3Csvg width='21' height='21' viewBox='0 0 21 21' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Ccircle cx='10.5' cy='10.5' r='9' stroke='%23DC3232' stroke-width='2'\/%3E%3Cpath d='M10.5 6v5M10.5 14.5v.5' stroke='%23DC3232' stroke-width='2' stroke-linecap='round'\/%3E%3C\/svg%3E\")}\n.form-status.is-sending{border-color:rgb(0,160,210);padding-left:16px;background-image:none}\n.quiz__form .form-status{color:#FDFDFD!important}\n.quiz__form .form-status.is-error{border-color:#FF7669}\n.quiz__form .form-status.is-sending{border-color:#3FA2EB}\n\n    \/* ============================================================\n       BRAND GRADIENT OVERRIDE (page-local)\n       Nowa paleta: #F16B5E -> #D529E0 -> #3F5BEB\n       Nadpisuje --gradient-brand z styles.css TYLKO dla tej strony.\n       SVG #scope-gradient (poni\u017cej w <body>) jest zaktualizowany r\u0119cznie.\n       ============================================================ *\/\n    :root {\n      --gradient-brand: linear-gradient(107deg, #F16B5E 0%, #D529E0 50%, #3F5BEB 100%);\n      --brand-purple: #D529E0;\n      --brand-purple-dark: #9a14a6;\n    }\n\n    .arrow-icon { width: 16px; height: 16px; flex-shrink: 0; }\n    .container { max-width: var(--max-width); margin: 0 auto; padding: 0 var(--page-padding); }\n\n    \/* Hero \u2014 prosta wersja: pe\u0142na wysoko\u015b\u0107 ekranu, content u g\u00f3ry *\/\n    .hero-subpage { min-height: 100vh !important; min-height: 100dvh !important; padding-top: var(--space-xl) !important; padding-bottom: 30px !important; align-items: flex-start !important; }\n    .hero-subpage__content { margin-bottom: 0 !important; }\n\n    \/* ============================================================\n       Sekcje page-specific (TL;DR, Direct Answer, HA\/DR, Benefits,\n       Banner, Offer Scope, Product Lines, Answer-First, Award stub)\n       Skopiowane 1:1 z komponent\u00f3w DS (61, 62, 64, 67, 68, 63, 69, 70).\n       ============================================================ *\/\n\n    \/* TL;DR (61) *\/\n    .section-tldr { background: var(--color-gray); padding: var(--space-4xl) 0; }\n    .section-tldr__header { max-width: 800px; margin: 0 auto var(--space-2xl); text-align: center; padding: 0 var(--page-padding); }\n    .section-tldr__header h2 { font-size: clamp(28px, 3.5vw, 38px); font-weight: 600; line-height: 1.2; margin: 0; }\n    \/* TL;DR \u2014 dwa osobne kafelki: lewy z bulletami, prawy ze zdj\u0119ciem (tej samej wysoko\u015bci) *\/\n    .tldr-grid { max-width: var(--max-width); margin: 0 auto; display: grid; grid-template-columns: 1.35fr 1fr; gap: var(--space-lg); align-items: stretch; }\n    .tldr-card { background: var(--color-white); border-radius: var(--radius-lg); padding: var(--space-2xl) var(--space-3xl); }\n    .tldr-card.tldr-card--image { padding: 0; overflow: hidden; display: flex; }\n    .tldr-card--image img { width: 100%; height: 100%; object-fit: cover; display: block; }\n    .tldr-card .checklist { display: grid; grid-template-columns: 1fr; gap: var(--space-md); }\n    .tldr-card .checklist__item { align-items: flex-start; }\n    .tldr-card .checklist__text { font-size: 15px; line-height: 1.5; color: var(--color-black); }\n    .tldr-card .checklist__text strong { font-weight: 600; color: var(--color-black); }\n    .meta-updated { max-width: var(--max-width); margin: var(--space-lg) auto 0; padding: 0 var(--page-padding); font-size: 13px; color: var(--color-dark-gray); display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); flex-wrap: wrap; }\n    .meta-updated__author { display: inline-flex; align-items: center; gap: 8px; }\n    .meta-updated__author svg { flex-shrink: 0; }\n    .meta-updated time { font-weight: 500; color: var(--color-black); }\n    @media (max-width: 900px) { .tldr-grid { grid-template-columns: 1fr; gap: var(--space-md); } .tldr-card { padding: var(--space-xl); } .tldr-card .checklist { gap: var(--space-sm); } .tldr-card--image { order: -1; max-height: 320px; } }\n\n    \/* Direct Answer (62) *\/\n    .section-direct-answer { background: var(--color-white); padding: var(--space-4xl) 0; }\n    .direct-answer-card { max-width: var(--max-width); margin: 0 auto; background: var(--color-gray); border-radius: var(--radius-lg); padding: var(--space-3xl); display: grid; grid-template-columns: 1fr 1.2fr; gap: var(--space-2xl); align-items: start; }\n    .direct-answer-card__label { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--color-dark-gray); margin-bottom: var(--space-md); }\n    .direct-answer-card__question { font-size: clamp(24px, 3vw, 32px); font-weight: 600; line-height: 1.2; color: var(--color-black); margin: 0 0 var(--space-lg); text-wrap: balance; }\n    .direct-answer-card__body { font-size: 17px; line-height: 1.6; color: var(--color-dark-gray); margin: 0 0 var(--space-lg); }\n    .direct-answer-card__list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-sm) var(--space-lg); }\n    .direct-answer-card__list li { display: flex; align-items: flex-start; gap: var(--space-sm); font-size: 15px; line-height: 1.45; color: var(--color-black); }\n    .direct-answer-card__list svg { flex-shrink: 0; margin-top: 3px; }\n    @media (max-width: 900px) { .direct-answer-card { grid-template-columns: 1fr; padding: var(--space-2xl); } .direct-answer-card__list { grid-template-columns: 1fr; } }\n\n    \/* HA\/DR Split (67) *\/\n    .section-ha-dr { background: var(--color-gray); padding: var(--space-4xl) 0; }\n    .section-ha-dr__header { max-width: 800px; margin: 0 auto var(--space-3xl); text-align: center; padding: 0 var(--page-padding); }\n    .section-ha-dr__header h2 { font-size: clamp(32px, 4vw, 42px); font-weight: 600; line-height: 1.15; margin: 0 0 var(--space-md); }\n    .section-ha-dr__header p { font-size: 16px; line-height: 1.6; color: var(--color-dark-gray); margin: 0; }\n    .ha-dr-grid { max-width: var(--max-width); margin: 0 auto; padding: 0 var(--page-padding); display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto auto 1fr auto; gap: var(--space-lg); }\n    .ha-dr-tile { background: var(--color-white); border-radius: var(--radius-lg); padding: var(--space-2xl); display: grid; grid-template-rows: subgrid; grid-row: span 5; row-gap: 0; }\n    .ha-dr-tile--negative { background: #FFF5F4; }\n    .ha-dr-tile__icon { width: 56px; height: 56px; border-radius: var(--radius-sm); background: rgba(0,0,0,.04); display: flex; align-items: center; justify-content: center; margin-bottom: var(--space-lg); }\n    .ha-dr-tile--negative .ha-dr-tile__icon { background: rgba(215,14,68,.08); }\n    .ha-dr-tile__icon svg { width: 28px; height: 28px; stroke: url(#scope-gradient); fill: none; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }\n    .ha-dr-tile--negative .ha-dr-tile__icon svg { stroke: #d70e44; }\n    .ha-dr-tile__title { font-size: 24px; font-weight: 600; line-height: 1.25; margin: 0 0 var(--space-md); }\n    .ha-dr-tile__body { font-size: 16px; line-height: 1.6; color: var(--color-dark-gray); margin: 0 0 var(--space-lg); }\n    .ha-dr-tile__list { list-style: none; padding: 0; margin: 0 0 var(--space-lg); display: flex; flex-direction: column; gap: 10px; }\n    .ha-dr-tile__list li { font-size: 14px; line-height: 1.5; color: var(--color-black); padding-left: 22px; position: relative; }\n    .ha-dr-tile__list li::before { content: '\u2713'; position: absolute; left: 0; top: 0; color: #00C2B6; font-weight: 700; }\n    .ha-dr-tile--negative .ha-dr-tile__list li::before { content: '\u2715'; color: #d70e44; }\n    .ha-dr-tile__chips { display: flex; flex-wrap: wrap; gap: 6px; align-self: start; }\n    .ha-dr-tile__chip { display: inline-block; padding: 6px 12px; font-size: 13px; font-weight: 500; color: var(--color-black); background: var(--color-gray); border: 1px solid var(--color-light-gray); border-radius: var(--radius-full); }\n    @media (max-width: 768px) { .ha-dr-grid { grid-template-columns: 1fr; grid-template-rows: none; } .ha-dr-tile { display: flex; flex-direction: column; grid-row: auto; } .ha-dr-tile__chips { margin-top: auto; align-self: stretch; } }\n\n    \/* Benefits Grid (64) *\/\n    .section-benefits { background: var(--color-white); padding: var(--space-4xl) 0; }\n    .section-benefits__header { max-width: 800px; margin: 0 auto var(--space-3xl); text-align: center; padding: 0 var(--page-padding); }\n    .section-benefits__header h2 { font-size: clamp(32px, 4vw, 42px); font-weight: 600; line-height: 1.15; margin: 0 0 var(--space-md); }\n    .section-benefits__header p { font-size: 16px; line-height: 1.6; color: var(--color-dark-gray); margin: 0; }\n    .benefits-grid { max-width: var(--max-width); margin: 0 auto; padding: 0 var(--page-padding); display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-lg); }\n    .benefits-grid--2 { grid-template-columns: repeat(2, 1fr); max-width: 900px; }\n    .benefits-grid--2x2 { grid-template-columns: repeat(2, 1fr); max-width: 1000px; }\n    .benefit-card { background: var(--color-gray); border-radius: var(--radius-lg); padding: var(--space-2xl); }\n    .benefit-card__icon { width: 56px; height: 56px; border-radius: var(--radius-sm); background: #ffffff; display: flex; align-items: center; justify-content: center; margin-bottom: var(--space-lg); }\n    .benefit-card__icon svg { width: 28px; height: 28px; stroke: url(#scope-gradient); fill: none; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }\n    .benefit-card__title { font-size: 20px; font-weight: 600; line-height: 1.3; margin: 0 0 var(--space-sm); color: var(--color-black); }\n    .benefit-card__desc { font-size: 15px; line-height: 1.55; color: var(--color-dark-gray); margin: 0; }\n    @media (max-width: 1100px) { .benefits-grid { grid-template-columns: repeat(2, 1fr); } }\n    @media (max-width: 600px) { .benefits-grid, .benefits-grid--2, .benefits-grid--2x2 { grid-template-columns: 1fr; } }\n\n    \/* Banner DRS (68) \u2014 bia\u0142e t\u0142o zgodne z s\u0105siadami + zmniejszony padding *\/\n    .section-banner-drs { background: var(--color-white); padding: var(--space-xl) 0; }\n    .banner-drs { max-width: var(--max-width); margin: 0 auto; position: relative; overflow: hidden; background:\n        radial-gradient(circle at 88% -12%, rgba(241,107,94,.55), transparent 38%),\n        radial-gradient(circle at 50% 110%, rgba(213,41,224,.45), transparent 42%),\n        radial-gradient(circle at 8% 50%, rgba(63,91,235,.50), transparent 36%),\n        linear-gradient(135deg, #090909 0%, #1a1a1a 50%, #090909 100%);\n      border-radius: var(--radius-lg); padding: var(--space-3xl); display: grid; grid-template-columns: 1.2fr .8fr; gap: var(--space-2xl); align-items: center; }\n    \/* Dodatkowe akcentowe k\u00f3\u0142ka \u2014 wzmacniaj\u0105 charakter brand gradientu *\/\n    .banner-drs::before { content: ''; position: absolute; top: -25%; right: -8%; width: 380px; height: 380px; border-radius: 50%; background: radial-gradient(circle, rgba(241,107,94,.45), transparent 65%); pointer-events: none; filter: blur(20px); }\n    .banner-drs::after { content: ''; position: absolute; bottom: -30%; left: 35%; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, rgba(213,41,224,.40), transparent 65%); pointer-events: none; filter: blur(18px); }\n    .banner-drs__content { position: relative; z-index: 1; }\n    .banner-drs__label { display: inline-block; padding: 6px 14px; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--color-white); border: 1px solid rgba(255,255,255,.2); border-radius: var(--radius-full); margin-bottom: var(--space-lg); }\n    .banner-drs__title { font-size: clamp(28px, 3.5vw, 40px); font-weight: 600; line-height: 1.2; color: var(--color-white); margin: 0 0 var(--space-md); }\n    .banner-drs__desc { font-size: 16px; line-height: 1.6; color: var(--color-medium-gray); margin: 0 0 var(--space-xl); max-width: 580px; }\n    .banner-drs__stat { position: relative; z-index: 1; text-align: center; }\n    .banner-drs__stat-value { font-size: clamp(56px, 8vw, 96px); font-weight: 600; line-height: 1; margin: 0; background: var(--gradient-brand); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }\n    .banner-drs__stat-label { font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--color-medium-gray); margin-top: var(--space-sm); }\n    @media (max-width: 900px) { .banner-drs { grid-template-columns: 1fr; padding: var(--space-2xl); } .banner-drs__stat { order: -1; } }\n\n    \/* Offer Scope (63) *\/\n    .section-offer-scope { background: var(--color-dark-black); padding: var(--space-4xl) 0; color: var(--color-white); }\n    .section-offer-scope__header { max-width: 800px; margin: 0 auto var(--space-3xl); text-align: center; padding: 0 var(--page-padding); }\n    .section-offer-scope__header h2 { font-size: clamp(32px, 4vw, 48px); font-weight: 600; line-height: 1.15; margin: 0 0 var(--space-md); color: var(--color-white); }\n    .section-offer-scope__header p { font-size: 17px; line-height: 1.6; color: var(--color-medium-gray); margin: 0; }\n    .offer-scope-grid { max-width: var(--max-width); margin: 0 auto; padding: 0 var(--page-padding); display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-md); }\n    .offer-scope-card { background: rgba(255,255,255,.04); border-radius: var(--radius-lg); padding: var(--space-xl); transition: transform .3s ease, background .3s ease; }\n    .offer-scope-card:hover { transform: translateY(-4px); background: rgba(255,255,255,.07); }\n    .offer-scope-card__badge { display: inline-block; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--color-medium-gray); margin-bottom: var(--space-md); }\n    .offer-scope-card__icon { width: 48px; height: 48px; border-radius: var(--radius-sm); background: rgba(255,255,255,.06); display: flex; align-items: center; justify-content: center; margin-bottom: var(--space-lg); }\n    .offer-scope-card__icon svg { width: 24px; height: 24px; stroke: url(#scope-gradient); fill: none; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }\n    .offer-scope-card__title { font-size: 18px; font-weight: 600; line-height: 1.3; color: var(--color-white); margin: 0 0 var(--space-sm); }\n    .offer-scope-card__desc { font-size: 14px; line-height: 1.55; color: var(--color-medium-gray); margin: 0; }\n    @media (max-width: 1024px) { .offer-scope-grid { grid-template-columns: 1fr; } }\n\n    \/* Product Lines (69) \u2014 used for \"Why Asseco\" *\/\n    .section-product-lines { background: var(--color-gray); padding: var(--space-4xl) 0; }\n    .section-product-lines__header { max-width: 760px; margin: 0 auto var(--space-3xl); text-align: center; padding: 0 var(--page-padding); }\n    .section-product-lines__header h2 { font-size: clamp(32px, 4vw, 42px); font-weight: 600; line-height: 1.15; margin: 0 0 var(--space-md); color: var(--color-black); }\n    .section-product-lines__header p { font-size: 16px; line-height: 1.6; color: var(--color-dark-gray); margin: 0; }\n    .product-lines-grid { max-width: var(--max-width); margin: 0 auto; padding: 0 var(--page-padding); display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-lg); }\n    .product-line-card { background: var(--color-white); border-radius: var(--radius-lg); padding: var(--space-xl); }\n    .product-line-card__badge { display: inline-block; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--color-dark-gray); margin-bottom: var(--space-md); }\n    .product-line-card__title { font-size: 22px; font-weight: 600; line-height: 1.25; color: var(--color-black); margin: 0 0 var(--space-md); }\n    .product-line-card__intro { font-size: 14px; line-height: 1.55; color: var(--color-dark-gray); margin: 0 0 var(--space-md); }\n    .product-line-card__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }\n    .product-line-card__list li { font-size: 14px; line-height: 1.45; color: var(--color-black); padding-left: 16px; position: relative; }\n    .product-line-card__list li::before { content: ''; position: absolute; left: 0; top: 8px; width: 6px; height: 6px; border-radius: 50%; background: var(--gradient-brand); }\n    @media (max-width: 900px) { .product-lines-grid { grid-template-columns: 1fr; } }\n\n    \/* Answer-First Callout (70) *\/\n    .answer-first { max-width: 900px; margin: 0 auto var(--space-2xl); padding: var(--space-xl); background: var(--color-white); border-radius: var(--radius-lg); display: grid; grid-template-columns: auto 1fr; gap: var(--space-lg); align-items: start; }\n    .answer-first__icon { width: 48px; height: 48px; border-radius: var(--radius-sm); background: rgba(0,0,0,.04); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }\n    .answer-first__icon svg { width: 24px; height: 24px; stroke: url(#scope-gradient); fill: none; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }\n    .answer-first__body p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--color-black); }\n    .answer-first strong { font-weight: 600; }\n    .answer-first--on-dark { background: rgba(255,255,255,.04); }\n    .answer-first--on-dark .answer-first__icon { background: rgba(255,255,255,.06); }\n    .answer-first--on-dark .answer-first__body p { color: var(--color-light-gray); }\n    .answer-first--on-dark strong { color: var(--color-white); }\n    @media (max-width: 560px) { .answer-first { grid-template-columns: 1fr; padding: var(--space-lg); } }\n\n    \/* Industry Recognition (custom grid: Gartner \/ POI \/ ISO) *\/\n    .section-recognition { background: var(--color-white); padding: var(--space-4xl) 0; }\n    .section-recognition__header { max-width: 800px; margin: 0 auto var(--space-3xl); text-align: center; padding: 0 var(--page-padding); }\n    .section-recognition__header h2 { font-size: clamp(32px, 4vw, 42px); font-weight: 600; line-height: 1.15; margin: 0 0 var(--space-md); }\n    .section-recognition__header p { font-size: 16px; line-height: 1.6; color: var(--color-dark-gray); margin: 0; }\n    .recognition-grid { max-width: var(--max-width); margin: 0 auto; padding: 0 var(--page-padding); display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-lg); }\n    .recognition-card { background: var(--color-gray); border-radius: var(--radius-lg); padding: var(--space-2xl); display: flex; flex-direction: column; gap: var(--space-md); }\n    .recognition-card__logo { height: 60px; display: flex; align-items: center; }\n    .recognition-card__logo img { max-height: 60px; max-width: 180px; object-fit: contain; }\n    .recognition-card__title { font-size: 22px; font-weight: 600; line-height: 1.2; color: var(--color-black); margin: 0; }\n    .recognition-card__meta { font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--color-dark-gray); }\n    .recognition-card__desc { font-size: 15px; line-height: 1.55; color: var(--color-dark-gray); margin: 0; }\n    @media (max-width: 900px) { .recognition-grid { grid-template-columns: 1fr; } }\n\n    \/* Logo bar trust strip (22) \u2014 override grid for FMCG brand row\n       - mix-blend-mode: multiply + grayscale = jednolity szary BEZ\n         zamieniania bia\u0142ego t\u0142a PNG (Henkel) w czarny prostok\u0105t\n       - container height + img max-height = wyr\u00f3wnana waga wizualna *\/\n    .logo-bar--trust { padding: var(--space-3xl) 0; }\n    .logo-bar--trust .logo-bar__grid {\n      \/* styles.css ukrywa .logo-bar__grid na <= ~900px (pokazuje slider).\n         Wymuszamy grid tak\u017ce na mobile + chowamy slider variant. *\/\n      display: grid !important;\n      grid-template-columns: repeat(5, 1fr);\n      align-items: center;\n      gap: var(--space-xl);\n    }\n    .logo-bar--trust .logo-bar__slider,\n    .logo-bar--trust .logo-bar__dots { display: none !important; }\n    @media (max-width: 700px) {\n      .logo-bar--trust .logo-bar__grid { grid-template-columns: repeat(3, 1fr); }\n    }\n    .logo-bar--trust .logo-bar__item {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      height: 60px;\n      padding: 0 var(--space-sm);\n      \/* Wy\u0142\u0105cz stagger fade-in \u2014 tworzy stacking context (opacity\/transform)\n         kt\u00f3ry \u0142amie mix-blend-mode: multiply na <img> w \u015brodku.\n         Bez tego nadpisu logo znikaj\u0105 zanim IntersectionObserver odpali. *\/\n      opacity: 1 !important;\n      transform: none !important;\n    }\n    .logo-bar--trust .logo-bar__item img {\n      max-height: 44px;\n      max-width: 100%;\n      width: auto;\n      height: auto;\n      object-fit: contain;\n      \/* grayscale + opacity = jednolicie szare logotypy.\n         UWAGA: mix-blend-mode: multiply (kt\u00f3re wyeliminowa\u0142oby bia\u0142e t\u0142o\n         PNG Henkel) NIE dzia\u0142a, bo ancestor .logo-bar \/ .logo-bar__grid\n         maj\u0105 data-anim \/ data-stagger kt\u00f3re tworz\u0105 stacking context.\n         Trade-off: Henkel PNG ma bia\u0142e t\u0142o \u2014 b\u0119dzie ja\u015bniejszym prostok\u0105tem\n         na szarym tle sekcji. Do trwa\u0142ego rozwi\u0105zania potrzebny SVG\/transparent PNG. *\/\n      filter: grayscale(1);\n      opacity: 0.55;\n      transition: opacity .2s ease;\n    }\n    .logo-bar--trust .logo-bar__item img:hover { opacity: 0.9; }\n    \/* Henkel ma square-ish aspect ratio (mniejszy wizualnie ni\u017c wide wordmarki).\n       Powi\u0119kszamy o 50% via transform \u2014 nie zaburza grid layoutu. *\/\n    .logo-bar--trust .logo-bar__item img[alt=\"Henkel\"] { transform: scale(1.5); transform-origin: center; }\n    @media (max-width: 900px) {\n      .logo-bar--trust .logo-bar__grid { grid-template-columns: repeat(5, 1fr); gap: var(--space-md); }\n    }\n\n    \/* ============================================================\n       INFOGRAPHIC: RECEIPT 3-STAGE DETECTION (fiscal paragon mockup)\n       Odpowiednik 3-stopniowej wizualizacji paragonu z orygina\u0142u\n       (Receipt arrives \u2192 SKUs detected \u2192 Promotion match identified)\n       ============================================================ *\/\n    .section-receipt-flow { background: var(--color-white); padding: var(--space-4xl) 0; }\n    .section-receipt-flow__header { max-width: 800px; margin: 0 auto var(--space-3xl); text-align: center; padding: 0 var(--page-padding); }\n    .section-receipt-flow__header h2 { font-size: clamp(28px, 3.5vw, 38px); font-weight: 600; line-height: 1.2; margin: 0 0 var(--space-md); }\n    .section-receipt-flow__header p { font-size: 16px; line-height: 1.6; color: var(--color-dark-gray); margin: 0; }\n    .receipt-stages { max-width: 1050px; margin: 0 auto; padding: 0 var(--page-padding); display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--space-xl); align-items: stretch; }\n    .receipt-stage { display: flex; flex-direction: column; gap: var(--space-md); }\n    .receipt-stage__step { display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--color-black); }\n    .receipt-stage__step-num { width: 24px; height: 24px; border-radius: 50%; background: var(--gradient-brand); color: var(--color-white); display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; flex-shrink: 0; }\n    .receipt { background: #F1F0ED; border-radius: 4px; padding: var(--space-md) var(--space-lg); font-family: 'Courier New', Courier, monospace; font-size: 12.5px; line-height: 1.5; color: var(--color-black); flex: 1; position: relative; box-shadow: 0 8px 24px -12px rgba(0,0,0,.15); }\n    \/* Postrz\u0119pione kraw\u0119dzie g\u00f3ra\/d\u00f3\u0142 jak na prawdziwym paragonie *\/\n    .receipt::before, .receipt::after { content: ''; position: absolute; left: 0; right: 0; height: 8px; background-image: linear-gradient(135deg, transparent 40%, #F1F0ED 40%, #F1F0ED 60%, transparent 60%), linear-gradient(45deg, transparent 40%, #F1F0ED 40%, #F1F0ED 60%, transparent 60%); background-size: 12px 8px; background-repeat: repeat-x; background-position: 0 0; }\n    .receipt::before { top: -6px; }\n    .receipt::after { bottom: -6px; transform: scaleY(-1); }\n    .receipt__header { text-align: center; font-weight: 700; font-size: 12px; letter-spacing: .04em; }\n    .receipt__meta { text-align: center; font-size: 10.5px; color: var(--color-dark-gray); margin: 4px 0 0; letter-spacing: .04em; }\n    .receipt__divider { border-top: 1px dashed var(--color-medium-gray); margin: 8px 0; }\n    .receipt__items { list-style: none; padding: 0; margin: 0; }\n    .receipt__item { display: flex; justify-content: space-between; gap: 8px; padding: 2px 0; }\n    .receipt__item--highlight { background: linear-gradient(90deg, rgba(241,107,94,.18), rgba(213,41,224,.14)); margin: 1px -6px; padding: 2px 6px; border-radius: 3px; font-weight: 700; }\n    \/* Stage 3: silniejsze wyr\u00f3\u017cnienie konkretnego SKU, kt\u00f3ry dopasowa\u0142 si\u0119 do promocji *\/\n    .receipt__item--match { position: relative; background: var(--gradient-brand); color: var(--color-white); margin: 1px -6px; padding: 2px 6px 2px 22px; border-radius: 3px; font-weight: 700; box-shadow: 0 4px 12px -4px rgba(213,41,224,.45); }\n    .receipt__item--match::before { content: '\u25b6'; position: absolute; left: 6px; top: 50%; transform: translateY(-50%); font-size: 9px; color: var(--color-white); }\n    .receipt__total { display: flex; justify-content: space-between; font-weight: 700; padding-top: 2px; }\n    .receipt__flag-badge { margin-top: var(--space-md); padding: 8px 10px; background: var(--gradient-brand); color: var(--color-white); border-radius: 4px; font-family: 'PP Mori', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-align: center; }\n    @media (max-width: 900px) {\n      .receipt-stages { grid-template-columns: 1fr; gap: var(--space-2xl); }\n    }\n\n    \/* ============================================================\n       INFOGRAPHIC: DATA ACQUISITION FLOW (LIGHT theme, clean)\n       - bez r\u00f3\u017cowych lewych ramek \/ glow shadows\n       - badges neutralne (bia\u0142e na szarym rowie)\n       - output row jako kontrast: bia\u0142e t\u0142o + badge w gradient brand\n       - linia procesu na \u015brodku k\u00f3\u0142ek + brand gradient zamiast pink\n       ============================================================ *\/\n    \/* Compressed vertical rhythm \u2014 less whitespace between rows and inside cards *\/\n    \/* Balanced internal spacing \u2014 middle ground mi\u0119dzy \"rozsztrzelone\" a \"za ciasne\" *\/\n    .infographic-flow { max-width: 1050px; margin: var(--space-lg) auto 0; background: var(--color-white); border-radius: var(--radius-lg); padding: 24px; display: flex; flex-direction: column; gap: 8px; box-shadow: 0 24px 60px -30px rgba(0,0,0,.18); }\n    .infographic-flow__row { position: relative; background: var(--color-gray); border-radius: var(--radius-md); padding: 14px 20px; }\n    .infographic-flow__row--row { display: grid; grid-template-columns: minmax(280px, 1fr) auto; gap: var(--space-md); align-items: center; }\n    .infographic-flow__row--output { background: rgba(213, 41, 224, 0.04); position: relative; overflow: hidden; padding: 14px 20px 16px; }\n    .infographic-flow__row--output::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--gradient-brand); }\n    .infographic-flow__row--output .infographic-flow__badge { background: var(--gradient-brand); color: var(--color-white); border: 0; }\n    .infographic-flow__row--output .infographic-flow__title { color: var(--color-black); }\n    .infographic-flow__badge { display: inline-flex; align-items: center; justify-content: center; padding: 4px 9px; font-size: 7px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; line-height: 1; background: var(--color-black); color: var(--color-white); border: 0; border-radius: var(--radius-full); margin-bottom: 5px; white-space: nowrap; }\n    .infographic-flow__title { font-size: 17px; font-weight: 600; color: var(--color-black); margin: 0; line-height: 1.2; }\n    .infographic-flow__row > .infographic-flow__title:not(:last-child) { margin-bottom: 12px; }\n    .infographic-flow__chips { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }\n    .infographic-flow__chip { display: inline-block; padding: 6px 14px; font-size: 13px; font-weight: 500; color: var(--color-black); background: var(--color-white); border: 1px solid var(--color-light-gray); border-radius: var(--radius-sm); }\n    .infographic-flow__chip--sm { padding: 4px 11px; font-size: 11px; font-weight: 600; letter-spacing: .04em; border-radius: var(--radius-full); }\n    .infographic-flow__arrow { display: flex; justify-content: center; padding: 0; margin: -2px 0; }\n    .infographic-flow__arrow svg { width: 18px; height: 18px; color: var(--color-medium-gray); }\n    .infographic-flow__steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-md); align-items: start; position: relative; padding: 4px var(--space-md) 2px; }\n    \/* Linia procesu na \u015brodku k\u00f3\u0142ek: top = paddingTop (4px) + circle radius (15px) = 19px *\/\n    .infographic-flow__steps::before { content: ''; position: absolute; top: 19px; left: 12.5%; right: 12.5%; height: 2px; background: var(--gradient-brand); opacity: .35; z-index: 0; border-radius: 999px; }\n    .infographic-flow__step { text-align: center; position: relative; z-index: 1; }\n    .infographic-flow__step-num { width: 30px; height: 30px; border-radius: 50%; background: var(--gradient-brand); box-shadow: 0 0 0 4px var(--color-gray); display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; color: var(--color-white); margin-bottom: 6px; }\n    .infographic-flow__step-title { font-size: 14px; font-weight: 600; color: var(--color-black); margin: 0; line-height: 1.2; }\n    .infographic-flow__step-meta { font-size: 11px; color: var(--color-dark-gray); margin-top: 1px; }\n    .infographic-flow__output-desc { margin: 0; font-size: 13px; color: var(--color-dark-gray); line-height: 1.45; }\n    @media (max-width: 820px) {\n      .infographic-flow__row--row { grid-template-columns: 1fr; }\n      .infographic-flow__chips { justify-content: flex-start; }\n      .infographic-flow__steps { grid-template-columns: 1fr 1fr; gap: var(--space-md); }\n      .infographic-flow__steps::before { display: none; }\n    }\n\n    \/* ============================================================\n       INFOGRAPHIC: SETTLEMENT REPORT DASHBOARD (light card)\n       KPI strip + bar chart (mechanic breakdown) + sample promo table.\n       ============================================================ *\/\n    .section-dashboard { background: var(--color-white); padding: var(--space-4xl) 0; }\n    .section-dashboard__header { max-width: 800px; margin: 0 auto var(--space-2xl); text-align: center; padding: 0 var(--page-padding); }\n    .section-dashboard__header h2 { font-size: clamp(28px, 3.5vw, 38px); font-weight: 600; line-height: 1.2; margin: 0 0 var(--space-md); }\n    .section-dashboard__header p { font-size: 16px; line-height: 1.6; color: var(--color-dark-gray); margin: 0; }\n    .infographic-dashboard { max-width: 1050px; margin: 0 auto; background: var(--color-white); border-radius: var(--radius-lg); padding: var(--space-2xl); box-shadow: 0 24px 60px -30px rgba(0,0,0,.25); }\n    .infographic-dashboard__header { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: var(--space-xl); padding-bottom: var(--space-md); border-bottom: 1px solid var(--color-light-gray); flex-wrap: wrap; gap: var(--space-sm); }\n    .infographic-dashboard__title { font-size: 16px; font-weight: 600; color: var(--color-black); margin: 0; display: flex; align-items: center; gap: 8px; }\n    .infographic-dashboard__title::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--gradient-brand); }\n    .infographic-dashboard__period { font-size: 12px; font-weight: 600; color: var(--color-dark-gray); letter-spacing: .08em; text-transform: uppercase; }\n    .dashboard-kpis { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-sm); margin-bottom: var(--space-2xl); }\n    .dashboard-kpi { padding: var(--space-md); background: var(--color-gray); border-radius: var(--radius-md); text-align: center; }\n    .dashboard-kpi__value { font-size: clamp(20px, 2.5vw, 28px); font-weight: 600; background: var(--gradient-brand); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; line-height: 1; }\n    .dashboard-kpi__label { font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--color-dark-gray); margin-top: 8px; line-height: 1.3; }\n    .dashboard-mid { display: grid; grid-template-columns: 1fr 1.3fr; gap: var(--space-2xl); margin-bottom: var(--space-lg); }\n    .dashboard-block__title { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--color-dark-gray); margin: 0 0 var(--space-md); }\n    .dashboard-bar { display: grid; grid-template-columns: 90px 1fr 38px; gap: var(--space-sm); align-items: center; margin-bottom: 10px; font-size: 13px; }\n    .dashboard-bar__label { color: var(--color-black); font-weight: 500; }\n    .dashboard-bar__track { height: 8px; background: var(--color-gray); border-radius: var(--radius-full); overflow: hidden; }\n    .dashboard-bar__fill { height: 100%; background: var(--gradient-brand); border-radius: var(--radius-full); }\n    .dashboard-table { width: 100%; border-collapse: collapse; font-size: 13px; }\n    .dashboard-table th, .dashboard-table td { padding: 9px 12px; text-align: left; border-bottom: 1px solid var(--color-light-gray); }\n    .dashboard-table th { font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--color-dark-gray); font-weight: 600; }\n    .dashboard-table td { color: var(--color-black); }\n    .dashboard-table td.num { text-align: right; font-weight: 600; }\n    .dashboard-table tr.dashboard-table__more td { text-align: center; color: var(--color-dark-gray); font-style: italic; font-weight: 500; border-bottom: 0; }\n    .dashboard-chip { display: inline-block; padding: 2px 8px; font-size: 10px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; background: var(--color-gray); border-radius: var(--radius-full); color: var(--color-dark-gray); }\n    .dashboard-foot { display: flex; justify-content: space-between; align-items: center; padding-top: var(--space-md); border-top: 1px solid var(--color-light-gray); font-size: 13px; flex-wrap: wrap; gap: var(--space-sm); }\n    .dashboard-foot__label { font-size: 12px; font-weight: 600; letter-spacing: .04em; color: var(--color-dark-gray); }\n    .dashboard-foot__formats { display: flex; gap: 8px; }\n    .dashboard-foot__formats span { padding: 4px 10px; border: 1px solid var(--color-light-gray); border-radius: var(--radius-full); font-size: 11px; font-weight: 600; color: var(--color-black); }\n    @media (max-width: 900px) {\n      .dashboard-kpis { grid-template-columns: repeat(2, 1fr); }\n      .dashboard-mid { grid-template-columns: 1fr; }\n      .dashboard-bar { grid-template-columns: 80px 1fr 36px; font-size: 12px; }\n    }\n\n    \/* ============================================================\n       INFOGRAPHIC: SHARE OF CATEGORY (compact dark table)\n       Lives inside the Bonus Layer (Offer Scope) section.\n       ============================================================ *\/\n    .share-of-category { max-width: 900px; margin: var(--space-3xl) auto 0; background: rgba(255,255,255,.03); border-radius: var(--radius-lg); padding: var(--space-2xl); }\n    .share-of-category__header { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: var(--space-md); padding-bottom: var(--space-sm); border-bottom: 1px solid rgba(255,255,255,.08); flex-wrap: wrap; gap: var(--space-sm); }\n    .share-of-category__title { font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #f0a8f6; margin: 0; }\n    .share-of-category__period { font-size: 12px; font-weight: 600; color: var(--color-medium-gray); letter-spacing: .08em; text-transform: uppercase; }\n    .share-table { width: 100%; border-collapse: collapse; font-size: 14px; }\n    .share-table th, .share-table td { padding: 12px 10px; text-align: left; border-bottom: 1px solid rgba(255,255,255,.06); color: var(--color-white); }\n    .share-table th { font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--color-medium-gray); font-weight: 600; }\n    .share-table td.num { text-align: right; font-variant-numeric: tabular-nums; }\n    .share-table td.share { text-align: right; font-weight: 600; background: var(--gradient-brand); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }\n    .share-table tr:last-child td { border-bottom: 0; }\n    @media (max-width: 600px) { .share-table th, .share-table td { padding: 10px 6px; font-size: 12px; } }\n\n    \/* Section-process flush-top \u2014 bez border-radius u g\u00f3ry \u017ceby zlewa\u0142o si\u0119 z poprzedni\u0105 ciemn\u0105 sekcj\u0105 *\/\n    .section-process.section-process--flush-top { border-top-left-radius: 0 !important; border-top-right-radius: 0 !important; }\n\n    \/* Implementation timeline \u2014 gradient brand line z fade + kropki jak w How It Works *\/\n    .section-process .process-timeline::before {\n      background: linear-gradient(180deg, #F16B5E 0%, #D529E0 50%, #3F5BEB 100%) !important;\n      border-radius: 2px;\n      -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 14%, #000 86%, transparent 100%);\n              mask-image: linear-gradient(180deg, transparent 0%, #000 14%, #000 86%, transparent 100%);\n    }\n    .section-process .process-timeline__dot {\n      width: 24px !important;\n      height: 24px !important;\n      top: 2px !important;\n      box-shadow: 0 0 0 6px var(--color-dark-black), 0 0 0 8px rgba(255,255,255,.06) !important;\n    }\n    .section-process .process-timeline__item:hover .process-timeline__dot {\n      box-shadow: 0 0 0 6px var(--color-dark-black), 0 0 0 10px rgba(255,255,255,.12) !important;\n    }\n\n    \/* Process timeline \u2014 mobile\/responsywne: wszystko wyr\u00f3wnane do lewej, kropki na lewej osi *\/\n    @media (max-width: 900px) {\n      .process-timeline { padding-left: 0 !important; padding-right: 0 !important; }\n      .process-timeline::before { left: 8px !important; right: auto !important; transform: none !important; }\n      .process-timeline__item { display: block !important; width: 100% !important; padding: 0 0 var(--space-xl) 36px !important; margin: 0 !important; text-align: left !important; }\n      .process-timeline__item:nth-child(even),\n      .process-timeline__item:nth-child(odd) { padding-left: 36px !important; padding-right: 0 !important; text-align: left !important; }\n      .process-timeline__dot { left: 0 !important; right: auto !important; top: 8px !important; transform: translateX(0) !important; }\n      .process-timeline__content { text-align: left !important; padding: 0 !important; max-width: 100% !important; }\n      .process-timeline__content h3 { text-align: left !important; }\n      .process-timeline__content p { text-align: left !important; max-width: 100% !important; }\n      .process-timeline__label { text-align: left !important; }\n    }\n\n    \/* Settlement formula \u2014 grid layout: formula card po lewej, image po prawej *\/\n    .formula-grid { max-width: var(--max-width); margin: var(--space-2xl) auto 0; padding: 0 var(--page-padding); display: grid; grid-template-columns: 1.35fr 1fr; gap: var(--space-lg); align-items: stretch; }\n    .formula-box { background: var(--color-white); border: 1px solid var(--color-light-gray); border-radius: var(--radius-lg); padding: var(--space-2xl); font-family: 'PP Mori', monospace; margin: 0; }\n    .formula-box__title { font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--color-dark-gray); margin: 0 0 var(--space-lg); font-family: 'PP Mori', sans-serif; letter-spacing: .12em; }\n    .formula-box__list { display: flex; flex-direction: column; gap: var(--space-md); }\n    .formula-box__row { display: flex; gap: var(--space-md); align-items: baseline; padding: var(--space-sm) 0; border-bottom: 1px dashed var(--color-light-gray); }\n    .formula-box__row:last-child { border-bottom: 0; }\n    .formula-box__lhs { font-weight: 600; color: var(--color-black); min-width: 180px; }\n    .formula-box__rhs { color: var(--color-dark-gray); }\n    .formula-box.formula-box--image { padding: 0; overflow: hidden; display: flex; align-items: stretch; justify-content: center; background: var(--color-gray); }\n    .formula-box--image img { width: 100%; height: 100%; object-fit: cover; display: block; }\n    @media (max-width: 900px) {\n      .formula-grid { grid-template-columns: 1fr; gap: var(--space-md); }\n      .formula-box--image { order: -1; max-height: 320px; }\n    }\n    @media (max-width: 700px) { .formula-box__row { flex-direction: column; gap: 4px; } .formula-box__lhs { min-width: 0; } }\n\n    \/* ============================================================\n       HOW IT WORKS \u2014 vertical timeline (text|line+dot|visual)\n       ============================================================ *\/\n    .section-how-it-works { background: var(--color-dark-black); }\n    .hiw-header { background: var(--color-dark-black); padding: var(--space-4xl) 0 var(--space-2xl); }\n    .hiw-header__inner { max-width: 880px; margin: 0 auto; text-align: center; padding: 0 var(--page-padding); }\n    .hiw-header__inner h2 { font-size: clamp(32px, 4vw, 44px); font-weight: 600; line-height: 1.15; color: var(--color-white); margin: 0 0 var(--space-md); }\n    .hiw-header__inner p { font-size: 16px; line-height: 1.6; color: var(--color-light-gray); margin: 0; }\n\n    \/* Timeline wrapper \u2014 light gray bg, vertical center line *\/\n    .hiw-timeline {\n      background: var(--color-gray);\n      padding: var(--space-4xl) var(--page-padding);\n      position: relative;\n    }\n    .hiw-timeline::before {\n      content: '';\n      position: absolute;\n      left: 50%;\n      top: var(--space-xl);\n      bottom: var(--space-xl);\n      width: 2px;\n      margin-left: -1px;\n      background: linear-gradient(180deg, #F16B5E 0%, #D529E0 50%, #3F5BEB 100%);\n      z-index: 0;\n      border-radius: 2px;\n      \/* Fade in at the top and out at the bottom *\/\n      -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 14%, #000 86%, transparent 100%);\n              mask-image: linear-gradient(180deg, transparent 0%, #000 14%, #000 86%, transparent 100%);\n    }\n\n    \/* Row = text (left) | center (line\/dot) | visual (right) *\/\n    .hiw-row {\n      max-width: var(--max-width);\n      margin: 0 auto var(--space-4xl);\n      display: grid;\n      grid-template-columns: 1fr 80px 1fr;\n      gap: var(--space-lg);\n      align-items: start;\n      position: relative;\n    }\n    .hiw-row:last-child { margin-bottom: 0; }\n\n    .hiw-row__text { padding: var(--space-xl) var(--space-lg) var(--space-xl) 0; min-width: 0; }\n    .hiw-row__visual { padding: var(--space-xl) 0 var(--space-xl) var(--space-lg); min-width: 0; }\n\n    .hiw-row__center {\n      display: flex;\n      justify-content: center;\n      align-items: flex-start;\n      padding-top: var(--space-2xl);\n      position: relative;\n      z-index: 1;\n    }\n    .hiw-row__dot {\n      width: 24px;\n      height: 24px;\n      border-radius: 50%;\n      background: var(--gradient-brand);\n      box-shadow: 0 0 0 6px var(--color-gray), 0 0 0 8px rgba(0,0,0,.06);\n      display: block;\n      position: relative;\n      z-index: 2;\n    }\n\n    \/* Text styling \u2014 left-aligned now (not centered) *\/\n    .hiw-step__eyebrow { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 8px; }\n    .hiw-step__title { font-size: clamp(24px, 2.8vw, 32px); font-weight: 600; line-height: 1.2; color: var(--color-black); margin: 0 0 var(--space-md); }\n    .hiw-step__desc { font-size: 15px; line-height: 1.6; color: var(--color-dark-gray); margin: 0 0 var(--space-lg); }\n    .hiw-step__bullets { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }\n    .hiw-step__bullets li { padding-left: 22px; position: relative; font-size: 14px; line-height: 1.5; color: var(--color-black); }\n    .hiw-step__bullets li::before { content: ''; position: absolute; left: 0; top: 7px; width: 8px; height: 8px; border-radius: 50%; background: var(--gradient-brand); }\n\n    \/* =====================================================\n       Compact infographics inside the narrow right column\n       (.hiw-row__visual ~ \u2264 540px on desktop)\n       ===================================================== *\/\n\n    \/* --- Trade Data Hub flow --- *\/\n    .hiw-row__visual .infographic-flow {\n      max-width: 100%;\n      margin: 0;\n      padding: 16px;\n      gap: 6px;\n      box-shadow: 0 12px 30px -18px rgba(0,0,0,.15);\n    }\n    .hiw-row__visual .infographic-flow__row { padding: 10px 14px; }\n    .hiw-row__visual .infographic-flow__row--row { grid-template-columns: minmax(0, 1fr); gap: 8px; }\n    .hiw-row__visual .infographic-flow__title { font-size: 14px; }\n    .hiw-row__visual .infographic-flow__row > .infographic-flow__title:not(:last-child) { margin-bottom: 8px; }\n    .hiw-row__visual .infographic-flow__badge { font-size: 6px; padding: 3px 7px; margin-bottom: 4px; }\n    .hiw-row__visual .infographic-flow__chips { justify-content: flex-start; gap: 4px; }\n    .hiw-row__visual .infographic-flow__chip { padding: 4px 10px; font-size: 11px; }\n    .hiw-row__visual .infographic-flow__chip--sm { padding: 3px 8px; font-size: 10px; }\n    .hiw-row__visual .infographic-flow__steps { grid-template-columns: repeat(4, 1fr); gap: 6px; padding: 4px 8px 2px; }\n    .hiw-row__visual .infographic-flow__steps::before { left: 12%; right: 12%; top: 15px; }\n    .hiw-row__visual .infographic-flow__step-num { width: 24px; height: 24px; font-size: 10px; margin-bottom: 4px; }\n    .hiw-row__visual .infographic-flow__step-title { font-size: 11px; }\n    .hiw-row__visual .infographic-flow__step-meta { font-size: 9px; }\n    .hiw-row__visual .infographic-flow__output-desc { font-size: 12px; }\n    .hiw-row__visual .infographic-flow__arrow svg { width: 14px; height: 14px; }\n\n    \/* --- Receipt carousel \u2014 one stage visible at a time (Step 02) --- *\/\n    .receipt-carousel {\n      max-width: 380px;          \/* square-ish card *\/\n      margin: 0 auto;\n      display: flex;\n      flex-direction: column;\n      align-items: center;\n      gap: var(--space-md);\n    }\n    .receipt-carousel__viewport {\n      position: relative;\n      width: 100%;\n      min-height: 380px;          \/* keeps near-square aspect *\/\n    }\n    .receipt-carousel .receipt-stage {\n      position: absolute;\n      inset: 0;\n      opacity: 0;\n      visibility: hidden;\n      transform: translateY(8px);\n      transition: opacity .55s ease, transform .55s ease, visibility 0s linear .55s;\n      display: flex;\n      flex-direction: column;\n      gap: var(--space-md);\n    }\n    .receipt-carousel .receipt-stage.is-active {\n      opacity: 1;\n      visibility: visible;\n      transform: translateY(0);\n      transition: opacity .55s ease, transform .55s ease, visibility 0s linear 0s;\n    }\n    \/* Override receipt color \u2192 white on this carousel *\/\n    .receipt-carousel .receipt {\n      background: var(--color-white);\n      padding: 14px 18px;\n      font-size: 12px;\n      line-height: 1.5;\n      box-shadow: 0 14px 32px -18px rgba(0,0,0,.18);\n    }\n    .receipt-carousel .receipt::before,\n    .receipt-carousel .receipt::after {\n      background-image:\n        linear-gradient(135deg, transparent 40%, var(--color-white) 40%, var(--color-white) 60%, transparent 60%),\n        linear-gradient(45deg,  transparent 40%, var(--color-white) 40%, var(--color-white) 60%, transparent 60%);\n    }\n    .receipt-carousel .receipt-stage__step { font-size: 11px; }\n    .receipt-carousel .receipt-stage__step-num { width: 22px; height: 22px; font-size: 11px; }\n    .receipt-carousel .receipt__header { font-size: 11px; }\n    .receipt-carousel .receipt__meta { font-size: 10px; }\n    .receipt-carousel .receipt__total { font-size: 13px; }\n    .receipt-carousel .receipt__flag-badge { font-size: 11px; padding: 5px 12px; }\n\n    \/* Dots *\/\n    .receipt-carousel__dots {\n      display: flex;\n      gap: 10px;\n      padding-top: var(--space-sm);\n    }\n    .receipt-carousel__dot {\n      width: 32px;\n      height: 6px;\n      border-radius: 999px;\n      border: 0;\n      background: rgba(0,0,0,.15);\n      padding: 0;\n      cursor: pointer;\n      transition: background .3s ease, width .3s ease;\n    }\n    .receipt-carousel__dot:hover { background: rgba(0,0,0,.3); }\n    .receipt-carousel__dot.is-active {\n      background: var(--gradient-brand);\n      width: 48px;\n    }\n\n    @media (max-width: 700px) {\n      .receipt-carousel { max-width: 340px; }\n      .receipt-carousel__viewport { min-height: 360px; }\n    }\n\n    \/* --- Settlement dashboard --- *\/\n    .hiw-row__visual .infographic-dashboard {\n      max-width: 100%;\n      margin: 0;\n      padding: var(--space-lg);\n      box-shadow: 0 12px 30px -18px rgba(0,0,0,.2);\n    }\n    .hiw-row__visual .infographic-dashboard__title { font-size: 13px; }\n    .hiw-row__visual .infographic-dashboard__period { font-size: 10px; }\n    .hiw-row__visual .dashboard-kpis { grid-template-columns: repeat(3, 1fr); gap: 6px; margin-bottom: var(--space-lg); }\n    .hiw-row__visual .dashboard-kpi { padding: 10px 8px; }\n    .hiw-row__visual .dashboard-kpi__value { font-size: 18px; }\n    .hiw-row__visual .dashboard-kpi__label { font-size: 9px; margin-top: 4px; }\n    .hiw-row__visual .dashboard-mid { grid-template-columns: 1fr; gap: var(--space-lg); margin-bottom: var(--space-md); }\n    .hiw-row__visual .dashboard-block__title { font-size: 10px; margin-bottom: 8px; }\n    .hiw-row__visual .dashboard-bar { grid-template-columns: 70px 1fr 32px; font-size: 11px; gap: 6px; margin-bottom: 6px; }\n    .hiw-row__visual .dashboard-bar__track { height: 6px; }\n    .hiw-row__visual .dashboard-table { font-size: 11px; }\n    .hiw-row__visual .dashboard-table th { font-size: 9px; }\n    .hiw-row__visual .dashboard-table th, .hiw-row__visual .dashboard-table td { padding: 6px 8px; }\n    .hiw-row__visual .dashboard-chip { font-size: 9px; padding: 2px 6px; }\n    .hiw-row__visual .dashboard-foot { font-size: 11px; }\n    .hiw-row__visual .dashboard-foot__label { font-size: 10px; }\n    .hiw-row__visual .dashboard-foot__formats span { font-size: 10px; padding: 3px 8px; }\n\n    \/* Responsive: stack on tablet\/mobile *\/\n    @media (max-width: 1024px) {\n      .hiw-timeline::before { display: none; }\n      .hiw-row { grid-template-columns: 1fr; gap: var(--space-md); margin-bottom: var(--space-3xl); }\n      .hiw-row__text, .hiw-row__visual { padding: 0; }\n      .hiw-row__center { display: none; }\n      .hiw-row__visual .dashboard-kpis { grid-template-columns: repeat(5, 1fr); }\n      .hiw-row__visual .dashboard-mid { grid-template-columns: 1fr 1fr; }\n      .hiw-row__visual .receipt-stages { grid-template-columns: repeat(3, 1fr); }\n      .hiw-row__visual .infographic-flow__steps { grid-template-columns: repeat(4, 1fr); }\n    }\n    @media (max-width: 700px) {\n      .hiw-row__visual .dashboard-kpis { grid-template-columns: repeat(2, 1fr); }\n      .hiw-row__visual .dashboard-mid { grid-template-columns: 1fr; }\n      .hiw-row__visual .receipt-stages { grid-template-columns: 1fr; }\n      .hiw-row__visual .infographic-flow__steps { grid-template-columns: repeat(2, 1fr); }\n    }\n\n    \/* \"From receipt to refund\" \u2014 4-step horizontal flow (Settlement Model) *\/\n    .receipt-to-refund-grid { max-width: var(--max-width); margin: 0 auto; padding: 0 var(--page-padding); display: grid; grid-template-columns: 1fr 24px 1fr 24px 1fr 24px 1fr; gap: var(--space-md); align-items: stretch; }\n    .r2r-step { background: var(--color-gray); border-radius: var(--radius-lg); padding: var(--space-lg) var(--space-xl); display: flex; flex-direction: column; gap: 8px; }\n    .r2r-step__num { font-size: 11px; font-weight: 700; letter-spacing: .14em; color: transparent; background: var(--gradient-brand); -webkit-background-clip: text; background-clip: text; }\n    .r2r-step__title { font-size: 16px; font-weight: 600; line-height: 1.3; margin: 0; color: var(--color-black); }\n    .r2r-step__desc { font-size: 13px; line-height: 1.5; color: var(--color-dark-gray); margin: 0; }\n    .r2r-arrow { display: flex; align-items: center; justify-content: center; }\n    .r2r-arrow svg { width: 24px; height: 24px; }\n    @media (max-width: 1100px) {\n      .receipt-to-refund-grid { grid-template-columns: 1fr 1fr; gap: var(--space-md); }\n      .r2r-arrow { display: none; }\n    }\n    @media (max-width: 600px) {\n      .receipt-to-refund-grid { grid-template-columns: 1fr; }\n    }\n\n    \/* Settlement report \u2014 output fields *\/\n    .output-fields { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-md); }\n    .output-field { background: var(--color-gray); border-radius: var(--radius-md); padding: var(--space-lg); }\n    .output-field__name { font-size: 14px; font-weight: 700; color: var(--color-black); margin-bottom: 4px; }\n    .output-field__desc { font-size: 12px; line-height: 1.5; color: var(--color-dark-gray); }\n    @media (max-width: 1100px) { .output-fields { grid-template-columns: repeat(3, 1fr); } }\n    @media (max-width: 700px) { .output-fields { grid-template-columns: repeat(2, 1fr); } }\n    @media (max-width: 480px) { .output-fields { grid-template-columns: 1fr; } }\n\n    \/* Get Started \u2014 final CTA section *\/\n    .section-get-started { background: var(--color-dark-black); padding: var(--space-4xl) var(--page-padding); }\n    .get-started-card { max-width: var(--max-width); margin: 0 auto; background: linear-gradient(135deg, rgba(241,107,94,.08) 0%, rgba(213,41,224,.08) 50%, rgba(63,91,235,.08) 100%); border-radius: var(--radius-xl); padding: var(--space-4xl) var(--space-3xl); position: relative; overflow: hidden; }\n    .get-started-card::before { content: ''; position: absolute; top: -200px; right: -200px; width: 500px; height: 500px; background: radial-gradient(circle, rgba(241,107,94,.18), transparent 70%); pointer-events: none; }\n    .get-started-card::after { content: ''; position: absolute; bottom: -200px; left: -200px; width: 500px; height: 500px; background: radial-gradient(circle, rgba(63,91,235,.18), transparent 70%); pointer-events: none; }\n    .get-started-card__inner { max-width: 800px; margin: 0 auto; text-align: center; position: relative; z-index: 1; }\n    .get-started-card__title { font-size: clamp(32px, 4.2vw, 48px); font-weight: 600; line-height: 1.15; color: var(--color-white); margin: 0 0 var(--space-lg); }\n    .get-started-card__desc { font-size: 17px; line-height: 1.6; color: var(--color-light-gray); margin: 0 0 var(--space-2xl); }\n    .get-started-card__cta { display: flex; justify-content: center; gap: var(--space-md); flex-wrap: wrap; }\n    @media (max-width: 700px) { .get-started-card { padding: var(--space-3xl) var(--space-xl); } }\n\n\/* WP breakout overrides *\/\n.entry-content > .wp-block-group.alignfull {\n  width: 100vw !important;\n  max-width: 100vw !important;\n  margin-left: calc(50% - 50vw) !important;\n  margin-right: calc(50% - 50vw) !important;\n  margin-top: -100px !important;\n  padding: 0 !important;\n}\n.entry-content.wp-block-post-content { padding-left: 0 !important; padding-right: 0 !important; }\nheader.wp-block-template-part { position: relative !important; z-index: 100 !important; }\n.hero-subpage { padding-top: 100px !important; }\n\n\/* ==== KONIEC bazy DS \u2014 nizej overlay AP ==== *\/\n\/* ==== warstwa AP z LP SRE ==== *\/\n\n.ap-scope{--ap-text:#1B1B1B;--ap-body:#3A3A3A;--ap-muted:#676767;--ap-muted2:#8A8A90;--ap-line:#ECECF1;--ap-card:#F5F5F7;--ap-white:#FFFFFF;--ap-magenta:#C2298C;--ap-grad:linear-gradient(135deg,#F16B5E 0%,#D529E0 52%,#3F5BEB 100%);--ap-tint:linear-gradient(135deg,rgba(241,107,94,.09) 0%,rgba(213,41,224,.09) 52%,rgba(63,91,235,.10) 100%);font-family:\"PP Mori\",Arial,sans-serif;color:var(--ap-body);-webkit-font-smoothing:antialiased;line-height:1.5}\n.ap-scope *{box-sizing:border-box}\n.ap-grad-text{background:var(--ap-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}\n.ap-cycle{width:100%;max-width:760px;margin:0 auto}\n.ap-cycle__cap{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--ap-muted2);margin:0 0 24px}\n.ap-cycle__cap svg{width:13px;height:13px;fill:none;stroke:var(--ap-muted2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}\n.ap-track{position:relative;display:grid;grid-template-columns:repeat(4,1fr);align-items:start}\n.ap-track::before{content:\"\";position:absolute;top:23px;left:12.5%;right:12.5%;height:1px;background:var(--ap-line);z-index:0}\n.ap-node{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}\n.ap-node__circle{position:relative;z-index:1;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--ap-white);border:1px solid var(--ap-line)}\n.ap-node__circle svg{width:21px;height:21px;color:var(--ap-muted2)}\n.ap-node__label{font-size:14px;font-weight:500;letter-spacing:-.1px;color:var(--ap-muted2)}\n.ap-node.is-active .ap-node__circle{background:var(--ap-grad);border-color:transparent;box-shadow:0 10px 26px -8px rgba(213,41,224,.5),0 2px 8px -2px rgba(63,91,235,.32)}\n.ap-node.is-active .ap-node__circle svg{color:var(--ap-white)}\n.ap-node.is-active .ap-node__label{color:var(--ap-text);font-weight:600}\n.ap-cycle__mobile{display:none}\n.ap-mobile__phase{text-align:center;font-size:15px;font-weight:600;letter-spacing:-.2px;color:var(--ap-text);margin:0 0 14px}\n.ap-dots{display:flex;align-items:center;justify-content:center;gap:9px}\n.ap-dot{width:8px;height:8px;border-radius:999px;background:var(--ap-line)}\n.ap-dot.is-active{width:26px;background:var(--ap-grad)}\n.ap-band{padding:76px 0}\n.ap-band--grey{background:var(--ap-card)}\n.ap-band__inner{max-width:1120px;margin:0 auto;padding:0 40px}\n.ap-intro{max-width:760px;margin:44px auto 0;text-align:center}\n.ap-intro__h{font-size:40px;font-weight:600;letter-spacing:-.9px;line-height:1.1;margin:0 0 18px;color:var(--ap-text)}\n.ap-intro__lede{font-size:18px;color:var(--ap-muted);margin:0 auto;max-width:620px}\n.ap-block{max-width:940px;margin:0 auto}\n.ap-block__grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:start}\n.ap-block__grid--split{grid-template-columns:minmax(0,1.05fr) minmax(0,.85fr);gap:56px;align-items:center}\n.ap-block__grid--rev{grid-template-columns:minmax(0,.85fr) minmax(0,1.05fr)}\n.ap-block__head{display:flex;align-items:flex-start;gap:18px;margin-bottom:22px}\n.ap-tile{width:56px;height:56px;border-radius:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--ap-tint);border:1px solid rgba(194,41,140,.14)}\n.ap-tile svg{width:26px;height:26px;color:var(--ap-magenta)}\n.ap-block__headtext{padding-top:3px}\n.ap-block__label{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--ap-muted);margin:0 0 8px}\n.ap-genius{font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--ap-white);background:var(--ap-grad);border-radius:999px;padding:3px 9px 2px;line-height:1}\n.ap-block__h{font-size:25px;font-weight:600;letter-spacing:-.4px;line-height:1.22;margin:0;color:var(--ap-text)}\n.ap-block__foundation{font-size:18px;line-height:1.62;color:var(--ap-body);margin:0}\n.ap-diff{position:relative;margin:26px 0 30px;border-radius:16px;overflow:hidden;background:var(--ap-tint);padding:22px 26px 24px 30px}\n.ap-diff::before{content:\"\";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--ap-grad)}\n.ap-diff__eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;margin:0 0 9px}\n.ap-diff__text{font-size:16.5px;line-height:1.6;color:var(--ap-text);margin:0}\n.ap-support{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 40px;margin-top:4px}\n.ap-support--one{grid-template-columns:1fr}\n.ap-point{display:flex;align-items:flex-start;gap:12px}\n.ap-point__check{width:19px;height:19px;flex-shrink:0;margin-top:2px;color:var(--ap-magenta)}\n.ap-point__check svg{width:100%;height:100%}\n.ap-point__text{font-size:15px;line-height:1.55;color:var(--ap-muted);margin:0}\n.ap-point__text b{color:var(--ap-text);font-weight:600}\n.ap-mock{border:1px solid var(--ap-line);border-radius:18px;background:var(--ap-white);padding:20px 20px 22px;box-shadow:0 24px 60px -34px rgba(27,27,27,.28)}\n.ap-mock__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}\n.ap-mock__title{font-size:13px;font-weight:600;letter-spacing:-.1px;color:var(--ap-text)}\n.ap-mock__live{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--ap-muted2)}\n.ap-mock__live i{width:7px;height:7px;border-radius:50%;background:var(--ap-grad);display:inline-block}\n.ap-mrow{display:flex;align-items:center;gap:13px;padding:12px 4px;border-top:1px solid var(--ap-line)}\n.ap-mrow:first-of-type{border-top:none}\n.ap-mrow__rank{width:22px;height:22px;border-radius:7px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--ap-muted);background:var(--ap-card)}\n.ap-mrow--top .ap-mrow__rank{background:var(--ap-grad);color:var(--ap-white)}\n.ap-mrow__meta{min-width:0;flex:1}\n.ap-mrow__store{display:block;font-size:13px;font-weight:600;color:var(--ap-text);line-height:1.25}\n.ap-mrow__reason{display:block;font-size:11.5px;color:var(--ap-muted2);margin-top:2px}\n.ap-mrow__bar{width:52px;height:5px;border-radius:999px;background:var(--ap-card);overflow:hidden;flex-shrink:0}\n.ap-mrow__bar i{display:block;height:100%;background:var(--ap-grad);border-radius:999px}\n.ap-decor{position:relative;display:flex;align-items:center;justify-content:center;min-height:200px}\n.ap-decor svg{width:180px;height:180px;color:var(--ap-magenta);opacity:.16}\n.ap-decor__ring{position:absolute;width:230px;height:230px;border-radius:50%;background:var(--ap-tint);z-index:-1}\n@media(max-width:860px){.ap-block__grid--split,.ap-block__grid--rev{grid-template-columns:1fr;gap:34px}.ap-block__grid--rev .ap-block__vis{order:2}.ap-decor{order:-1;min-height:0}.ap-decor svg{width:120px;height:120px}.ap-decor__ring{width:150px;height:150px}}\n@media(max-width:720px){.ap-band{padding:56px 0}.ap-band__inner{padding:0 22px}.ap-intro__h{font-size:30px}.ap-intro__lede{font-size:16px}.ap-block__h{font-size:22px}.ap-block__foundation{font-size:16.5px}.ap-support{grid-template-columns:1fr;gap:16px}}\n@media(max-width:620px){.ap-track{display:none}.ap-cycle__mobile{display:block}}\n\/* placeholder visual slot (real product screenshots swap in later) *\/\n.ap-shot{position:relative;border:1px solid var(--ap-line);border-radius:18px;background:var(--ap-white);box-shadow:0 24px 60px -34px rgba(27,27,27,.28);overflow:hidden}\n.ap-shot__bar{display:flex;align-items:center;gap:6px;padding:13px 16px;border-bottom:1px solid var(--ap-line)}\n.ap-shot__bar i{width:9px;height:9px;border-radius:50%;background:var(--ap-line)}\n.ap-shot__body{aspect-ratio:4\/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:var(--ap-tint);text-align:center;padding:30px}\n.ap-shot__ico{width:46px;height:46px;color:var(--ap-magenta);opacity:.55}\n.ap-shot__ico svg{width:100%;height:100%}\n.ap-shot__label{font-size:13px;font-weight:600;letter-spacing:.1px;color:var(--ap-muted)}\n.ap-shot__note{font-size:10.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--ap-muted2)}\n.ap-more{display:inline-flex;align-items:center;gap:7px;margin-top:24px;font-size:15px;font-weight:600;color:var(--ap-magenta);text-decoration:none;transition:gap .18s ease}\n.ap-more:hover{gap:11px}\n.ap-more svg{width:15px;height:15px}\n.ap-usecase{display:inline-block;font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--ap-muted);background:var(--ap-card);border:1px solid var(--ap-line);border-radius:999px;padding:3px 9px 2px;line-height:1}\n.ap-sp-note{background:var(--ap-card);padding:34px 0}\n.ap-sp-note__inner{max-width:820px;margin:0 auto;padding:0 40px;text-align:center;font-size:17px;line-height:1.6;color:var(--ap-muted)}\n@media(max-width:720px){.ap-sp-note__inner{padding:0 22px;font-size:15.5px}}\n\n.ap-head-c{text-align:center;max-width:760px;margin:0 auto}\n.ap-eyebrow{display:inline-block;font-size:11px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--ap-muted2);margin:0 0 16px}\n.ap-head-c .ap-intro__h{margin:0 0 16px}\n.ap-head-c .ap-intro__lede{margin:0 auto}\n\/* Commercial *\/\n.ap-mini{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:940px;margin:30px auto 0}\n.ap-mini--one{grid-template-columns:1fr;max-width:560px}\n.ap-mini__card{border:1px solid var(--ap-line);border-radius:16px;background:var(--ap-white);padding:24px 26px}\n.ap-mini__head{display:flex;align-items:center;gap:12px;margin-bottom:12px}\n.ap-mini__ico{width:42px;height:42px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--ap-tint);border:1px solid rgba(194,41,140,.14)}\n.ap-mini__ico svg{width:21px;height:21px;color:var(--ap-magenta)}\n.ap-mini__h{font-size:17px;font-weight:600;color:var(--ap-text);margin:0}\n.ap-mini__p{font-size:15px;line-height:1.58;color:var(--ap-muted);margin:0}\n.ap-mini__p b{color:var(--ap-text);font-weight:600}\n@media(max-width:720px){.ap-mini{grid-template-columns:1fr}}\n\/* Proof *\/\n.ap-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;max-width:1020px;margin:44px auto 0}\n.ap-stat{text-align:center;padding:26px 14px;border:1px solid var(--ap-line);border-radius:16px;background:var(--ap-white)}\n.ap-stat__v{font-size:30px;font-weight:600;letter-spacing:-1px;line-height:1;margin:0 0 8px;color:var(--ap-text)}\n.ap-stat__l{font-size:12.5px;line-height:1.4;color:var(--ap-muted);margin:0}\n.ap-proofnote{max-width:720px;margin:26px auto 0;text-align:center;font-size:14px;line-height:1.55;color:var(--ap-muted)}\n.ap-trust{max-width:840px;margin:40px auto 0;text-align:center}\n.ap-trust__cap{font-size:11px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--ap-muted2);margin:0 0 16px}\n.ap-trust__names{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;font-size:17px;font-weight:600;color:var(--ap-text)}\n@media(max-width:860px){.ap-stats{grid-template-columns:repeat(2,1fr)}}\n@media(max-width:440px){.ap-stats{grid-template-columns:1fr}}\n\/* Ecosystem *\/\n\/* IT-facing *\/\n\/* CTA dark *\/\n.ap-cta{position:relative;overflow:hidden;background:#111114;padding:90px 0}\n.ap-cta__glow{position:absolute;inset:0;background:radial-gradient(58% 120% at 50% 0%,rgba(213,41,224,.30),transparent 62%);z-index:0}\n.ap-cta__inner{max-width:820px;margin:0 auto;padding:0 40px;text-align:center;position:relative;z-index:1}\n.ap-cta__h{font-size:40px;font-weight:600;letter-spacing:-1px;line-height:1.12;color:#fff;margin:0 0 18px}\n.ap-cta__p{font-size:18px;line-height:1.6;color:rgba(255,255,255,.72);margin:0 auto 32px;max-width:620px}\n.ap-cta__btn{display:inline-flex;align-items:center;gap:9px;padding:15px 30px;border-radius:999px;font-size:16px;font-weight:600;color:#111114;background:#fff;text-decoration:none;transition:gap .18s ease}\n.ap-cta__btn:hover{gap:13px}\n.ap-cta__btn svg{width:17px;height:17px}\n@media(max-width:720px){.ap-cta{padding:66px 0}.ap-cta__h{font-size:30px}.ap-cta__inner{padding:0 22px}}\n\n\/* ==== sekcje 2-4 nowej LP RIR (CHG-475) ==== *\/\n\n.otif-h2{font-size:clamp(28px,3.1vw,40px);line-height:1.18;font-weight:650;margin:0 0 18px;color:var(--ap-text)}\n.otif-lede{font-size:18px;line-height:1.6;color:var(--ap-muted);max-width:44rem;margin:0 0 28px}\n\n@media(max-width:900px){}\n\n\/* ============================================================\n   AP DESIGN LAYER \u2014 nadrz\u0119dne nadpisania nad Asseco DS.\n   NIE edytuj DS styles.css. Ten plik wgrywany INLINE PO DS CSS.\n   Namespace: .ap-*  (additywne, obok klas DS).\n   ============================================================ *\/\n\n\/* --- AP Hero (na bazie DS .hero-subpage \/ 45-hero-video-drs) --- *\/\n\/* content-driven wysoko\u015b\u0107 zamiast wymuszonego min-height:100vh *\/\n.ap-hero{min-height:0 !important;height:auto !important}\n.ap-hero .hero-subpage__content{padding-top:clamp(48px,5.5vw,84px);padding-bottom:var(--space-xl)}\n@media(max-width:768px){.ap-hero .hero-subpage__content{padding-top:72px;padding-bottom:var(--space-lg)}}\n\n\/* rotator realnych klip\u00f3w wideo w tle hero (homepage-style crossfade) *\/\n.ap-hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s ease}\n.ap-hero-vid.is-active{opacity:1}\n\n\/* ==== W-147 \/ CHG-517: warstwa wlasna LP planogram compliance ==== *\/\n.otif-quote{margin:34px 0 0;padding:36px 40px 32px;border-radius:18px;background:#fff;border:1px solid var(--ap-line);box-shadow:0 16px 44px rgba(20,20,30,.08);position:relative;overflow:hidden}\n.otif-quote::before{content:\"\";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,#ff5a5f 0%,#d946ef 48%,#7B61FF 100%)}\n.otif-quote blockquote{margin:0 0 22px;padding:0;border:none;font-size:21px;line-height:1.5;color:var(--ap-text);font-weight:500;letter-spacing:-.1px}\n.otif-quote figcaption{font-size:15px;color:var(--ap-muted);line-height:1.5}\n.otif-quote figcaption strong{color:var(--ap-text)}\n.otif-faq{margin-top:26px;border-top:1px solid var(--ap-line)}\n.otif-faq details{border-bottom:1px solid var(--ap-line)}\n.otif-faq summary{cursor:pointer;list-style:none;padding:22px 40px 22px 0;font-size:17.5px;font-weight:650;color:var(--ap-text);position:relative}\n.otif-faq summary::-webkit-details-marker{display:none}\n.otif-faq summary::after{content:\"+\";position:absolute;right:6px;top:19px;font-size:24px;font-weight:400;color:#7B61FF;line-height:1}\n.otif-faq details[open] summary::after{content:\"\u2212\"}\n.otif-faq p{margin:0 0 22px;font-size:16px;line-height:1.62;color:var(--ap-muted);max-width:46rem}\n\/* trzy kadry na jednym zdjeciu polki, sekcja What gets measured *\/\n.otif-zoom{position:absolute;inset:0;overflow:hidden;background:#0d0f12}\n.otif-zoom__in{position:absolute;inset:0;transform:scale(var(--z));transform-origin:var(--ox) var(--oy)}\n.otif-zoom__in img{width:100%;height:100%;object-fit:cover;display:block}\n.otif-box{position:absolute;border:2px solid var(--c,#2fbf6a);border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.35)}\n.otif-box--red{--c:#ff3b30;background:rgba(255,59,48,.18)}\n.otif-box--green{--c:#2fbf6a}\n.otif-box--amber{--c:#ffb020;background:rgba(255,176,32,.14)}\n.otif-tag{position:absolute;transform:translate(-50%,-100%);background:#ff3b30;color:#fff;font-size:9px;font-weight:700;\n  letter-spacing:.4px;text-transform:uppercase;padding:3px 7px;border-radius:3px;white-space:nowrap;\n  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}\n.otif-tag--green{background:#2fbf6a}\n.otif-read{position:absolute;left:50%;transform:translateX(-50%);bottom:11px;display:flex;gap:7px;align-items:center;\n  background:rgba(13,15,18,.9);color:#fff;padding:8px 13px;border-radius:8px;font-size:12px;line-height:1.25;\n  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;white-space:nowrap}\n.otif-read b{font-size:15px;font-weight:700}\n.otif-read s{opacity:.6}\n.otif-read i{font-style:normal;color:#ff6b62;font-weight:700}\n.otif-legend{position:absolute;left:11px;bottom:11px;display:flex;gap:12px;font-size:10px;color:#fff;\n  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}\n.otif-legend span{display:flex;align-items:center;gap:5px}\n.otif-legend i{width:9px;height:9px;border-radius:2px;display:block;border:2px solid #2fbf6a}\n.otif-legend i.r{border-color:#ff3b30;background:rgba(255,59,48,.25)}\n.otif-kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}\n.otif-kpi__i{border-top:2px solid var(--ap-line);padding-top:18px}\n.otif-kpi__i h3{font-size:17px;font-weight:650;margin:0 0 9px;color:var(--ap-text)}\n.otif-kpi__i p{font-size:15px;line-height:1.55;color:var(--ap-muted);margin:0}\n.otif-steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:34px}\n.otif-step3__media{position:relative;aspect-ratio:3\/4;border-radius:14px;overflow:hidden;background:#eceff1;border:1px solid var(--ap-line)}\n.otif-step3__media img{width:100%;height:100%;object-fit:cover;display:block}\n.otif-step3__n{display:block;font-size:11px;font-weight:700;letter-spacing:1.4px;color:#7B61FF;margin:0 0 10px}\n.otif-step3 h3{font-size:17px;font-weight:650;margin:0 0 8px;color:var(--ap-text);line-height:1.3}\n.otif-step3 p{font-size:15px;line-height:1.55;color:var(--ap-muted);margin:0}\n.otif-step3{display:flex;flex-direction:column}\n.otif-step3__txt{flex:1 1 auto;margin-top:16px;background:#fff;border:1px solid var(--ap-line);border-radius:14px;padding:24px 26px 26px;box-shadow:0 14px 40px rgba(20,20,30,.07)}\n@media(max-width:900px){.otif-steps3{grid-template-columns:1fr;gap:26px}}\n\n\/* makieta ekranu aplikacji, standard smartow (wzorzec: KC Reports Mobile) *\/\n.otif-ui{position:absolute;inset:0;overflow:hidden;container-type:inline-size;\n  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;\n  background:#eef1f4;display:flex;flex-direction:column;\n  box-shadow:inset 0 0 0 1.6cqw #0e1116, inset 0 0 0 2.4cqw #2a2f38}\n.otif-ui *{box-sizing:border-box}\n.otif-ui__status{flex:0 0 auto;height:6.4cqw;display:flex;align-items:center;justify-content:space-between;\n  padding:0 5.6cqw;font-size:3.1cqw;font-weight:600;color:#0b0b0c;background:#fff;margin:2.4cqw 2.4cqw 0;border-radius:3.4cqw 3.4cqw 0 0}\n.otif-ui__status svg{height:2.9cqw;width:auto;display:block}\n.otif-ui__stat-r{display:flex;align-items:center;gap:1.5cqw}\n.otif-ui__bar{flex:0 0 auto;background:linear-gradient(180deg,#1b3a63 0%,#16294a 100%);color:#fff;\n  padding:4.2cqw 5.6cqw 6.4cqw;margin:0 2.4cqw;display:flex;align-items:flex-start;justify-content:space-between;gap:3cqw}\n.otif-ui__ttl{min-width:0}\n.otif-ui__ttl b{display:block;font-size:4.7cqw;font-weight:650;line-height:1.2;letter-spacing:.1px}\n.otif-ui__ttl span{display:block;margin-top:1.1cqw;font-size:3.2cqw;font-weight:400;opacity:.86;line-height:1.25}\n.otif-ui__bar svg{width:4.3cqw;height:4.3cqw;flex:0 0 auto;opacity:.92}\n.otif-ui__icons{display:flex;gap:3.2cqw;align-items:center;padding-top:.8cqw}\n.otif-ui__sheet{flex:1 1 auto;min-height:0;margin:-3.4cqw 4.4cqw 0;background:#fff;border-radius:3cqw;\n  box-shadow:0 .6cqw 3.4cqw rgba(10,20,40,.14);overflow:hidden;position:relative;z-index:3}\n.otif-ui__filters{display:flex;gap:1.8cqw;padding:3.4cqw 3.6cqw 2.6cqw}\n.otif-ui__pill{font-size:2.9cqw;font-weight:600;padding:1.5cqw 3.4cqw;border-radius:99px;background:#eef1f4;color:#4a5260}\n.otif-ui__pill--on{background:#16294a;color:#fff}\n.otif-ui__card{padding:3.2cqw 3.6cqw;display:flex;align-items:center;justify-content:space-between;gap:3cqw;border-top:1px solid #edf0f3}\n.otif-ui__todo{font-size:2.8cqw;color:#7a8493;letter-spacing:.3px;text-transform:uppercase;font-weight:600}\n.otif-ui__name{font-size:4cqw;font-weight:700;color:#16294a;margin:1cqw 0 1.1cqw;line-height:1.18}\n.otif-ui__due{font-size:2.9cqw;color:#6b7482}\n.otif-ui__due b{color:#111;font-weight:700}\n.otif-ui__btn{margin-top:2.6cqw;display:inline-block;background:#1668c8;color:#fff;font-size:3.1cqw;font-weight:650;padding:2cqw 5cqw;border-radius:99px}\n.otif-ui__thumb{flex:0 0 auto}\n.otif-ui__thumb svg{width:13cqw;height:13cqw;display:block}\n.otif-ui__hbar{position:absolute;bottom:2.6cqw;left:50%;transform:translateX(-50%);width:26cqw;height:1cqw;border-radius:99px;background:#0d0d0d;opacity:.55;z-index:8}\n.otif-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);gap:44px;align-items:start}.otif-split .otif-fig{margin:0;display:flex;flex-direction:column;align-items:flex-end}.otif-split .otif-fig img{max-height:880px;width:auto;max-width:100%}.otif-split .otif-fig figcaption{text-align:left;width:100%}@media(max-width:1000px){.otif-split .otif-fig{align-items:stretch}.otif-split .otif-fig img{max-height:none;width:100%}}.otif-split .otif-lede{max-width:none}@media(max-width:1000px){.otif-split{grid-template-columns:1fr;gap:32px}}.otif-fig{margin:38px 0 0;padding:0}.otif-fig img{display:block;width:100%;height:auto;border-radius:16px}.otif-fig figcaption{margin-top:14px;font-size:14px;line-height:1.5;color:var(--ap-muted)}\n@media(max-width:900px){.otif-kpi{grid-template-columns:1fr}}\n\/* makieta raportowania per poziom analityczny, wzorzec: LP TDH sekcja One View (.ap-bi) *\/\n.otif-bi{--r:#d70e44;--o:#ef5909;--g:#1aa15a;--b:#1668c8;--mut:#6b7280;--ln:#e6e8ee;\n  margin-top:34px;border:1px solid var(--ln);border-radius:16px;overflow:hidden;background:#fff;\n  box-shadow:0 14px 40px rgba(20,20,30,.07);position:relative}\n.otif-bi *{box-sizing:border-box}\n.otif-bi__top{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fafafb;border-bottom:1px solid var(--ln)}\n.otif-bi__dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto}\n.otif-bi__title{font-weight:600;font-size:13px;color:#232323;margin-right:auto}\n.otif-bi input{position:absolute;opacity:0;pointer-events:none}\n.otif-bi__tabs{display:flex;gap:4px;padding:10px 12px 0;overflow-x:auto;background:#fafafb}\n.otif-bi__tabs label{flex:0 0 auto;font-size:13px;font-weight:600;color:var(--mut);padding:9px 14px;border-radius:9px 9px 0 0;cursor:pointer;white-space:nowrap;border:1px solid transparent;border-bottom:none}\n.otif-bi__tabs label:hover{color:#232323}\n.otif-bi__panel{display:none;padding:18px}\n.otif-bi__cap{font-size:13px;color:var(--mut);margin:0 0 14px;line-height:1.5}\n.otif-bi__kpis{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}\n.otif-bi__kpi{flex:1 1 0;min-width:118px;border:1px solid var(--ln);border-radius:11px;padding:12px 14px;background:#fff}\n.otif-bi__kpi b{display:block;font-size:24px;font-weight:700;line-height:1.15;color:#232323;font-variant-numeric:tabular-nums}\n.otif-bi__kpi span{font-size:11.5px;color:var(--mut)}\n.otif-bi__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}\n.otif-bi__grid--wide{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,0.55fr);gap:16px;align-items:stretch}\n.otif-bi__card{border:1px solid var(--ln);border-radius:11px;padding:14px}\n.otif-bi__h{font-size:12px;font-weight:700;color:#232323;margin:0 0 12px}\n.otif-bi__row{display:flex;align-items:center;gap:10px;margin:9px 0;font-size:12px}\n.otif-bi__row .lab{flex:0 0 96px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.otif-bi__track{flex:1;height:9px;border-radius:6px;background:var(--ln);overflow:hidden}\n.otif-bi__fill{display:block;height:100%;border-radius:6px}\n.otif-bi__val{flex:0 0 auto;font-weight:700;color:#232323;font-variant-numeric:tabular-nums}\n.otif-bi table{width:100%;border-collapse:collapse;font-size:12px;margin:0}\n.otif-bi th{text-align:left;color:var(--mut);font-weight:600;padding:7px 8px;border-bottom:1px solid var(--ln);font-size:11px}\n.otif-bi td{padding:7px 8px;border-bottom:1px solid #f3f3f5;color:#232323}\n.otif-bi tbody tr:last-child td{border-bottom:none}\n.otif-bi td.n,.otif-bi th.n{text-align:right;font-variant-numeric:tabular-nums}\n.otif-bi__pill{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px}\n.otif-bi__lg{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:11px;color:var(--mut)}\n.otif-bi__lg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}\n.otif-bi__fix{display:flex;gap:10px;align-items:flex-start;padding:11px 0;border-bottom:1px solid #f3f3f5}\n.otif-bi__fix:last-child{border-bottom:none}\n.otif-bi__fix b{display:block;color:#232323;font-size:12.5px;font-weight:700;margin-bottom:2px}\n.otif-bi__fix span span{display:block;color:var(--mut);font-size:12px;line-height:1.45}\n.otif-bi__ix{flex:0 0 22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff}\n.otif-bi__ph{display:grid;grid-template-columns:300px minmax(0,33rem);gap:34px;align-items:center}\n.otif-bi__phbox{position:relative;width:300px;max-width:100%;aspect-ratio:9\/16;border-radius:26px;overflow:hidden}\n.otif-bi__notes p{margin:0 0 16px;font-size:14px;line-height:1.55;color:var(--mut)}\n.otif-bi__notes p:last-child{margin-bottom:0}\n.otif-bi__notes b{color:#232323;font-weight:700}\n@media(max-width:820px){.otif-bi__grid,.otif-bi__grid--wide{grid-template-columns:1fr}.otif-bi__ph{grid-template-columns:1fr;gap:24px;justify-items:center}.otif-bi__notes{max-width:34rem}}\n@media(max-width:560px){.otif-bi__top{flex-wrap:wrap;row-gap:8px}.otif-bi__title{flex:1 1 auto}}\n\/* ekran KPI wlasciciela sklepu, na tej samej makiecie urzadzenia co krok 01 *\/\n.otif-ui__kwrap{padding:3.8cqw 4.4cqw 1.4cqw}\n.otif-ui__krow{padding:2.9cqw 0;border-bottom:1px solid #edf0f3}\n.otif-ui__krow:last-child{border-bottom:none}\n.otif-ui__kmain{display:flex;align-items:baseline;justify-content:space-between;gap:2cqw}\n.otif-ui__klab{font-size:3.4cqw;font-weight:650;color:#16294a}\n.otif-ui__kval{font-size:5.6cqw;font-weight:750;line-height:1;font-variant-numeric:tabular-nums}\n.otif-ui__meter{height:1.5cqw;border-radius:99px;background:#eef1f4;overflow:hidden;margin-top:1.7cqw}\n.otif-ui__meter i{display:block;height:100%;border-radius:99px}\n.otif-ui__ksub{display:block;margin-top:1.5cqw;font-size:2.8cqw;color:#7a8493;line-height:1.3}\n.otif-ui__todoline{display:flex;align-items:center;justify-content:space-between;gap:2cqw;padding:3.2cqw 4.4cqw 3cqw;font-size:3cqw;color:#4a5260;border-top:1px solid #edf0f3}\n.otif-ui__slist{padding:0 4.4cqw 4cqw}\n.otif-ui__srow{display:flex;align-items:center;justify-content:space-between;gap:2cqw;padding:2.7cqw 0;border-bottom:1px solid #f2f4f7;font-size:3cqw;color:#16294a;font-weight:600}\n.otif-ui__srow:last-child{border-bottom:none}\n.otif-ui__spill{font-style:normal;font-size:2.7cqw;font-weight:700;padding:.9cqw 2.6cqw;border-radius:99px;flex:0 0 auto}\n.otif-ui__todoline .otif-ui__btn{margin-top:0}\n\/* kroki 02 i 03: ekran wyniku rozpoznania, wzorzec z aplikacji wdrozeniowej *\/\n.otif-ui__nav{flex:0 0 auto;background:linear-gradient(180deg,#1b3a63 0%,#16294a 100%);color:#fff;margin:0 2.4cqw;padding:2.8cqw 4.2cqw;display:flex;align-items:center;gap:3cqw}\n.otif-ui__back{font-size:5.6cqw;line-height:.8;opacity:.9;flex:0 0 auto}\n.otif-ui__navt{flex:1;min-width:0;font-size:3.5cqw;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.otif-ui__nav svg{width:4.4cqw;height:4.4cqw;flex:0 0 auto;opacity:.92}\n.otif-ui__grad{flex:0 0 auto;height:1cqw;margin:0 2.4cqw;background:linear-gradient(90deg,#1aa15a 0%,#1676c3 34%,#a046e1 67%,#ef5909 100%)}\n.otif-ui__segs{flex:0 0 auto;display:flex;background:#fff;margin:0 2.4cqw}\n.otif-ui__seg{flex:1;text-align:center;padding:2.6cqw 0 2.2cqw;font-size:3cqw;font-weight:650;color:#8a929d;letter-spacing:.2px;text-transform:uppercase}\n.otif-ui__seg--on{color:#16294a;box-shadow:inset 0 -.7cqw 0 #16294a}\n.otif-ui__srch{flex:0 0 auto;display:flex;align-items:center;gap:3cqw;background:#fff;margin:0 2.4cqw;padding:2cqw 4.2cqw 2.4cqw;border-top:1px solid #eef1f4}\n.otif-ui__inp{flex:1;min-width:0;height:6.8cqw;border-radius:1.8cqw;background:#f1f3f6;display:flex;align-items:center;gap:2cqw;padding:0 3cqw;font-size:3cqw;color:#9aa3ae}\n.otif-ui__inp svg{width:4.2cqw;height:4.2cqw;flex:0 0 auto;color:#9aa3ae}\n.otif-ui__srch > svg{width:4.8cqw;height:4.8cqw;color:#4a5260;flex:0 0 auto}\n.otif-ui__shot{flex:1 1 auto;min-height:0;background:#000;margin:0 2.4cqw 2.4cqw;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}\n.otif-ui__frame{position:relative;height:100%;aspect-ratio:676\/1034;max-width:100%}\n.otif-ui__frame img{width:100%;height:100%;object-fit:cover;display:block}\n.otif-ui__bx{position:absolute;border:.4cqw solid #35d07f;border-radius:.4cqw}\n.otif-ui__bx--r{border-color:#ff3b30;background:rgba(255,59,48,.18)}\n.otif-ui__bx--hi{border-width:.8cqw;box-shadow:0 0 0 .4cqw rgba(255,59,48,.35)}\n.otif-ui__hbar--l{background:#fff;opacity:.75}\n.otif-ui__dim{position:absolute;inset:0;background:rgba(6,8,12,.66)}\n.otif-ui__pop{position:absolute;left:3.4cqw;right:3.4cqw;top:41%;background:#fff;border-radius:3cqw;overflow:hidden;box-shadow:0 1.6cqw 5cqw rgba(0,0,0,.5)}\n.otif-ui__pop-h{display:flex;align-items:center;gap:2.6cqw;padding:2.4cqw 3.4cqw 1.9cqw}\n.otif-ui__pop-th{flex:0 0 6.4cqw}\n.otif-ui__pop-th svg{width:6.4cqw;height:8.8cqw;display:block}\n.otif-ui__pop-n{flex:1;min-width:0;font-size:2.9cqw;font-weight:700;color:#16294a;line-height:1.3;text-transform:uppercase}\n.otif-ui__pop-i{flex:0 0 auto}\n.otif-ui__pop-i svg{width:5.2cqw;height:5.2cqw;display:block}\n.otif-ui__pop-w{background:#fdf3e0;color:#8a5a00;font-size:2.9cqw;font-weight:700;text-align:center;padding:2.2cqw}\n.otif-ui__pop-r{display:flex;gap:2.4cqw;padding:2.2cqw 3.4cqw}\n.otif-ui__pop-r svg{width:4.4cqw;height:4.4cqw;flex:0 0 auto}\n.otif-ui__pop-b{font-size:2.85cqw;font-weight:700;color:#16294a;line-height:1.4}\n.otif-ui__pop-s{display:block;font-weight:400;color:#7a8493;margin-top:.7cqw}\n.otif-ui__pop-s b{color:#16294a;font-weight:650}\n.otif-ui__pop-f{display:flex;align-items:center;gap:2.4cqw;padding:2.2cqw 3.4cqw;border-top:1px solid #eef1f4;font-size:2.9cqw;font-weight:700;color:#16294a}\n.otif-ui__pop-f svg{width:4.6cqw;height:4.6cqw;flex:0 0 auto}\n\/* sekcja 6: ta sama chrome co raportowanie w sekcji 5, ale jeden panel bez zakladek *\/\n.otif-bi--solo .otif-bi__panel{display:block}\n.otif-bi__ev{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}\n.otif-bi__evi{margin:0}\n.otif-bi__evb{position:relative;aspect-ratio:3\/4;border-radius:7px;overflow:hidden;background:#0d0f12}\n.otif-bi__evi .otif-zoom__in img{width:100%;height:100%;object-fit:cover;display:block}\n.otif-bi__evi figcaption{font-size:10.5px;color:var(--mut);margin-top:5px;text-align:center;line-height:1.35}\n.otif-bi__evn{margin:12px 0 0;font-size:11.5px;color:var(--mut);line-height:1.5}\n\/* sekcja 7: trzy etapy jako wykres, idiom deckowy (wzorzec: slajd two-stage, deck Paulig) *\/\n@media(max-width:900px){}\n\/* sekcja referencyjna: grafika z case study po lewej, naglowek i akapit po prawej *\/\n.otif-cs{display:grid;grid-template-columns:minmax(0,0.82fr) minmax(0,1.18fr);gap:44px;align-items:start}\n.otif-cs__fig{margin:0}\n.otif-cs__fig img{display:block;width:100%;height:auto;max-width:400px}\n@media(max-width:1000px){.otif-cs{grid-template-columns:1fr;gap:26px}.otif-cs__fig img{max-width:340px;margin:0 auto}}\n\/* sekcja 9: sciezka wspolpracy, jedna linia z trzema wezlami zamiast trzech kart ze slupkami *\/\n.otif-path{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:42px}\n.otif-path__rail{position:absolute;left:calc(16.6667% - 11.33px);right:calc(16.6667% - 11.33px);top:20px;height:4px;border-radius:4px;\n  background:linear-gradient(90deg,#e2dbff 0%,#b8a6ff 34%,#8f6cff 62%,#d946ef 86%,#ff5a5f 100%)}\n.otif-path__i{position:relative;min-width:0}\n.otif-path__node{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;\n  width:44px;height:44px;border-radius:50%;background:#fff;border:3px solid #c9bcff;color:#7B61FF;\n  font-size:13.5px;font-weight:700;letter-spacing:.5px;margin:0 auto 20px}\n.otif-path__i:nth-of-type(2) .otif-path__node{border-color:#9b7dff}\n.otif-path__i:nth-of-type(3) .otif-path__node{border:none;color:#fff;\n  background:linear-gradient(140deg,#ff5a5f 0%,#d946ef 50%,#7B61FF 100%);\n  box-shadow:0 8px 20px rgba(123,97,255,.34)}\n.otif-path__stage{font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:#7B61FF;margin:0 0 10px}\n.otif-path__i h3{font-size:18px;font-weight:650;margin:0 0 9px;color:var(--ap-text);line-height:1.28}\n.otif-path__i > p:last-child{font-size:15px;line-height:1.55;color:var(--ap-muted);margin:0}\n@media(max-width:900px){.otif-path{grid-template-columns:1fr;gap:28px}.otif-path__rail{display:none}\n  .otif-path__node{margin:0 0 14px}}\n\n\/* ==== OTIF (CHG-524) \u2014 dodatki ponad przemianowany scoped z \/planogram-compliance\/ ==== *\/\n\n\/* przelaczniki zakladek: dwa niezalezne zestawy radio *\/\n#otm1:checked ~ .otif-bi__tabs label[for=otm1],\n#otm2:checked ~ .otif-bi__tabs label[for=otm2],\n#otm3:checked ~ .otif-bi__tabs label[for=otm3],\n#otr1:checked ~ .otif-bi__tabs label[for=otr1],\n#otr2:checked ~ .otif-bi__tabs label[for=otr2],\n#otr3:checked ~ .otif-bi__tabs label[for=otr3],\n#otr4:checked ~ .otif-bi__tabs label[for=otr4]\n{background:#fff;color:#232323;border-color:#e6e8ee;border-bottom-color:#fff;margin-bottom:-1px}\n#otm1:checked ~ .otif-bi__body #otp-m1,\n#otm2:checked ~ .otif-bi__body #otp-m2,\n#otm3:checked ~ .otif-bi__body #otp-m3,\n#otr1:checked ~ .otif-bi__body #otp-r1,\n#otr2:checked ~ .otif-bi__body #otp-r2,\n#otr3:checked ~ .otif-bi__body #otp-r3,\n#otr4:checked ~ .otif-bi__body #otp-r4\n{display:block}\n.otif-bi__body{border-top:1px solid #e6e8ee;background:#fff}\n\n\/* siatka trzykolumnowa w panelu *\/\n.otif-bi__grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;align-items:stretch}\n@media(max-width:880px){.otif-bi__grid3{grid-template-columns:1fr}}\n\n\/* tabele w panelach *\/\n.otif-tbl{width:100%;border-collapse:collapse;font-size:12.5px;margin:0}\n.otif-tbl th{text-align:left;color:#6b7280;font-weight:600;padding:7px 8px 7px 0;border-bottom:1px solid #e6e8ee;font-size:11px;text-transform:uppercase;letter-spacing:.04em}\n.otif-tbl td{padding:8px 8px 8px 0;border-bottom:1px solid #f3f3f5;color:#232323;vertical-align:middle}\n.otif-tbl tr:last-child td{border-bottom:none}\n.otif-tbl td.n,.otif-tbl th.n{text-align:right;font-variant-numeric:tabular-nums}\n.otif-bar{display:block;height:8px;border-radius:5px;background:#eef1f5;overflow:hidden;min-width:64px}\n.otif-bar i{display:block;height:100%;border-radius:5px}\n\n\/* listy w panelu \"where it breaks\" *\/\n.otif-li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #f3f3f5;font-size:12.5px;color:#232323}\n.otif-li:last-child{border-bottom:none}\n.otif-li span{color:#6b7280;font-variant-numeric:tabular-nums;flex:0 0 auto}\n\n\/* pierscien i slupki *\/\n.otif-donut{display:flex;align-items:center;gap:18px;flex-wrap:wrap}\n.otif-ring{width:116px;height:116px;border-radius:50%;flex:0 0 auto;\n  background:conic-gradient(#1aa15a 0 83.4%,#e8ebef 83.4% 100%);display:grid;place-items:center}\n.otif-ring span{width:84px;height:84px;background:#fff;border-radius:50%;display:grid;place-items:center;\n  font-size:21px;font-weight:700;color:#16294a;font-variant-numeric:tabular-nums}\n.otif-donut__t{font-size:12.5px;line-height:1.7;color:#232323}\n.otif-donut__t b{font-variant-numeric:tabular-nums}\n.otif-donut__t i{font-style:normal;color:#6b7280}\n.otif-cols{display:flex;align-items:flex-end;gap:8px;height:150px;padding-top:6px}\n.otif-col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}\n.otif-col b{width:100%;background:#2f7d92;display:block}\n.otif-col b.t{background:#cfe0e6;border-radius:4px 4px 0 0}\n.otif-col em{font-style:normal;font-size:10.5px;color:#6b7280}\n.otif-col u{text-decoration:none;font-size:10.5px;font-weight:700;color:#16294a;font-variant-numeric:tabular-nums}\n\n\/* telefon w panelu roli *\/\n.otif-phwrap{display:grid;place-items:center}\n.otif-ph{width:252px;border:1px solid #e6e8ee;border-radius:22px;background:#fff;padding:14px;\n  box-shadow:0 10px 30px rgba(20,20,30,.09)}\n.otif-ph__h{display:flex;justify-content:space-between;font-size:11px;color:#6b7280;margin-bottom:12px}\n.otif-ph__r{border:1px solid #e6e8ee;border-radius:9px;padding:10px 12px;margin-bottom:8px}\n.otif-ph__r b{display:block;font-size:12.5px;color:#232323}\n.otif-ph__r i{font-style:normal;display:block;font-size:11.5px;color:#6b7280;margin-top:2px;line-height:1.4}\n\n\n\/* callout i nota *\/\n.otif-callout{margin-top:26px;border-left:3px solid #2f7d92;background:#f6f9fa;border-radius:0 10px 10px 0;\n  padding:16px 20px;font-size:15.5px;line-height:1.55;color:#232323;max-width:46rem}\n\n\n\n\/* --- rewizja CHG-525: panel bez zakladek + lista warunkow umowy --- *\/\n.otif-bi__panel--open{display:block !important}\n.otif-set{display:flex !important;flex-direction:column !important}\n.otif-set__r{display:flex !important;justify-content:space-between !important;align-items:baseline;gap:18px !important;padding:10px 0 !important;margin:0 !important;border-bottom:1px solid #f3f3f5;font-size:12.5px;line-height:1.45}\n.otif-set__r:last-child{border-bottom:none}\n.otif-set__r span{color:#6b7280;flex:0 1 auto;white-space:nowrap}\n.otif-set__r b{color:#232323;text-align:right;font-weight:650;flex:1 1 auto;min-width:0}\n\n.otif-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%}\n\n\/* --- rewizja CHG-525\/7: os czasu w wariancie czterowezlowym --- *\/\n.otif-path--4{grid-template-columns:repeat(4,1fr)}\n.otif-path--4 .otif-path__rail{left:calc(12.5% - 11.33px);right:calc(12.5% - 11.33px)}\n.otif-path--4 .otif-path__i:nth-of-type(3) .otif-path__node{background:#fff;border:3px solid #9b7dff;color:#7B61FF;box-shadow:none}\n.otif-path--4 .otif-path__i:nth-of-type(4) .otif-path__node{border:none;color:#fff;background:linear-gradient(140deg,#ff5a5f 0%,#d946ef 50%,#7B61FF 100%);box-shadow:0 8px 20px rgba(123,97,255,.34)}\n@media(max-width:900px){.otif-path--4{grid-template-columns:1fr}}\n\n\/* --- rewizja CHG-525\/8: linki w tresci sekcji, fiolet marki jak na \/planogram-compliance\/ --- *\/\n.otif-lede a,.otif-path__i p a,.otif-callout a,.otif-bi__cap a{color:#7B61FF !important;text-decoration:none}\n.otif-lede a:hover,.otif-path__i p a:hover,.otif-callout a:hover,.otif-bi__cap a:hover{text-decoration:underline;text-underline-offset:3px}\n\n\/* ==== Komponent 6 \u2014 etykieta grafiki AI (art. 50 AI Act), CHG-540 ==== *\/\n.otif26 .ap-ai-credit{display:block;font-size:12px;line-height:1.45;color:#94A3B8;margin-top:8px;letter-spacing:.01em}\n.otif26 .hero-subpage__content .ap-ai-credit{color:rgba(255,255,255,0.5);margin-top:14px}\n.otif26 .otif-fig figcaption .ap-ai-credit{margin-top:6px;font-style:normal}\n<\/style>\n<!-- HERO -->\n<div class=\"hero-subpage ap-hero\">\n  <div class=\"hero-subpage__video-wrapper\">\n    <img class=\"otif-hero-img\" src=\"https:\/\/assecoplatform.com\/wp-content\/uploads\/2026\/09\/otif-warehouse-picking-hero.webp\" alt=\"Wide aisle of a wholesale warehouse, pallet racking full of plain cardboard cases on both sides, a worker with a clipboard beside a pallet truck carrying a part-wrapped pallet\" width=\"2560\" height=\"1396\" fetchpriority=\"high\" decoding=\"async\" data-ai-generated=\"true\">\n  <\/div>\n  <div class=\"hero-subpage__content\" data-anim=\"zoom\">\n    <span class=\"hero-badge\">On-Time In-Full (OTIF)<\/span>\n    <h1 class=\"hero-subpage__heading\">Il tuo agente ha raccolto l\u2019ordine. <span class=\"text-gradient\">Il distributore l\u2019ha consegnato?<\/span><\/h1>\n    <p style=\"font-size:clamp(20px,2.1vw,26px);line-height:1.35;font-weight:600;color:#fff;max-width:44rem;margin-bottom:var(--space-md)\">Vedi gli ordini raccolti dalla tua forza vendita e vedi che cosa ha fatturato il distributore. La differenza tra le due cose \u00e8 tutto quello che il punto vendita non ha mai ricevuto.<\/p>\n    <p class=\"text-h10 text-light-gray\" style=\"max-width:42rem;margin-bottom:var(--space-xl)\">OTIF mette le due cose a confronto, ordine per ordine e riga per riga. Una consegna in ritardo, o con meno merce di quella ordinata, non te la segnala pi\u00f9 una telefonata: la misuri. Il confronto poggia sugli ordini che raccoglie la forza vendita e sui documenti di vendita, cio\u00e8 le fatture che emettono i tuoi distributori.<\/p>\n    <div class=\"hero-subpage__cta\">\n      <a href=\"https:\/\/assecoplatform.com\/it\/contattaci\/\" class=\"btn btn-primary-white btn-has-arrow\">Prenota una demo<\/a>\n      <a href=\"#sec-4\" class=\"btn btn-outline-white\">\n        <svg class=\"arrow-icon\" style=\"width:16px;height:16px;flex-shrink:0;\" viewBox=\"0 0 16 16\" fill=\"none\"><path d=\"M3 8h10M9 4l4 4-4 4\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n        Scopri cosa misura OTIF\n      <\/a>\n    <\/div>\n    <div class=\"stat-cards stat-cards--glass\" data-stagger style=\"margin-top:var(--space-lg)\">\n      <div class=\"stat-card stat-card--glass\"><div class=\"stat-card__value\">fino al 95%<\/div><div class=\"stat-card__label\">Consegne complete<\/div><\/div>\n      <div class=\"stat-card stat-card--glass\"><div class=\"stat-card__value\">50% in meno<\/div><div class=\"stat-card__label\">Giorni fino alla consegna completa<\/div><\/div>\n      <div class=\"stat-card stat-card--glass\"><div class=\"stat-card__value\">2,5<\/div><div class=\"stat-card__label\">Giorni fino alla consegna completa, prima erano cinque<\/div><\/div>\n    <\/div>\n    <span class=\"ap-ai-credit\">Immagine generata con l&#8217;AI<\/span>\n  <\/div>\n<\/div>\n\n\n\n<section class=\"ap-band\" id=\"sec-2\" aria-labelledby=\"sec-2h\">\n  <div class=\"ap-band__inner\">\n    <p class=\"ap-eyebrow\">Tra l\u2019ordine e la fattura<\/p>\n    <h2 id=\"sec-2h\" class=\"otif-h2\" style=\"max-width:38rem\">Dopo che l\u2019ordine passa al distributore, <span class=\"text-gradient\">quello che ti torna indietro \u00e8 un dato di vendita<\/span><\/h2>\n    <div class=\"otif-split\">\n      <div>\n    <p class=\"otif-lede\" style=\"max-width:46rem\">Il tuo agente visita un punto vendita, raccoglie l\u2019ordine e lo invia al distributore che lo serve. Da quel momento a decidere \u00e8 qualcun altro. Il distributore prepara la spedizione: decide che cosa parte subito e che cosa aspetta il giro di consegna successivo.<\/p>\n    <p class=\"otif-lede\" style=\"max-width:46rem\">Ne derivano tre conseguenze, e nessuna delle tre compare nei tuoi report.<\/p>\n    <p class=\"otif-lede\" style=\"max-width:46rem\">Una consegna incompleta \u00e8 indistinguibile da una domanda debole. Il punto vendita ha ordinato dodici cartoni, il distributore ne ha spediti sette. Quei cinque cartoni non si vendono mai. Il sell-out del distributore mostra un prodotto che ruota poco, e l&rsquo;ordine successivo \u00e8 pi\u00f9 piccolo. Il punto vendita non ha scelto un concorrente. Non aveva niente da vendere a scaffale.<\/p>\n    <p class=\"otif-lede\" style=\"max-width:46rem\">Una consegna in ritardo non lascia traccia in un totale mensile. Un ordine che ha richiesto nove giorni invece di due e mezzo rientra comunque nello stesso mese, e il mese sembra normale. Il punto vendita ha venduto in due giorni le scorte che gli restavano, poi \u00e8 rimasto senza prodotto per una settimana, nel pieno di una promozione che hai pagato tu.<\/p>\n    <p class=\"otif-lede\" style=\"max-width:46rem\">E nessuno sa indicare dove sia il problema. Chiedi quale distributore \u00e8 in ritardo, o quale dei suoi depositi \u00e8 in rottura di stock su una certa categoria, e la risposta te la d\u00e0 chi si \u00e8 lamentato pi\u00f9 forte. Il tuo team commerciale sa che le consegne sono un problema, ma non sa dire quale distributore, quale punto vendita, quale settimana.<\/p>\n      <\/div>\n      <figure class=\"otif-fig\">\n        <img decoding=\"async\" src=\"https:\/\/assecoplatform.com\/wp-content\/uploads\/2026\/09\/otif-distributor-cold-store-inline-1.webp\" alt=\"Chilled storage room at a distributor, steel shelving stacked with cases of dairy, juices and chilled products, pallets on the floor and a yellow floor marking line\" loading=\"lazy\" width=\"900\" height=\"1200\" data-ai-generated=\"true\">\n        <figcaption>Questo \u00e8 quello che il distributore aveva in magazzino il giorno in cui \u00e8 stato raccolto l\u2019ordine. Quanta parte dell\u2019ordine sia poi arrivata al punto vendita, oggi quasi nessuno lo sa.<span class=\"ap-ai-credit\">Immagine generata con l&#8217;AI<\/span><\/figcaption>\n      <\/figure>\n    <\/div>\n    <div class=\"otif-callout\">Dodici ordinati, sette consegnati. I cinque che non sono mai arrivati non compaiono in nessun report.<\/div>\n  <\/div>\n<\/section>\n\n\n\n<section class=\"ap-band ap-band--grey\" id=\"sec-3\" aria-labelledby=\"sec-3h\">\n  <div class=\"ap-band__inner\">\n    <p class=\"ap-eyebrow\">Come funziona<\/p>\n    <h2 id=\"sec-3h\" class=\"otif-h2\" style=\"max-width:36rem\">Ogni ordine confrontato con <span class=\"text-gradient\">quello che il distributore ha davvero fatturato<\/span><\/h2>\n    <p class=\"otif-lede\" style=\"max-width:46rem\">On-Time In-Full (OTIF), cio\u00e8 consegne puntuali e complete, lavora su due tipi di documenti che hai gi\u00e0: gli ordini che raccoglie la tua forza vendita e i documenti di vendita che il distributore emette quando la merce esce dal suo magazzino. L\u2019abbinamento tra ordine e documento di vendita \u00e8 la base della misura, e si configura in fase di implementazione, insieme alla connessione con ogni distributore.<\/p>\n    <div class=\"otif-path otif-path--4\">\n      <span class=\"otif-path__rail\" aria-hidden=\"true\"><\/span>\n      <div class=\"otif-path__i\">\n        <span class=\"otif-path__node\">01<\/span>\n        <p class=\"otif-path__stage\">L\u2019ordine<\/p>\n        <h3>Registrato quando viene concordato<\/h3>\n        <p>Il tuo agente raccoglie l\u2019ordine nel punto vendita, con il cliente davanti. Prodotti, quantit\u00e0, data. L\u2019ordine pu\u00f2 venire da <a href=\"https:\/\/assecoplatform.com\/it\/vendite-ed-esecuzione-al-dettaglio-2\/\">Mobile Touch<\/a>, la nostra soluzione per l\u2019esecuzione sul campo, oppure da quello che la tua forza vendita usa gi\u00e0. A OTIF servono i dati degli ordini, dovunque siano registrati.<\/p>\n      <\/div>\n      <div class=\"otif-path__i\">\n        <span class=\"otif-path__node\">02<\/span>\n        <p class=\"otif-path__stage\">La consegna<\/p>\n        <h3>I documenti di vendita del distributore<\/h3>\n        <p><a href=\"https:\/\/assecoplatform.com\/it\/trade-data-hub\/\">Trade Data Hub<\/a> collega i sistemi dei tuoi distributori e ne fa confluire i documenti di vendita, gi\u00e0 mappati sui tuoi codici prodotto e cliente. Ogni documento viene abbinato all\u2019ordine che ha evaso.<\/p>\n      <\/div>\n      <div class=\"otif-path__i\">\n        <span class=\"otif-path__node\">03<\/span>\n        <p class=\"otif-path__stage\">Il confronto<\/p>\n        <h3>Ordinato e consegnato a confronto, due livelli<\/h3>\n        <p>Ordinato e consegnato a confronto: quali righe sono arrivate complete, quali incomplete, quanti giorni sono passati prima che l\u2019ordine fosse consegnato per intero. Decidi tu se una riga incompleta rende incompleto tutto l\u2019ordine, oppure se conta solo quella riga. I due livelli sono due report distinti sugli stessi dati, e una terza lettura rinuncia al test di completezza e mostra semplicemente quanta parte dell\u2019ordine \u00e8 stata consegnata.<\/p>\n      <\/div>\n      <div class=\"otif-path__i\">\n        <span class=\"otif-path__node\">04<\/span>\n        <p class=\"otif-path__stage\">Il risultato<\/p>\n        <h3>Torna a chi ha raccolto l\u2019ordine<\/h3>\n        <p>Il tuo agente vede quali dei suoi ordini sono arrivati incompleti, e in quale punto vendita. In <a href=\"https:\/\/assecoplatform.com\/it\/vendite-ed-esecuzione-al-dettaglio-2\/\">Mobile Touch<\/a> quella vista \u00e8 gi\u00e0 integrata.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n\n<section class=\"ap-band\" id=\"sec-4\" aria-labelledby=\"sec-4h\">\n  <div class=\"ap-band__inner\">\n    <p class=\"ap-eyebrow\">Che cosa si misura<\/p>\n    <h2 id=\"sec-4h\" class=\"otif-h2\" style=\"max-width:34rem\">Completezza, puntualit\u00e0 e <span class=\"text-gradient\">i punti dove salta<\/span><\/h2>\n    <div class=\"otif-kpi\">\n      <div class=\"otif-kpi__i\">\n        <h3>Completezza della consegna<\/h3>\n        <p>Se l\u2019ordine \u00e8 arrivato completo. Il conteggio pu\u00f2 stare a livello di ordine intero, dove una riga incompleta rende incompleto tutto l\u2019ordine, oppure a livello di singola riga, dove salta solo quella riga. La stessa consegna d\u00e0 due percentuali diverse, quindi vale la pena tenere entrambe, e ognuna delle due pu\u00f2 essere calcolata sulle quantit\u00e0 o sul valore. Una terza lettura rinuncia al test di completezza: divide semplicemente il consegnato per l\u2019ordinato, e cos\u00ec 80 cartoni su 100 valgono l\u201980% invece di zero.<\/p>\n      <\/div>\n      <div class=\"otif-kpi__i\">\n        <h3>Puntualit\u00e0 della consegna<\/h3>\n        <p>Quanti giorni passano dall\u2019ordine a una consegna completa, e come si distribuiscono quei giorni. Una media di tre giorni composta per met\u00e0 da consegne in giornata e per met\u00e0 da consegne che arrivano dopo una settimana \u00e8 un problema diverso da una media di tre giorni in cui ogni consegna ne richiede tre.<\/p>\n      <\/div>\n      <div class=\"otif-kpi__i\">\n        <h3>Dove salta<\/h3>\n        <p>Classifiche che mostrano dove si trova il divario tra ordinato e consegnato: distributori senza nemmeno un ordine completo, prodotti che non arrivano mai interi, agenti con la quota pi\u00f9 alta di ordini incompleti. Ogni classifica parte dal divario pi\u00f9 grande.<\/p>\n      <\/div>\n    <\/div>\n    <p class=\"otif-lede\" style=\"max-width:46rem;margin-top:30px\">Completezza e puntualit\u00e0 si scompongono allo stesso modo: per distributore fino alla filiale, per struttura commerciale fino all\u2019agente che ha raccolto l\u2019ordine, per categoria fino al singolo prodotto. \u00abDove salta\u00bb \u00e8 impostata in modo diverso, come classifiche.<\/p>\n\n    <div class=\"otif-bi\" aria-label=\"Illustrative OTIF reporting\">\n      <input type=\"radio\" name=\"otm\" id=\"otm1\" checked><input type=\"radio\" name=\"otm\" id=\"otm2\"><input type=\"radio\" name=\"otm\" id=\"otm3\">\n      <div class=\"otif-bi__top\"><span class=\"otif-bi__dot\" style=\"background:#ef5909\"><\/span><span class=\"otif-bi__dot\" style=\"background:#a046e1\"><\/span><span class=\"otif-bi__dot\" style=\"background:#1668c8\"><\/span><span class=\"otif-bi__title\">OneView &middot; On-Time In-Full<\/span><\/div>\n      <div class=\"otif-bi__tabs\"><label for=\"otm1\">In Full<\/label><label for=\"otm2\">On Time<\/label><label for=\"otm3\">Where it breaks<\/label><\/div>\n      <div class=\"otif-bi__body\">\n\n        <div class=\"otif-bi__panel\" id=\"otp-m1\">\n          <p class=\"otif-bi__cap\">Il tasso di completezza su tutti gli ordini \u00e8 dell\u201983,4%: tre delle cinque filiali sono sotto quel valore e la tabella mostra quali.<\/p>\n          <div class=\"otif-bi__grid\" style=\"margin-bottom:14px\">\n            <div class=\"otif-bi__card\">\n              <p class=\"otif-bi__h\">Orders delivered in full, last 12 months<\/p>\n              <div class=\"otif-donut\">\n                <div class=\"otif-ring\"><span>83.4%<\/span><\/div>\n                <div class=\"otif-donut__t\"><b>18,472<\/b> orders placed<br><b>15,406<\/b> delivered in full<br><i>3,066 short on at least one line<\/i><\/div>\n              <\/div>\n            <\/div>\n            <div class=\"otif-bi__card\">\n              <p class=\"otif-bi__h\">In-Full trend, last six months<\/p>\n              <div class=\"otif-cols\">\n                <div class=\"otif-col\"><u>76.1%<\/u><b class=\"t\" style=\"height:25px\"><\/b><b style=\"height:79px\"><\/b><em>Apr<\/em><\/div>\n                <div class=\"otif-col\"><u>78.0%<\/u><b class=\"t\" style=\"height:23px\"><\/b><b style=\"height:81px\"><\/b><em>May<\/em><\/div>\n                <div class=\"otif-col\"><u>80.8%<\/u><b class=\"t\" style=\"height:20px\"><\/b><b style=\"height:84px\"><\/b><em>Jun<\/em><\/div>\n                <div class=\"otif-col\"><u>83.7%<\/u><b class=\"t\" style=\"height:17px\"><\/b><b style=\"height:87px\"><\/b><em>Jul<\/em><\/div>\n                <div class=\"otif-col\"><u>85.6%<\/u><b class=\"t\" style=\"height:15px\"><\/b><b style=\"height:89px\"><\/b><em>Aug<\/em><\/div>\n                <div class=\"otif-col\"><u>87.2%<\/u><b class=\"t\" style=\"height:13px\"><\/b><b style=\"height:91px\"><\/b><em>Sep<\/em><\/div>\n              <\/div>\n              <div class=\"otif-bi__lg\"><span><i style=\"background:#2f7d92\"><\/i>delivered in full<\/span><span><i style=\"background:#cfe0e6\"><\/i>short<\/span><\/div>\n            <\/div>\n          <\/div>\n          <div class=\"otif-bi__kpis\">\n            <div class=\"otif-bi__kpi\"><b>1,204<\/b><span>Products ordered<\/span><\/div>\n            <div class=\"otif-bi__kpi\"><b>96<\/b><span>Distributor branches with orders<\/span><\/div>\n            <div class=\"otif-bi__kpi\"><b>11,830<\/b><span>Stores with orders<\/span><\/div>\n          <\/div>\n          <div class=\"otif-bi__card\">\n            <p class=\"otif-bi__h\">By distributor, down to the branch<\/p>\n            <table class=\"otif-tbl\">\n              <tr><th>Distributor<\/th><th>Branch<\/th><th class=\"n\">Orders<\/th><th class=\"n\">In full<\/th><th style=\"width:150px\">In-Full rate<\/th><th class=\"n\">vs prev.<\/th><\/tr>\n              <tr><td>Distributor A<\/td><td>North<\/td><td class=\"n\">3,180<\/td><td class=\"n\">3,021<\/td><td><span class=\"otif-bar\"><i style=\"width:95%;background:#1aa15a\"><\/i><\/span><\/td><td class=\"n\">95.0% <span class=\"otif-bi__pill\" style=\"background:#e7f6ee;color:#0f7a44\">+1.4<\/span><\/td><\/tr>\n              <tr><td>Distributor A<\/td><td>Central<\/td><td class=\"n\">2,940<\/td><td class=\"n\">2,675<\/td><td><span class=\"otif-bar\"><i style=\"width:91%;background:#1aa15a\"><\/i><\/span><\/td><td class=\"n\">91.0% <span class=\"otif-bi__pill\" style=\"background:#e7f6ee;color:#0f7a44\">+0.6<\/span><\/td><\/tr>\n              <tr><td>Distributor B<\/td><td>South<\/td><td class=\"n\">2,610<\/td><td class=\"n\">2,166<\/td><td><span class=\"otif-bar\"><i style=\"width:83%;background:#ef5909\"><\/i><\/span><\/td><td class=\"n\">83.0% <span class=\"otif-bi__pill\" style=\"background:#fdefe6;color:#a83c05\">&minus;0.9<\/span><\/td><\/tr>\n              <tr><td>Distributor C<\/td><td>East<\/td><td class=\"n\">2,105<\/td><td class=\"n\">1,494<\/td><td><span class=\"otif-bar\"><i style=\"width:71%;background:#d70e44\"><\/i><\/span><\/td><td class=\"n\">71.0% <span class=\"otif-bi__pill\" style=\"background:#fdeaf0;color:#a80c34\">&minus;3.2<\/span><\/td><\/tr>\n              <tr><td>Distributor C<\/td><td>West<\/td><td class=\"n\">1,870<\/td><td class=\"n\">1,421<\/td><td><span class=\"otif-bar\"><i style=\"width:76%;background:#ef5909\"><\/i><\/span><\/td><td class=\"n\">76.0% <span class=\"otif-bi__pill\" style=\"background:#fdefe6;color:#a83c05\">&minus;1.1<\/span><\/td><\/tr>\n            <\/table>\n          <\/div>\n        <\/div>\n\n        <div class=\"otif-bi__panel\" id=\"otp-m2\">\n          <p class=\"otif-bi__cap\">Met\u00e0 degli ordini si chiude entro due giorni. \u00c8 la coda dopo il settimo giorno che tira su la media.<\/p>\n          <div class=\"otif-bi__kpis\">\n            <div class=\"otif-bi__kpi\"><b>2.8<\/b><span>Avg days to a complete delivery<\/span><\/div>\n            <div class=\"otif-bi__kpi\"><b>2<\/b><span>Median days<\/span><\/div>\n            <div class=\"otif-bi__kpi\"><b>7%<\/b><span>Orders taking a week or more<\/span><\/div>\n            <div class=\"otif-bi__kpi\"><b>&minus;38%<\/b><span>Avg days, since go-live<\/span><\/div>\n          <\/div>\n          <div class=\"otif-bi__grid\">\n            <div class=\"otif-bi__card\">\n              <p class=\"otif-bi__h\">Orders closed on day<\/p>\n              <div class=\"otif-cols\">\n                <div class=\"otif-col\"><b style=\"height:44px\"><\/b><em>1<\/em><\/div>\n                <div class=\"otif-col\"><b style=\"height:104px\"><\/b><em>2<\/em><\/div>\n                <div class=\"otif-col\"><b style=\"height:78px\"><\/b><em>3<\/em><\/div>\n                <div class=\"otif-col\"><b style=\"height:41px\"><\/b><em>4<\/em><\/div>\n                <div class=\"otif-col\"><b style=\"height:26px\"><\/b><em>5<\/em><\/div>\n                <div class=\"otif-col\"><b style=\"height:16px\"><\/b><em>6<\/em><\/div>\n                <div class=\"otif-col\"><b class=\"t\" style=\"height:11px\"><\/b><em>7<\/em><\/div>\n                <div class=\"otif-col\"><b class=\"t\" style=\"height:9px\"><\/b><em>8<\/em><\/div>\n                <div class=\"otif-col\"><b class=\"t\" style=\"height:14px\"><\/b><em>9+<\/em><\/div>\n              <\/div>\n              <div class=\"otif-bi__lg\"><span>Days from the order to a complete delivery<\/span><\/div>\n            <\/div>\n            <div class=\"otif-bi__card\">\n              <p class=\"otif-bi__h\">Average days by distributor<\/p>\n              <table class=\"otif-tbl\">\n                <tr><th>Distributor<\/th><th class=\"n\">Avg days<\/th><th style=\"width:110px\"><\/th><\/tr>\n                <tr><td>Distributor A<\/td><td class=\"n\">1.8<\/td><td><span class=\"otif-bar\"><i style=\"width:30%;background:#1aa15a\"><\/i><\/span><\/td><\/tr>\n                <tr><td>Distributor D<\/td><td class=\"n\">2.1<\/td><td><span class=\"otif-bar\"><i style=\"width:36%;background:#1aa15a\"><\/i><\/span><\/td><\/tr>\n                <tr><td>Distributor B<\/td><td class=\"n\">2.6<\/td><td><span class=\"otif-bar\"><i style=\"width:44%;background:#2f7d92\"><\/i><\/span><\/td><\/tr>\n                <tr><td>Distributor E<\/td><td class=\"n\">3.4<\/td><td><span class=\"otif-bar\"><i style=\"width:58%;background:#ef5909\"><\/i><\/span><\/td><\/tr>\n                <tr><td>Distributor C<\/td><td class=\"n\">5.9<\/td><td><span class=\"otif-bar\"><i style=\"width:100%;background:#d70e44\"><\/i><\/span><\/td><\/tr>\n              <\/table>\n              <p class=\"otif-bi__cap\" style=\"margin:12px 0 0\">Il distributore C sta a 5,9 giorni mentre la rete \u00e8 in media a 2,8: quasi tutta la coda dopo il settimo giorno viene da un solo partner.<\/p>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"otif-bi__panel\" id=\"otp-m3\">\n          <p class=\"otif-bi__cap\">Classifiche che mostrano dove si concentra il divario, dal pi\u00f9 grande.<\/p>\n          <div class=\"otif-bi__grid3\">\n            <div class=\"otif-bi__card\"><p class=\"otif-bi__h\">Distributors with no complete order<\/p>\n              <div class=\"otif-li\">Distributor H, North <span>312 orders<\/span><\/div>\n              <div class=\"otif-li\">Distributor K, West <span>148<\/span><\/div>\n              <div class=\"otif-li\">Distributor M, South <span>61<\/span><\/div><\/div>\n            <div class=\"otif-bi__card\"><p class=\"otif-bi__h\">Products with no order delivered in full<\/p>\n              <div class=\"otif-li\">2 L carbonated, 4-pack <span>84 orders<\/span><\/div>\n              <div class=\"otif-li\">0.33 L energy, 12-pack <span>61<\/span><\/div>\n              <div class=\"otif-li\">1 L iced tea, 6-pack <span>37<\/span><\/div><\/div>\n            <div class=\"otif-bi__card\"><p class=\"otif-bi__h\">Reps whose orders suffer most<\/p>\n              <div class=\"otif-li\">Territory 14, rep 3 <span>96 orders<\/span><\/div>\n              <div class=\"otif-li\">Territory 9, rep 1 <span>74<\/span><\/div>\n              <div class=\"otif-li\">Territory 22, rep 5 <span>58<\/span><\/div><\/div>\n          <\/div>\n          <div class=\"otif-bi__card\" style=\"margin-top:14px\">\n            <p class=\"otif-bi__h\">Largest gaps between ordered and delivered<\/p>\n            <table class=\"otif-tbl\">\n              <tr><th>Product<\/th><th>Category<\/th><th class=\"n\">Ordered<\/th><th class=\"n\">Delivered<\/th><th class=\"n\">Short<\/th><th class=\"n\">Delivered vs ordered<\/th><\/tr>\n              <tr><td>1.5 L carbonated, 6-pack<\/td><td>Soft drinks<\/td><td class=\"n\">8,400<\/td><td class=\"n\">6,460<\/td><td class=\"n\">1,940<\/td><td class=\"n\"><span class=\"otif-bi__pill\" style=\"background:#fdeaf0;color:#a80c34\">76.9%<\/span><\/td><\/tr>\n              <tr><td>0.25 L energy, 24-pack<\/td><td>Energy<\/td><td class=\"n\">5,200<\/td><td class=\"n\">4,080<\/td><td class=\"n\">1,120<\/td><td class=\"n\"><span class=\"otif-bi__pill\" style=\"background:#fdeaf0;color:#a80c34\">78.5%<\/span><\/td><\/tr>\n              <tr><td>Promotional multipack<\/td><td>Soft drinks<\/td><td class=\"n\">3,600<\/td><td class=\"n\">2,730<\/td><td class=\"n\">870<\/td><td class=\"n\"><span class=\"otif-bi__pill\" style=\"background:#fdefe6;color:#a83c05\">75.8%<\/span><\/td><\/tr>\n              <tr><td>0.5 L still water, 12-pack<\/td><td>Water<\/td><td class=\"n\">6,900<\/td><td class=\"n\">6,540<\/td><td class=\"n\">360<\/td><td class=\"n\"><span class=\"otif-bi__pill\" style=\"background:#e7f6ee;color:#0f7a44\">94.8%<\/span><\/td><\/tr>\n            <\/table>\n            <p class=\"otif-bi__cap\" style=\"margin:12px 0 0\">Il multipack promozionale arriva incompleto proprio nel mese della promozione. Senza questa classifica, a posteriori sembra una promozione che non ha funzionato.<\/p>\n          <\/div>\n        <\/div>\n\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n\n<section class=\"ap-band ap-band--grey\" id=\"sec-5\" aria-labelledby=\"sec-5h\">\n  <div class=\"ap-band__inner\">\n    <p class=\"ap-eyebrow\">Chi legge il dato<\/p>\n    <h2 id=\"sec-5h\" class=\"otif-h2\" style=\"max-width:34rem\">Una misura, <span class=\"text-gradient\">quattro letture<\/span><\/h2>\n    <p class=\"otif-lede\" style=\"max-width:46rem\">Il confronto tra ordinato e consegnato risponde a una domanda diversa per il direttore commerciale, per chi gestisce i distributori, per la supply chain e per il responsabile di area. I primi tre lo leggono in OneView, il responsabile di area dal telefono sul campo.<\/p>\n\n    <div class=\"otif-bi\" aria-label=\"Illustrative OTIF reporting by role\">\n      <input type=\"radio\" name=\"otr\" id=\"otr1\" checked><input type=\"radio\" name=\"otr\" id=\"otr2\"><input type=\"radio\" name=\"otr\" id=\"otr3\"><input type=\"radio\" name=\"otr\" id=\"otr4\">\n      <div class=\"otif-bi__top\"><span class=\"otif-bi__dot\" style=\"background:#ef5909\"><\/span><span class=\"otif-bi__dot\" style=\"background:#a046e1\"><\/span><span class=\"otif-bi__dot\" style=\"background:#1668c8\"><\/span><span class=\"otif-bi__title\">OneView &middot; On-Time In-Full<\/span><\/div>\n      <div class=\"otif-bi__tabs\"><label for=\"otr1\">Sales director<\/label><label for=\"otr2\">Distributor manager<\/label><label for=\"otr3\">Supply chain<\/label><label for=\"otr4\">Regional manager<\/label><\/div>\n      <div class=\"otif-bi__body\">\n\n        <div class=\"otif-bi__panel\" id=\"otp-r1\">\n          <p class=\"otif-bi__cap\">Tutti i distributori in un\u2019unica lista, con la completezza pi\u00f9 bassa in alto.<\/p>\n          <div class=\"otif-bi__kpis\">\n            <div class=\"otif-bi__kpi\"><b>83.4%<\/b><span>In-Full, all distributors, last 12 months<\/span><\/div>\n            <div class=\"otif-bi__kpi\"><b>2.8<\/b><span>Avg days to complete<\/span><\/div>\n            <div class=\"otif-bi__kpi\"><b>3<\/b><span>Partners below the agreed level<\/span><\/div>\n            <div class=\"otif-bi__kpi\"><b>+2.1 pts<\/b><span>Change vs previous quarter<\/span><\/div>\n          <\/div>\n          <div class=\"otif-bi__card\">\n            <p class=\"otif-bi__h\">Distributors ranked by In-Full, weakest first<\/p>\n            <table class=\"otif-tbl\">\n              <tr><th>Distributor<\/th><th class=\"n\">Markets<\/th><th class=\"n\">In-Full<\/th><th style=\"width:150px\"><\/th><th class=\"n\">Avg days<\/th><th>Agreed level<\/th><\/tr>\n              <tr><td>Distributor C<\/td><td class=\"n\">2<\/td><td class=\"n\">73.5%<\/td><td><span class=\"otif-bar\"><i style=\"width:73%;background:#d70e44\"><\/i><\/span><\/td><td class=\"n\">5.9<\/td><td><span class=\"otif-bi__pill\" style=\"background:#fdeaf0;color:#a80c34\">below<\/span><\/td><\/tr>\n              <tr><td>Distributor G<\/td><td class=\"n\">1<\/td><td class=\"n\">78.0%<\/td><td><span class=\"otif-bar\"><i style=\"width:78%;background:#d70e44\"><\/i><\/span><\/td><td class=\"n\">4.2<\/td><td><span class=\"otif-bi__pill\" style=\"background:#fdeaf0;color:#a80c34\">below<\/span><\/td><\/tr>\n              <tr><td>Distributor B<\/td><td class=\"n\">3<\/td><td class=\"n\">83.0%<\/td><td><span class=\"otif-bar\"><i style=\"width:83%;background:#ef5909\"><\/i><\/span><\/td><td class=\"n\">2.6<\/td><td><span class=\"otif-bi__pill\" style=\"background:#fdefe6;color:#a83c05\">below<\/span><\/td><\/tr>\n              <tr><td>Distributor D<\/td><td class=\"n\">2<\/td><td class=\"n\">92.4%<\/td><td><span class=\"otif-bar\"><i style=\"width:92%;background:#1aa15a\"><\/i><\/span><\/td><td class=\"n\">2.1<\/td><td><span class=\"otif-bi__pill\" style=\"background:#e7f6ee;color:#0f7a44\">met<\/span><\/td><\/tr>\n              <tr><td>Distributor A<\/td><td class=\"n\">4<\/td><td class=\"n\">95.0%<\/td><td><span class=\"otif-bar\"><i style=\"width:95%;background:#1aa15a\"><\/i><\/span><\/td><td class=\"n\">1.8<\/td><td><span class=\"otif-bi__pill\" style=\"background:#e7f6ee;color:#0f7a44\">met<\/span><\/td><\/tr>\n            <\/table>\n            <p class=\"otif-bi__cap\" style=\"margin:12px 0 0\">L\u2019ultima colonna indica se il partner ha raggiunto il livello di completezza previsto dal contratto.<\/p>\n          <\/div>\n        <\/div>\n\n        <div class=\"otif-bi__panel\" id=\"otp-r2\">\n          <p class=\"otif-bi__cap\">Un singolo distributore, aperto fino alla filiale e alla categoria.<\/p>\n          <div class=\"otif-bi__kpis\">\n            <div class=\"otif-bi__kpi\"><b>73.5%<\/b><span>In-Full, Distributor C<\/span><\/div>\n            <div class=\"otif-bi__kpi\"><b>5.9<\/b><span>Avg days to complete<\/span><\/div>\n            <div class=\"otif-bi__kpi\"><b>4<\/b><span>Recurring short lines<\/span><\/div>\n            <div class=\"otif-bi__kpi\"><b>2<\/b><span>Branches below the partner average<\/span><\/div>\n          <\/div>\n          <div class=\"otif-bi__grid\">\n            <div class=\"otif-bi__card\">\n              <p class=\"otif-bi__h\">By category<\/p>\n              <table class=\"otif-tbl\">\n                <tr><th>Category<\/th><th class=\"n\">In-Full<\/th><th style=\"width:110px\"><\/th><\/tr>\n                <tr><td>Soft drinks<\/td><td class=\"n\">64%<\/td><td><span class=\"otif-bar\"><i style=\"width:64%;background:#d70e44\"><\/i><\/span><\/td><\/tr>\n                <tr><td>Energy<\/td><td class=\"n\">71%<\/td><td><span class=\"otif-bar\"><i style=\"width:71%;background:#d70e44\"><\/i><\/span><\/td><\/tr>\n                <tr><td>Water<\/td><td class=\"n\">88%<\/td><td><span class=\"otif-bar\"><i style=\"width:88%;background:#ef5909\"><\/i><\/span><\/td><\/tr>\n                <tr><td>Juices<\/td><td class=\"n\">94%<\/td><td><span class=\"otif-bar\"><i style=\"width:94%;background:#1aa15a\"><\/i><\/span><\/td><\/tr>\n              <\/table>\n            <\/div>\n            <div class=\"otif-bi__card\">\n              <p class=\"otif-bi__h\">Lines that keep coming short<\/p>\n              <table class=\"otif-tbl\">\n                <tr><th>Product<\/th><th class=\"n\">Months short<\/th><th class=\"n\">Avg shortfall<\/th><\/tr>\n                <tr><td>1.5 L carbonated, 6-pack<\/td><td class=\"n\">6 of 6<\/td><td class=\"n\">23%<\/td><\/tr>\n                <tr><td>0.25 L energy, 24-pack<\/td><td class=\"n\">5 of 6<\/td><td class=\"n\">21%<\/td><\/tr>\n                <tr><td>Promotional multipack<\/td><td class=\"n\">4 of 6<\/td><td class=\"n\">24%<\/td><\/tr>\n                <tr><td>1 L juice, 8-pack<\/td><td class=\"n\">3 of 6<\/td><td class=\"n\">11%<\/td><\/tr>\n              <\/table>\n              <p class=\"otif-bi__cap\" style=\"margin:12px 0 0\">Una riga d\u2019ordine \u00e8 arrivata incompleta in ognuno degli ultimi sei mesi, altre tre in almeno la met\u00e0 di quei mesi.<\/p>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"otif-bi__panel\" id=\"otp-r3\">\n          <p class=\"otif-bi__cap\">Quando la stessa riga arriva incompleta presso pi\u00f9 partner, di solito \u00e8 il nostro stock a mancare.<\/p>\n          <div class=\"otif-bi__kpis\">\n            <div class=\"otif-bi__kpi\"><b>3<\/b><span>Lines short at four or more distributors<\/span><\/div>\n            <div class=\"otif-bi__kpi\"><b>18<\/b><span>Lines short at one distributor only<\/span><\/div>\n            <div class=\"otif-bi__kpi\"><b>4,290<\/b><span>Units short this month<\/span><\/div>\n            <div class=\"otif-bi__kpi\"><b>2<\/b><span>Categories short every month<\/span><\/div>\n          <\/div>\n          <div class=\"otif-bi__card\">\n            <p class=\"otif-bi__h\">Same line, several distributors<\/p>\n            <table class=\"otif-tbl\">\n              <tr><th>Product<\/th><th class=\"n\">Distributors short<\/th><th style=\"width:150px\">Share of network<\/th><th>Likely cause<\/th><\/tr>\n              <tr><td>1.5 L carbonated, 6-pack<\/td><td class=\"n\">7 of 9<\/td><td><span class=\"otif-bar\"><i style=\"width:78%;background:#d70e44\"><\/i><\/span><\/td><td><span class=\"otif-bi__pill\" style=\"background:#fdeaf0;color:#a80c34\">our supply<\/span><\/td><\/tr>\n              <tr><td>0.25 L energy, 24-pack<\/td><td class=\"n\">6 of 9<\/td><td><span class=\"otif-bar\"><i style=\"width:67%;background:#d70e44\"><\/i><\/span><\/td><td><span class=\"otif-bi__pill\" style=\"background:#fdeaf0;color:#a80c34\">our supply<\/span><\/td><\/tr>\n              <tr><td>Promotional multipack<\/td><td class=\"n\">4 of 9<\/td><td><span class=\"otif-bar\"><i style=\"width:44%;background:#ef5909\"><\/i><\/span><\/td><td><span class=\"otif-bi__pill\" style=\"background:#fdefe6;color:#a83c05\">mixed<\/span><\/td><\/tr>\n              <tr><td>0.5 L still water, 12-pack<\/td><td class=\"n\">1 of 9<\/td><td><span class=\"otif-bar\"><i style=\"width:11%;background:#1aa15a\"><\/i><\/span><\/td><td><span class=\"otif-bi__pill\" style=\"background:#e7f6ee;color:#0f7a44\">this partner<\/span><\/td><\/tr>\n            <\/table>\n            <p class=\"otif-bi__cap\" style=\"margin:12px 0 0\">Una riga incompleta presso sette partner insieme dice che il problema \u00e8 il nostro stock; se riguarda un partner solo, il problema \u00e8 quel partner.<\/p>\n          <\/div>\n        <\/div>\n\n        <div class=\"otif-bi__panel\" id=\"otp-r4\">\n          <p class=\"otif-bi__cap\">L\u2019area, fino all\u2019agente i cui punti vendita continuano a ricevere consegne incomplete.<\/p>\n          <div class=\"otif-bi__grid\">\n            <div>\n              <div class=\"otif-bi__kpis\">\n                <div class=\"otif-bi__kpi\"><b>86.2%<\/b><span>In-Full, this region only<\/span><\/div>\n                <div class=\"otif-bi__kpi\"><b>3<\/b><span>Reps below the regional average<\/span><\/div>\n              <\/div>\n              <div class=\"otif-bi__card\">\n                <p class=\"otif-bi__h\">By territory<\/p>\n                <table class=\"otif-tbl\">\n                  <tr><th>Territory<\/th><th class=\"n\">Orders<\/th><th class=\"n\">In-Full<\/th><th style=\"width:100px\"><\/th><\/tr>\n                  <tr><td>Territory 14<\/td><td class=\"n\">640<\/td><td class=\"n\">72%<\/td><td><span class=\"otif-bar\"><i style=\"width:72%;background:#d70e44\"><\/i><\/span><\/td><\/tr>\n                  <tr><td>Territory 9<\/td><td class=\"n\">580<\/td><td class=\"n\">79%<\/td><td><span class=\"otif-bar\"><i style=\"width:79%;background:#ef5909\"><\/i><\/span><\/td><\/tr>\n                  <tr><td>Territory 22<\/td><td class=\"n\">510<\/td><td class=\"n\">84%<\/td><td><span class=\"otif-bar\"><i style=\"width:84%;background:#ef5909\"><\/i><\/span><\/td><\/tr>\n                  <tr><td>Territory 5<\/td><td class=\"n\">690<\/td><td class=\"n\">93%<\/td><td><span class=\"otif-bar\"><i style=\"width:93%;background:#1aa15a\"><\/i><\/span><\/td><\/tr>\n                <\/table>\n                <p class=\"otif-bi__cap\" style=\"margin:12px 0 0\">Un punto vendita che riceve regolarmente solo una parte dell\u2019ordine smette di ordinare. Prima perdi il punto vendita, poi il fatturato.<\/p>\n              <\/div>\n            <\/div>\n            <div class=\"otif-phwrap\">\n              <div class=\"otif-ph\">\n                <div class=\"otif-ph__h\"><span>9:41<\/span><span>My orders<\/span><\/div>\n                <div class=\"otif-ph__r\" style=\"border-color:#f4c3d2\"><b>Store 0417 &middot; order 11 Sep<\/b><i>Delivered short: 2 lines<\/i><i style=\"color:#d70e44\">1.5 L carbonated, 6-pack: 12 ordered, 7 delivered<\/i><\/div>\n                <div class=\"otif-ph__r\"><b>Store 0233 &middot; order 10 Sep<\/b><i style=\"color:#1aa15a\">Delivered in full, day 2<\/i><\/div>\n                <div class=\"otif-ph__r\"><b>Store 0508 &middot; order 10 Sep<\/b><i>Open, day 3<\/i><\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n\n<section class=\"ap-band\" id=\"sec-6\" aria-labelledby=\"sec-6h\">\n  <div class=\"ap-band__inner\">\n    <p class=\"ap-eyebrow\">Dalla misura all\u2019accordo<\/p>\n    <h2 id=\"sec-6h\" class=\"otif-h2\" style=\"max-width:36rem\">Uno standard di consegna <span class=\"text-gradient\">che puoi scrivere nel contratto<\/span><\/h2>\n    <p class=\"otif-lede\" style=\"max-width:46rem\">Quando le due parti accettano lo stesso dato di completezza, un accordo di distribuzione pu\u00f2 andare oltre i target di volume. Una volta che la completezza si misura ogni mese allo stesso modo, sui documenti emessi dal distributore, l&rsquo;accordo pu\u00f2 fissare un livello di completezza e prevedere un premio quando viene raggiunto.<\/p>\n    <p class=\"otif-lede\" style=\"max-width:46rem\">Il livello concordato sta nel contratto accanto ai target di volume e alle condizioni promozionali, e <a href=\"https:\/\/assecoplatform.com\/trade-terms-settlement\/\">Trade Terms &amp; Settlement<\/a> rendiconta tutti e tre allo stesso modo. Il dato di completezza in OneView mostra se il livello \u00e8 stato raggiunto, e il motore di rendicontazione calcola il premio che ne deriva.<\/p>\n    <p class=\"otif-lede\" style=\"max-width:46rem\">Un partner sotto il livello apre la stessa vista e vede, riga per riga, quali ordini sono arrivati incompleti.<\/p>\n<div class=\"otif-bi otif-bi--solo\" aria-label=\"Illustrative delivery standard settlement\">\n      <div class=\"otif-bi__top\"><span class=\"otif-bi__dot\" style=\"background:#ef5909\"><\/span><span class=\"otif-bi__dot\" style=\"background:#a046e1\"><\/span><span class=\"otif-bi__dot\" style=\"background:#1668c8\"><\/span><span class=\"otif-bi__title\">OneView &middot; delivery standard in distributor agreements<\/span><\/div>\n      <div class=\"otif-bi__panel otif-bi__panel--open\">\n        <p class=\"otif-bi__cap\">Il livello concordato, la completezza che i documenti hanno mostrato e il premio che ne deriva. Dati del trimestre chiuso.<\/p>\n        <div class=\"otif-bi__kpis\">\n          <div class=\"otif-bi__kpi\"><b>9<\/b><span>Agreements with an agreed level<\/span><\/div>\n          <div class=\"otif-bi__kpi\"><b>4<\/b><span>Partners who met the level<\/span><\/div>\n          <div class=\"otif-bi__kpi\"><b>86.9%<\/b><span>In-Full, partners with an agreed level<\/span><\/div>\n          <div class=\"otif-bi__kpi\"><b>4<\/b><span>Agreements with a bonus due<\/span><\/div>\n        <\/div>\n        <div class=\"otif-bi__card\">\n          <p class=\"otif-bi__h\">Agreed level against what the documents showed<\/p>\n          <table class=\"otif-tbl\">\n            <tr><th>Distributor<\/th><th class=\"n\">Agreed level<\/th><th class=\"n\">In-Full measured<\/th><th style=\"width:140px\"><\/th><th class=\"n\">Avg days<\/th><th>Outcome<\/th><\/tr>\n            <tr><td>Distributor A<\/td><td class=\"n\">90%<\/td><td class=\"n\">95.0%<\/td><td><span class=\"otif-bar\"><i style=\"width:95%;background:#1aa15a\"><\/i><\/span><\/td><td class=\"n\">1.8<\/td><td><span class=\"otif-bi__pill\" style=\"background:#e7f6ee;color:#0f7a44\">bonus due<\/span><\/td><\/tr>\n            <tr><td>Distributor D<\/td><td class=\"n\">90%<\/td><td class=\"n\">92.4%<\/td><td><span class=\"otif-bar\"><i style=\"width:92%;background:#1aa15a\"><\/i><\/span><\/td><td class=\"n\">2.1<\/td><td><span class=\"otif-bi__pill\" style=\"background:#e7f6ee;color:#0f7a44\">bonus due<\/span><\/td><\/tr>\n            <tr><td>Distributor F<\/td><td class=\"n\">85%<\/td><td class=\"n\">88.1%<\/td><td><span class=\"otif-bar\"><i style=\"width:88%;background:#1aa15a\"><\/i><\/span><\/td><td class=\"n\">2.4<\/td><td><span class=\"otif-bi__pill\" style=\"background:#e7f6ee;color:#0f7a44\">bonus due<\/span><\/td><\/tr>\n            <tr><td>Distributor B<\/td><td class=\"n\">90%<\/td><td class=\"n\">83.0%<\/td><td><span class=\"otif-bar\"><i style=\"width:83%;background:#ef5909\"><\/i><\/span><\/td><td class=\"n\">2.6<\/td><td><span class=\"otif-bi__pill\" style=\"background:#fdefe6;color:#a83c05\">below level<\/span><\/td><\/tr>\n            <tr><td>Distributor C<\/td><td class=\"n\">90%<\/td><td class=\"n\">73.5%<\/td><td><span class=\"otif-bar\"><i style=\"width:73%;background:#d70e44\"><\/i><\/span><\/td><td class=\"n\">5.9<\/td><td><span class=\"otif-bi__pill\" style=\"background:#fdeaf0;color:#a80c34\">below level<\/span><\/td><\/tr>\n          <\/table>\n          <p class=\"otif-bi__cap\" style=\"margin:12px 0 0\">Ogni riga \u00e8 calcolata sui documenti di vendita emessi dal distributore, cos\u00ec nessuna delle due parti deve accettare il foglio di calcolo dell&rsquo;altra.<\/p>\n        <\/div>\n        <div class=\"otif-bi__grid\" style=\"margin-top:14px\">\n          <div class=\"otif-bi__card\">\n            <p class=\"otif-bi__h\">What one agreement looks like<\/p>\n            <div class=\"otif-set\">\n              <div class=\"otif-set__r\"><span>Agreed level<\/span><b>In-Full at 90% per quarter<\/b><\/div>\n              <div class=\"otif-set__r\"><span>Measured on<\/span><b>Every order, every line<\/b><\/div>\n              <div class=\"otif-set__r\"><span>Source<\/span><b>Distributor sales documents<\/b><\/div>\n              <div class=\"otif-set__r\"><span>Result this quarter<\/span><b style=\"color:#1aa15a\">95.0%, level met<\/b><\/div>\n              <div class=\"otif-set__r\"><span>Bonus basis<\/span><b>Agreed rate on quarterly turnover<\/b><\/div>\n            <\/div>\n          <\/div>\n          <div class=\"otif-bi__card\">\n            <p class=\"otif-bi__h\">Measured In-Full against the agreed level<\/p>\n            <div class=\"otif-bi__row\"><span class=\"lab\">Distributor A<\/span><span class=\"otif-bi__track\"><i class=\"otif-bi__fill\" style=\"width:95%;background:#1aa15a\"><\/i><\/span><b class=\"otif-bi__val\">95.0%<\/b><\/div>\n            <div class=\"otif-bi__row\"><span class=\"lab\">Distributor D<\/span><span class=\"otif-bi__track\"><i class=\"otif-bi__fill\" style=\"width:92%;background:#1aa15a\"><\/i><\/span><b class=\"otif-bi__val\">92.4%<\/b><\/div>\n            <div class=\"otif-bi__row\"><span class=\"lab\">Distributor F<\/span><span class=\"otif-bi__track\"><i class=\"otif-bi__fill\" style=\"width:88%;background:#1aa15a\"><\/i><\/span><b class=\"otif-bi__val\">88.1%<\/b><\/div>\n            <div class=\"otif-bi__row\"><span class=\"lab\">Distributor B<\/span><span class=\"otif-bi__track\"><i class=\"otif-bi__fill\" style=\"width:83%;background:#ef5909\"><\/i><\/span><b class=\"otif-bi__val\">83.0%<\/b><\/div>\n            <div class=\"otif-bi__row\"><span class=\"lab\">Distributor C<\/span><span class=\"otif-bi__track\"><i class=\"otif-bi__fill\" style=\"width:73%;background:#d70e44\"><\/i><\/span><b class=\"otif-bi__val\">73.5%<\/b><\/div>\n            <div class=\"otif-bi__lg\"><span>Five of the nine agreements set the level at 90%, the rest at 85%.<\/span><\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n\n<section class=\"ap-band ap-band--grey\" id=\"sec-7\" aria-labelledby=\"sec-7h\">\n  <div class=\"ap-band__inner\">\n    <p class=\"ap-eyebrow\">Da dove vengono i numeri<\/p>\n    <h2 id=\"sec-7h\" class=\"otif-h2\" style=\"max-width:38rem\">Misurato presso due produttori globali, <span class=\"text-gradient\">nel beverage e nel consumer health<\/span><\/h2>\n    <p class=\"otif-lede\" style=\"max-width:46rem\">Entrambi i produttori vendono tramite distributori e grossisti in pi\u00f9 mercati e avevano lo stesso divario tra ordinato e consegnato prima che partisse la misurazione. Gli ordini erano gi\u00e0 registrati in digitale dagli agenti, la merce usciva dal magazzino del distributore e nessuno sapeva dire quanta parte dell&rsquo;ordinato fosse davvero arrivata.<\/p>\n    <p class=\"otif-lede\" style=\"max-width:46rem\">La prima cosa che \u00e8 cambiata \u00e8 stata la conversazione con il partner. Una riunione mensile che era uno scambio di impressioni \u00e8 diventata un confronto sugli stessi numeri, letti da entrambe le parti e presi dai documenti emessi dal distributore. Le consegne complete sono salite fino al 95%. I giorni fino a una consegna completa si sono dimezzati, da cinque a due e mezzo.<\/p>\n    <div class=\"stat-cards\" data-stagger style=\"margin-top:34px\">\n      <div class=\"stat-card-home\"><div class=\"stat-card-home__number\">95%<\/div><div class=\"stat-card-home__desc\">Massima completezza raggiunta<\/div><\/div>\n      <div class=\"stat-card-home\"><div class=\"stat-card-home__number\">50%<\/div><div class=\"stat-card-home__desc\">Giorni in meno fino alla consegna completa<\/div><\/div>\n      <div class=\"stat-card-home\"><div class=\"stat-card-home__number\">2,5<\/div><div class=\"stat-card-home__desc\">Giorni fino alla consegna completa, prima erano cinque<\/div><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n\n<section class=\"ap-band\" id=\"sec-8\" aria-labelledby=\"sec-8h\">\n  <div class=\"ap-band__inner\">\n    <p class=\"ap-eyebrow\">Domande<\/p>\n    <h2 id=\"sec-8h\" class=\"otif-h2\" style=\"max-width:32rem\">OTIF nella <span class=\"text-gradient\">distribuzione FMCG<\/span><\/h2>\n    <div class=\"otif-faq\">\n      <details open><summary>Che cos\u2019\u00e8 l\u2019OTIF?<\/summary>\n        <p>OTIF sta per On-Time In-Full, cio\u00e8 consegne puntuali e complete. Misura se un ordine \u00e8 stato consegnato entro la data concordata e nella quantit\u00e0 ordinata per intero. Nella distribuzione FMCG l&rsquo;ordine lo raccoglie la forza vendita del produttore nel punto vendita e lo trasmette al distributore o al grossista che deve consegnarlo. Il confronto \u00e8 tra quell&rsquo;ordine e il documento di vendita che il distributore emette quando la merce parte. Un ordine che arriva completo ma in ritardo non conta come OTIF. Non conta come OTIF nemmeno un ordine che arriva nel giorno giusto ma con due cartoni in meno.<\/p><\/details>\n      <details><summary>Come si calcola l\u2019OTIF?<\/summary>\n        <p>Dividi il numero di ordini consegnati puntuali e completi per il totale degli ordini del periodo. Due decisioni cambiano il risultato pi\u00f9 della formula. La prima \u00e8 il livello a cui fai il conteggio: l\u2019ordine intero, dove una riga incompleta rende incompleto tutto l\u2019ordine, oppure la singola riga, dove salta solo quella riga. Una riga consegnata in parte, a quel livello, non vale niente: il 90% della quantit\u00e0 conta come zero. La stessa consegna d\u00e0 cos\u00ec due percentuali diverse, e vale la pena tenere entrambe. La seconda decisione \u00e8 dove parte e dove si ferma il cronometro. La convenzione sulle date deve essere una sola per tutti i distributori, altrimenti il confronto tra loro non significa niente.<\/p><\/details>\n      <details><summary>Qual \u00e8 un buon livello di OTIF?<\/summary>\n        <p>Dipende dal canale e da quello che dice l\u2019accordo, quindi il riferimento che vale la pena guardare \u00e8 il tuo stesso andamento. Nelle nostre implementazioni con produttori FMCG la completezza delle consegne \u00e8 salita fino al 95%, una volta attivata la misura, con i risultati discussi ogni mese con i distributori. Conta meno il livello e pi\u00f9 sapere quale partner, quale filiale e quale prodotto stanno sotto la media.<\/p><\/details>\n      <details><summary>Che differenza c\u2019\u00e8 tra OTIF e fill rate?<\/summary>\n        <p>Il fill rate, cio\u00e8 la quota consegnata su quella ordinata, si legge di solito in proporzione: 80 cartoni consegnati su 100 ordinati fanno l\u201980%. La completezza della consegna \u00e8 binaria, quindi una consegna a cui manca qualcosa non viene contata affatto e, a parit\u00e0 di dati, la completezza non risulta mai superiore al fill rate. Ogni cartone che manca allarga la distanza tra i due valori. L\u2019OTIF aggiunge la data di consegna, quindi anche una consegna completa, se arriva in ritardo, non viene contata. Se leggi entrambi gli indicatori, distingui le due cause: quando manca lo stock scende il fill rate, quando il camion arriva in ritardo il fill rate resta intatto e l\u2019OTIF salta.<\/p><\/details>\n      <details><summary>Che cosa serve avere prima di poter misurare l\u2019OTIF?<\/summary>\n        <p>Servono due cose: gli ordini registrati nel momento in cui vengono concordati e i documenti di vendita del distributore che ti tornano indietro. L&rsquo;abbinamento tra ordine e documento si configura in fase di implementazione, cos\u00ec ogni documento di vendita si legge insieme all&rsquo;ordine che ha evaso. Chi usa gi\u00e0 Trade Data Hub ha i documenti che confluiscono, quindi resta da collegare solo la parte degli ordini.<\/p><\/details>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n\n<section class=\"ap-band ap-band--grey\" id=\"sec-9\" aria-labelledby=\"sec-9h\">\n  <div class=\"ap-band__inner\">\n    <p class=\"ap-eyebrow\">Come lavoriamo insieme<\/p>\n    <h2 id=\"sec-9h\" class=\"otif-h2\" style=\"max-width:36rem\">Parti dai distributori <span class=\"text-gradient\">con cui gi\u00e0 ti confronti<\/span><\/h2>\n    <p class=\"otif-lede\" style=\"max-width:46rem\">Nessuno misura tutti i partner dal primo giorno. Il primo perimetro \u00e8 volutamente stretto, perch\u00e9 serve a capire se il numero ti dice qualcosa che non sapevi gi\u00e0.<\/p>\n    <div class=\"otif-path\">\n      <span class=\"otif-path__rail\" aria-hidden=\"true\"><\/span>\n      <div class=\"otif-path__i\">\n        <span class=\"otif-path__node\">01<\/span>\n        <p class=\"otif-path__stage\">Proof of concept<\/p>\n        <h3>Un distributore, un\u2019area<\/h3>\n        <p>Il partner lo scegli tu. Colleghiamo i suoi documenti di vendita ai tuoi ordini e misuriamo a ritroso un trimestre, cos\u00ec il primo risultato lo leggi il primo giorno invece di aspettarlo tre mesi.<\/p>\n      <\/div>\n      <div class=\"otif-path__i\">\n        <span class=\"otif-path__node\">02<\/span>\n        <p class=\"otif-path__stage\">Prima implementazione<\/p>\n        <h3>I partner che fanno i volumi<\/h3>\n        <p>I distributori che muovono pi\u00f9 volume e le categorie in cui una settimana di rottura di stock costa caro. Di solito \u00e8 qui che un livello di consegna entra per la prima volta in un accordo.<\/p>\n      <\/div>\n      <div class=\"otif-path__i\">\n        <span class=\"otif-path__node\">03<\/span>\n        <p class=\"otif-path__stage\">Rollout completo<\/p>\n        <h3>Tutta la rete distributiva<\/h3>\n        <p>Tutti i partner sulla stessa definizione di consegna completa e sulla stessa convenzione sulle date, cos\u00ec la riunione trimestrale parte da una classifica invece che da contestazioni singole.<\/p>\n      <\/div>\n    <\/div>\n    <p class=\"otif-lede\" style=\"max-width:46rem;margin-top:26px\">Quanto si muove il numero dipende da quello che accade dopo la riunione mensile. I produttori che hanno raggiunto il 95% di completezza hanno messo il risultato all\u2019ordine del giorno di ogni incontro con i distributori, e ce l\u2019hanno lasciato.<\/p>\n  <\/div>\n<\/section>\n\n\n\n<section class=\"ap-cta\" id=\"sec-10\">\n  <div class=\"ap-cta__inner\">\n    <h2 class=\"ap-cta__h\">Guardalo sui tuoi ordini<\/h2>\n    <p class=\"ap-cta__p\">Dicci con quali distributori lavori e come ricevono i tuoi ordini. Ti mostriamo che risultato d\u00e0 una misura OTIF in una situazione come la tua.<\/p>\n    <a href=\"https:\/\/assecoplatform.com\/it\/contattaci\/\" class=\"ap-cta__btn\">Prenota una demo\n      <svg viewBox=\"0 0 16 16\" fill=\"none\"><path d=\"M3 8h10M9 4l4 4-4 4\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n    <\/a>\n  <\/div>\n<\/section>\n\n\n\n<script type=\"application\/ld+json\">{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"WebPage\",\n      \"@id\": \"https:\/\/assecoplatform.com\/it\/otif\/#webpage\",\n      \"url\": \"https:\/\/assecoplatform.com\/it\/otif\/\",\n      \"name\": \"OTIF (On-Time In-Full) per i produttori FMCG\",\n      \"isPartOf\": {\n        \"@id\": \"https:\/\/assecoplatform.com\/#website\"\n      }\n    },\n    {\n      \"@type\": \"Service\",\n      \"name\": \"OTIF (On-Time In-Full)\",\n      \"serviceType\": \"Misurazione dell\u2019evasione degli ordini della forza vendita da parte dei distributori\",\n      \"provider\": {\n        \"@type\": \"Organization\",\n        \"name\": \"Asseco Platform\"\n      },\n      \"description\": \"OTIF confronta ogni ordine raccolto dalla forza vendita di un produttore con i documenti di vendita che emette il distributore, cos\u00ec una consegna in ritardo o incompleta viene misurata invece di essere soltanto segnalata.\"\n    },\n    {\n      \"@type\": \"FAQPage\",\n      \"mainEntity\": [\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Che cos'\u00e8 l'OTIF?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"OTIF sta per On-Time In-Full, cio\u00e8 consegne puntuali e complete. Misura se un ordine \u00e8 stato consegnato entro la data concordata e nella quantit\u00e0 ordinata per intero. Nella distribuzione FMCG l'ordine lo raccoglie la forza vendita del produttore nel punto vendita e lo trasmette al distributore o al grossista che deve consegnarlo. Il confronto \u00e8 tra quell'ordine e il documento di vendita che il distributore emette quando la merce parte. Un ordine che arriva completo ma in ritardo non conta come OTIF. Non conta come OTIF nemmeno un ordine che arriva nel giorno giusto ma con due cartoni in meno.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Come si calcola l'OTIF?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Dividi il numero di ordini consegnati puntuali e completi per il totale degli ordini del periodo. Due decisioni cambiano il risultato pi\u00f9 della formula. La prima \u00e8 il livello a cui fai il conteggio: l'ordine intero, dove una riga incompleta rende incompleto tutto l'ordine, oppure la singola riga, dove salta solo quella riga. Una riga consegnata in parte, a quel livello, non vale niente: il 90% della quantit\u00e0 conta come zero. La stessa consegna d\u00e0 cos\u00ec due percentuali diverse, e vale la pena tenere entrambe. La seconda decisione \u00e8 dove parte e dove si ferma il cronometro. La convenzione sulle date deve essere una sola per tutti i distributori, altrimenti il confronto tra loro non significa niente.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Qual \u00e8 un buon livello di OTIF?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Dipende dal canale e da quello che dice l'accordo, quindi il riferimento che vale la pena guardare \u00e8 il tuo stesso andamento. Nelle nostre implementazioni con produttori FMCG la completezza delle consegne \u00e8 salita fino al 95%, una volta attivata la misura, con i risultati discussi ogni mese con i distributori. Conta meno il livello e pi\u00f9 sapere quale partner, quale filiale e quale prodotto stanno sotto la media.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Che differenza c'\u00e8 tra OTIF e fill rate?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Il fill rate, cio\u00e8 la quota consegnata su quella ordinata, si legge di solito in proporzione: 80 cartoni consegnati su 100 ordinati fanno l'80%. La completezza della consegna \u00e8 binaria, quindi una consegna a cui manca qualcosa non viene contata affatto e, a parit\u00e0 di dati, la completezza non risulta mai superiore al fill rate. Ogni cartone che manca allarga la distanza tra i due valori. L'OTIF aggiunge la data di consegna, quindi anche una consegna completa, se arriva in ritardo, non viene contata. Se leggi entrambi gli indicatori, distingui le due cause: quando manca lo stock scende il fill rate, quando il camion arriva in ritardo il fill rate resta intatto e l'OTIF salta.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Che cosa serve avere prima di poter misurare l'OTIF?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Servono due cose: gli ordini registrati nel momento in cui vengono concordati e i documenti di vendita del distributore che ti tornano indietro. L'abbinamento tra ordine e documento si configura in fase di implementazione, cos\u00ec ogni documento di vendita si legge insieme all'ordine che ha evaso. Chi usa gi\u00e0 Trade Data Hub ha i documenti che confluiscono, quindi resta da collegare solo la parte degli ordini.\"\n          }\n        }\n      ]\n    }\n  ]\n}<\/script>\n\n\n\n<script>\n\/* AP HERO \u2014 rotator wideo (crossfade) + init scroll-reveal. Inline na ko\u0144cu tre\u015bci strony. *\/\n(function(){\n  var vids=document.querySelectorAll('.ap-hero-vid');\n  if(vids.length>1){\n    var i=0;\n    try{vids[0].play();}catch(e){}\n    setInterval(function(){\n      var cur=vids[i]; i=(i+1)%vids.length; var nxt=vids[i];\n      try{nxt.currentTime=0; nxt.play();}catch(e){}\n      nxt.classList.add('is-active'); cur.classList.remove('is-active');\n    },8000);\n  }\n})();\n\/* scroll-reveal (DS data-anim\/data-stagger -> .is-visible) *\/\nvar apAnim, apStagger;\nfunction apInitObservers(){\n  if(apAnim)apAnim.disconnect(); if(apStagger)apStagger.disconnect();\n  apAnim=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting){e.target.classList.add('is-visible');apAnim.unobserve(e.target);}});},{threshold:0.15,rootMargin:'0px 0px -40px 0px'});\n  document.querySelectorAll('[data-anim]').forEach(function(el){if(!el.classList.contains('is-visible'))apAnim.observe(el);});\n  apStagger=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting){e.target.classList.add('is-visible');apStagger.unobserve(e.target);}});},{threshold:0.1,rootMargin:'0px 0px -20px 0px'});\n  document.querySelectorAll('[data-stagger]').forEach(function(el){if(!el.classList.contains('is-visible'))apStagger.observe(el);});\n}\napInitObservers();\n\n<\/script>\n\n\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>On-Time In-Full (OTIF) Il tuo agente ha raccolto l\u2019ordine. Il distributore l\u2019ha consegnato? Vedi gli ordini raccolti dalla tua forza vendita e vedi che cosa ha fatturato il distributore. La differenza tra le due cose \u00e8 tutto quello che il punto vendita non ha mai ricevuto. OTIF mette le due cose a confronto, ordine per [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"wp-custom-template-page-with-dark-footer","meta":{"_eb_attr":"","footnotes":""},"class_list":["post-10355","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.0 (Yoast SEO v28.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>OTIF: consegne puntuali e complete nel FMCG - Asseco Platform<\/title>\n<meta name=\"description\" content=\"OTIF confronta ogni ordine della forza vendita con i documenti di vendita del distributore. Evasione ordini misurata riga per riga, non raccontata.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/assecoplatform.com\/it\/otif\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"OTIF (On-Time In-Full)\" \/>\n<meta property=\"og:description\" content=\"OTIF confronta ogni ordine della forza vendita con i documenti di vendita del distributore. Evasione ordini misurata riga per riga, non raccontata.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/assecoplatform.com\/it\/otif\/\" \/>\n<meta property=\"og:site_name\" content=\"Asseco Platform\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-10T13:39:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/assecoplatform.com\/wp-content\/uploads\/2026\/09\/otif-warehouse-picking-hero.webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data1\" content=\"14 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/otif\\\/\",\"url\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/otif\\\/\",\"name\":\"OTIF: consegne puntuali e complete nel FMCG - Asseco Platform\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/otif\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/otif\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assecoplatform.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/otif-warehouse-picking-hero.webp\",\"datePublished\":\"2026-09-10T05:59:29+00:00\",\"dateModified\":\"2026-09-10T13:39:59+00:00\",\"description\":\"OTIF confronta ogni ordine della forza vendita con i documenti di vendita del distributore. Evasione ordini misurata riga per riga, non raccontata.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/otif\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/assecoplatform.com\\\/it\\\/otif\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/otif\\\/#primaryimage\",\"url\":\"https:\\\/\\\/assecoplatform.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/otif-warehouse-picking-hero.webp\",\"contentUrl\":\"https:\\\/\\\/assecoplatform.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/otif-warehouse-picking-hero.webp\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/otif\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/homepage\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"OTIF (On-Time In-Full)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/#website\",\"url\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/\",\"name\":\"Asseco Platform\",\"description\":\"Solutions for FMCG\",\"publisher\":{\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/#organization\",\"name\":\"Asseco Platform\",\"url\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/assecoplatform.com\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/asseco_platform.svg\",\"contentUrl\":\"https:\\\/\\\/assecoplatform.com\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/asseco_platform.svg\",\"caption\":\"Asseco Platform\"},\"image\":{\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"OTIF: consegne puntuali e complete nel FMCG - Asseco Platform","description":"OTIF confronta ogni ordine della forza vendita con i documenti di vendita del distributore. Evasione ordini misurata riga per riga, non raccontata.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/assecoplatform.com\/it\/otif\/","og_locale":"it_IT","og_type":"article","og_title":"OTIF (On-Time In-Full)","og_description":"OTIF confronta ogni ordine della forza vendita con i documenti di vendita del distributore. Evasione ordini misurata riga per riga, non raccontata.","og_url":"https:\/\/assecoplatform.com\/it\/otif\/","og_site_name":"Asseco Platform","article_modified_time":"2026-09-10T13:39:59+00:00","og_image":[{"url":"https:\/\/assecoplatform.com\/wp-content\/uploads\/2026\/09\/otif-warehouse-picking-hero.webp","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Tempo di lettura stimato":"14 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/assecoplatform.com\/it\/otif\/","url":"https:\/\/assecoplatform.com\/it\/otif\/","name":"OTIF: consegne puntuali e complete nel FMCG - Asseco Platform","isPartOf":{"@id":"https:\/\/assecoplatform.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/assecoplatform.com\/it\/otif\/#primaryimage"},"image":{"@id":"https:\/\/assecoplatform.com\/it\/otif\/#primaryimage"},"thumbnailUrl":"https:\/\/assecoplatform.com\/wp-content\/uploads\/2026\/09\/otif-warehouse-picking-hero.webp","datePublished":"2026-09-10T05:59:29+00:00","dateModified":"2026-09-10T13:39:59+00:00","description":"OTIF confronta ogni ordine della forza vendita con i documenti di vendita del distributore. Evasione ordini misurata riga per riga, non raccontata.","breadcrumb":{"@id":"https:\/\/assecoplatform.com\/it\/otif\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/assecoplatform.com\/it\/otif\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/assecoplatform.com\/it\/otif\/#primaryimage","url":"https:\/\/assecoplatform.com\/wp-content\/uploads\/2026\/09\/otif-warehouse-picking-hero.webp","contentUrl":"https:\/\/assecoplatform.com\/wp-content\/uploads\/2026\/09\/otif-warehouse-picking-hero.webp"},{"@type":"BreadcrumbList","@id":"https:\/\/assecoplatform.com\/it\/otif\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/assecoplatform.com\/it\/homepage\/"},{"@type":"ListItem","position":2,"name":"OTIF (On-Time In-Full)"}]},{"@type":"WebSite","@id":"https:\/\/assecoplatform.com\/it\/#website","url":"https:\/\/assecoplatform.com\/it\/","name":"Asseco Platform","description":"Solutions for FMCG","publisher":{"@id":"https:\/\/assecoplatform.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/assecoplatform.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/assecoplatform.com\/it\/#organization","name":"Asseco Platform","url":"https:\/\/assecoplatform.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/assecoplatform.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/assecoplatform.com\/wp-content\/uploads\/2024\/07\/asseco_platform.svg","contentUrl":"https:\/\/assecoplatform.com\/wp-content\/uploads\/2024\/07\/asseco_platform.svg","caption":"Asseco Platform"},"image":{"@id":"https:\/\/assecoplatform.com\/it\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/assecoplatform.com\/it\/wp-json\/wp\/v2\/pages\/10355","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/assecoplatform.com\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/assecoplatform.com\/it\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/assecoplatform.com\/it\/wp-json\/wp\/v2\/comments?post=10355"}],"version-history":[{"count":5,"href":"https:\/\/assecoplatform.com\/it\/wp-json\/wp\/v2\/pages\/10355\/revisions"}],"predecessor-version":[{"id":10392,"href":"https:\/\/assecoplatform.com\/it\/wp-json\/wp\/v2\/pages\/10355\/revisions\/10392"}],"wp:attachment":[{"href":"https:\/\/assecoplatform.com\/it\/wp-json\/wp\/v2\/media?parent=10355"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}