/* Lexoh product-family editorial system.
   Scoped to .lx-family so legacy pages and the homepage remain untouched. */

.lx-family {
    --lxf-navy-950: #041925;
    --lxf-navy-900: #082a3d;
    --lxf-cyan: #00768c;
    --lxf-cyan-light: #63d5e8;
    --lxf-ink: #112b3a;
    --lxf-slate: #536b78;
    --lxf-fog: #f4f7f9;
    --lxf-line: rgba(17, 43, 58, .15);
    overflow: clip;
    color: var(--lxf-ink);
    background: #fff;
}

body.is-interior .lx-family .container {
    width: min(calc(100% - 2 * var(--lx-page-gutter, clamp(18px, 3.2vw, 48px))), var(--lx-shell-max, 1320px));
    max-width: var(--lx-shell-max, 1320px);
    margin-inline: auto;
    padding-inline: 0;
}

.lx-family h1,
.lx-family h2,
.lx-family h3,
.lx-family p,
.lx-family figure {
    margin-top: 0;
}

.lx-family h1,
.lx-family h2,
.lx-family h3 {
    letter-spacing: -.045em;
    text-wrap: balance;
}

.lx-family p {
    text-wrap: pretty;
}

.lx-family-eyebrow {
    margin-bottom: 20px;
    color: var(--lxf-cyan);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1.35;
    text-transform: uppercase;
}

.lx-family-hero .lx-family-eyebrow,
.lx-family-hero .lx-family-link,
.lx-family-chapter--dark .lx-family-eyebrow,
.lx-family-chapter--dark .lx-family-link {
    color: var(--lxf-cyan-light);
}

.lx-family-hero {
    position: relative;
    min-height: 760px;
    display: grid;
    align-items: center;
    padding: 144px 0 88px;
    isolation: isolate;
    overflow: hidden;
    color: #fff;
    background: var(--lxf-navy-950);
}

.lx-family-hero::before,
.lx-family-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    pointer-events: none;
}

.lx-family-hero--scene::before {
    background-image: var(--lx-family-hero-bg);
    background-position: center;
    background-size: cover;
    filter: saturate(.82) contrast(1.02);
    transform: scale(1.01);
}

.lx-family-hero::after {
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(4, 25, 37, .98) 0%, rgba(4, 25, 37, .86) 38%, rgba(4, 25, 37, .32) 70%, rgba(4, 25, 37, .58) 100%),
        linear-gradient(0deg, rgba(4, 25, 37, .72), transparent 44%);
}

.lx-family-hero:not(.lx-family-hero--scene)::after {
    background: linear-gradient(110deg, #041925 0%, #082a3d 64%, #061f2e 100%);
}

.lx-family-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(440px, 1.05fr);
    gap: clamp(48px, 7vw, 112px);
    align-items: center;
}

.lx-family-hero__copy {
    max-width: 640px;
}

.lx-family-hero__copy h1 {
    max-width: 12ch;
    margin-bottom: 28px;
    color: #fff;
    font-size: clamp(56px, 5.2vw, 76px);
    font-weight: 560;
    line-height: .98;
}

.lx-family-hero__lead {
    max-width: 58ch;
    margin-bottom: 34px;
    color: rgba(255, 255, 255, .76);
    font-size: clamp(17px, 1.4vw, 20px);
    line-height: 1.56;
}

.lx-family-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 28px;
    align-items: center;
}

.lx-family-button,
.lx-family-link {
    display: inline-flex;
    gap: 12px;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    color: var(--lxf-cyan);
    font-size: 15px;
    font-style: normal;
    font-weight: 650;
    line-height: 1.2;
    text-decoration: none;
    transition: color 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

.lx-family-button {
    min-width: 190px;
    padding: 14px 22px;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 999px;
}

.lx-family-button--light {
    border-color: #fff;
    color: var(--lxf-navy-950);
    background: #fff;
}

.lx-family-link--on-dark {
    color: var(--lxf-cyan-light);
}

.lx-family-button--light:hover {
    border-color: var(--lxf-cyan-light);
    background: var(--lxf-cyan-light);
}

.lx-family-hero__media {
    position: relative;
    min-height: 520px;
    display: grid;
    align-items: center;
    justify-items: center;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .17);
    border-radius: 18px;
    background: rgba(4, 25, 37, .48);
}

.lx-family-hero--scene .lx-family-hero__media {
    border: 0;
    background: transparent;
}

.lx-family-hero__media img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    max-height: 560px;
    display: block;
}

.lx-family-hero__media--cover img { object-fit: cover; }
.lx-family-hero__media--contain img {
    width: min(88%, 640px);
    height: min(520px, 62vh);
    object-fit: contain;
    filter: drop-shadow(0 30px 38px rgba(0, 0, 0, .28));
}

.lx-family-hero__media figcaption {
    position: absolute;
    z-index: 2;
    right: 20px;
    bottom: 20px;
    max-width: 34ch;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 12px;
    color: rgba(255, 255, 255, .75);
    background: rgba(4, 25, 37, .72);
    backdrop-filter: blur(12px);
    font-size: 12px;
    line-height: 1.45;
}

.lx-family-rail {
    border-bottom: 1px solid var(--lxf-line);
    background: #fff;
}

.lx-family-rail__grid {
    display: grid;
    grid-template-columns: repeat(var(--lxf-rail-count, 5), minmax(0, 1fr));
}

.lx-family-rail__item {
    min-height: 116px;
    display: flex;
    gap: 14px;
    align-items: center;
    padding: 28px 24px;
    border-left: 1px solid var(--lxf-line);
}

.lx-family-rail__item:last-child {
    border-right: 1px solid var(--lxf-line);
}

.lx-family-rail__item span {
    color: var(--lxf-cyan);
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .08em;
}

.lx-family-rail__item strong {
    color: var(--lxf-ink);
    font-size: 14px;
    font-weight: 620;
    line-height: 1.35;
}

.lx-family-intro {
    padding: clamp(104px, 11vw, 168px) 0;
    background: var(--lxf-fog);
}

.lx-family-intro__grid {
    display: grid;
    grid-template-columns: minmax(180px, .55fr) minmax(0, 1.45fr);
    gap: clamp(56px, 10vw, 160px);
    align-items: start;
}

.lx-family-intro h2,
.lx-family-section-heading h2 {
    max-width: 17ch;
    margin-bottom: 28px;
    color: var(--lxf-ink);
    font-size: clamp(46px, 5.2vw, 72px);
    font-weight: 560;
    line-height: 1.02;
}

.lx-family-intro__grid > div > p,
.lx-family-section-heading--split > p {
    max-width: 64ch;
    margin-bottom: 0;
    color: var(--lxf-slate);
    font-size: clamp(18px, 1.6vw, 21px);
    line-height: 1.58;
}

.lx-family-journey {
    padding: clamp(104px, 10vw, 152px) 0;
    background: #fff;
}

.lx-family-section-heading {
    margin-bottom: 64px;
}

.lx-family-section-heading--split {
    display: grid;
    grid-template-columns: 1fr .7fr;
    gap: 64px;
    align-items: end;
}

.lx-family-journey__steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--lxf-line);
    list-style: none;
}

.lx-family-journey__steps li {
    position: relative;
    min-height: 242px;
    padding: 34px 28px 30px;
    border-right: 1px solid var(--lxf-line);
}

.lx-family-journey__steps li:first-child {
    border-left: 1px solid var(--lxf-line);
}

.lx-family-journey__steps span {
    display: block;
    margin-bottom: 42px;
    color: var(--lxf-cyan);
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .1em;
}

.lx-family-journey__steps h3 {
    margin-bottom: 12px;
    color: var(--lxf-ink);
    font-size: 21px;
    font-weight: 620;
    line-height: 1.15;
}

.lx-family-journey__steps p {
    margin-bottom: 0;
    color: var(--lxf-slate);
    font-size: 15px;
    line-height: 1.55;
}

.lx-family-chapter {
    padding: clamp(104px, 10vw, 156px) 0;
}

.lx-family-chapter--light { background: #fff; }
.lx-family-chapter--dark {
    color: #fff;
    background: var(--lxf-navy-950);
}

.lx-family-chapter__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(380px, .8fr);
    gap: clamp(56px, 8vw, 120px);
    align-items: center;
}

.lx-family-chapter--reverse .lx-family-chapter__media { order: 2; }

.lx-family-chapter__media {
    position: relative;
    min-height: 520px;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--lxf-line);
    border-radius: 16px;
    background: var(--lxf-fog);
}

.lx-family-chapter--dark .lx-family-chapter__media {
    border-color: rgba(255, 255, 255, .14);
    background: #071f2e;
}

.lx-family-chapter__media img {
    width: 100%;
    height: 100%;
    min-height: 520px;
    display: block;
}

.lx-family-chapter__media--cover img { object-fit: cover; }
.lx-family-chapter__media--contain img {
    padding: clamp(18px, 3vw, 42px);
    object-fit: contain;
}

.lx-family-chapter__media figcaption {
    position: absolute;
    right: 18px;
    bottom: 18px;
    max-width: 36ch;
    padding: 10px 13px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 10px;
    color: rgba(255, 255, 255, .76);
    background: rgba(4, 25, 37, .8);
    font-size: 12px;
    line-height: 1.45;
}

.lx-family-chapter__copy h2 {
    max-width: 13ch;
    margin-bottom: 26px;
    color: var(--lxf-ink);
    font-size: clamp(44px, 4.6vw, 66px);
    font-weight: 560;
    line-height: 1.02;
}

.lx-family-chapter--dark .lx-family-chapter__copy h2 { color: #fff; }

.lx-family-chapter__copy > p:not(.lx-family-eyebrow) {
    max-width: 58ch;
    margin-bottom: 28px;
    color: var(--lxf-slate);
    font-size: clamp(17px, 1.4vw, 19px);
    line-height: 1.6;
}

.lx-family-chapter--dark .lx-family-chapter__copy > p:not(.lx-family-eyebrow) {
    color: rgba(255, 255, 255, .7);
}

.lx-family-checks {
    max-width: 580px;
    margin: 0 0 30px;
    padding: 0;
    border-top: 1px solid var(--lxf-line);
    list-style: none;
}

.lx-family-chapter--dark .lx-family-checks {
    border-color: rgba(255, 255, 255, .16);
}

.lx-family-checks li {
    position: relative;
    padding: 15px 0 15px 27px;
    border-bottom: 1px solid var(--lxf-line);
    color: var(--lxf-ink);
    font-size: 15px;
    font-weight: 540;
    line-height: 1.4;
}

.lx-family-chapter--dark .lx-family-checks li {
    border-color: rgba(255, 255, 255, .16);
    color: rgba(255, 255, 255, .88);
}

.lx-family-chapter--dark .lx-family-checks li::before {
    border-color: var(--lxf-cyan-light);
}

.lx-family-checks li::before {
    content: "";
    position: absolute;
    top: 22px;
    left: 2px;
    width: 8px;
    height: 4px;
    border-bottom: 1.5px solid var(--lxf-cyan);
    border-left: 1.5px solid var(--lxf-cyan);
    transform: rotate(-45deg);
}

.lx-family-ecosystem {
    padding: clamp(104px, 10vw, 152px) 0;
    background: var(--lxf-fog);
}

.lx-family-comparison {
    padding: clamp(104px, 10vw, 152px) 0;
    background: #fff;
}

.lx-family-comparison__products {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 48px;
    border-top: 1px solid var(--lxf-line);
    border-left: 1px solid var(--lxf-line);
}

.lx-family-comparison__product {
    display: grid;
    grid-template-columns: minmax(170px, .72fr) minmax(0, 1.28fr);
    min-height: 320px;
    border-right: 1px solid var(--lxf-line);
    border-bottom: 1px solid var(--lxf-line);
}

.lx-family-comparison__product figure {
    display: grid;
    min-height: 320px;
    place-items: center;
    margin: 0;
    padding: 28px;
    border-right: 1px solid var(--lxf-line);
    background: var(--lxf-fog);
}

.lx-family-comparison__product img {
    width: 100%;
    height: 260px;
    display: block;
    object-fit: contain;
}

.lx-family-comparison__product > div {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    padding: 38px;
}

.lx-family-comparison__product h3 {
    margin-bottom: 14px;
    color: var(--lxf-ink);
    font-size: 28px;
    font-weight: 620;
    line-height: 1.08;
}

.lx-family-comparison__product p {
    margin-bottom: 24px;
    color: var(--lxf-slate);
    font-size: 16px;
    line-height: 1.6;
}

.lx-family-comparison__product .lx-family-link {
    margin-top: auto;
}

.lx-family-comparison__table-wrap {
    overflow-x: auto;
    border: 1px solid var(--lxf-line);
    background: #fff;
}

.lx-family-comparison table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}

.lx-family-comparison th,
.lx-family-comparison td {
    padding: 22px 24px;
    border-right: 1px solid var(--lxf-line);
    border-bottom: 1px solid var(--lxf-line);
    color: var(--lxf-slate);
    font-size: 15px;
    line-height: 1.55;
    text-align: left;
    vertical-align: top;
}

.lx-family-comparison tr > :last-child {
    border-right: 0;
}

.lx-family-comparison tbody tr:last-child > * {
    border-bottom: 0;
}

.lx-family-comparison thead th {
    color: #fff;
    background: var(--lxf-navy-950);
    font-size: 13px;
    font-weight: 680;
    letter-spacing: .035em;
}

.lx-family-comparison tbody th {
    width: 26%;
    color: var(--lxf-ink);
    background: var(--lxf-fog);
    font-weight: 620;
}

.lx-family-comparison__notice {
    max-width: 90ch;
    margin: 22px 0 0;
    color: var(--lxf-slate);
    font-size: 13px;
    line-height: 1.65;
}

.lx-family-ecosystem__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--lxf-line);
    border-left: 1px solid var(--lxf-line);
}

.lx-family-ecosystem__item {
    min-width: 0;
    display: grid;
    grid-template-rows: 220px 1fr;
    color: var(--lxf-ink);
    border-right: 1px solid var(--lxf-line);
    border-bottom: 1px solid var(--lxf-line);
    background: #fff;
    text-decoration: none;
    transition: background-color 180ms ease;
}

.lx-family-ecosystem__item:hover { background: #fafdfe; }

/* A text-only link uses the entire card at every breakpoint. */
.lx-family-ecosystem__item.lx-family-ecosystem__item--text {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 1fr;
}

.lx-family-ecosystem__media {
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr);
    place-items: center;
    padding: 24px;
    overflow: hidden;
    border-bottom: 1px solid var(--lxf-line);
}

.lx-family-ecosystem__media img {
    min-height: 0;
    max-height: 100%;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 300ms ease;
}

.lx-family-ecosystem__item:hover img { transform: scale(1.025); }

.lx-family-ecosystem__media--models {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 18px;
}

.lx-family-ecosystem__model {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 10px;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    text-align: center;
}

.lx-family-ecosystem__model small {
    color: var(--lxf-slate);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .04em;
}

.lx-family-ecosystem__copy {
    min-height: 194px;
    display: flex;
    flex-direction: column;
    padding: 24px;
}

.lx-family-ecosystem__copy strong {
    margin-bottom: 10px;
    font-size: 20px;
    font-weight: 620;
    letter-spacing: -.025em;
    line-height: 1.15;
}

.lx-family-ecosystem__copy small {
    color: var(--lxf-slate);
    font-size: 15px;
    line-height: 1.58;
}

.lx-family-ecosystem__copy em {
    margin-top: auto;
    padding-top: 24px;
    color: var(--lxf-cyan);
    font-size: 13px;
    font-style: normal;
    font-weight: 650;
}

.lx-family-proof {
    padding: clamp(104px, 10vw, 152px) 0;
    background: #fff;
}

.lx-family-proof__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
    gap: clamp(36px, 5vw, 72px);
    align-items: center;
}

.lx-family-proof figure {
    min-height: 600px;
    margin: 0;
    overflow: hidden;
    border-radius: 16px;
}

.lx-family-proof img {
    width: 100%;
    height: 600px;
    display: block;
    object-fit: cover;
}

.lx-family-proof.lx-family-proof--contain figure {
    min-height: 0;
    height: auto;
    border: 1px solid var(--lxf-line);
    background: var(--lxf-fog);
}

.lx-family-proof.lx-family-proof--contain img {
    height: auto;
    min-height: 0;
    padding: clamp(12px, 1.5vw, 22px);
    object-fit: contain;
}

.lx-family-proof h2 {
    max-width: 28ch;
    margin-bottom: 24px;
    color: var(--lxf-ink);
    font-size: clamp(42px, 4.4vw, 64px);
    font-weight: 560;
    line-height: 1.03;
}

.lx-family-proof__grid > div > p:not(.lx-family-eyebrow) {
    max-width: 56ch;
    margin-bottom: 28px;
    color: var(--lxf-slate);
    font-size: 18px;
    line-height: 1.6;
}

/* The shared FAQ component carries legacy inline styles. This scoped reset
   intentionally removes its card/shadow treatment on product-family pages. */
.lx-family > .faq-section {
    padding: var(--lx-section-space, clamp(56px, 7vw, 100px)) 0 !important;
    background: var(--lxf-fog) !important;
}

.lx-family > .faq-section > .container > .scroll-reveal {
    max-width: 720px;
    margin: 0 0 clamp(32px, 4vw, 48px) !important;
    text-align: left !important;
}

.lx-family > .faq-section h2 {
    color: var(--lxf-ink) !important;
    font-size: var(--lx-type-utility, clamp(28px, calc(23px + 1vw), 38px)) !important;
    font-weight: 560 !important;
    line-height: 1.15 !important;
}

.lx-family > .faq-section > .container > .scroll-reveal p {
    color: var(--lxf-slate) !important;
    font-size: 18px !important;
}

.lx-family .faq-container {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    border-top: 1px solid var(--lxf-line);
}

.lx-family .faq-item,
.lx-family .faq-item:hover,
.lx-family .faq-item:focus-within {
    margin: 0 !important;
    border-bottom: 1px solid var(--lxf-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.lx-family .faq-question {
    padding: 26px 0 !important;
    color: var(--lxf-ink) !important;
    font-size: 19px !important;
}

.lx-family .faq-icon { color: var(--lxf-cyan) !important; }

.lx-family .faq-answer {
    margin: 0 !important;
    padding: 0 0 26px !important;
    border-top: 0 !important;
}

.lx-family .faq-answer > div {
    max-width: 74ch;
    padding: 0 !important;
    color: var(--lxf-slate) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

.lx-family-cta {
    position: relative;
    min-height: 520px;
    display: grid;
    align-items: center;
    padding: clamp(104px, 10vw, 152px) 0;
    isolation: isolate;
    overflow: hidden;
    color: #fff;
    background: var(--lxf-navy-950);
}

.lx-family-cta::before,
.lx-family-cta::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
}

.lx-family-cta::before {
    background-image: var(--lx-family-cta-bg);
    background-position: center;
    background-size: cover;
    filter: saturate(.8);
}

.lx-family-cta::after {
    z-index: -1;
    background: linear-gradient(90deg, rgba(4, 25, 37, .97), rgba(4, 25, 37, .8) 54%, rgba(4, 25, 37, .54));
}

.lx-family-cta .container { max-width: 1320px; }

.lx-family-cta h2 {
    max-width: 28ch;
    margin-bottom: 24px;
    color: #fff;
    font-size: clamp(48px, 5.5vw, 74px);
    font-weight: 560;
    line-height: 1.02;
}

.lx-family-cta .container > p:not(.lx-family-eyebrow) {
    max-width: 58ch;
    margin-bottom: 32px;
    color: rgba(255, 255, 255, .72);
    font-size: 18px;
    line-height: 1.6;
}

@media (max-width: 1080px) {
    .lx-family-hero {
        min-height: 700px;
    }

    .lx-family-hero__grid,
    .lx-family-chapter__grid,
    .lx-family-proof__grid {
        grid-template-columns: 1fr 1fr;
        gap: 48px;
    }

    .lx-family-hero__media,
    .lx-family-chapter__media,
    .lx-family-chapter__media img {
        min-height: 440px;
    }

    .lx-family-rail__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lx-family-rail__item:nth-child(4),
    .lx-family-rail__item:nth-child(5) {
        border-top: 1px solid var(--lxf-line);
    }

    .lx-family-journey__steps,
    .lx-family-ecosystem__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {

    .lx-family-hero {
        min-height: auto;
        padding: 116px 0 64px;
    }

    .lx-family-hero__grid,
    .lx-family-intro__grid,
    .lx-family-chapter__grid,
    .lx-family-proof__grid,
    .lx-family-section-heading--split {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .lx-family-hero__copy h1 {
        max-width: 12ch;
        font-size: clamp(44px, 12vw, 52px);
    }

    .lx-family-hero__media {
        min-height: 370px;
    }

    .lx-family-hero__media--contain img {
        height: 360px;
    }

    .lx-family-hero--scene::after {
        background: linear-gradient(180deg, rgba(4, 25, 37, .96) 0%, rgba(4, 25, 37, .84) 58%, rgba(4, 25, 37, .72) 100%);
    }

    .lx-family-rail {
        overflow-x: auto;
        overscroll-behavior-inline: contain;
    }

    .lx-family-rail__grid {
        width: max-content;
        grid-template-columns: repeat(5, 220px);
    }

    .lx-family-rail__item,
    .lx-family-rail__item:nth-child(4),
    .lx-family-rail__item:nth-child(5) {
        min-height: 92px;
        padding: 20px;
        border-top: 0;
    }

    .lx-family-intro h2,
    .lx-family-section-heading h2,
    .lx-family-chapter__copy h2,
    .lx-family-proof h2,
    .lx-family-cta h2 {
        font-size: clamp(36px, 9.6vw, 41px);
    }

    .lx-family-journey__steps {
        grid-template-columns: 1fr;
    }

    .lx-family-journey__steps li {
        min-height: auto;
        padding: 26px 0;
        border-right: 0;
        border-bottom: 1px solid var(--lxf-line);
    }

    .lx-family-journey__steps li:first-child { border-left: 0; }
    .lx-family-journey__steps span { margin-bottom: 20px; }

    .lx-family-chapter--reverse .lx-family-chapter__media { order: 0; }

    .lx-family-chapter__media,
    .lx-family-chapter__media img {
        min-height: 360px;
    }

    .lx-family-chapter__media--contain img {
        height: 360px;
    }

    .lx-family-ecosystem__grid {
        grid-template-columns: 1fr;
    }

    .lx-family-comparison__products {
        grid-template-columns: 1fr;
    }

    .lx-family-comparison__product {
        grid-template-columns: 128px 1fr;
        min-height: 230px;
    }

    .lx-family-comparison__product figure {
        min-height: 230px;
        padding: 18px;
    }

    .lx-family-comparison__product img {
        height: 190px;
    }

    .lx-family-comparison__product > div {
        padding: 26px;
    }

    .lx-family-ecosystem__item {
        grid-template-columns: 132px 1fr;
        grid-template-rows: 1fr;
    }

    .lx-family-ecosystem__item.lx-family-ecosystem__item--models {
        grid-template-columns: 1fr;
        grid-template-rows: 220px auto;
    }

    .lx-family-ecosystem__item--models .lx-family-ecosystem__media {
        border-right: 0;
        border-bottom: 1px solid var(--lxf-line);
    }

    .lx-family-ecosystem__media {
        min-height: 180px;
        border-right: 1px solid var(--lxf-line);
        border-bottom: 0;
    }

    .lx-family-ecosystem__copy { min-height: 180px; }

    .lx-family-proof figure,
    .lx-family-proof img {
        height: 430px;
        min-height: 430px;
    }

    .lx-family .faq-question {
        padding: 22px 0 !important;
        font-size: 17px !important;
    }
}

@media (max-width: 440px) {
    .lx-family-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .lx-family-button { width: 100%; }

    .lx-family-hero__media,
    .lx-family-chapter__media,
    .lx-family-chapter__media img {
        min-height: 310px;
    }

    .lx-family-ecosystem__item {
        grid-template-columns: 106px 1fr;
    }

    .lx-family-comparison__product {
        grid-template-columns: 104px 1fr;
    }

    .lx-family-comparison__product figure {
        padding: 12px;
    }

    .lx-family-comparison__product img {
        height: 156px;
    }

    .lx-family-comparison__product > div {
        padding: 22px 18px;
    }

    .lx-family-comparison__product h3 {
        font-size: 22px;
    }

    .lx-family-ecosystem__copy,
    .lx-family-ecosystem__media { min-height: 168px; }

    .lx-family-ecosystem__copy { padding: 20px; }
    .lx-family-ecosystem__copy strong { font-size: 18px; }
}

@media (prefers-reduced-motion: reduce) {
    .lx-family *,
    .lx-family *::before,
    .lx-family *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Scoped section rhythm; heroes and capability rails keep their own geometry. */
body.is-interior.is-product-page main#main-content.lx-family > section.lx-family-rail {
    margin: 0;
    padding: 0;
}

body.is-interior.is-product-page .lx-family-hero .lx-family-eyebrow,
body.is-interior.is-product-page .lx-family-chapter--dark .lx-family-eyebrow,
body.is-interior.is-product-page .lx-family-cta .lx-family-eyebrow {
    color: var(--lxf-cyan-light) !important;
}

body.is-interior.is-product-page .lx-family-hero h1,
body.is-interior.is-product-page .lx-family-chapter--dark h2,
body.is-interior.is-product-page .lx-family-cta h2 {
    color: #fff !important;
}

body.is-interior.is-product-page .lx-family-hero .lx-family-hero__lead,
body.is-interior.is-product-page .lx-family-chapter--dark .lx-family-chapter__copy > p:not(.lx-family-eyebrow),
body.is-interior.is-product-page .lx-family-cta .container > p:not(.lx-family-eyebrow) {
    color: rgba(255, 255, 255, .76) !important;
}

body.is-interior.is-product-page .lx-family a.lx-family-button--light {
    color: var(--lxf-navy-950) !important;
}

body.is-interior.is-product-page .lx-family a.lx-family-link--on-dark {
    color: var(--lxf-cyan-light) !important;
}

body.is-interior.is-product-page .lx-family-chapter--dark .lx-family-checks li {
    color: rgba(255, 255, 255, .88) !important;
}

/* Section, utility and closing headings share the site scale. */
body.is-interior.is-product-page .lx-family :is(
    .lx-family-intro h2,
    .lx-family-section-heading h2,
    .lx-family-chapter__copy h2,
    .lx-family-proof h2
) {
    font-size: var(--lx-type-section, clamp(30px, calc(22px + 2vw), 48px));
    line-height: 1.12;
}

body.is-interior.is-product-page .lx-family-cta h2 {
    font-size: var(--lx-type-cta, clamp(34px, calc(25px + 2.2vw), 56px));
    line-height: 1.1;
}

/* A closer product view and a quieter reading rhythm. */
.lx-family-hero__grid {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,5vw,72px);}
.lx-family-hero__motion {min-width:0;width:100%;max-width:620px;justify-self:end;}
body.is-interior.is-product-page .lx-family-hero__copy h1 {max-width:16ch;font-size:clamp(44px,4.5vw,64px)!important;line-height:1.05!important;}
.lx-family-chapter__copy h2 {max-width:20ch;}
.lx-family-chapter__grid {grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(36px,5vw,72px);}
body.is-interior.is-product-page main#main-content.lx-family>section.lx-family-hero {min-height:680px!important;padding:128px 0 72px!important;}
.lx-family-hero--text .lx-family-hero__grid {grid-template-columns:minmax(0,1fr);}
.lx-family-hero--text .lx-family-hero__copy {max-width:960px;}
body.is-interior.is-product-page .lx-family-hero--text .lx-family-hero__copy h1 {max-width:20ch;}
body.is-interior.is-product-page main#main-content.lx-family>section.lx-family-hero--text {min-height:0!important;}
body.is-interior.is-product-page main#main-content.lx-family>section:is(.lx-family-intro,.lx-family-journey,.lx-family-chapter,.lx-family-comparison,.lx-family-ecosystem,.lx-family-proof,.lx-family-cta) {padding-block:var(--lx-section-space,clamp(56px,7vw,100px));}
.lx-family-chapter__media--contain {min-height:0;}
.lx-family-interface-link {position:relative;display:block;line-height:0;text-decoration:none;}
.lx-family-chapter__media--contain .lx-family-interface-link img {height:auto;min-height:0;padding:16px;aspect-ratio:1672/1251;object-fit:contain;}
.lx-family-interface-link>span {position:absolute;right:12px;bottom:12px;padding:9px 13px;border:1px solid #536d7d;border-radius:30px;background:#0b2639;color:#e2f3fb;font:12px/1.4 Arial,sans-serif;}
.lx-family-interface-link:hover>span {background:#174b64;}
.lx-family-interface-link:focus-visible {outline:3px solid #00b2d3;outline-offset:-3px;}
.lx-family-showcase {color:#eaf4fa;background:#041925;}
body.is-interior.is-product-page main#main-content.lx-family>section.lx-family-showcase {padding-block:var(--lx-section-space,clamp(56px,7vw,100px));}
.lx-family-showcase__grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,96px);align-items:center;}
body.is-interior.is-product-page .lx-family-showcase h2 {color:#fff!important;font-size:var(--lx-type-section,clamp(30px,calc(22px + 2vw),48px));line-height:1.12;margin:0 0 28px;}
body.is-interior.is-product-page .lx-family-showcase .lx-family-eyebrow {color:#63d5e8!important;}
body.is-interior.is-product-page .lx-family-showcase p:not(.lx-family-eyebrow,.lx-ui-motion__legend) {color:#b2c8d4!important;font-size:17px;line-height:1.65;}
.lx-family-showcase__steps {list-style:none;padding:0;margin:32px 0 0;}
.lx-family-showcase__steps li {display:flex;gap:22px;padding:24px 0;border-top:1px solid #36505e;}
.lx-family-showcase__steps li>span {font:12px/1.5 monospace;color:#63d5e8;}
body.is-interior.is-product-page .lx-family-showcase__steps h3 {color:#f0f7fb!important;font-size:21px!important;margin:0 0 8px;}
.lx-family-showcase__steps p {margin:0;}
.lx-ui-motion--still .lx-ui-motion__art--signals {height:62px;aspect-ratio:auto;}
.lx-ui-motion--still .lx-ui-motion__toolbar {padding-block:14px;}
.lx-ui-motion--still .lx-ui-motion__footer {min-height:48px;padding-block:12px;}
.lx-family-chapter__media--contain:has(.lx-family-interface-link) figcaption {position:static;max-width:none;border:0;border-radius:0;margin:0;padding:15px 20px;background:#0b2639;}
@media(max-width:1000px) {
 .lx-family-hero__grid,.lx-family-chapter__grid,.lx-family-proof__grid {grid-template-columns:minmax(0,1fr);}
 .lx-family-hero__copy {max-width:720px;}
 .lx-family-hero__motion {justify-self:center;max-width:600px;}
 .lx-family-chapter--reverse .lx-family-chapter__media {order:0;}
 .lx-family-showcase__grid {grid-template-columns:minmax(0,1fr);}
 .lx-family-showcase__grid>.lx-ui-motion {max-width:560px;justify-self:center;}
}
@media(max-width:760px) {
 body.is-interior.is-product-page .lx-family-hero__copy h1 {font-size:clamp(36px,9.5vw,44px)!important;line-height:1.08!important;max-width:19ch;}
 body.is-interior.is-product-page main#main-content.lx-family>section.lx-family-hero {min-height:0!important;padding:112px 0 48px!important;}
 .lx-family-hero__grid {gap:36px;}
 .lx-family-hero__lead {font-size:17px;line-height:1.6;}
 .lx-family-chapter__media--contain .lx-family-interface-link img {padding:8px;}
 .lx-family-interface-link>span {position:static;display:block;text-align:center;border:0;border-radius:0;padding:11px;}
}
