:root {
  --solver-lime-light: #f9fee7;
  --solver-lime-light-hover: #f6fedc;
  --solver-lime-light-active: #edfdb6;
  --solver-lime: #c4f913;
  --solver-lime-hover: #b0e011;
  --solver-lime-active: #9dc70f;
  --solver-lime-dark: #93bb0e;
  --solver-lime-dark-hover: #76950b;
  --solver-lime-dark-active: #587009;
  --solver-lime-darker: #455707;

  --solver-purple-light: #ebe6fd;
  --solver-purple-light-hover: #e2dafc;
  --solver-purple-light-active: #c2b2f9;
  --solver-purple: #4101f6;
  --solver-purple-hover: #3506d5;
  --solver-purple-active: #2f06be;
  --solver-purple-dark: #2c05b2;
  --solver-purple-dark-hover: #23048e;
  --solver-purple-dark-active: #1b036b;
  --solver-purple-darker: #150253;

  --solver-ink: #050117;
  --solver-off-white: #f6f6f6;
  --solver-white-light: #fefefe;
  --solver-white-light-active: #fdfdfd;
  --solver-white: #ffffff;
  --solver-white-hover: #dedede;
  --solver-white-active: #c6c6c6;
  --solver-white-dark: #b9b9b9;
  --solver-white-dark-hover: #949494;
  --solver-white-dark-active: #6f6f6f;
  --solver-white-darker: #565656;

  --solver-off-black: #050117;
  --solver-text-muted: #56565f;
  --solver-line-light: rgba(5, 1, 23, 0.12);
  --solver-line-strong: rgba(5, 1, 23, 0.22);
  --solver-line-dark: rgba(255, 255, 255, 0.18);
  --solver-text-on-dark-muted: rgba(255, 255, 255, 0.72);
  --solver-black-light: #e6e6e8;
  --solver-black-light-hover: #d9d9dc;
  --solver-black-light-active: #b1b0b7;
  --solver-black: #040116;
  --solver-black-hover: #040114;
  --solver-black-active: #030112;
  --solver-black-dark: #030111;
  --solver-black-dark-hover: #02010d;
  --solver-black-dark-active: #02000a;
  --solver-black-darker: #010008;

  --solver-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --solver-ease-soft: cubic-bezier(0.16, 1, 0.3, 1);
  --solver-ease-state: cubic-bezier(0.4, 0, 0.2, 1);
  --solver-radius-box: 12px;
  --solver-radius-field: 12px;
  --solver-radius-large: 12px;
  --solver-radius-pill: 999px;
  --solver-shadow-box: 0 12px 34px rgba(5, 1, 23, 0.07);
  --solver-shadow-box-hover: 0 16px 44px rgba(5, 1, 23, 0.1);
  --solver-shadow-dark: 0 16px 44px rgba(1, 0, 8, 0.28);
  --solver-dark-card-border: #565656;
  --solver-dark-card-border-hover: #6f6f6f;

  --content-max: 1720px;
  --page-gutter: clamp(20px, 2.8vw, 56px);
  --header-h: 76px;
  --section-compact: 96px;
  --section-regular: 128px;
  --section-large: 160px;
  --gap-regular: clamp(28px, 3vw, 44px);
  --gap-large: clamp(40px, 4vw, 64px);
  --card-pad: clamp(24px, 2.4vw, 36px);
  --content-gap-large: clamp(40px, 4vw, 64px);
  --content-gap-regular: clamp(28px, 3vw, 44px);
  --content-gap-small: clamp(18px, 2vw, 28px);
  --card-padding-large: clamp(32px, 3vw, 48px);
  --card-padding: clamp(24px, 2.4vw, 36px);
  --control-gap: 16px;
  --space-row-sm: 24px;
  --space-row-md: 32px;
  --space-row-lg: 48px;
  --space-row-xl: 64px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + 20px);
}

body {
  min-width: 0;
  margin: 0;
  padding-top: var(--header-h);
  background: var(--solver-off-white);
  color: var(--solver-off-black);
  font-family: "Montserrat", Arial, sans-serif !important;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
  font-family: "Montserrat", Arial, sans-serif !important;
}

main,
main > section,
main > section > div,
.split,
.proc,
.proc__steps,
.cards-2,
.cards-3,
.cards-4,
form {
  min-width: 0;
}

img,
video,
svg {
  display: block;
  max-width: 100%;
}

button,
input,
select,
textarea {
  font: inherit;
}

p,
h1,
h2,
h3,
h4,
a,
button,
label {
  word-break: normal;
  overflow-wrap: normal;
}

a {
  color: inherit;
}

::selection {
  background: var(--solver-lime);
  color: var(--solver-off-black);
}

.scp0:focus {
  left: 0 !important;
}

/* Global vertical rhythm */
main > section:not(.solver-hero) {
  padding: calc(var(--section-regular) / 2) 0 !important;
}

main > section:not(.solver-hero) > div {
  width: 100%;
  max-width: var(--content-max) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-top: 0 !important;
  padding-right: var(--page-gutter) !important;
  padding-bottom: 0 !important;
  padding-left: var(--page-gutter) !important;
}

#kontakt,
#kontakt-finansowanie,
#kontakt-sprzedaz,
#kwalifikacja {
  padding-top: calc(var(--section-large) / 2) !important;
  padding-bottom: calc(var(--section-large) / 2) !important;
}

main h1,
main h2,
main h3,
main h4 {
  margin-block-start: 0;
  color: var(--solver-off-black);
  font-family: "Montserrat", Arial, sans-serif !important;
  text-wrap: balance;
}

main h1 {
  font-size: clamp(40px, 4.45vw, 64px) !important;
  font-weight: 600 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.035em !important;
}

.solver-hero--home h1 {
  font-size: clamp(40px, 5vw, 72px) !important;
  line-height: 0.98 !important;
}

main h2 {
  font-size: clamp(32px, 3.35vw, 48px) !important;
  font-weight: 600 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
}

main h3 {
  font-size: clamp(21px, 1.95vw, 28px) !important;
  font-weight: 600 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.02em !important;
}

main h4 {
  font-size: clamp(18px, 1.4vw, 20px) !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}

main h1 + p,
main h2 + p,
.solver-lead {
  max-width: 72ch;
  color: var(--solver-text-muted) !important;
  font-size: clamp(18px, 1.4vw, 20px) !important;
  font-weight: 400 !important;
  line-height: 1.48 !important;
}

[data-dark] h1,
[data-dark] h2,
[data-dark] h3,
[data-dark] h4 {
  color: var(--solver-white) !important;
}

[data-dark] h1 + p,
[data-dark] h2 + p,
[data-dark] .solver-lead {
  color: var(--solver-text-on-dark-muted) !important;
}

/* Header */
header {
  z-index: 12000 !important;
  height: var(--header-h);
  border-bottom: 0 !important;
  background: rgba(246, 246, 246, 0.94) !important;
  box-shadow: 0 1px 0 var(--solver-black-light);
  backdrop-filter: blur(16px) !important;
  transition:
    background-color 360ms var(--solver-ease),
    box-shadow 360ms var(--solver-ease) !important;
}

header.is-scrolled {
  background: rgba(246, 246, 246, 0.98) !important;
  box-shadow: 0 10px 34px rgba(5, 1, 23, 0.08);
}

header > div {
  width: 100%;
  max-width: var(--content-max) !important;
  min-width: 0;
  height: var(--header-h) !important;
  padding-right: var(--page-gutter) !important;
  padding-left: var(--page-gutter) !important;
}

header img {
  width: auto !important;
  height: 46px !important;
}

header nav {
  gap: 8px !important;
}

header .solver-main-nav,
header nav[aria-label="Nawigacja główna"] {
  margin-left: auto;
}

header .solver-nav-actions {
  display: flex !important;
  align-items: center;
  gap: 8px !important;
}

header .solver-nav-actions > a:first-child {
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 7px 0 18px !important;
  border: 1px solid var(--solver-line-strong) !important;
  border-radius: var(--solver-radius-pill) !important;
  background: transparent !important;
  color: var(--solver-off-black) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
}

header nav a,
header nav button {
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--solver-off-black) !important;
  text-decoration: none !important;
  transition:
    color 320ms var(--solver-ease),
    background-color 320ms var(--solver-ease) !important;
}

header nav a:hover,
header nav a:focus-visible,
header nav button:hover,
header nav button:focus-visible {
  background: var(--solver-purple-light) !important;
  color: var(--solver-purple) !important;
}

header nav a[aria-current="page"],
header nav button.is-active {
  background: transparent !important;
  color: var(--solver-off-black) !important;
}

header nav button[aria-expanded="true"],
header nav button.is-open {
  background: var(--solver-purple-light) !important;
  color: var(--solver-purple) !important;
}

header nav button[aria-expanded="true"] > span,
header nav button.is-open > span {
  transform: rotate(225deg) translate(-1px, -1px) !important;
}

header [role="menu"] {
  top: 100% !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: var(--solver-radius-box) !important;
  background: var(--solver-white-light) !important;
  box-shadow: 0 20px 54px rgba(5, 1, 23, 0.16) !important;
}

header [role="menu"]::before {
  position: absolute;
  right: 0;
  bottom: 100%;
  left: 0;
  height: 10px;
  content: "";
}

header [role="menu"] a {
  border-radius: 9px !important;
}

header [role="menu"] a:hover,
header [role="menu"] a:focus-visible {
  background: var(--solver-purple-light) !important;
  color: var(--solver-purple) !important;
}

header [role="menu"] a[aria-current="page"] {
  background: transparent !important;
  color: var(--solver-purple) !important;
}

/* CTA system */
.solver-cta {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto;
  width: fit-content !important;
  gap: 12px !important;
  max-width: 100%;
  overflow: hidden !important;
  border-radius: 999px !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap;
  cursor: pointer;
  isolation: isolate;
  -webkit-tap-highlight-color: transparent;
  transform: translateZ(0);
  box-shadow: none !important;
  transition:
    background-color 500ms var(--solver-ease-soft),
    border-color 500ms var(--solver-ease-soft),
    color 500ms var(--solver-ease-soft),
    transform 150ms var(--solver-ease-soft) !important;
}

.solver-cta--lg,
.solver-cta--md,
.solver-cta--sm {
  height: 54px !important;
  min-height: 54px !important;
  padding: 0 8px 0 22px !important;
  gap: 10px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
}

.solver-cta--primary {
  border: 1px solid var(--solver-lime) !important;
  background: var(--solver-lime) !important;
  color: var(--solver-off-black) !important;
}

.solver-cta--primary:is(:hover, :focus-visible) {
  border-color: var(--solver-lime-hover) !important;
  background: var(--solver-lime-hover) !important;
  color: var(--solver-off-black) !important;
}

.solver-cta--secondary {
  border: 1px solid var(--solver-off-black) !important;
  background: var(--solver-off-black) !important;
  color: var(--solver-off-white) !important;
}

.solver-cta--secondary:is(:hover, :focus-visible) {
  border-color: var(--solver-black-hover) !important;
  background: var(--solver-black-hover) !important;
  color: var(--solver-off-white) !important;
}

.solver-cta--tertiary,
.solver-cta--inverse {
  border: 1px solid var(--solver-off-black) !important;
  background: transparent !important;
  color: var(--solver-off-black) !important;
}

.solver-cta--tertiary:is(:hover, :focus-visible),
.solver-cta--inverse:is(:hover, :focus-visible) {
  border-color: var(--solver-purple) !important;
  background: var(--solver-purple-light) !important;
  color: var(--solver-purple) !important;
}

[data-dark] .solver-cta--tertiary,
[data-dark] .solver-cta--inverse,
footer .solver-cta--tertiary,
footer .solver-cta--inverse {
  border-color: var(--solver-off-white) !important;
  background: transparent !important;
  color: var(--solver-off-white) !important;
}

[data-dark] .solver-cta--tertiary:is(:hover, :focus-visible),
[data-dark] .solver-cta--inverse:is(:hover, :focus-visible),
footer .solver-cta--tertiary:is(:hover, :focus-visible),
footer .solver-cta--inverse:is(:hover, :focus-visible) {
  border-color: var(--solver-lime) !important;
  background: var(--solver-black-hover) !important;
  color: var(--solver-lime) !important;
}

.solver-cta--dark {
  border: 1px solid var(--solver-off-black) !important;
  background: var(--solver-off-black) !important;
  color: var(--solver-white) !important;
}

[data-dark] .solver-cta--secondary,
footer .solver-cta--secondary {
  border-color: var(--solver-white) !important;
  background: var(--solver-white) !important;
  color: var(--solver-off-black) !important;
}

.solver-cta__label-window {
  position: relative;
  display: inline-grid;
  align-items: center;
  min-width: 0;
  height: 1.35em;
  overflow: hidden;
  color: inherit;
  line-height: 1.35;
}

.solver-cta__label {
  grid-area: 1 / 1;
  display: block;
  color: inherit !important;
  white-space: nowrap;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate3d(0, 0, 0);
  transition: transform 650ms var(--solver-ease-soft) !important;
  will-change: transform;
}

.solver-cta__label--clone {
  display: none !important;
}

.solver-cta:is(:hover, :focus-visible) .solver-cta__label--base {
  transform: translate3d(0, 0, 0) !important;
}

.solver-cta:is(:hover, :focus-visible) .solver-cta__label--clone {
  display: none !important;
}

.solver-cta__circle {
  position: relative;
  display: grid !important;
  width: 38px !important;
  height: 38px !important;
  place-items: center;
  flex: 0 0 38px !important;
  border-radius: 999px !important;
  background: var(--solver-off-black) !important;
  color: var(--solver-white) !important;
  transition:
    background-color 500ms var(--solver-ease-soft),
    color 500ms var(--solver-ease-soft) !important;
}

.solver-cta--secondary .solver-cta__circle {
  background: var(--solver-white) !important;
  color: var(--solver-off-black) !important;
}

.solver-cta--tertiary .solver-cta__circle,
.solver-cta--inverse .solver-cta__circle {
  background: var(--solver-off-black) !important;
  color: var(--solver-white) !important;
}

[data-dark] .solver-cta--tertiary .solver-cta__circle,
[data-dark] .solver-cta--inverse .solver-cta__circle,
footer .solver-cta--tertiary .solver-cta__circle,
footer .solver-cta--inverse .solver-cta__circle {
  background: var(--solver-white) !important;
  color: var(--solver-off-black) !important;
}

.solver-cta__arrow {
  position: relative !important;
  display: block !important;
  width: 13px !important;
  height: 1.5px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: currentColor !important;
  color: inherit !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate3d(0, 0, 0) !important;
  transition: transform 650ms var(--solver-ease-soft) !important;
}

.solver-cta__arrow > span {
  position: absolute !important;
  top: -3px !important;
  right: 0 !important;
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  border: 0 !important;
  border-top: 1.5px solid currentColor !important;
  border-right: 1.5px solid currentColor !important;
  background: transparent !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: rotate(45deg) !important;
}

.solver-cta:is(:hover, :focus-visible) .solver-cta__arrow {
  transform: translate3d(4px, 0, 0) !important;
}

.solver-cta:active {
  transform: scale(0.988) !important;
  transition-duration: 110ms !important;
}

/* Text links */
.solver-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 0 !important;
  color: inherit;
  text-decoration: none !important;
  transition:
    color 340ms var(--solver-ease),
    transform 420ms var(--solver-ease) !important;
}

.solver-link::after {
  text-decoration: none !important;
}

.solver-link--arrow::after {
  display: inline-block;
  content: "→";
  font-size: 1.05em;
  line-height: 1;
  transform: translateX(0);
  transition: transform 540ms var(--solver-ease);
}

.solver-link--arrow:is(:hover, :focus-visible)::after {
  transform: translateX(4px);
}

main .solver-link:is(:hover, :focus-visible) {
  color: var(--solver-purple) !important;
}

[data-dark] .solver-link:is(:hover, :focus-visible) {
  color: var(--solver-lime) !important;
}

footer .solver-link:is(:hover, :focus-visible) {
  color: var(--solver-lime) !important;
}

footer .solver-link:active {
  color: var(--solver-lime-active) !important;
}

@media (min-width: 1280px) {
  main h1 {
    font-size: 64px !important;
  }

  .solver-hero--home h1 {
    font-size: 72px !important;
  }

  main h2 {
    font-size: 48px !important;
  }

  main h3 {
    font-size: 28px !important;
  }

  main h1 + p,
  main h2 + p,
  .solver-lead {
    font-size: 20px !important;
  }
}

.solver-cta:focus-visible,
.solver-link:focus-visible,
.solver-card:focus-visible,
[data-acc-btn]:focus-visible,
.solver-menu-toggle:focus-visible,
.solver-segment:focus-visible,
.solver-stepper-control:focus-visible,
.step:focus-visible,
.solver-timeline [role="button"]:focus-visible {
  outline: 3px solid var(--solver-purple) !important;
  outline-offset: 3px !important;
}

[data-dark] :focus-visible,
footer :focus-visible {
  outline-color: var(--solver-lime) !important;
}

/* Intro and page transition */
.solver-intro {
  position: fixed;
  inset: 0;
  z-index: 20000;
  display: grid;
  place-items: center;
  padding: 24px;
  overflow: hidden;
  background: var(--solver-off-black);
  color: var(--solver-off-white);
  pointer-events: none;
  animation: solver-intro-exit 700ms var(--solver-ease-soft) 1050ms forwards;
}

.solver-intro__content {
  display: grid;
  width: min(320px, 72vw);
  justify-items: center;
  gap: 26px;
}

.solver-intro__logo {
  width: clamp(150px, 20vw, 210px);
  height: auto;
  opacity: 0;
  transform: translateY(14px);
  animation: solver-intro-logo 700ms var(--solver-ease-soft) 80ms forwards;
}

.solver-intro__line {
  width: 100%;
  height: 2px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--solver-black-light-active);
}

.solver-intro__line::after {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: var(--solver-lime);
  content: "";
  transform: translateX(-100%);
  animation: solver-intro-line 900ms var(--solver-ease-soft) 150ms forwards;
}

.solver-page-leaving #dc-root {
  opacity: 0;
  transform: translateY(-7px);
  transition:
    opacity 180ms ease,
    transform 260ms var(--solver-ease) !important;
}

@keyframes solver-intro-logo {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes solver-intro-line {
  to {
    transform: translateX(0);
  }
}

@keyframes solver-intro-exit {
  to {
    visibility: hidden;
    opacity: 0;
    transform: translateY(-100%);
  }
}

/* Hero */
.solver-hero {
  padding: 0 !important;
  background: var(--solver-off-white) !important;
}

.solver-hero__inner {
  width: 100%;
  max-width: var(--content-max) !important;
  min-width: 0;
  margin: 0 auto;
  padding: clamp(40px, 4vw, 64px) var(--page-gutter) clamp(64px, 7vw, 96px) !important;
}

.solver-hero--home .solver-hero__inner {
  gap: clamp(30px, 3vw, 48px) !important;
}

.solver-hero .split {
  align-items: end !important;
  gap: var(--gap-regular) !important;
}

.solver-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr) !important;
  gap: clamp(36px, 4vw, 68px) !important;
  align-items: center !important;
}

.solver-hero__actions {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.solver-media {
  --solver-media-ratio: 16 / 9;
  --solver-media-position: 50% 44%;
  position: relative !important;
  display: block !important;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: var(--solver-media-ratio) !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: var(--solver-radius-box) !important;
  background: var(--solver-black-light) !important;
  box-shadow: var(--solver-shadow-box);
}

.solver-media > img,
.solver-media > picture,
.solver-media > picture > img,
.solver-media > video {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: inherit !important;
  object-fit: cover !important;
  object-position: var(--solver-media-position) !important;
}

.solver-media--contain > img,
.solver-media--contain > picture > img,
.solver-media--contain > video,
.solver-media [data-fit="contain"] {
  padding: clamp(16px, 2.4vw, 32px) !important;
  background: var(--solver-black-light) !important;
  object-fit: contain !important;
}

.solver-media > figcaption {
  position: absolute !important;
  right: 12px !important;
  bottom: 12px !important;
  left: 12px !important;
  z-index: 2;
  margin: 0 !important;
  padding: 11px 14px !important;
  border-radius: 8px;
  background: var(--solver-off-black) !important;
  color: var(--solver-off-white) !important;
  font-size: 12px !important;
  line-height: 1.45;
  pointer-events: none;
}

.solver-mockup-stage {
  --solver-media-ratio: 4 / 3;
  --solver-media-position: 100% 100%;
  align-self: stretch;
  min-height: clamp(360px, 32vw, 520px) !important;
  background: var(--solver-black-hover) !important;
  box-shadow: none !important;
}

.solver-mockup-stage > img[data-mockup-kind="cutout"] {
  top: auto !important;
  left: auto !important;
  width: min(112%, 920px) !important;
  height: min(112%, 620px) !important;
  object-fit: contain !important;
  object-position: right bottom !important;
  transform: translate(3%, 3%);
  transform-origin: right bottom;
}

.solver-hero__media {
  --solver-media-ratio: 16 / 8.5;
  position: relative !important;
  display: block !important;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: var(--solver-media-ratio) !important;
  margin: 0 !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: var(--solver-radius-box) !important;
  background: var(--solver-black-light) !important;
  box-shadow: var(--solver-shadow-box);
}

.solver-hero__media img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: inherit !important;
  background: var(--solver-black-light) !important;
  object-fit: cover !important;
  object-position: 50% 44% !important;
}

.solver-hero__media figcaption {
  position: absolute !important;
  right: 12px !important;
  bottom: 12px !important;
  left: 12px !important;
  z-index: 2;
  margin: 0 !important;
  padding: 11px 14px !important;
  border-radius: 8px;
  background: var(--solver-off-black) !important;
  color: var(--solver-off-white) !important;
  font-size: 12px !important;
  line-height: 1.5;
}

.solver-hero-collage {
  --collage-enter-distance: clamp(3px, 0.6vw, 10px);
  --collage-float-distance: clamp(4px, 0.55vw, 10px);
  position: relative;
  isolation: isolate;
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  aspect-ratio: 2048 / 1484;
  overflow: visible;
}

.solver-hero-collage__gradient {
  position: absolute;
  z-index: 0;
  top: 0.8%;
  left: 14%;
  width: 72%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgb(59 7 237 / 46%) 0%,
    rgb(59 7 237 / 24%) 34%,
    rgb(59 7 237 / 14%) 54%,
    rgb(59 7 237 / 6%) 70%,
    rgb(59 7 237 / 2%) 84%,
    rgb(59 7 237 / 0%) 100%
  );
  filter: blur(clamp(20px, 2.4vw, 42px));
  transform: scale(0.94);
  pointer-events: none;
}

.solver-hero-collage__layer {
  --enter-delay: 0ms;
  --float-duration: 8s;
  position: absolute;
  z-index: 2;
  opacity: 0;
  transform: translate3d(0, var(--collage-enter-distance), 0) scale(0.996);
  transform-origin: center;
  animation: solver-hero-layer-in 1000ms cubic-bezier(0.22, 1, 0.36, 1)
    var(--enter-delay) forwards;
  will-change: opacity, transform;
}

.solver-hero-collage__layer img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  filter: drop-shadow(0 12px 28px rgb(5 1 23 / 6%));
  animation: solver-hero-screen-float var(--float-duration) ease-in-out
    calc(var(--enter-delay) + 1100ms) infinite;
  will-change: transform;
  pointer-events: none;
  user-select: none;
}

.solver-hero-collage__layer--manual {
  --enter-delay: 100ms;
  --float-duration: 9.2s;
  z-index: 1;
  top: 18.8%;
  left: 29.1%;
  width: 40.5%;
}

.solver-hero-collage__layer--energy {
  --enter-delay: 240ms;
  --float-duration: 8.4s;
  z-index: 4;
  top: 0;
  left: 0;
  width: 37.25%;
}

.solver-hero-collage__layer--solar {
  --enter-delay: 380ms;
  --float-duration: 8.9s;
  z-index: 5;
  top: 10.7%;
  right: 0;
  width: 38.9%;
}

.solver-hero-collage__layer--variant-1 {
  --enter-delay: 660ms;
  --float-duration: 7.8s;
  z-index: 5;
  top: 47.7%;
  left: 22.85%;
  width: 18.4%;
}

.solver-hero-collage__layer--variant-2 {
  --enter-delay: 520ms;
  --float-duration: 8.2s;
  z-index: 6;
  top: 31.55%;
  left: 57.55%;
  width: 18.2%;
}

.solver-hero-collage__layer--storage {
  --enter-delay: 790ms;
  --float-duration: 9.6s;
  z-index: 5;
  top: calc(81% + 12px);
  left: 3.9%;
  width: 37.6%;
}

.solver-hero-collage__layer--pv {
  --enter-delay: 920ms;
  --float-duration: 8.7s;
  z-index: 7;
  right: 0;
  bottom: 0;
  width: 37.25%;
}

@keyframes solver-hero-layer-in {
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes solver-hero-screen-float {
  0%,
  100% {
    transform: translate3d(0, 0, 0);
  }

  50% {
    transform: translate3d(
      0,
      calc(-1 * var(--collage-float-distance)),
      0
    );
  }
}

.solver-hero--sales .solver-hero__media {
  --solver-media-ratio: 4 / 3;
}

.solver-hero--sales .solver-sales-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr) !important;
  align-items: center !important;
  gap: clamp(36px, 4.5vw, 76px) !important;
  width: 100% !important;
}

.solver-hero--sales .solver-hero-collage--sales {
  width: min(100%, 720px);
  justify-self: end;
}

.solver-hero--finance .solver-hero__inner {
  padding-bottom: clamp(64px, 7vw, 96px) !important;
}

.solver-hero--dsr .solver-hero__inner {
  display: grid;
  gap: clamp(28px, 3vw, 44px);
}

.solver-hero-dsr__grid {
  display: block;
}

.solver-hero-dsr__copy {
  min-width: 0;
}

.solver-hero-dsr__copy > :first-child {
  margin-top: 0 !important;
}

.solver-hero--dsr .solver-hero__media,
.solver-hero--sales .solver-hero__media {
  display: none !important;
}

.solver-hero--dsr .solver-hero-dsr__copy,
.solver-hero--sales .solver-hero__inner > div,
.solver-hero--finance .solver-hero__inner > :not(nav) {
  width: min(100%, 1040px);
}

.solver-hero--sales .solver-hero__inner > div:not(.solver-sales-hero-grid) {
  display: block !important;
}

.solver-hero--dsr h1,
.solver-hero--sales h1,
.solver-hero--finance h1 {
  max-width: 18ch !important;
}

.solver-hero--dsr h1 + p,
.solver-hero--sales h1 + p,
.solver-hero--finance h1 + p {
  max-width: 64ch !important;
}

.solver-hero--sales .split {
  display: block !important;
}

/* Reveal motion */
.solver-motion-ready [data-reveal]:not(.is-revealed) {
  opacity: 0 !important;
  transform: translate3d(0, 20px, 0) !important;
}

.solver-motion-ready [data-reveal].is-revealed {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition:
    opacity 720ms var(--solver-ease),
    transform 820ms var(--solver-ease) !important;
}

.solver-motion-ready [data-reveal="group"]:not(.is-revealed) > * {
  opacity: 0 !important;
  transform: translate3d(0, 16px, 0) !important;
}

.solver-motion-ready [data-reveal="group"].is-revealed > * {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition:
    opacity 680ms var(--solver-ease) var(--solver-delay, 0ms),
    transform 760ms var(--solver-ease) var(--solver-delay, 0ms),
    background-color 360ms var(--solver-ease),
    color 360ms var(--solver-ease),
    box-shadow 360ms var(--solver-ease) !important;
}

.solver-motion-ready [data-reveal="mask"]:not(.is-revealed) {
  clip-path: inset(0 0 100% 0 round var(--solver-radius-box));
  opacity: 0.68 !important;
  transform: translate3d(0, 10px, 0) scale(0.994) !important;
}

.solver-motion-ready [data-reveal="mask"].is-revealed {
  clip-path: inset(0 0 0 0 round var(--solver-radius-box));
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
  transition:
    clip-path 900ms var(--solver-ease-soft),
    opacity 700ms var(--solver-ease),
    transform 900ms var(--solver-ease-soft) !important;
}

/* Component boxes */
.solver-card,
.icard,
.solution-row,
.solver-box,
main div[style*="padding:var(--card-pad)"] {
  border: 1px solid transparent !important;
  border-radius: var(--solver-radius-box) !important;
  background: var(--solver-white-light) !important;
  box-shadow: var(--solver-shadow-box) !important;
  transform: none !important;
  transition:
    background-color 360ms var(--solver-ease),
    color 360ms var(--solver-ease),
    box-shadow 360ms var(--solver-ease) !important;
}

.solver-card:is(:hover, :focus-visible),
.icard:is(:hover, :focus-visible),
.solution-row:is(:hover, :focus-visible),
main div[style*="padding:var(--card-pad)"]:is(:hover, :focus-within) {
  border-color: transparent !important;
  background: var(--solver-off-white) !important;
  box-shadow: var(--solver-shadow-box-hover) !important;
  transform: none !important;
}

.icard-dark,
[data-dark] .solver-card,
[data-dark] .icard,
[data-dark] .solution-row,
[data-dark] div[style*="padding:var(--card-pad)"],
main div[style*="padding:var(--card-pad)"][style*="background:rgb(4,1,22)"] {
  border: 1px solid var(--solver-dark-card-border) !important;
  background: var(--solver-black-hover) !important;
  color: var(--solver-off-white) !important;
  box-shadow: none !important;
}

.icard-dark:is(:hover, :focus-visible),
[data-dark] .solver-card:is(:hover, :focus-visible),
[data-dark] .icard:is(:hover, :focus-visible),
[data-dark] .solution-row:is(:hover, :focus-visible),
[data-dark] div[style*="padding:var(--card-pad)"]:is(:hover, :focus-within),
main
  div[style*="padding:var(--card-pad)"][style*="background:rgb(4,1,22)"]:is(
    :hover,
    :focus-within
  ) {
  border-color: var(--solver-dark-card-border-hover) !important;
  background: var(--solver-black-hover) !important;
  box-shadow: none !important;
}

.solver-heading-on-dark,
.icard-dark .solver-heading-on-dark,
#finansowanie-teaser .solver-heading-on-dark,
.solver-recommended-card h3 {
  color: var(--solver-white) !important;
}

body.solver-page .solver-recommended-card
  span[style*="height:2px"][style*="background:rgb(196,249,19)"] {
  background: var(--solver-lime) !important;
}

.solver-card[data-open="1"],
.solver-card[aria-current="true"] {
  border-color: var(--solver-purple) !important;
  box-shadow: var(--solver-shadow-box) !important;
}

[data-dark] .solver-card[data-open="1"],
[data-dark] .solver-card[aria-current="true"] {
  border-color: var(--solver-lime) !important;
  box-shadow: none !important;
}

/* Expanding photo tiles */
.solver-photo-tiles {
  display: flex !important;
  gap: 12px !important;
  height: clamp(420px, 34vw, 560px);
}

.solver-photo-tile {
  position: relative;
  flex: 0.72 1 0;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--solver-dark-card-border);
  border-radius: var(--solver-radius-box);
  background: var(--solver-black-hover);
  isolation: isolate;
  transition:
    flex-grow 520ms var(--solver-ease-state),
    border-color 320ms var(--solver-ease-state),
    background-color 320ms var(--solver-ease-state);
}

.solver-photo-tile[data-open="1"] {
  flex-grow: 2.25;
  border-color: var(--solver-lime);
}

.solver-photo-tile:is(:hover, :focus-within) {
  border-color: var(--solver-dark-card-border-hover);
}

.solver-photo-tile[data-open="1"]:is(:hover, :focus-within) {
  border-color: var(--solver-lime);
}

.solver-photo-tile::after {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(
    to top,
    rgba(5, 1, 23, 0.96) 0%,
    rgba(5, 1, 23, 0.78) 30%,
    rgba(5, 1, 23, 0.26) 58%,
    rgba(5, 1, 23, 0) 82%
  );
  content: "";
  pointer-events: none;
  opacity: 0.72;
  transition: opacity 480ms var(--solver-ease-state);
}

.solver-photo-tile[data-open="1"]::after {
  opacity: 1;
}

.solver-photo-tile__image {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition:
    filter 520ms var(--solver-ease-state),
    transform 520ms var(--solver-ease-state);
}

.solver-photo-tile:nth-child(2) .solver-photo-tile__image {
  object-position: 42% center;
}

.solver-photo-tile:nth-child(3) .solver-photo-tile__image {
  object-position: 58% center;
}

.solver-photo-tile:nth-child(4) .solver-photo-tile__image {
  object-position: 68% center;
}

.solver-photo-tile:not([data-open="1"]) .solver-photo-tile__image {
  filter: brightness(0.64) saturate(0.72);
}

.solver-photo-tile[data-open="1"] .solver-photo-tile__image {
  filter: brightness(0.78) saturate(0.82);
  transform: scale(1.018);
}

.solver-photo-tile__content {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: flex-end;
  pointer-events: none;
}

.solver-photo-tile__trigger {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  flex-direction: column;
  justify-content: flex-end;
  gap: 10px;
  width: 100%;
  min-width: 0;
  padding: clamp(22px, 2vw, 32px);
  border: 0;
  background: transparent;
  color: var(--solver-off-white);
  font: inherit;
  text-align: left;
  cursor: pointer;
  pointer-events: auto;
  transition: padding 500ms var(--solver-ease-state);
}

.solver-photo-tile[data-open="1"] .solver-photo-tile__trigger {
  padding-bottom: 10px;
}

.solver-photo-tile__number {
  color: var(--solver-lime) !important;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.solver-photo-tile__title {
  width: 100%;
  max-width: 28ch;
  color: var(--solver-off-white) !important;
  font-size: clamp(16px, 1.35vw, 23px);
  font-weight: 600;
  line-height: 1.18;
  letter-spacing: -0.025em;
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: pretty;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition:
    opacity 300ms var(--solver-ease-state),
    transform 360ms var(--solver-ease-state),
    visibility 0s;
}

.solver-photo-tile:not([data-open="1"]) .solver-photo-tile__title {
  height: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition:
    opacity 240ms var(--solver-ease-state),
    transform 300ms var(--solver-ease-state),
    visibility 0s linear 300ms;
}

.solver-photo-tile__panel {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  overflow: hidden;
  background: transparent;
  opacity: 0;
  pointer-events: none;
  transition:
    height 520ms var(--solver-ease-state),
    opacity 320ms var(--solver-ease-state);
}

.solver-photo-tile__panel p {
  max-width: 48ch;
  margin: 0;
  padding: 0 clamp(22px, 2vw, 32px) clamp(22px, 2vw, 30px);
  color: var(--solver-off-white);
  font-size: 14.5px;
  line-height: 1.58;
}

.solver-takeaway,
p[data-reveal="copy"][style*="background:rgb(196,249,19)"] {
  position: relative;
  padding: 4px 0 4px clamp(22px, 2vw, 30px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--solver-off-black) !important;
  box-shadow: none !important;
  font-size: clamp(18px, 1.6vw, 26px) !important;
}

.solver-takeaway::before,
p[data-reveal="copy"][style*="background:rgb(196,249,19)"]::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  display: block !important;
  width: 4px;
  border-radius: 999px;
  background: var(--solver-purple);
  content: "" !important;
}

[data-dark] .solver-takeaway::before,
[data-dark] p[data-reveal="copy"][style*="background:rgb(196,249,19)"]::before {
  background: var(--solver-lime);
}

main section:not([data-dark])
  li
  > span[style*="height:1px"][style*="background:rgb(196,249,19)"] {
  background: var(--solver-purple) !important;
}

main section:not([data-dark])
  span[style*="height:2px"][style*="background:rgb(196,249,19)"] {
  background: var(--solver-purple) !important;
}

main section:not([data-dark]) [data-acc-btn] > span:first-child {
  color: var(--solver-purple) !important;
}

.solver-dsr-notes {
  display: grid;
  gap: 10px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.solver-dsr-notes li {
  position: relative;
  padding-left: 24px;
  color: var(--solver-text-muted);
  font-size: 16px;
  line-height: 1.55;
}

.solver-dsr-notes li::before {
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 14px;
  height: 2px;
  border-radius: var(--solver-radius-pill);
  background: var(--solver-purple);
  content: "";
}

.solver-dsr-sources {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-top: 18px;
  color: var(--solver-text-muted);
  font-size: 14px;
  line-height: 1.5;
}

/* Interactive processes */
.solver-process-section__inner {
  padding-bottom: 0 !important;
}

.proc {
  display: grid !important;
  grid-template-columns: minmax(320px, 0.85fr) minmax(0, 1.45fr) !important;
  gap: clamp(32px, 4vw, 68px) !important;
  align-items: stretch !important;
}

.proc__steps {
  display: flex;
  min-width: 0;
  min-height: 0 !important;
  flex-direction: column;
  gap: 10px;
  padding-bottom: clamp(40px, 4vw, 64px);
}

.step {
  position: relative;
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  column-gap: 12px !important;
  width: 100%;
  min-height: 58px !important;
  padding: 15px 17px !important;
  overflow: hidden;
  border: 1px solid transparent !important;
  border-radius: var(--solver-radius-box) !important;
  background: var(--solver-white-light) !important;
  color: var(--solver-off-black) !important;
  box-shadow: var(--solver-shadow-box) !important;
  text-align: left !important;
  cursor: pointer;
  transition:
    background-color 360ms var(--solver-ease-state),
    color 360ms var(--solver-ease-state),
    box-shadow 360ms var(--solver-ease-state) !important;
}

.step::before {
  display: none !important;
  content: none !important;
}

.step:is(:hover, :focus-visible) {
  border-color: transparent !important;
  background: var(--solver-off-white) !important;
  box-shadow: var(--solver-shadow-box-hover) !important;
}

.step[aria-current="step"] {
  border-color: var(--solver-purple) !important;
  background: var(--solver-white-light) !important;
  box-shadow: var(--solver-shadow-box) !important;
}

.step-dark {
  border: 1px solid var(--solver-dark-card-border) !important;
  background: var(--solver-black-hover) !important;
  color: var(--solver-white-dark) !important;
  box-shadow: none !important;
}

.step-dark:is(:hover, :focus-visible) {
  border-color: var(--solver-dark-card-border-hover) !important;
  background: var(--solver-black-hover) !important;
  color: var(--solver-off-white) !important;
  box-shadow: none !important;
}

.step-dark[aria-current="step"] {
  border-color: var(--solver-lime) !important;
  background: var(--solver-black-hover) !important;
  color: var(--solver-off-white) !important;
  box-shadow: none !important;
}

.step__num {
  padding-top: 2px;
  color: var(--solver-white-darker) !important;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.step[aria-current="step"] .step__num {
  color: var(--solver-purple) !important;
}

.step-dark .step__num {
  color: var(--solver-black-light-active) !important;
}

.step-dark[aria-current="step"] .step__num {
  color: var(--solver-lime) !important;
}

.step__title {
  align-self: start;
  font-size: clamp(16px, 1.2vw, 19px);
  font-weight: 600;
  letter-spacing: -0.02em;
  text-align: left !important;
}

.step__desc {
  grid-column: 2 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: 0;
  overflow: hidden;
  opacity: 0 !important;
  visibility: hidden;
  text-align: left !important;
  transition:
    max-height 520ms var(--solver-ease-state),
    opacity 320ms var(--solver-ease-state),
    visibility 0s linear 500ms !important;
}

.step__desc-copy {
  display: block;
  padding-top: 9px;
  color: var(--solver-white-darker);
  font-size: 14px;
  line-height: 1.55;
  text-align: left !important;
}

.step-dark .step__desc-copy {
  color: var(--solver-white-dark);
}

.step[aria-current="step"] .step__desc {
  max-height: 160px;
  opacity: 1 !important;
  visibility: visible;
  transition:
    max-height 520ms var(--solver-ease-state),
    opacity 320ms var(--solver-ease-state) 60ms,
    visibility 0s !important;
}

.solver-step-progress {
  position: absolute;
  right: 12px;
  bottom: 0;
  left: 12px;
  height: 2px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--solver-purple-light-active);
  opacity: 0;
}

.solver-step-progress::after {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: var(--solver-purple);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
}

.step-dark .solver-step-progress {
  background: var(--solver-lime-darker);
}

.step-dark .solver-step-progress::after {
  background: var(--solver-lime);
}

.step[aria-current="step"] .solver-step-progress {
  opacity: 1;
}

.step[aria-current="step"] .solver-step-progress::after {
  animation: solver-step-load 5s linear forwards;
}

@keyframes solver-step-load {
  to {
    transform: scaleX(1);
  }
}

.proc__media {
  --solver-media-ratio: auto;
  position: relative !important;
  top: auto !important;
  /* Client: "Tego odstępu nie powinno być" — media must start at top of the steps column */
  align-self: start !important;
  width: calc(100% + var(--page-gutter));
  min-width: 0;
  max-height: none;
  aspect-ratio: auto;
  overflow: hidden;
  border: 0 !important;
  border-radius: var(--solver-radius-box) 0 0 0 !important;
  background: transparent !important;
  /* Client: "cienia brakuje. x0 y0" */
  box-shadow: 0 0 28px rgb(4 1 22 / 16%) !important;
}

[data-dark] .proc__media {
  background: transparent !important;
  box-shadow: 0 0 32px rgb(0 0 0 / 35%) !important;
}

.proc__media img {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  border-radius: inherit !important;
  object-fit: contain !important;
  object-position: right bottom !important;
  opacity: 1;
  transform: none !important;
  transition:
    opacity 420ms var(--solver-ease-state),
    transform 520ms var(--solver-ease-state) !important;
}

.proc__media.is-switching img {
  opacity: 0;
  transform: translateY(6px) !important;
}

/* Five-step timeline */
.solver-timeline {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: clamp(14px, 1.6vw, 24px) !important;
}

.solver-timeline > li {
  position: relative;
  min-width: 0;
  padding: 20px 0 8px !important;
  border: 0 !important;
  color: var(--solver-white-darker);
  text-align: left;
  cursor: pointer;
  transition: color 360ms var(--solver-ease);
}

.solver-timeline > li::before,
.solver-timeline > li::after {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  border-radius: 999px;
  content: "";
}

.solver-timeline > li::before {
  background: var(--solver-white-hover);
}

.solver-timeline > li::after {
  background: var(--solver-purple);
  transform: scaleX(0);
  transform-origin: left;
}

.solver-timeline > li[aria-current="step"] {
  color: var(--solver-off-black);
}

.solver-timeline > li[aria-current="step"]::after {
  animation: solver-timeline-load 5s linear forwards;
}

.solver-timeline > li[data-done="1"]::after {
  transform: scaleX(1);
}

.solver-timeline h3,
.solver-timeline span {
  color: inherit !important;
  text-align: left !important;
}

.solver-timeline > li > span:first-child {
  color: var(--solver-purple) !important;
}

[data-dark] .solver-timeline > li > span:first-child {
  color: var(--solver-lime) !important;
}

@keyframes solver-timeline-load {
  to {
    transform: scaleX(1);
  }
}

#proces-sprzedaz figure {
  position: relative;
  width: 100%;
  max-height: 470px;
  aspect-ratio: 16 / 8;
  overflow: hidden;
  border: 0 !important;
  border-radius: var(--solver-radius-box) !important;
  background: var(--solver-black-light) !important;
  box-shadow: var(--solver-shadow-box);
}

#proces-sprzedaz figure img {
  width: 100% !important;
  height: 100% !important;
  border-radius: inherit !important;
  object-fit: cover !important;
  object-position: 50% 44% !important;
  transition:
    opacity 420ms var(--solver-ease),
    object-position 650ms var(--solver-ease),
    transform 650ms var(--solver-ease) !important;
}

#proces-sprzedaz figure.is-switching img {
  opacity: 0.32;
  transform: scale(1.035);
}

#proces-sprzedaz figure figcaption {
  position: absolute;
  right: 12px;
  bottom: 12px;
  left: 12px;
  margin: 0 !important;
  padding: 11px 14px;
  border-radius: 8px;
  background: var(--solver-white-light);
  color: var(--solver-white-darker) !important;
  font-size: 12px !important;
  line-height: 1.45;
}

/* Solution rows */
.solution-row {
  display: grid !important;
  grid-template-areas:
    "number title cta"
    "number description cta";
  grid-template-columns: 44px minmax(0, 1fr) max-content !important;
  grid-template-rows: auto 1fr;
  column-gap: clamp(24px, 2.2vw, 40px) !important;
  row-gap: 10px;
  align-items: start !important;
  width: 100%;
  min-width: 0;
  padding: clamp(22px, 2vw, 30px) !important;
}

.solution-row__number {
  grid-area: number;
  min-width: 0;
  color: var(--solver-purple) !important;
}

[data-dark] .solution-row__number {
  color: var(--solver-lime) !important;
}

.solution-row__title {
  grid-area: title;
  min-width: 0;
  text-align: left !important;
}

.solution-row__description {
  grid-area: description;
  justify-self: stretch;
  min-width: 0;
  padding-top: 0 !important;
  text-align: left !important;
}

.solution-row__cta {
  grid-area: cta;
  display: inline-flex !important;
  min-height: 54px;
  align-items: center;
  align-self: end;
  justify-self: end;
  gap: 10px !important;
  padding: 0 8px 0 22px !important;
  border: 1px solid var(--solver-line-strong) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--solver-off-black) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 20px;
  white-space: nowrap;
  transition:
    background-color 320ms var(--solver-ease-state),
    border-color 320ms var(--solver-ease-state),
    color 320ms var(--solver-ease-state) !important;
}

[data-dark] .solution-row__cta {
  border-color: var(--solver-white) !important;
  background: transparent !important;
  color: var(--solver-white) !important;
}

[data-dark] .solution-row__cta .solver-cta__circle {
  background: var(--solver-white) !important;
  color: var(--solver-off-black) !important;
}

.solution-row:is(:hover, :focus-visible) .solution-row__cta {
  border-color: var(--solver-purple) !important;
  background: var(--solver-purple-light) !important;
  color: var(--solver-purple) !important;
}

[data-dark] .solution-row:is(:hover, :focus-visible) .solution-row__cta {
  border-color: var(--solver-lime) !important;
  background: var(--solver-lime) !important;
  color: var(--solver-off-black) !important;
}

[data-dark]
  .solution-row:is(:hover, :focus-visible)
  .solution-row__cta
  .solver-cta__circle {
  background: var(--solver-off-black) !important;
  color: var(--solver-white) !important;
}

.solution-row__cta .solver-cta__circle {
  width: 38px !important;
  height: 38px !important;
  flex-basis: 38px !important;
}

.solution-row:is(:hover, :focus-visible) .solver-cta__arrow {
  transform: translate3d(4px, 0, 0) !important;
}

/* Demo */
#demo [data-reveal="mask"] {
  position: relative;
  overflow: hidden;
  border-radius: var(--solver-radius-box) !important;
  box-shadow: var(--solver-shadow-box);
}

#demo [data-reveal="mask"].is-playing img,
#demo [data-reveal="mask"].is-playing .play-btn {
  display: none !important;
}

.solver-demo-video {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: none;
  width: 100%;
  height: 100%;
  background: var(--solver-off-black);
  object-fit: cover;
}

#demo [data-reveal="mask"].is-playing .solver-demo-video {
  display: block;
}

.play-btn {
  z-index: 2;
  border-radius: var(--solver-radius-box) !important;
  transition: background-color 420ms var(--solver-ease) !important;
}

.play-btn:is(:hover, :focus-visible) {
  background: rgba(5, 1, 23, 0.2) !important;
}

.play-btn span.disc {
  transition:
    background-color 420ms var(--solver-ease),
    transform 420ms var(--solver-ease) !important;
}

.play-btn:is(:hover, :focus-visible) span.disc {
  transform: scale(1.025) !important;
}

.play-btn::after {
  position: absolute;
  right: 18px;
  bottom: 18px;
  padding: 9px 12px;
  border-radius: 999px;
  background: var(--solver-black-hover);
  color: var(--solver-off-white);
  content: "Odtwórz demo · 00:12";
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* FAQ */
.solver-faq-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  columns: auto;
}

.solver-faq-grid [data-acc] {
  display: block;
  width: 100%;
  margin: 0;
  overflow: hidden;
  break-inside: avoid;
  border: 1px solid transparent !important;
  border-radius: var(--solver-radius-box) !important;
  background: var(--solver-white-light) !important;
  box-shadow: var(--solver-shadow-box) !important;
  vertical-align: top;
  transition:
    background-color 320ms var(--solver-ease),
    box-shadow 320ms var(--solver-ease) !important;
}

.solver-faq-grid [data-acc]:is(:hover, :focus-within) {
  border-color: transparent !important;
  background: var(--solver-off-white) !important;
  box-shadow: var(--solver-shadow-box-hover) !important;
}

.solver-faq-grid [data-acc][data-open="1"] {
  border-color: var(--solver-purple) !important;
  background: var(--solver-white-light) !important;
  box-shadow: var(--solver-shadow-box) !important;
}

.solver-faq-grid [data-acc-btn] {
  min-height: 68px;
  padding: 16px 18px !important;
  border: 0 !important;
  border-radius: var(--solver-radius-box) !important;
  background: transparent !important;
  color: var(--solver-off-black) !important;
  font-size: clamp(15px, 1.05vw, 17px) !important;
  text-align: left !important;
}

.solver-faq-grid [data-acc-panel] {
  overflow: hidden;
  transition:
    height 520ms var(--solver-ease-state),
    opacity 320ms var(--solver-ease-state) !important;
}

[data-acc-panel] {
  overflow: hidden !important;
  transition:
    height 520ms var(--solver-ease-state),
    opacity 320ms var(--solver-ease-state) !important;
}

.solver-faq-grid [data-acc-panel] p {
  padding: 0 18px 18px !important;
  color: var(--solver-white-darker) !important;
  font-size: 14.5px !important;
  line-height: 1.6 !important;
}

[data-acc-btn] > span:first-child {
  color: var(--solver-purple) !important;
}

[data-dark] [data-acc-btn] > span:first-child {
  color: var(--solver-lime) !important;
}

[data-acc-icon] {
  position: relative !important;
  display: grid !important;
  flex: 0 0 auto !important;
  width: 32px !important;
  height: 32px !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: var(--solver-off-black) !important;
  transition: transform 480ms var(--solver-ease) !important;
}

body.solver-page main section [data-acc-icon] > span[style] {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  margin: 0 !important;
  background: var(--solver-off-white) !important;
  transform: translate(-50%, -50%) !important;
}

[data-acc-icon] > span:first-child {
  width: 14px !important;
  height: 2px !important;
}

[data-acc-icon] > span:last-child {
  width: 2px !important;
  height: 14px !important;
}

/* Forms and calculators */
form {
  border: 0 !important;
  border-radius: var(--solver-radius-box) !important;
  background: var(--solver-white-light) !important;
  box-shadow: var(--solver-shadow-box) !important;
}

form label {
  color: var(--solver-off-black) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}

.solver-field,
.solver-field-shell {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 54px;
  border: 1px solid var(--solver-white-hover) !important;
  border-radius: var(--solver-radius-field) !important;
  background-color: var(--solver-off-white) !important;
  color: var(--solver-off-black) !important;
  box-shadow: none !important;
  transition:
    border-color 300ms var(--solver-ease),
    background-color 300ms var(--solver-ease),
    box-shadow 300ms var(--solver-ease) !important;
}

input.solver-field:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
select.solver-field {
  height: 54px !important;
  padding: 0 16px !important;
}

textarea.solver-field {
  min-height: 132px !important;
  padding: 15px 16px !important;
  resize: vertical;
}

select.solver-field {
  padding-right: 48px !important;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M3.25 5.25 7 9l3.75-3.75' stroke='%234101F6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 18px center !important;
  background-size: 14px 14px !important;
}

[data-dark] select.solver-field {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M3.25 5.25 7 9l3.75-3.75' stroke='%23C4F913' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

input[type="file"].solver-field {
  min-height: 54px;
  padding: 8px !important;
}

input[type="file"].solver-field::file-selector-button {
  height: 34px;
  margin-right: 12px;
  padding: 0 14px;
  border: 0;
  border-radius: 999px;
  background: var(--solver-purple-light);
  color: var(--solver-purple);
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}

.solver-field-shell {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 14px !important;
}

.solver-field-shell > .solver-field__control {
  width: auto !important;
  min-height: 0 !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.solver-field-shell > select.solver-field__control {
  flex: 0 0 auto !important;
  width: max-content !important;
  max-width: 88px !important;
  padding-right: 18px !important;
  color: var(--solver-white-darker) !important;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none'%3E%3Cpath d='M2.5 3.75 5 6.25l2.5-2.5' stroke='%23565656' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 2px center !important;
  background-size: 10px 10px !important;
}

.solver-field:hover,
.solver-field-shell:hover,
.solver-field:focus,
.solver-field-shell:focus-within {
  border-color: var(--solver-purple) !important;
  background-color: var(--solver-white-light) !important;
  box-shadow: none !important;
  outline: 0 !important;
}

[data-dark] .solver-field:hover,
[data-dark] .solver-field-shell:hover,
[data-dark] .solver-field:focus,
[data-dark] .solver-field-shell:focus-within {
  border-color: var(--solver-lime) !important;
}

.solver-field[aria-invalid="true"] {
  border-color: var(--solver-purple-active) !important;
  box-shadow: none !important;
}

.solver-field-error {
  display: block;
  margin-top: 6px;
  color: var(--solver-purple-active);
  font-size: 12px;
  line-height: 1.4;
}

input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--solver-purple);
}

form input[type="range"] {
  accent-color: var(--solver-purple) !important;
}

form input[type="range"]::-webkit-slider-thumb {
  border-color: var(--solver-off-white) !important;
  background: var(--solver-purple) !important;
}

form input[type="range"]::-moz-range-thumb {
  border-color: var(--solver-off-white) !important;
  background: var(--solver-purple) !important;
}

.solver-segment {
  border-radius: 6px !important;
}

.solver-stepper-control {
  border-radius: var(--solver-radius-field) !important;
  transition:
    background-color 320ms var(--solver-ease),
    border-color 320ms var(--solver-ease),
    color 320ms var(--solver-ease),
    transform 150ms var(--solver-ease) !important;
}

.solver-segment:is(:hover, :focus-visible),
.solver-stepper-control:is(:hover, :focus-visible) {
  border-color: var(--solver-purple) !important;
}

.solver-segment[aria-pressed="false"] {
  border: 1px solid var(--solver-line-light) !important;
  background: var(--solver-off-white) !important;
  color: var(--solver-off-black) !important;
}

.solver-segment[aria-pressed="true"] {
  border-color: var(--solver-purple) !important;
  background: var(--solver-purple) !important;
  color: var(--solver-off-white) !important;
}

.solver-segment:active,
.solver-stepper-control:active {
  transform: scale(0.98) !important;
}

#kontakt form,
#kontakt-finansowanie form,
#kontakt-sprzedaz form,
#kwalifikacja form {
  width: 100%;
  max-width: 100%;
  padding: clamp(24px, 2.8vw, 42px) !important;
  box-shadow: var(--solver-shadow-dark) !important;
}

form [style*="display:grid"] {
  min-width: 0;
  gap: 16px !important;
}

form fieldset,
form p,
form label,
form [style*="display:grid"],
form .solver-field,
form .solver-field-shell {
  max-width: 100%;
  min-width: 0;
}

form > button[type="submit"].solver-cta,
form > .solver-cta[type="submit"],
form :has(> button[type="submit"].solver-cta) {
  align-self: flex-end !important;
  justify-content: flex-end !important;
  margin-left: auto !important;
}

form button[type="submit"].solver-cta {
  width: fit-content !important;
  max-width: 100% !important;
}

#finansowanie-teaser .solver-field,
#finansowanie-teaser .solver-field-shell {
  height: 54px !important;
  min-height: 54px !important;
}

#finansowanie-teaser select.solver-field {
  padding-right: 48px !important;
}

#finansowanie-teaser .solver-cta {
  border-color: var(--solver-lime) !important;
  background: var(--solver-lime) !important;
  color: var(--solver-off-black) !important;
}

#finansowanie-teaser .solver-cta:is(:hover, :focus-visible) {
  border-color: var(--solver-lime-hover) !important;
  background: var(--solver-lime-hover) !important;
}

#kwalifikacja .solver-qualification-layout {
  align-items: start !important;
}

.solver-form-status {
  margin: 0;
  padding: 13px 15px;
  border-radius: var(--solver-radius-field);
  background: var(--solver-lime-light);
  color: var(--solver-off-black);
  font-size: 13px;
  line-height: 1.5;
}

[aria-live] {
  font-variant-numeric: tabular-nums;
}

/* Finance scope composition */
.solver-financing-scope__intro {
  grid-template-columns: minmax(0, 1fr) !important;
  margin-bottom: var(--space-row-xl) !important;
}

.solver-financing-scope__body {
  grid-template-columns: minmax(0, 0.9fr) minmax(440px, 1.1fr) !important;
  align-items: stretch !important;
  gap: var(--space-row-lg) !important;
  margin-top: 0 !important;
}

main > section.solver-financing-scope {
  padding-bottom: 0 !important;
}

.solver-financing-scope > div {
  padding-bottom: 0 !important;
}

.solver-financing-scope__copy {
  display: flex;
  min-height: 0;
  flex-direction: column;
  justify-content: flex-start;
  gap: 14px;
  padding-bottom: clamp(40px, 4vw, 64px);
}

.solver-financing-scope__copy p {
  margin: 0 !important;
}

.solver-financing-scope__body .solver-media {
  width: calc(100% + var(--page-gutter)) !important;
  --solver-media-ratio: 4 / 3;
  align-self: stretch !important;
  margin: clamp(22px, 2.4vw, 36px) 0 0 0 !important;
  border-radius: var(--solver-radius-box) 0 0 0 !important;
  box-shadow: none;
}

.solver-financing-preview-result {
  border-radius: var(--solver-radius-box) !important;
  background: var(--solver-white) !important;
  color: var(--solver-off-black) !important;
}

.solver-financing-scope__body .solver-media > img {
  padding: 0 !important;
  border-radius: inherit !important;
  object-fit: cover !important;
  object-position: right bottom !important;
}

/* Footer */
footer {
  padding: clamp(64px, 7vw, 104px) 0 28px !important;
  border: 0 !important;
  border-top: 1px solid var(--solver-line-dark) !important;
  background: var(--solver-black-dark) !important;
  color: var(--solver-off-white) !important;
}

footer > div {
  width: 100%;
  max-width: var(--content-max) !important;
  margin: 0 auto !important;
  padding: 0 var(--page-gutter) !important;
}

footer > div > div:first-child {
  display: grid !important;
  grid-template-columns: minmax(260px, 1.25fr) repeat(3, minmax(155px, 0.72fr)) !important;
  gap: clamp(42px, 5vw, 82px) !important;
  padding-bottom: clamp(42px, 5vw, 72px) !important;
  border-bottom: 1px solid var(--solver-line-dark) !important;
}

footer > div > div:first-child > div:first-child {
  padding-right: clamp(20px, 3vw, 52px);
}

footer > div > div:first-child > div:first-child img {
  width: auto !important;
  height: 46px !important;
}

footer > div > div:first-child > div:first-child p,
footer > div > div:first-child > div:last-child {
  color: var(--solver-text-on-dark-muted) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

footer > div > div:first-child > nav {
  display: flex !important;
  align-items: flex-start;
  flex-direction: column;
  gap: 12px !important;
}

footer > div > div:first-child > nav a,
footer > div > div:first-child > nav button {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--solver-off-white) !important;
  font-size: 14.5px !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
  transform: none !important;
}

footer > div > div:first-child > nav a::after,
footer > div > div:first-child > nav button::after {
  display: none !important;
  content: none !important;
}

footer > div > div:first-child > nav a:is(:hover, :focus-visible),
footer > div > div:first-child > nav button:is(:hover, :focus-visible) {
  color: var(--solver-lime) !important;
  transform: none !important;
}

footer > div > div:last-child {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 18px !important;
  padding-top: 22px !important;
  color: var(--solver-white-darker) !important;
  font-size: 12.5px !important;
}

.solver-footer__inner {
  width: 100%;
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0 var(--page-gutter);
}

.solver-footer__grid {
  display: grid;
  grid-template-columns: minmax(260px, 1.25fr) repeat(3, minmax(155px, 0.72fr));
  gap: clamp(42px, 5vw, 82px);
  padding-bottom: clamp(42px, 5vw, 72px);
  border-bottom: 1px solid var(--solver-black-light-active);
}

.solver-footer__brand {
  padding-right: clamp(20px, 3vw, 52px);
}

.solver-footer__brand img {
  width: auto;
  height: 42px;
}

.solver-footer__brand p {
  max-width: 34ch;
  margin: 22px 0 0;
  color: var(--solver-black-light-active);
  font-size: 14px;
  line-height: 1.65;
}

.solver-footer__info .solver-footer__address {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  color: var(--solver-black-light-active);
  font-size: 14px;
  font-style: normal;
  line-height: 1.65;
}

.solver-footer__info .solver-footer__address span {
  color: inherit;
  font: inherit;
}

.solver-footer__brand .solver-cta {
  margin-top: 22px;
}

.solver-footer__nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.solver-footer__label {
  margin-bottom: 4px;
  color: var(--solver-white-darker);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.solver-footer__nav a,
.solver-footer__nav button {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--solver-off-white);
  font-size: 14px;
  line-height: 1.45;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.solver-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-top: 22px;
  color: var(--solver-white-darker);
  font-size: 12.5px;
}

/* Mobile menu */
.solver-menu-toggle {
  position: relative;
  z-index: 12002;
  display: none;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--solver-off-black);
  cursor: pointer;
}

.solver-menu-toggle__icon,
.solver-menu-toggle__icon::before,
.solver-menu-toggle__icon::after {
  display: block;
  width: 22px;
  height: 1.5px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transition:
    opacity 260ms var(--solver-ease),
    transform 460ms var(--solver-ease),
    width 460ms var(--solver-ease);
}

.solver-menu-toggle__icon {
  position: relative;
}

.solver-menu-toggle__icon::before,
.solver-menu-toggle__icon::after {
  position: absolute;
  right: 0;
}

.solver-menu-toggle__icon::before {
  top: -7px;
  width: 15px;
}

.solver-menu-toggle__icon::after {
  top: 7px;
  width: 18px;
}

.solver-menu-toggle[aria-expanded="true"] .solver-menu-toggle__icon {
  background: transparent;
}

.solver-menu-toggle[aria-expanded="true"] .solver-menu-toggle__icon::before {
  top: 0;
  width: 22px;
  transform: rotate(45deg);
}

.solver-menu-toggle[aria-expanded="true"] .solver-menu-toggle__icon::after {
  top: 0;
  width: 22px;
  transform: rotate(-45deg);
}

.solver-mobile-panel {
  position: fixed;
  inset: 0;
  z-index: 11000;
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 28px;
  padding: calc(var(--header-h) + 34px) var(--page-gutter) 28px;
  background: var(--solver-off-white);
  color: var(--solver-off-black);
  opacity: 0;
  visibility: hidden;
  transform: translate3d(0, -18px, 0);
  transition:
    opacity 420ms var(--solver-ease),
    transform 540ms var(--solver-ease),
    visibility 0s linear 540ms;
}

.solver-mobile-panel[data-open="true"] {
  opacity: 1;
  visibility: visible;
  transform: translate3d(0, 0, 0);
  transition:
    opacity 420ms var(--solver-ease),
    transform 540ms var(--solver-ease),
    visibility 0s;
}

.solver-mobile-panel__nav {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 6px;
}

.solver-mobile-panel__nav a {
  width: 100%;
  padding: 8px 0;
  color: var(--solver-off-black);
  font-size: clamp(24px, 5.5vw, 42px);
  font-weight: 600;
  line-height: 1.16;
  text-decoration: none;
  transition:
    color 320ms var(--solver-ease),
    transform 420ms var(--solver-ease);
}

.solver-mobile-panel__nav a,
.solver-mobile-panel__nav a:is(:hover, :active, :focus, :focus-visible),
.solver-mobile-panel__nav a[aria-current="page"] {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.solver-mobile-panel__nav a:focus-visible {
  text-decoration: underline;
  text-decoration-color: var(--solver-purple);
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
}

.solver-mobile-panel__nav a:is(:hover, :focus-visible) {
  color: var(--solver-purple);
  transform: translateX(5px);
}

.solver-mobile-panel__nav a[aria-current="page"] {
  border: 0 !important;
  background: transparent !important;
  color: var(--solver-purple);
  transform: none;
}

.solver-mobile-panel > .solver-cta {
  justify-self: start;
}

body.solver-menu-open {
  overflow: hidden;
}

@media (max-width: 1279px) {
  :root {
    --section-compact: 72px;
    --section-regular: 96px;
    --section-large: 120px;
  }

  #kwalifikacja .solver-qualification-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 1199px) {
  header nav,
  header [data-nav-actions],
  header > div > nav ~ div {
    display: none !important;
  }

  .solver-menu-toggle {
    display: inline-flex;
    margin-left: auto;
  }

  .solver-hero-grid,
  .solver-hero-dsr__grid,
  .split,
  .hero-grid,
  [style*="grid-template-columns:minmax(0,1.05fr)"],
  [style*="grid-template-columns:minmax(0,1fr) minmax(0,1fr)"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .solver-hero--sales .solver-sales-hero-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .solver-hero--sales .solver-hero-collage--sales {
    width: min(100%, 760px);
    justify-self: end;
    margin-top: clamp(12px, 2vw, 24px);
  }

  .proc {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: clamp(26px, 4vw, 42px) !important;
  }

  .solver-financing-scope__body {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .solver-financing-scope__intro {
    margin-bottom: var(--space-row-lg) !important;
  }

  .proc__media {
    position: relative !important;
    top: auto !important;
    order: initial;
    width: calc(100% - var(--solver-process-media-inset) + var(--page-gutter));
    margin-left: var(--solver-process-media-inset) !important;
    --solver-process-media-inset: clamp(28px, 5vw, 72px);
  }

  .solution-row {
    grid-template-areas:
      "number title cta"
      ". description cta";
    grid-template-columns: 36px minmax(0, 1fr) max-content !important;
    row-gap: 12px;
  }

  .solver-footer__grid {
    grid-template-columns: minmax(240px, 1.2fr) repeat(2, minmax(150px, 0.8fr));
  }

  footer > div > div:first-child {
    grid-template-columns: minmax(240px, 1.2fr) repeat(2, minmax(150px, 0.8fr)) !important;
  }

  footer > div > div:first-child > div:last-child {
    grid-column: 2;
  }

  .solver-footer__nav:last-child {
    grid-column: 2;
  }

  section,
  section > div,
  section [style*="min-width"] {
    min-width: 0 !important;
  }
}

@media (max-width: 900px) {
  .solver-photo-tiles {
    display: grid !important;
    height: auto;
    grid-template-columns: minmax(0, 1fr);
  }

  .solver-photo-tile {
    min-height: 132px;
    transition:
      min-height 620ms var(--solver-ease-soft),
      border-color 360ms var(--solver-ease);
  }

  .solver-photo-tile[data-open="1"] {
    min-height: 360px;
  }

  .solver-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #kwalifikacja form [style*="grid-template-columns:repeat(2"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #faq .split {
    gap: 30px !important;
  }

  #faq h2 {
    position: static !important;
    max-width: 22ch !important;
  }

  .solver-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  footer > div > div:first-child {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  footer > div > div:first-child > div:first-child {
    grid-column: 1 / -1;
    padding-right: 0;
  }

  footer > div > div:first-child > div:last-child {
    grid-column: auto;
  }

  .solver-footer__brand {
    grid-column: 1 / -1;
    padding-right: 0;
  }

  .solver-footer__nav:last-child {
    grid-column: auto;
  }
}

@media (max-width: 767px) {
  :root {
    --page-gutter: 18px;
    --header-h: 68px;
    --section-compact: 48px;
    --section-regular: 64px;
    --section-large: 80px;
    --gap-regular: 30px;
    --gap-large: 44px;
    --card-pad: 22px;
  }

  header img {
    height: 40px !important;
  }

  .solver-hero__inner {
    padding-top: 28px !important;
    padding-bottom: var(--section-regular) !important;
  }

  .solver-financing-scope__intro {
    margin-bottom: var(--space-row-md) !important;
  }

  .solver-mockup-stage {
    min-height: clamp(280px, 88vw, 420px) !important;
  }

  .solver-financing-scope__body .solver-mockup-stage {
    min-width: 0 !important;
    min-height: clamp(190px, 64vw, 300px) !important;
    aspect-ratio: auto !important;
  }

  .solver-photo-tile[data-open="1"] {
    min-height: clamp(320px, 105vw, 440px);
  }

  .solver-photo-tile__trigger {
    padding: 22px 20px;
  }

  .solver-photo-tile__panel p {
    padding: 0 20px 22px;
  }

  .solver-hero .split {
    gap: 22px !important;
  }

  .solver-hero--sales .solver-hero-collage--sales {
    width: calc(100% - 8px);
    margin-top: 8px;
  }

  .solver-hero__actions {
    display: flex !important;
    align-items: center !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    width: 100%;
  }

  .solver-hero__actions .solver-cta {
    width: fit-content !important;
    max-width: 100% !important;
  }

  .solver-hero__actions .solver-link {
    justify-self: start;
    padding: 8px 0;
  }

  .solver-media,
  .solver-hero__media,
  #proces-sprzedaz figure {
    max-height: none;
    --solver-media-ratio: 4 / 3;
    aspect-ratio: var(--solver-media-ratio) !important;
  }

  .proc__media {
    max-height: none !important;
    aspect-ratio: auto !important;
  }

  .solver-cta--lg,
  .solver-cta--md,
  .solver-cta--sm {
    height: 54px !important;
    min-height: 54px !important;
  }

  form .solver-cta {
    width: fit-content !important;
    max-width: 100% !important;
  }

  .cards-4,
  .cards-3,
  [style*="grid-template-columns:repeat(4"],
  [style*="grid-template-columns:repeat(3"],
  [style*="grid-template-columns:repeat(2"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .solution-row {
    grid-template-areas:
      "number title"
      ". description"
      ". cta";
    grid-template-columns: 32px minmax(0, 1fr) !important;
    row-gap: 14px;
    padding: 22px 18px !important;
  }

  .solution-row__cta {
    justify-self: start;
    white-space: normal;
  }

  .step {
    padding: 14px !important;
  }

  .step__desc-copy {
    font-size: 13.5px;
  }

  .solver-timeline {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  .solver-timeline > li {
    padding: 16px 14px 14px 18px !important;
  }

  .solver-timeline > li::before,
  .solver-timeline > li::after {
    top: 12px;
    right: auto;
    bottom: 12px;
    left: 0;
    width: 3px;
    height: auto;
    transform-origin: top;
  }

  .solver-timeline > li[aria-current="step"]::after {
    animation-name: solver-timeline-load-y;
  }

  .solver-timeline > li[data-done="1"]::after {
    transform: scaleY(1);
  }

  @keyframes solver-timeline-load-y {
    from {
      transform: scaleY(0);
    }
    to {
      transform: scaleY(1);
    }
  }

  #demo [data-reveal="mask"] {
    aspect-ratio: 4 / 3 !important;
  }

  .play-btn::after {
    right: 12px;
    bottom: 12px;
    padding: 7px 10px;
    font-size: 11px;
  }

  #kontakt form,
  #kontakt-finansowanie form,
  #kontakt-sprzedaz form,
  #kwalifikacja form {
    padding: 22px !important;
  }

  .solver-financing-scope__copy {
    min-height: 0;
  }

  .solver-footer__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
  }

  footer > div > div:first-child {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 34px !important;
  }

  footer > div > div:first-child > div:first-child,
  footer > div > div:first-child > div:last-child {
    grid-column: auto;
  }

  footer > div > div:last-child {
    align-items: flex-start;
    flex-direction: column;
  }

  .solver-footer__brand,
  .solver-footer__nav:last-child {
    grid-column: auto;
  }

  .solver-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .solver-mobile-panel > .solver-cta {
    width: fit-content !important;
    max-width: 100%;
  }
}

@media (max-width: 420px) {
  :root {
    --page-gutter: 16px;
  }

  main h1,
  .solver-hero--home h1 {
    font-size: clamp(36px, 10.25vw, 40px) !important;
    line-height: 1.06 !important;
    hyphens: none !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  main h2 {
    font-size: 32px !important;
    hyphens: none !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .solver-cta {
    white-space: nowrap;
  }

  .solver-cta__label {
    white-space: nowrap;
  }
}

@media (max-width: 360px) {
  main h1,
  .solver-hero--home h1 {
    font-size: 34px !important;
  }

  main h2 {
    font-size: 30px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .solver-hero-collage__layer {
    opacity: 1;
    transform: none;
    animation: none !important;
  }

  .solver-hero-collage__layer img {
    transform: none;
    animation: none !important;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .solver-intro {
    display: none !important;
  }

  .solver-cta__label--clone {
    display: none !important;
  }

  .solver-cta__label--base,
  .solver-motion-ready [data-reveal],
  .solver-motion-ready [data-reveal] > * {
    opacity: 1 !important;
    clip-path: none !important;
    transform: none !important;
  }

  .solver-step-progress,
  .solver-timeline > li::after {
    display: none !important;
  }
}


/* === Client: sales hero must match UKŁAD graphic === */
.solver-hero--sales .solver-hero-collage--sales {
  --collage-float-distance: 0px;
  width: min(100%, 780px);
  aspect-ratio: 6024 / 4725;
  justify-self: end;
  overflow: hidden;
}

/* Prefer single UKŁAD composition (authoritative layout from client graphics) */
.solver-hero-collage--sales .solver-hero-collage__layer--sales-uklad {
  --enter-delay: 0ms;
  --float-duration: 0s;
  z-index: 3;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
  transform: none;
  animation: none;
}

.solver-hero-collage--sales .solver-hero-collage__layer--sales-uklad img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  border-radius: 14px;
  animation: none;
  filter: drop-shadow(0 16px 36px rgb(5 1 23 / 10%));
}

/* Hide misplaced multi-card layers when UKŁAD composite is present */
.solver-hero-collage--sales:has(.solver-hero-collage__layer--sales-uklad)
  .solver-hero-collage__layer--sales-strategy,
.solver-hero-collage--sales:has(.solver-hero-collage__layer--sales-uklad)
  .solver-hero-collage__layer--sales-profile,
.solver-hero-collage--sales:has(.solver-hero-collage__layer--sales-uklad)
  .solver-hero-collage__layer--sales-avg,
.solver-hero-collage--sales:has(.solver-hero-collage__layer--sales-uklad)
  .solver-hero-collage__layer--sales-capacity,
.solver-hero-collage--sales:has(.solver-hero-collage__layer--sales-uklad)
  .solver-hero-collage__layer--sales-structure {
  display: none !important;
}

/* Fallback multi-layer positions (if UKŁAD asset missing) */
.solver-hero-collage--sales .solver-hero-collage__layer--sales-strategy {
  --enter-delay: 80ms;
  --float-duration: 9.4s;
  z-index: 2;
  top: 0;
  left: 3%;
  width: 94%;
}

.solver-hero-collage--sales .solver-hero-collage__layer--sales-profile {
  --enter-delay: 220ms;
  --float-duration: 8.6s;
  z-index: 3;
  top: 16%;
  left: 0;
  width: 44%;
}

.solver-hero-collage--sales .solver-hero-collage__layer--sales-avg {
  --enter-delay: 360ms;
  --float-duration: 8.1s;
  z-index: 5;
  top: 24%;
  right: 0;
  width: 46%;
}

.solver-hero-collage--sales .solver-hero-collage__layer--sales-capacity {
  --enter-delay: 520ms;
  --float-duration: 9.1s;
  z-index: 4;
  left: 0;
  bottom: 0;
  width: 46%;
}

.solver-hero-collage--sales .solver-hero-collage__layer--sales-structure {
  --enter-delay: 680ms;
  --float-duration: 8.8s;
  z-index: 6;
  right: 0;
  bottom: 1%;
  width: 50%;
}

.solver-hero-collage--sales .solver-hero-collage__layer img {
  border-radius: 10px;
}

/* Client: remove speech-bubble / toast captions overlaid on graphics */
#proces-sprzedaz figure figcaption,
.solver-media > figcaption,
figure.solver-media figcaption,
.solver-hero__media figcaption,
.solver-hero-collage figcaption,
figure figcaption {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* === Debrief: copy split without photo === */
.solver-copy-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(24px, 3vw, 64px);
  align-items: start;
  width: 100%;
}

.solver-copy-split__note,
.solver-copy-split__right > p {
  margin: 14px 0 0;
  font-size: 14.5px;
  line-height: 1.6;
  color: #565656;
  max-width: 46ch;
}

.solver-copy-split__sub {
  margin: 0;
  font-size: clamp(20px, 1.8vw, 28px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  font-weight: 600;
  max-width: 22ch;
}

.solver-copy-split__left h2 {
  margin: 0;
}

@media (max-width: 767px) {
  .solver-copy-split {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }
}

/* Ensure process media images cover cleanly */
.proc__media img {
  object-fit: cover;
  object-position: center top;
}


/* Client gap fix: keep process intro + media stack tight */
#platforma .solver-process-section__inner,
#proces .solver-process-section__inner {
  gap: clamp(20px, 2.2vw, 32px) !important;
}

#platforma .proc,
#proces .proc {
  align-items: start !important;
}
