/* kx-statement--light: port of platform/Independence.tsx (the former kx-freedoms; markup keeps the .kx-freedoms classes). Depends on kx-tokens. */
.kx.kx-freedoms { isolation: isolate; }
.kx.kx-freedoms > .kx-shell { position: relative; }
.kx.kx-freedoms .kx-freedoms__lattice { display: none; }
@media (min-width: 1024px) {
  .kx.kx-freedoms .kx-freedoms__lattice { display: block; position: absolute; top: 50%; width: 64rem; height: 64rem; transform: translateY(-50%); z-index: -10; color: var(--kx-navy); }
  .kx.kx-freedoms .kx-freedoms__lattice--left { left: -40rem; }
  .kx.kx-freedoms .kx-freedoms__lattice--right { right: -40rem; }
}
.kx.kx-freedoms.kx-section--dark .kx-freedoms__lattice { color: #fff; }

/* Intro block in the current pros.com style (client feedback 7 Oct; measured on
   pros.com/products/airline-revenue-management-software/ "Scalable RM for Networks of All Sizes"):
   a compact heavy navy heading in a one-third column (50px/1.0 at 1440, 38px from 1024 down), the
   first right-hand paragraph as a 24px navy lead (21px from 1024 down) and the rest as 16px navy
   body copy. The same values are used by kx-band (panel), kx-pillars-spotlight and kx-statement
   navy on the platform page; keep them in step. */
.kx.kx-freedoms .kx-freedoms__head { display: grid; row-gap: 2rem; }
@media (min-width: 1024px) { .kx.kx-freedoms .kx-freedoms__head { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); column-gap: clamp(2.5rem, 4vw, 4rem); } .kx.kx-freedoms .kx-freedoms__body { padding-top: 0.25rem; } }
.kx.kx-freedoms .kx-freedoms__heading { max-width: 20ch; color: var(--kx-navy); font-size: clamp(2.375rem, 3.47vw, 3.125rem); line-height: 1; letter-spacing: -0.025em; font-weight: 800 !important; }
.kx.kx-freedoms .kx-freedoms__lead { margin-top: 1.25rem; max-width: 32ch; font-size: 1.125rem; line-height: 1.5; color: var(--kx-ink-muted); }
.kx.kx-freedoms .kx-freedoms__p { max-width: 60ch; font-size: 1rem; line-height: 1.55; color: var(--kx-ink); }
.kx.kx-freedoms .kx-freedoms__p:first-child { max-width: 34em; font-size: clamp(1.3125rem, 1.67vw, 1.5rem); line-height: 1.45; letter-spacing: -0.018em; }
.kx.kx-freedoms .kx-freedoms__p + .kx-freedoms__p { margin-top: 1.5rem; }
.kx.kx-freedoms.kx-section--dark .kx-freedoms__p { color: rgb(255 255 255 / 0.85); }
.kx.kx-freedoms.kx-section--dark .kx-freedoms__p:first-child { color: #fff; }

.kx.kx-freedoms .kx-freedoms__list { display: grid; margin-top: 5rem; border-top: 1px solid var(--kx-line); column-gap: 3.5rem; row-gap: 1px; }
@media (min-width: 640px) { .kx.kx-freedoms .kx-freedoms__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.kx.kx-freedoms .kx-freedoms__item { border-bottom: 1px solid var(--kx-line); padding-block: 2.25rem; }
.kx.kx-freedoms .kx-freedoms__rule { display: block; width: 2.5rem; height: 3px; border-radius: 999px; background: var(--kx-green); margin-bottom: 1.5rem; }
.kx.kx-freedoms .kx-freedoms__title { color: var(--kx-navy); }
.kx.kx-freedoms .kx-freedoms__desc { margin-top: 0.75rem; max-width: 34ch; }

.kx.kx-freedoms.kx-section--dark .kx-freedoms__heading, .kx.kx-freedoms.kx-section--dark .kx-freedoms__title { color: #fff; }
.kx.kx-freedoms.kx-section--dark .kx-freedoms__lead { color: var(--kx-on-navy-muted); }

/* Numbered items (off by default in this style): the number sits above the green rule. */
.kx.kx-freedoms .kx-freedoms__n { display: block; margin-bottom: 1.25rem; font-size: var(--kx-text-label); letter-spacing: 0.16em; text-transform: uppercase; font-weight: 600; line-height: 1; color: var(--kx-blue); font-variant-numeric: tabular-nums; }
.kx.kx-freedoms.kx-section--dark .kx-freedoms__n { color: var(--kx-green); }
