/* Origami Software: style motywu */

:root {
  --os-navy: #0b0b2e;
  --os-ink: #2a2a48;
  --os-muted: #4a4a68;
  --os-faint: #55557a;
  --os-violet: #5b3df5;
  --os-violet-text: #4c34d0;
  --os-lav: #efecfe;
  --os-mint: #2ee6a8;
  --os-soft: #f7f7fc;
  --os-line: #e6e6f0;
  --os-dark: #08081f;
  --os-grad: linear-gradient(135deg, #0b0b33 0%, #37279e 55%, #5b3df5 100%);
  --os-i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --os-i-tel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E");
  --os-i-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E");
  --os-i-check-violet: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B3DF5' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --os-i-check-navy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B0B2E' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --os-i-cross: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B42318' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E");
  --os-i-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B3DF5' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  --os-wave-hero: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 140' preserveAspectRatio='none'%3E%3Cpath d='M0 96 C 220 140, 470 150, 720 104 C 980 56, 1220 40, 1440 84 L 1440 141 L 0 141 Z' fill='%23fff'/%3E%3C/svg%3E");
  --os-wave-hero-soft: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 140' preserveAspectRatio='none'%3E%3Cpath d='M0 96 C 220 140, 470 150, 720 104 C 980 56, 1220 40, 1440 84 L 1440 141 L 0 141 Z' fill='%23F7F7FC'/%3E%3C/svg%3E");
  --os-wave-a-top: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H1440 V48 C1180 104, 940 112, 700 78 C460 44, 230 36, 0 82 Z' fill='%23F7F7FC'/%3E%3C/svg%3E");
  --os-wave-a-bottom: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0 121 V70 C250 26, 500 18, 740 48 C980 78, 1210 92, 1440 52 V121 Z' fill='%23fff'/%3E%3C/svg%3E");
  --os-wave-b-top: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H1440 V70 C1200 30, 960 22, 720 52 C480 82, 240 96, 0 56 Z' fill='%23fff'/%3E%3C/svg%3E");
  --os-wave-b-bottom: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0 121 V56 C260 100, 520 104, 760 70 C1000 36, 1230 30, 1440 64 V121 Z' fill='%23fff'/%3E%3C/svg%3E");
  --os-fold-big: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Cg opacity='.09'%3E%3Cpolygon fill='%23fff' points='10,170 390,30 190,215'/%3E%3Cpolygon fill='%23fff' fill-opacity='.55' points='190,215 390,30 255,385'/%3E%3Cpolygon fill='%23fff' fill-opacity='.3' points='190,215 255,385 160,330'/%3E%3C/g%3E%3C/svg%3E");
  --os-fold-small: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Cg opacity='.07' transform='rotate(-28 200 200)'%3E%3Cpolygon fill='%23fff' points='10,170 390,30 190,215'/%3E%3Cpolygon fill='%23fff' fill-opacity='.55' points='190,215 390,30 255,385'/%3E%3C/g%3E%3C/svg%3E");
  --os-fold-cta: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Cg opacity='.12'%3E%3Cpolygon fill='%23fff' points='10,170 390,30 190,215'/%3E%3Cpolygon fill='%23fff' fill-opacity='.55' points='190,215 390,30 255,385'/%3E%3Cpolygon fill='%23fff' fill-opacity='.3' points='190,215 255,385 160,330'/%3E%3C/g%3E%3C/svg%3E");
}

/* Podstawy */
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: #fff;
}
.os-page {
  position: relative;
  font-family: "Plus Jakarta Sans", Inter, system-ui, -apple-system, sans-serif;
  color: var(--os-navy);
  background: #fff;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
body :is(h1, h2, h3, p, ul, ol, dl, dd, figure, blockquote) {
  margin: 0;
}
body img {
  max-width: 100%;
  height: auto;
}
body a {
  color: inherit;
}
.os-skip {
  position: absolute;
  left: -9999px;
  top: 8px;
  z-index: 100;
  padding: 10px 16px;
  border-radius: 10px;
  background: #fff;
  color: var(--os-navy);
}
.os-skip:focus {
  left: 8px;
}
.os-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Nagłówek */
.os-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 30;
  color: #fff;
}
.admin-bar .os-header {
  top: 0;
}
.os-header__bar {
  max-width: 1200px;
  margin: 0 auto;
  padding: 22px 24px;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 32px;
}
body a.os-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  color: #fff;
  text-decoration: none;
}
.os-logo__text {
  font-size: 21px;
  font-weight: 800;
  letter-spacing: -0.03em;
}
.os-logo__text span {
  font-weight: 500;
  opacity: 0.8;
}
body a.os-logo--dark {
  color: var(--os-navy);
}
.os-logo--dark .os-logo__text span {
  opacity: 1;
  color: var(--os-muted);
}
.os-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 28px;
}
body .os-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
}
body .os-nav a:hover {
  color: #fff;
}
body .os-nav a[aria-current="page"] {
  color: #fff;
  font-weight: 700;
  text-decoration: underline 2px var(--os-mint);
  text-underline-offset: 8px;
}
.os-header__actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
body a.os-call {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--os-mint);
}
body a.os-nav-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 26px;
  border: 1.5px solid rgba(255, 255, 255, 0.75);
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
  font-size: 15px;
  font-weight: 700;
}
.os-burger {
  display: none;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border-radius: 14px;
  border: 1.5px solid rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  cursor: pointer;
}
.os-ic-close {
  display: none;
}
.is-menu-open .os-ic-close {
  display: block;
}
.is-menu-open .os-ic-menu {
  display: none;
}
.os-mobile-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 16px;
  right: 16px;
  flex-direction: column;
  gap: 4px;
  padding: 12px;
  border-radius: 22px;
  background: #0f0f3a;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: rgba(0, 0, 0, 0.6) 0 30px 60px -20px;
}
.os-mobile-menu[hidden] {
  display: none !important;
}
.os-mobile-menu nav {
  display: flex;
  flex-direction: column;
}
body .os-mobile-menu nav a {
  display: flex;
  align-items: center;
  min-height: 52px;
  padding: 0 16px;
  border-radius: 14px;
  color: #fff;
  text-decoration: none;
  font-size: 17px;
  font-weight: 600;
}
body .os-mobile-menu nav a:hover {
  background: rgba(255, 255, 255, 0.08);
}
body a.os-mobile-menu__cta,
body a.os-mobile-menu__tel {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 16px;
}
body a.os-mobile-menu__cta {
  margin-top: 8px;
  background: var(--os-mint);
  color: var(--os-navy);
  font-weight: 800;
}
body a.os-mobile-menu__tel {
  border: 1.5px solid rgba(255, 255, 255, 0.4);
  color: #fff;
  font-weight: 700;
}
@media (max-width: 1080px) {
  .os-nav,
  .os-nav-cta {
    display: none !important;
  }
  .os-burger {
    display: inline-flex;
  }
  .os-mobile-menu {
    display: flex;
  }
}

/* Hero */
.os-hero {
  position: relative;
  display: flow-root;
  color: #fff;
  background:
    var(--os-wave-hero) left bottom -1px / 100% 140px no-repeat,
    linear-gradient(160deg, #07072b 0%, #2e2189 52%, #5b3df5 100%);
}
.os-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(255, 255, 255, 0.16) 1px, transparent 1.5px);
  background-size: 28px 28px;
  -webkit-mask-image: radial-gradient(70% 60% at 50% 40%, #000 0%, transparent 78%);
  mask-image: radial-gradient(70% 60% at 50% 40%, #000 0%, transparent 78%);
}
.os-hero__inner {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  max-width: 1200px;
  margin: 0 auto;
  padding: 132px 24px 170px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 22px;
}
.os-hero h1 {
  max-width: 900px;
  font-size: clamp(38px, 5.6vw, 72px);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -0.035em;
  text-wrap: balance;
}
.os-hero__lead {
  max-width: 720px;
  font-size: clamp(18px, 1.6vw, 21px);
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.86);
  text-wrap: pretty;
}
.os-hero__inner > *,
.os-hero__inner > .os-col > * {
  animation: osUp 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}
.os-hero__inner > :nth-child(2),
.os-hero__inner > .os-col > :nth-child(2) {
  animation-delay: 0.12s;
}
.os-hero__inner > :nth-child(3),
.os-hero__inner > .os-col > :nth-child(3) {
  animation-delay: 0.24s;
}
.os-hero__inner > :nth-child(n + 4),
.os-hero__inner > .os-col > :nth-child(n + 4) {
  animation-delay: 0.36s;
}
.os-hero__inner > .os-col {
  animation: none;
}

.os-hero--home {
  background:
    var(--os-wave-hero) left bottom -1px / 100% 140px no-repeat,
    var(--os-fold-big) right -90px top 120px / 440px no-repeat,
    var(--os-fold-small) left -110px top 330px / 300px no-repeat,
    linear-gradient(160deg, #07072b 0%, #2e2189 52%, #5b3df5 100%);
}
.os-hero--home::before {
  -webkit-mask-image: radial-gradient(70% 55% at 50% 28%, #000 0%, transparent 78%);
  mask-image: radial-gradient(70% 55% at 50% 28%, #000 0%, transparent 78%);
}
.os-hero--home .os-hero__inner {
  max-width: 1000px;
  padding: 164px 24px 0;
  align-items: center;
  gap: 24px;
  text-align: center;
}
.os-hero--home h1 {
  font-size: clamp(34px, 6vw, 80px);
  line-height: 1.1;
}
.os-hero--home .os-hero__lead {
  max-width: 680px;
  font-size: 19px;
  color: rgba(255, 255, 255, 0.84);
}
.os-hero--home .wp-block-buttons {
  justify-content: center;
}
.os-hero--home .is-style-os-mint .wp-block-button__link {
  box-shadow: rgba(0, 0, 0, 0.55) 0 14px 32px -12px;
}
.os-hero__pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 14px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.92);
}
.os-hero__pill::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--os-mint);
}
.os-ticker {
  display: block;
  height: 1.1em;
  overflow: hidden;
}
.os-tick {
  display: block;
  color: var(--os-mint);
  animation: osTick 9s cubic-bezier(0.77, 0, 0.18, 1) infinite;
}
.os-tick span {
  display: block;
  height: 1.1em;
  white-space: nowrap;
}
.os-hero--fold {
  background:
    var(--os-wave-hero) left bottom -1px / 100% 140px no-repeat,
    var(--os-fold-big) right -90px top 60px / 420px no-repeat,
    linear-gradient(160deg, #07072b 0%, #2e2189 52%, #5b3df5 100%);
}
.os-hero--legal .os-hero__inner {
  padding-bottom: 150px;
  gap: 20px;
}
.os-hero--legal h1 {
  font-size: clamp(36px, 5vw, 64px);
  line-height: 1.1;
}
.os-hero--legal .os-hero__lead {
  font-size: 17px;
  color: rgba(255, 255, 255, 0.84);
}
.os-hero--split .os-hero__inner {
  padding: 124px 24px 170px;
  display: grid;
  align-items: center;
}
.os-hero--split h1 {
  font-size: clamp(38px, 5vw, 64px);
}
.os-hero--split .os-hero__lead {
  max-width: 580px;
  font-size: clamp(17px, 1.5vw, 20px);
}
.os-hero--case .os-hero__inner {
  padding-bottom: 170px;
}
.os-hero--case-shot {
  background:
    var(--os-wave-hero) left bottom -1px / 100% 140px no-repeat,
    linear-gradient(160deg, #07072b 0%, #2e2189 52%, #5b3df5 100%);
}
.os-hero--case-shot .os-hero__inner {
  padding-bottom: 0;
}
.os-hero--404 {
  background:
    var(--os-wave-hero-soft) left bottom -1px / 100% 140px no-repeat,
    linear-gradient(160deg, #07072b 0%, #2e2189 52%, #5b3df5 100%);
}
.os-hero--404 .os-hero__inner {
  max-width: 820px;
  padding: 148px 24px 200px;
  align-items: center;
  text-align: center;
}
.os-hero--404 h1 {
  font-size: clamp(32px, 4.6vw, 56px);
  line-height: 1.1;
}
.os-hero--404 .os-hero__lead {
  max-width: 560px;
  font-size: 18px;
}
.os-hero--404 .wp-block-buttons {
  justify-content: center;
}
.os-404 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.os-404 span {
  font-size: clamp(120px, 20vw, 220px);
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.06em;
  color: rgba(255, 255, 255, 0.12);
}
.os-404 svg {
  position: absolute;
  width: clamp(120px, 16vw, 180px);
  height: auto;
}
.os-crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  font-size: 14px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.75);
}
body .os-crumbs a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
}
.os-crumbs [aria-current] {
  color: #fff;
}

/* Sekcje */
.os-sec {
  position: relative;
  padding: 112px 24px;
  background: #fff;
}
.os-sec--soft {
  background: var(--os-soft);
}
.os-sec--after-hero {
  padding: 250px 24px 120px;
}
.os-sec--tight-top {
  padding-top: 40px;
}
.os-sec--list {
  padding: 24px 24px 120px;
}
.os-sec--form {
  padding: 16px 24px 112px;
}
.os-sec--legal {
  padding: 24px 24px 112px;
}
.os-sec--watermark {
  overflow: hidden;
  padding: 120px 24px;
}
.os-sec--watermark::before {
  content: "origami";
  position: absolute;
  left: 50%;
  top: 30px;
  transform: translateX(-50%);
  font-size: clamp(120px, 20vw, 300px);
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 1;
  color: rgba(91, 61, 245, 0.06);
  white-space: nowrap;
  pointer-events: none;
}
.os-sec--watermark > * {
  position: relative;
}
.os-sec--dark {
  color: #fff;
  background-color: var(--os-dark);
}
.os-waves-a.os-sec--glow-right {
  padding: 180px 24px 190px;
  background:
    var(--os-wave-a-top) left top -1px / 100% 120px no-repeat,
    var(--os-wave-a-bottom) left bottom -1px / 100% 120px no-repeat,
    radial-gradient(55% 70% at 82% 50%, rgba(91, 61, 245, 0.38) 0%, rgba(8, 8, 31, 0) 70%),
    var(--os-dark);
}
.os-waves-b.os-sec--glow-bottom {
  padding: 180px 24px 200px;
  background:
    var(--os-wave-b-top) left top -1px / 100% 120px no-repeat,
    var(--os-wave-b-bottom) left bottom -1px / 100% 120px no-repeat,
    radial-gradient(60% 55% at 50% 100%, rgba(91, 61, 245, 0.5) 0%, rgba(8, 8, 31, 0) 72%),
    var(--os-dark);
}
.os-wrap {
  box-sizing: border-box;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.os-stack-36,
.os-stack-40,
.os-stack-48,
.os-stack-56,
.os-stack-64,
.os-stack-80 {
  display: flex;
  flex-direction: column;
}
.os-stack-36 {
  gap: 36px;
}
.os-stack-40 {
  gap: 40px;
}
.os-stack-48 {
  gap: 48px;
}
.os-stack-56 {
  gap: 56px;
}
.os-stack-64 {
  gap: 64px;
}
.os-stack-80 {
  gap: 80px;
}
.os-grid {
  display: grid;
  gap: 24px;
}
.os-grid--3 {
  grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
}
.os-grid--3-fill {
  grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr));
}
.os-grid--4 {
  grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
}
.os-grid--split {
  grid-template-columns: repeat(auto-fit, minmax(min(460px, 100%), 1fr));
  gap: 56px 64px;
  align-items: center;
}
.os-grid--split-420 {
  grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr));
  gap: 40px 64px;
  align-items: center;
}
.os-grid--faq {
  grid-template-columns: repeat(auto-fit, minmax(min(380px, 100%), 1fr));
  gap: 48px 64px;
  align-items: start;
}
.os-grid--team {
  grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
  gap: 32px 24px;
}
.os-grid--stats {
  grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
  gap: 20px;
}
.os-grid--features {
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  gap: 16px;
}
.os-head {
  max-width: 720px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}
.os-head--center {
  margin: 0 auto;
  align-items: center;
  text-align: center;
}
.os-head-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}
.os-head-row .os-head {
  max-width: 620px;
}
.os-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}
.os-eyebrow {
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--os-violet-text);
}
.os-sec--dark .os-eyebrow {
  color: var(--os-mint);
}
.os-sec h2 {
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.03em;
  text-wrap: balance;
}
.os-lead {
  font-size: 18px;
  line-height: 1.6;
  color: var(--os-muted);
  text-wrap: pretty;
}
.os-col .os-lead {
  line-height: 1.65;
}
.os-sec--dark .os-lead {
  color: rgba(255, 255, 255, 0.8);
}

/* Przyciski */
.wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
}
body .wp-block-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 56px;
  padding: 0 32px;
  box-sizing: border-box;
  border-radius: 999px;
  background: none;
  color: inherit;
  text-decoration: none;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.2;
}
body .is-style-os-mint .wp-block-button__link {
  background: var(--os-mint);
  color: var(--os-navy);
}
body .is-style-os-outline .wp-block-button__link {
  padding: 0 26px;
  border: 1.5px solid rgba(255, 255, 255, 0.6);
  color: #fff;
  font-weight: 700;
}
body .is-style-os-underline .wp-block-button__link {
  padding: 0 22px;
  color: #fff;
  text-decoration: underline rgba(255, 255, 255, 0.4);
  text-underline-offset: 6px;
  font-weight: 700;
}
body .is-style-os-plain .wp-block-button__link {
  padding: 0;
  color: #fff;
  font-weight: 700;
}
body .is-style-os-arrow .wp-block-button__link {
  min-height: 44px;
  padding: 0;
  gap: 8px;
  color: var(--os-violet-text);
  font-size: 16px;
}
.os-sec--dark .is-style-os-arrow .wp-block-button__link {
  color: var(--os-mint);
}
body .is-style-os-mint .wp-block-button__link::after,
body .is-style-os-arrow .wp-block-button__link::after,
.os-head-row .wp-block-button__link::after,
.wp-block-button__link[href^="tel:"]::before,
.wp-block-button__link[href^="mailto:"]::before {
  content: "";
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: var(--os-i-arrow) center / contain no-repeat;
  mask: var(--os-i-arrow) center / contain no-repeat;
}
.wp-block-button__link[href^="tel:"]::before {
  -webkit-mask-image: var(--os-i-tel);
  mask-image: var(--os-i-tel);
}
.wp-block-button__link[href^="mailto:"]::before {
  -webkit-mask-image: var(--os-i-mail);
  mask-image: var(--os-i-mail);
}
body .os-head-row .wp-block-button__link {
  min-height: 52px;
  padding: 0 28px;
  border-color: rgba(255, 255, 255, 0.75);
  font-size: 16px;
}

/* Karty */
.os-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 30px 28px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid var(--os-line);
}
.os-card h3 {
  font-size: 20px;
  font-weight: 800;
}
.os-card > p {
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--os-muted);
}
.os-card--lg {
  gap: 18px;
  padding: 36px 32px;
  box-shadow: rgba(20, 20, 70, 0.3) 0 24px 48px -32px;
}
.os-card--lg h3 {
  font-size: 24px;
  letter-spacing: -0.02em;
}
.os-card--lg > p {
  font-size: 16.5px;
}
.os-card .wp-block-buttons {
  margin-top: auto;
}
.os-card--lg .wp-block-button__link {
  font-size: 15px !important;
}
.os-values .os-card {
  padding: 32px 28px;
}
.os-icon {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: var(--os-lav);
  display: grid;
  place-items: center;
}
.os-icon svg {
  width: 24px;
  height: 24px;
}
.os-card--lg .os-icon {
  width: 60px;
  height: 60px;
  border-radius: 18px;
}
.os-card--lg .os-icon svg {
  width: 28px;
  height: 28px;
}
.os-values .os-icon {
  width: 56px;
  height: 56px;
}

/* Listy */
body :is(.os-checks, .os-numbered, .os-crosses, .os-tags) {
  padding: 0;
  list-style: none;
}
.os-checks {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.os-checks li {
  position: relative;
  min-height: 22px;
  padding-left: 32px;
  font-size: 15.5px;
  line-height: 22px;
  font-weight: 600;
  color: var(--os-ink);
}
.os-checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--os-lav) var(--os-i-check-violet) center / 12px no-repeat;
}
.os-checks--mint {
  margin-top: 6px !important;
  gap: 14px;
}
.os-checks--mint li {
  min-height: 26px;
  padding-left: 38px;
  font-size: 16.5px;
  line-height: 26px;
  color: #fff;
}
.os-checks--mint li::before {
  width: 26px;
  height: 26px;
  background: var(--os-mint) var(--os-i-check-navy) center / 14px no-repeat;
}
.os-checks--boxes {
  gap: 12px;
}
.os-checks--boxes li {
  padding: 18px 20px 18px 62px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid var(--os-line);
  font-size: 16.5px;
  line-height: 1.5;
  color: var(--os-navy);
}
.os-checks--boxes li::before {
  left: 20px;
  top: 50%;
  width: 28px;
  height: 28px;
  transform: translateY(-50%);
  background: var(--os-mint) var(--os-i-check-navy) center / 15px no-repeat;
}
.os-numbered {
  width: 100%;
  margin-top: 8px !important;
  counter-reset: os-num;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.os-numbered li {
  counter-increment: os-num;
  position: relative;
  box-sizing: border-box;
  min-height: 76px;
  padding: 18px 20px 18px 76px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid var(--os-line);
  font-size: 15px;
  line-height: 1.55;
  color: var(--os-muted);
}
.os-numbered li::before {
  content: counter(os-num);
  position: absolute;
  left: 20px;
  top: 18px;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--os-lav);
  color: var(--os-violet-text);
  display: grid;
  place-items: center;
  font-size: 15px;
  font-weight: 800;
}
.os-numbered li:last-child::before {
  background: var(--os-mint);
  color: var(--os-navy);
}
.os-numbered strong {
  display: block;
  margin-bottom: 4px;
  font-size: 17px;
  font-weight: 800;
  color: var(--os-navy);
}
.os-numbered br {
  display: none;
}
.os-numbered--sm {
  margin-top: 0 !important;
}
.os-numbered--sm li {
  min-height: 28px;
  padding: 0 0 0 40px;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--os-ink);
}
.os-numbered--sm li::before {
  left: 0;
  top: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--os-violet);
  color: #fff;
  font-size: 13px;
}
.os-crosses {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.os-crosses li {
  position: relative;
  padding-left: 36px;
  font-size: 16.5px;
  line-height: 1.55;
  color: var(--os-ink);
}
.os-crosses li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fdecec var(--os-i-cross) center / 12px no-repeat;
}

/* Kroki */
.os-steps {
  counter-reset: os-step;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
  gap: 24px;
}
.os-step {
  counter-increment: os-step;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 28px;
  border-radius: 22px;
  background: var(--os-soft);
}
.os-step::before {
  content: counter(os-step, decimal-leading-zero);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--os-violet);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 18px;
  font-weight: 800;
}
.os-step:last-child::before {
  background: var(--os-mint);
  color: var(--os-navy);
}
.os-step h3 {
  margin-top: 4px;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.01em;
}
.os-step p {
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--os-muted);
}
.os-steps--sm .os-step {
  gap: 12px;
}
.os-steps--sm .os-step::before {
  width: 52px;
  height: 52px;
  font-size: 17px;
}
.os-steps--sm h3 {
  font-size: 19px;
  letter-spacing: 0;
}
.os-steps--sm p {
  font-size: 15px;
}

/* FAQ */
.os-faq {
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--os-line);
}
.os-faq details {
  border-bottom: 1px solid var(--os-line);
}
.os-faq summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 44px;
  padding: 20px 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--os-navy);
}
.os-faq summary::-webkit-details-marker {
  display: none;
}
.os-faq summary::after {
  content: "";
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--os-lav) var(--os-i-chev) center / 18px no-repeat;
  transition: transform 0.2s ease;
}
.os-sec--soft .os-faq summary::after {
  background-color: #fff;
}
.os-faq details[open] summary::after {
  transform: rotate(180deg);
}
.os-faq details p {
  padding: 0 52px 24px 0;
  font-size: 16px;
  line-height: 1.65;
  color: var(--os-muted);
}

/* Wezwanie do działania */
.os-cta-sec--flush {
  padding-top: 0;
}
.os-cta {
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  max-width: 1200px;
  margin: 0 auto;
  padding: clamp(56px, 7vw, 88px) 32px;
  border-radius: 32px;
  background: var(--os-grad);
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
  text-align: center;
}
.os-cta--fold {
  background:
    var(--os-fold-cta) right -50px bottom -70px / 340px no-repeat,
    var(--os-grad);
}
.os-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(255, 255, 255, 0.14) 1px, transparent 1.5px);
  background-size: 26px 26px;
  -webkit-mask-image: radial-gradient(60% 80% at 15% 20%, #000 0%, transparent 70%);
  mask-image: radial-gradient(60% 80% at 15% 20%, #000 0%, transparent 70%);
}
.os-cta > * {
  position: relative;
}
.os-cta h2 {
  font-size: clamp(34px, 4.6vw, 56px);
  line-height: 1.1;
  letter-spacing: -0.035em;
}
.os-cta p {
  max-width: 620px;
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.85);
  text-wrap: pretty;
}
.os-cta .wp-block-buttons {
  justify-content: center;
  gap: 12px 24px;
  margin-top: 6px;
}

/* Realizacje */
.os-projects {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
}
.os-projects--jasny {
  gap: 48px 24px;
  grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr));
}
.os-project {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
article.os-project[hidden] {
  display: none;
}
.os-project__media {
  display: block;
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 4 / 3;
}
.os-project__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.os-project__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
}
.os-pill-tag {
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--os-lav);
  color: var(--os-violet-text);
  font-size: 12.5px;
  font-weight: 800;
}
.os-projects--ciemny .os-pill-tag {
  background: rgba(255, 255, 255, 0.08);
  color: var(--os-mint);
}
.os-project__industry {
  font-size: 14px;
  color: var(--os-faint);
}
.os-project h3 {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.01em;
}
body .os-project h3 a {
  text-decoration: none;
}
.os-project__text {
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--os-muted);
}
.os-projects--ciemny .os-project__text {
  color: rgba(255, 255, 255, 0.75);
}
.os-project__result {
  position: relative;
  padding: 12px 14px 12px 52px;
  border-radius: 14px;
  background: var(--os-soft);
  font-size: 14.5px;
  font-weight: 700;
  color: var(--os-ink);
}
.os-project__result::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  width: 28px;
  height: 28px;
  transform: translateY(-50%);
  border-radius: 50%;
  background: var(--os-mint) var(--os-i-check-navy) center / 15px no-repeat;
}
body a.os-project__link {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  color: var(--os-violet-text);
  text-decoration: none;
  font-size: 15px;
  font-weight: 800;
}
body .os-projects--ciemny a.os-project__link {
  color: var(--os-mint);
}
.os-project__link::after {
  content: "";
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask: var(--os-i-arrow) center / contain no-repeat;
  mask: var(--os-i-arrow) center / contain no-repeat;
}
.os-projects-count {
  margin-bottom: 32px !important;
  font-size: 15px;
  font-weight: 700;
  color: var(--os-faint);
}
.os-empty {
  font-size: 17px;
  opacity: 0.8;
}
.os-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 6px;
}
.os-filter {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}
.os-filter span {
  font-size: 12.5px;
  font-weight: 800;
  opacity: 0.75;
}
.os-filter[aria-pressed="true"] {
  background: var(--os-mint);
  color: var(--os-navy);
  border-color: var(--os-mint);
}

/* O nas */
.os-member {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.os-member h3 {
  margin-top: 4px;
  font-size: 21px;
  font-weight: 800;
}
.os-member > p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--os-muted);
}
.os-member > p.os-member__role {
  font-weight: 700;
  color: var(--os-violet-text);
}
body .os-member__link a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-weight: 800;
  color: var(--os-navy);
}
.os-member__photo {
  position: relative;
  aspect-ratio: 1 / 1;
  border-radius: 24px;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: #1d1a5e;
  --os-bubble: var(--os-violet);
}
.os-member__photo--teal {
  background: #123b44;
  --os-bubble: #1e6b66;
}
.os-member__photo--plum {
  background: #3b1d57;
  --os-bubble: #6a3a93;
}
.os-member__initials {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: var(--os-bubble);
  display: grid;
  place-items: center;
  font-size: 34px;
  font-weight: 800;
  color: #fff;
}
.os-member__photo .wp-block-image {
  position: absolute;
  inset: 0;
}
.os-member__photo .wp-block-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Kontakt */
.os-contact {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  align-items: flex-start;
}
.os-form-card {
  flex: 3 1 560px;
  min-width: 0;
  box-sizing: border-box;
  padding: clamp(24px, 4vw, 44px);
  border-radius: 28px;
  background: #fff;
  border: 1px solid var(--os-line);
  box-shadow: rgba(20, 20, 70, 0.35) 0 30px 70px -40px;
}
.os-contact__side {
  flex: 2 1 320px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.os-form {
  display: flex;
  flex-direction: column;
  gap: 26px;
}
.os-form[hidden],
.os-form-success[hidden] {
  display: none !important;
}
.os-form__head {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.os-form__head h2 {
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.02em;
}
.os-form__head p {
  font-size: 15px;
  color: var(--os-muted);
}
.os-form fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}
.os-form legend {
  padding: 0;
  margin-bottom: 12px;
  font-size: 15px;
  font-weight: 800;
}
.os-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.os-pill {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1.5px solid #dcdce8;
  background: #fff;
  font-size: 15px;
  font-weight: 700;
  color: var(--os-ink);
  cursor: pointer;
  transition:
    background 0.15s ease,
    color 0.15s ease,
    border-color 0.15s ease;
}
.os-pill:hover {
  border-color: #9c9cb8;
}
.os-pill:has(input:checked) {
  background: var(--os-navy);
  color: #fff;
  border-color: var(--os-navy);
}
.os-pill:has(input:focus-visible) {
  outline: 3px solid var(--os-violet);
  outline-offset: 2px;
}
.os-form__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
  gap: 18px;
}
.os-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.os-field label {
  font-size: 14.5px;
  font-weight: 700;
}
.os-input {
  width: 100%;
  height: 52px;
  padding: 0 16px;
  box-sizing: border-box;
  border-radius: 14px;
  border: 1.5px solid #dcdce8;
  background: #fff;
  font-family: inherit;
  font-size: 16px;
  color: var(--os-navy);
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease;
}
textarea.os-input {
  height: auto;
  min-height: 150px;
  padding: 14px 16px;
  line-height: 1.5;
  resize: vertical;
}
.os-input:focus {
  outline: none;
  border-color: var(--os-violet);
  box-shadow: 0 0 0 4px rgba(91, 61, 245, 0.16);
}
.os-input::placeholder {
  color: #8a8aa3;
}
.os-hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.os-consent {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 14px;
  line-height: 1.55;
  color: var(--os-muted);
  cursor: pointer;
}
.os-consent input {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin: 2px 0 0;
  accent-color: var(--os-violet);
}
body .os-consent a,
body .os-form-success a:not(.os-btn-mint) {
  color: var(--os-violet-text);
  font-weight: 700;
}
.os-form__submit {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 20px;
}
.os-form__submit button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 56px;
  padding: 0 32px;
  border: 0;
  border-radius: 999px;
  background: var(--os-mint);
  color: var(--os-navy);
  font-family: inherit;
  font-size: 17px;
  font-weight: 800;
  cursor: pointer;
}
.os-form__submit button::after {
  content: "";
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: var(--os-i-arrow) center / contain no-repeat;
  mask: var(--os-i-arrow) center / contain no-repeat;
}
.os-form__submit button:disabled {
  opacity: 0.6;
  cursor: wait;
}
.os-form__submit span {
  font-size: 14px;
  color: var(--os-faint);
}
.os-form-success {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  padding: 12px 0;
}
.os-form-success__icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--os-mint) var(--os-i-check-navy) center / 30px no-repeat;
}
.os-form-success h2 {
  font-size: clamp(26px, 3vw, 34px);
  font-weight: 800;
  letter-spacing: -0.02em;
}
.os-form-success p {
  max-width: 540px;
  font-size: 17px;
  line-height: 1.6;
  color: var(--os-muted);
}
.os-form-success__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 6px;
}
body a.os-btn-mint,
.os-form-reset {
  display: inline-flex;
  align-items: center;
  min-height: 52px;
  padding: 0 26px;
  box-sizing: border-box;
  border-radius: 999px;
  font-family: inherit;
  font-size: 16px;
  font-weight: 800;
  text-decoration: none;
}
body a.os-btn-mint {
  background: var(--os-mint);
  color: var(--os-navy);
}
.os-form-reset {
  border: 1.5px solid var(--os-navy);
  background: #fff;
  color: var(--os-navy);
  cursor: pointer;
}
body a.os-call-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 28px;
  border-radius: 24px;
  background: var(--os-grad);
  color: #fff;
  text-decoration: none;
}
.os-call-card__label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--os-mint);
}
.os-call-card__num {
  font-size: clamp(24px, 2.4vw, 30px);
  font-weight: 800;
  letter-spacing: -0.02em;
}
.os-call-card__label svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
}
.os-call-card__hours {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.82);
}
.os-details {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 24px 28px;
  border-radius: 24px;
  border: 1px solid var(--os-line);
}
.os-details__row {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.os-details__icon {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: var(--os-lav);
  display: grid;
  place-items: center;
}
.os-details__txt {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 16px;
  font-weight: 700;
}
.os-details__txt > span {
  font-size: 13px;
  color: var(--os-faint);
}
.os-details__txt strong {
  font-weight: 700;
}
body .os-details__txt a {
  text-decoration: none;
}
.os-next {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px 28px;
  border-radius: 24px;
  background: var(--os-soft);
}
.os-sec .os-next h2 {
  font-size: 18px;
  letter-spacing: 0;
  line-height: 1.3;
}

/* Dokumenty */
.os-legal-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 64px;
  align-items: flex-start;
}
.os-toc {
  flex: 1 1 260px;
  box-sizing: border-box;
  padding: 24px;
  border-radius: 22px;
  background: var(--os-soft);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.os-toc__title {
  margin-bottom: 8px !important;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--os-faint);
}
body .os-toc ul {
  padding: 0;
  list-style: none;
}
body .os-toc a {
  display: flex;
  align-items: center;
  min-height: 40px;
  font-size: 15px;
  font-weight: 600;
  color: var(--os-ink);
  text-decoration: none;
}
.os-legal {
  flex: 3 1 560px;
  min-width: 0;
  max-width: 780px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.os-legal--full {
  margin: 0 auto;
  width: 100%;
}
.os-sec .os-legal h2 {
  font-size: 24px;
  line-height: 1.3;
  letter-spacing: -0.01em;
  scroll-margin-top: 24px;
}
.os-legal p,
.os-legal ul,
.os-legal ol {
  font-size: 17px;
  line-height: 1.75;
  color: #3a3a58;
}
body .os-legal ul {
  padding-left: 22px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
body .os-legal a {
  color: var(--os-violet-text);
}
.os-legal p.os-notice {
  padding: 16px 20px;
  border-radius: 16px;
  background: #fff4e0;
  color: #6b3d00;
  font-size: 15px;
  line-height: 1.6;
  font-weight: 600;
}
.os-table {
  border: 1px solid var(--os-line);
  border-radius: 16px;
  overflow: hidden;
}
.os-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.55;
}
.os-table :is(th, td) {
  padding: 14px 18px;
  border: 0;
  border-top: 1px solid var(--os-line);
  text-align: left;
  vertical-align: top;
}
.os-table :is(th, td):nth-child(2) {
  width: 50%;
}
.os-table td:first-child {
  font-weight: 700;
}
.os-table th {
  border-top: 0;
  background: var(--os-soft);
  font-size: 14px;
  font-weight: 800;
}
.os-table thead {
  border: 0;
}

/* Realizacja */
.os-tags-hero {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.os-tags-hero span {
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: var(--os-mint);
  font-size: 13px;
  font-weight: 800;
}
.os-hero--case .os-hero__lead {
  max-width: 760px;
  font-size: clamp(18px, 1.6vw, 22px);
  line-height: 1.55;
}
.os-case-meta {
  margin-top: 14px !important;
  width: 100%;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
  gap: 20px 32px;
  padding: 22px 28px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
}
.os-case-meta div {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.os-case-meta dt {
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}
.os-case-meta dd {
  font-size: 17px;
  font-weight: 700;
}
.os-case-shot-wrap {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  max-width: 1100px;
  margin: 64px auto -200px;
  padding: 0 24px;
}
.os-case-shot {
  position: relative;
  border-radius: 18px;
  background: #fff;
  box-shadow: rgba(5, 5, 30, 0.7) 0 60px 120px -40px;
  overflow: hidden;
}
.os-case-shot img {
  display: block;
  width: 100%;
}
.os-case-shot__bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background: #eeeef5;
}
.os-case-shot__bar span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #c9c9d8;
}
.os-case-shot__bar em {
  flex: 1 1 0%;
  max-width: 360px;
  margin: 0 auto;
  padding: 6px 12px;
  border-radius: 8px;
  background: #fff;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  color: var(--os-faint);
  text-align: center;
}
.os-sec--case-first {
  padding: 40px 24px 88px;
}
.os-case--shot .os-sec--case-first {
  padding-top: 290px;
}
.os-sec--case {
  padding: 40px 24px 112px;
}
.os-sec--case-gallery {
  padding: 104px 24px;
}
.os-sec--case-gallery:has(.wp-block-gallery:empty) {
  display: none;
}
.os-sec--case-timeline {
  padding: 104px 24px 200px;
}
.os-case .os-sec h2 {
  font-size: clamp(30px, 3.6vw, 44px);
}
.os-stat {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 28px;
  border-radius: 22px;
  background: var(--os-soft);
}
.os-stat__num {
  font-size: 48px;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.05;
  color: var(--os-violet-text);
}
.os-stat__txt {
  font-size: 15.5px;
  line-height: 1.5;
  color: var(--os-muted);
}
.os-stat--accent {
  background: var(--os-grad);
}
.os-stat--accent .os-stat__num {
  color: var(--os-mint);
}
.os-stat--accent .os-stat__txt {
  color: rgba(255, 255, 255, 0.86);
}
.os-case-row {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 64px;
  padding-top: 48px;
  border-top: 1px solid var(--os-line);
}
.os-case-row__title {
  flex: 1 1 260px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.os-case-row__num {
  font-size: 15px;
  font-weight: 800;
  color: var(--os-violet-text);
}
.os-case-row__body {
  flex: 3 1 520px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.os-case-lead {
  font-size: 20px;
  line-height: 1.65;
  color: var(--os-ink);
  text-wrap: pretty;
}
.os-feature {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px;
  border-radius: 20px;
  border: 1px solid var(--os-line);
}
.os-feature .os-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
}
.os-feature h3 {
  font-size: 18px;
  font-weight: 800;
}
.os-feature p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--os-muted);
}
body .wp-block-gallery img {
  border-radius: 24px;
}
.os-timeline {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
  gap: 40px 24px;
}
.os-timeline__item {
  position: relative;
  padding-top: 30px;
  border-top: 2px solid var(--os-line);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.os-timeline__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: -9px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--os-violet);
  box-shadow: var(--os-lav) 0 0 0 5px;
}
.os-timeline__item:last-child::before {
  background: var(--os-mint);
  box-shadow: #e3fbf2 0 0 0 5px;
}
.os-timeline__when {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--os-violet-text);
}
.os-timeline__item h3 {
  font-size: 19px;
  font-weight: 800;
}
.os-timeline__item > p:last-child {
  font-size: 15px;
  line-height: 1.6;
  color: var(--os-muted);
}
.os-tech {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding-top: 8px;
}
.os-tech__label {
  margin-right: 6px !important;
  font-size: 15px;
  font-weight: 800;
}
.os-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.os-tags li {
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid var(--os-line);
  font-size: 14px;
  font-weight: 700;
  color: var(--os-ink);
}
.os-sec--opinion.os-waves-b.os-sec--glow-bottom {
  padding: 170px 24px 180px;
}
.os-quote {
  max-width: 880px;
  margin: 0 auto !important;
  padding: 80px 0 0;
  border: 0;
  text-align: center;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M8 34c0-9 4-16 12-20l2 4c-4 2-6 5-6 9h6v11H8zM26 34c0-9 4-16 12-20l2 4c-4 2-6 5-6 9h6v11H26z' fill='%232EE6A8'/%3E%3C/svg%3E") center top / 52px no-repeat;
}
.os-quote p {
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: -0.01em;
  text-wrap: pretty;
}
.os-quote cite {
  display: block;
  margin-top: 28px;
  font-size: 16px;
  font-style: normal;
  font-weight: 800;
}
.os-case-nav {
  padding: 56px 24px 88px;
  background: #fff;
}
.os-case-nav__inner {
  box-sizing: border-box;
  max-width: 1200px;
  margin: 0 auto;
  padding: 28px 0;
  border-top: 1px solid var(--os-line);
  border-bottom: 1px solid var(--os-line);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px 32px;
}
body a.os-case-nav__all {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  text-decoration: none;
  font-size: 16px;
  font-weight: 800;
}
body a.os-case-nav__next {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  min-height: 44px;
  text-decoration: none;
  text-align: right;
}
.os-case-nav__next span {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--os-faint);
}
.os-case-nav__next strong {
  font-size: clamp(22px, 2.6vw, 32px);
  font-weight: 800;
  letter-spacing: -0.02em;
}

/* Stopka */
.os-footer {
  padding: 72px 24px 32px;
  background: var(--os-soft);
}
.os-footer__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 56px;
}
.os-footer__cols {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 32px;
}
.os-footer__brand {
  flex: 2 1 300px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}
.os-footer__brand > p {
  max-width: 340px;
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--os-muted);
}
.os-footer__contact {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 15px;
  color: var(--os-ink);
}
body .os-footer__contact a {
  text-decoration: none;
}
.os-footer nav {
  flex: 1 1 160px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.os-footer h3 {
  margin: 0 0 8px;
  font-size: 15px;
  font-weight: 800;
}
body .os-footer nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 15px;
  color: var(--os-muted);
  text-decoration: none;
}
body .os-footer nav a:hover {
  color: #3a22c9;
}
.os-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 24px;
  padding-top: 20px;
  border-top: 1px solid #e2e2ec;
  font-size: 14px;
  color: var(--os-faint);
}
.os-footer__bottom div {
  display: flex;
  flex-wrap: wrap;
  gap: 0 24px;
}
body .os-footer__bottom a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--os-faint);
  text-decoration: none;
}

/* Baner cookies */
.os-cookie-wrap {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 60;
  display: flex;
  justify-content: center;
  font-family: "Plus Jakarta Sans", Inter, system-ui, -apple-system, sans-serif;
}
.os-cookie-wrap[hidden] {
  display: none;
}
.os-cookie {
  width: 100%;
  max-width: 1080px;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 28px;
  padding: 22px 26px;
  border-radius: 24px;
  background: #0f0f3a;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: rgba(5, 5, 30, 0.55) 0 30px 60px -20px;
}
.os-cookie__icon {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--os-mint);
  display: grid;
  place-items: center;
}
.os-cookie__text {
  flex: 1 1 420px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.os-cookie__text p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.82);
}
.os-cookie__text p.os-cookie__title {
  font-size: 16px;
  font-weight: 800;
  color: #fff;
}
.os-cookie a {
  color: #fff;
  font-weight: 700;
}
.os-cookie__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.os-cookie button {
  min-height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  font-family: inherit;
  font-size: 15px;
  cursor: pointer;
}
.os-cookie-necessary {
  border: 1.5px solid rgba(255, 255, 255, 0.5);
  background: transparent;
  color: #fff;
  font-weight: 700;
}
.os-cookie-all {
  border: 0;
  background: var(--os-mint);
  color: var(--os-navy);
  font-weight: 800;
}

/* Animacje */
.os-float {
  animation: osFloat 7s ease-in-out infinite;
}
.os-float-2 {
  animation: osFloat 8s ease-in-out -2.5s infinite;
}
.os-float-3 {
  animation: osFloat 6.5s ease-in-out -4s infinite;
}
.os-float-404 {
  animation: osFloat404 6s ease-in-out infinite;
}
.os-up {
  animation: osUp 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}
.os-up-2 {
  animation-delay: 0.12s;
}
.os-up-3 {
  animation-delay: 0.24s;
}
.os-up-4 {
  animation-delay: 0.36s;
}
.os-reveal.os-in {
  animation: osUp 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}
.os-reveal.os-in:nth-child(2) {
  animation-delay: 0.1s;
}
.os-reveal.os-in:nth-child(3) {
  animation-delay: 0.2s;
}
.os-reveal.os-in:nth-child(4) {
  animation-delay: 0.3s;
}
@keyframes osTick {
  0%,
  26% {
    transform: translateY(0);
  }
  33%,
  59% {
    transform: translateY(-1.1em);
  }
  66%,
  92% {
    transform: translateY(-2.2em);
  }
  100% {
    transform: translateY(-3.3em);
  }
}
@keyframes osFloat {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-12px);
  }
}
@keyframes osFloat404 {
  0%,
  100% {
    transform: translateY(0) rotate(-6deg);
  }
  50% {
    transform: translateY(-16px) rotate(-2deg);
  }
}
@keyframes osUp {
  from {
    opacity: 0;
    transform: translateY(28px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .os-tick,
  .os-float,
  .os-float-2,
  .os-float-3,
  .os-float-404,
  .os-up,
  .os-reveal,
  .os-reveal.os-in,
  .os-hero__inner > *,
  .os-hero__inner > .os-col > * {
    animation: none;
  }
}

/* Punkty przełamania */
@media (max-width: 1100px) {
  .os-hero-side {
    display: none !important;
  }
}
@media (max-width: 760px) {
  .os-hero-cards {
    display: none !important;
  }
  .os-hero--home .os-hero__inner {
    padding-bottom: 150px;
  }
  .os-sec--after-hero {
    padding-top: 72px;
  }
}
@media (max-width: 600px) {
  .os-cookie-wrap {
    left: 12px;
    right: 12px;
    bottom: 12px;
  }
  .os-cookie {
    padding: 16px 18px;
    gap: 12px;
    border-radius: 20px;
  }
  .os-cookie__icon {
    display: none;
  }
  .os-cookie p {
    font-size: 13.5px;
  }
  .os-cookie__actions {
    width: 100%;
    flex-wrap: nowrap;
  }
  .os-cookie button {
    flex: 1 1 0;
    padding: 0 10px;
    min-height: 44px;
    font-size: 14px;
  }
}
