:root {
    --page-bg: #08111c;
    --page-bg-soft: #0f1c2b;
    --page-ink: #ecf3fb;
    --page-muted: #9fb1c5;
    --page-line: rgba(210, 225, 240, 0.14);
    --page-panel: rgba(13, 22, 35, 0.76);
    --page-panel-strong: rgba(13, 22, 35, 0.92);
    --accent-blue: #13a0cd;
    --accent-green: #63a35c;
    --accent-green-deep: #4d8046;
    --accent-amber: #e6c229;
    --accent-red: #de2d2d;
    --light-bg: #f5f1e8;
    --light-bg-soft: #fcfaf6;
    --light-line: #d9e1ea;
    --light-ink: #132235;
    --light-muted: #5d6d7f;
    --radius-lg: 28px;
    --radius-md: 20px;
    --radius-sm: 14px;
    --shadow-lg: 0 28px 90px rgba(4, 10, 18, 0.32);
    --shadow-md: 0 14px 32px rgba(12, 24, 38, 0.08);
}

html {
    scroll-behavior: smooth;
}

body.public-site {
    margin: 0;
    background: var(--page-bg);
    color: var(--page-ink);
    font-family: "IBM Plex Sans", sans-serif;
    overflow-x: hidden;
}

.public-site * {
    box-sizing: border-box;
}

.public-site a {
    color: inherit;
}

.site-width {
    width: min(1320px, calc(100vw - 48px));
    margin: 0 auto;
}

.site-hero {
    position: relative;
    overflow: hidden;
    min-height: 100svh;
    padding: 24px 0 28px;
    box-sizing: border-box;
}

.site-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
    background-size: 76px 76px;
    opacity: 0.15;
    pointer-events: none;
}

.site-hero > .site-width {
    position: relative;
    z-index: 1;
    min-height: calc(100svh - 42px);
    display: grid;
    grid-template-rows: auto 1fr;
}

.conference-strip {
    position: relative;
    z-index: 3;
    padding: 8px 0 0;
    display: flex;
    justify-content: center;
}

.conference-strip[hidden] {
    display: none !important;
}

.conference-card {
    position: relative;
    width: min(1120px, 100%);
    margin: 0 auto;
    padding: 6px 18px;
    padding-right: 42px;
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(6, 37, 102, 0.96), rgba(10, 74, 153, 0.94));
    border: 1px solid rgba(133, 184, 255, 0.18);
    box-shadow: 0 24px 48px rgba(2, 12, 34, 0.28);
    display: flex;
    align-items: center;
    gap: 18px;
}

.conference-dismiss {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(190, 219, 255, 0.22);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #f4f8ff;
    font: inherit;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    transition:
        background 0.18s ease,
        border-color 0.18s ease;
}

.conference-dismiss:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(190, 219, 255, 0.34);
}

.conference-dismiss:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.4);
    outline-offset: 2px;
}

.conference-copy {
    flex: 1;
    min-width: 0;
}

.conference-meta {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 8px;
    color: #b9d4ff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.conference-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #e6c229;
}

.conference-copy p {
    margin: 0;
    color: #d9e9ff;
    line-height: 1.4;
    font-size: 0.88rem;
}

.conference-copy strong {
    color: #f4f8ff;
    font-family: "Space Grotesk", sans-serif;
}

.conference-card .site-button {
    min-height: 34px;
    padding: 0 16px;
    font-size: 0.84rem;
    white-space: nowrap;
}

.conference-card .site-button-secondary {
    color: #f4f8ff;
    border-color: rgba(190, 219, 255, 0.2);
    background: rgba(255, 255, 255, 0.08);
}

.conference-card .site-button-secondary:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.14);
}

.conference-buttons {
    display: flex;
    flex-shrink: 0;
    gap: 8px;
    align-items: center;
}

.conference-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: #173e58;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.conference-link:hover {
    color: #0d84aa;
}

.hero-brand-dots {
    position: absolute;
    inset: 70px -40px 0 auto;
    width: 560px;
    height: 560px;
    pointer-events: none;
    z-index: 1;
}

.hero-brand-dot {
    position: absolute;
    display: block;
    border-radius: 50%;
    filter: blur(42px);
    opacity: 0.22;
}

.hero-brand-dot-blue {
    top: 34px;
    right: 172px;
    width: 150px;
    height: 150px;
    background: #13a0cd;
}

.hero-brand-dot-green {
    top: 170px;
    right: 12px;
    width: 184px;
    height: 184px;
    background: #63a35c;
}

.hero-brand-dot-amber {
    bottom: 126px;
    right: 118px;
    width: 132px;
    height: 132px;
    background: #e6c229;
}

.hero-brand-dot-red {
    bottom: 8px;
    right: 284px;
    width: 118px;
    height: 118px;
    background: #de2d2d;
}

.site-nav {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0;
}

.site-brand {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
}

.site-brand-image {
    display: block;
    height: 48px;
    width: auto;
}

.site-brand-mark {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(19, 160, 205, 0.22), rgba(230, 194, 41, 0.2));
    border: 1px solid rgba(255, 255, 255, 0.12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "Space Grotesk", sans-serif;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.site-brand-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.site-brand-text strong {
    font-family: "Space Grotesk", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
}

.site-brand-text span {
    color: var(--page-muted);
    font-size: 12px;
    line-height: 1;
}

.site-nav-links {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.site-nav-link,
.site-nav-pill,
.site-nav-lang {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 18px;
    border-radius: 999px;
    text-decoration: none;
    font-size: 18px;
    font-weight: 500;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.site-nav-link {
    color: var(--page-muted);
    border: 1px solid transparent;
}

.site-nav-link:hover {
    color: var(--page-ink);
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.08);
}

.site-nav-pill,
.site-nav-lang {
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.06);
    color: var(--page-ink);
}

.site-nav-pill {
    border-color: rgba(19, 160, 205, 0.44);
    background: linear-gradient(135deg, rgba(19, 160, 205, 0.34), rgba(19, 160, 205, 0.18));
    color: #f7fbff;
    box-shadow: 0 16px 30px rgba(19, 160, 205, 0.14);
}

.site-nav-pill:hover,
.site-nav-lang:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.1);
}

.site-nav-pill:hover {
    background: linear-gradient(135deg, rgba(19, 160, 205, 0.44), rgba(19, 160, 205, 0.24));
}

.hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.74fr) minmax(0, 1.26fr);
    gap: clamp(68px, 7vw, 104px);
    align-items: center;
    align-self: end;
    min-height: 0;
    padding: clamp(64px, 11vh, 150px) 0 clamp(26px, 4vh, 44px);
}

.hero-copy {
    position: relative;
    z-index: 5;
    max-width: 620px;
}

.hero-shot-stack {
    display: grid;
    gap: 14px;
    align-content: start;
    min-height: 540px;
}

.hero-shot-intro {
    width: 76%;
    margin: 0 0 0 12%;
    font-size: clamp(1rem, 1.25vw, 1.16rem);
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: 0;
    text-align: center;
    color: #d4dfeb;
    text-wrap: balance;
}

.hero-shot-canvas {
    position: relative;
    min-height: 438px;
}

.hero-shot {
    position: absolute;
    overflow: hidden;
    border-radius: 26px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.02);
    box-shadow: var(--shadow-lg);
}

.hero-shot img {
    display: block;
    width: 100%;
    height: auto;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform: translateZ(0);
}

.hero-shot-main {
    z-index: 2;
    width: 80%;
    left: 10%;
    top: 34px;
}

.hero-shot-left {
    z-index: 1;
    width: 34%;
    left: -2px;
    bottom: 34px;
    transform: rotate(-4deg) translateZ(0);
}

.hero-shot-right {
    z-index: 3;
    width: 31%;
    right: 14px;
    top: -12px;
    transform: rotate(4deg) translateZ(0);
}

.hero-phone-shot {
    position: absolute;
    right: 22px;
    bottom: 8px;
    z-index: 4;
    width: 146px;
    margin: 0;
    padding: 8px;
    border-radius: 28px;
    background: rgba(10, 18, 30, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: var(--shadow-lg);
}

.hero-phone-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 10px;
    color: #d9e6f2;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.hero-phone-label .fa {
    color: var(--accent-green);
}

.hero-phone-shot img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 22px;
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #d9e3ee;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 18px;
}

.hero-copy h1 {
    margin: 0;
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(3rem, 6vw, 5.2rem);
    line-height: 0.95;
    letter-spacing: -0.04em;
}

.hero-line {
    display: block;
}

.hero-line-nowrap {
    white-space: nowrap;
}

.hero-accent {
    display: inline-block;
    padding-bottom: 0.15em;
    font-style: normal;
    text-shadow: 0 0 28px rgba(255, 255, 255, 0.05);
}

.hero-accent-speed {
    background: linear-gradient(135deg, var(--accent-green) 0%, #8db256 42%, var(--accent-amber) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.hero-accent-quality {
    background: linear-gradient(90deg, var(--accent-green) 0%, #8db256 42%, var(--accent-amber) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.hero-lead-stack {
    display: grid;
    gap: 16px;
    margin-top: 28px;
    max-width: 620px;
}

.hero-lead {
    margin: 0;
    color: #d7e1ec;
    font-size: clamp(1.02rem, 1.3vw, 1.24rem);
    line-height: 1.72;
}

.hero-lead-solution {
    color: #eef4fb;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 38px;
}

.site-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 56px;
    padding: 0 26px;
    border-radius: 999px;
    border: 1px solid transparent;
    text-decoration: none;
    font-size: 1.04rem;
    font-weight: 600;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.site-button:hover {
    transform: translateY(-1px);
}

.site-button-primary {
    background: linear-gradient(135deg, #13a0cd, #0d84aa);
    color: #ffffff;
    box-shadow: 0 14px 30px rgba(19, 160, 205, 0.24);
}

.site-button-secondary {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.1);
    color: var(--page-ink);
}

.hero-proof {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.hero-proof-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #d2dce7;
    font-size: 13px;
}

.hero-proof-item .fa {
    color: var(--accent-green);
}

.hero-note {
    margin-top: 18px;
    color: var(--page-muted);
    font-size: 14px;
}

.hero-surface {
    background: linear-gradient(180deg, rgba(12, 21, 34, 0.94), rgba(7, 13, 24, 0.92));
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    overflow: hidden;
}

.hero-surface-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 20px;
    border-bottom: 1px solid var(--page-line);
    background: rgba(255, 255, 255, 0.03);
}

.surface-title {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.surface-title strong {
    font-family: "Space Grotesk", sans-serif;
    font-size: 18px;
    line-height: 1.1;
}

.surface-title span {
    color: var(--page-muted);
    font-size: 13px;
}

.surface-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border-radius: 999px;
    background: rgba(57, 217, 138, 0.12);
    color: #cbf7df;
    font-size: 12px;
    font-weight: 600;
}

.surface-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding: 18px;
}

.surface-card {
    min-height: 150px;
    padding: 18px;
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.07);
}

.surface-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 14px;
}

.surface-card-label {
    color: var(--page-muted);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.surface-chip {
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}

.surface-chip.green {
    background: rgba(57, 217, 138, 0.12);
    color: #cbf7df;
}

.surface-chip.blue {
    background: rgba(110, 197, 255, 0.12);
    color: #d1eaff;
}

.surface-chip.amber {
    background: rgba(255, 200, 97, 0.12);
    color: #ffe5b1;
}

.surface-chip.slate {
    background: rgba(207, 223, 238, 0.12);
    color: #e6edf5;
}

.surface-card strong {
    display: block;
    margin-bottom: 10px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.55rem;
    line-height: 1.05;
}

.surface-card p {
    margin: 0;
    color: #bfccd9;
    font-size: 14px;
    line-height: 1.55;
}

.section {
    padding: 84px 0;
}

.section-light {
    background: var(--light-bg-soft);
    color: var(--light-ink);
}

.section-cream {
    background: var(--light-bg);
    color: var(--light-ink);
}

.section-dark {
    background:
        radial-gradient(circle at top left, rgba(110, 197, 255, 0.08), transparent 32%),
        linear-gradient(180deg, #0c1523, #09111c);
    color: var(--page-ink);
}

.section-accent {
    background:
        linear-gradient(135deg, rgba(57, 217, 138, 0.18), rgba(110, 197, 255, 0.1)),
        #0d1623;
    color: var(--page-ink);
}

.section-head {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 24px;
    align-items: end;
    margin-bottom: 30px;
}

.section-head > :only-child {
    grid-column: 1 / -1;
}

.section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--accent-green-deep);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.section-dark .section-kicker,
.section-accent .section-kicker {
    color: #bbf1d2;
}

.section-title {
    margin: 0;
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 0.98;
    letter-spacing: -0.04em;
}

.section-subtitle {
    margin: 14px 0 0;
    color: var(--light-muted);
    font-size: 1.06rem;
    line-height: 1.6;
}

.section-copy {
    margin: 0;
    color: var(--light-muted);
    font-size: 1.02rem;
    line-height: 1.7;
}

.section-copy-centered {
    max-width: 1120px;
    margin: 30px auto 0;
    text-align: center;
    text-wrap: balance;
}

.section-dark .section-copy,
.section-accent .section-copy {
    color: var(--page-muted);
}

.feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.flow-principles-grid {
    margin-top: 30px;
}

.feature-card {
    padding: 24px;
    border-radius: var(--radius-md);
    background: #fff;
    border: 1px solid var(--light-line);
    box-shadow: var(--shadow-md);
}

.feature-card-dark {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: none;
}

.feature-icon {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    margin-bottom: 18px;
    background: rgba(57, 217, 138, 0.12);
    color: var(--accent-green-deep);
}

.feature-card-dark .feature-icon {
    background: rgba(255, 255, 255, 0.08);
    color: var(--accent-green);
}

.feature-card h3 {
    margin: 0 0 10px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.35rem;
    line-height: 1.1;
}

.feature-card p {
    margin: 0 0 12px;
    color: var(--light-muted);
    line-height: 1.62;
}

.feature-card-dark p {
    color: #b7c4d1;
}

.flow-principle-card {
    background: linear-gradient(180deg, #fffefb, #f7f6f1);
}

.feature-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.feature-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 6px 0;
    color: inherit;
}

.feature-list .fa {
    color: var(--accent-green);
    margin-top: 5px;
}

.workflow-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

.workflow-step {
    position: relative;
    padding: 22px;
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.workflow-step::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -8px;
    width: 16px;
    height: 1px;
    background: rgba(255, 255, 255, 0.12);
}

.workflow-step:last-child::after {
    display: none;
}

.workflow-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(57, 217, 138, 0.14);
    color: var(--accent-green);
    font-family: "Space Grotesk", sans-serif;
    font-weight: 700;
    margin-bottom: 16px;
}

.workflow-step h3 {
    margin: 0 0 8px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.2rem;
}

.workflow-step p {
    margin: 0;
    color: #b9c6d3;
    line-height: 1.58;
    font-size: 14px;
}

.demo-switcher {
    margin-top: 28px;
}

.demo-stage-shell {
    position: relative;
}

.demo-nav {
    position: absolute;
    top: 50%;
    z-index: 3;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(8px);
    color: rgba(255, 255, 255, 0.7);
    box-shadow: none;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.demo-nav:hover {
    transform: translateY(calc(-50% - 1px));
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
    box-shadow: none;
}

[data-demo-prev] {
    left: -72px;
}

[data-demo-next] {
    right: -72px;
}

.demo-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
}

.demo-tab {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid var(--light-line);
    background: #fff;
    color: var(--light-ink);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
    box-shadow: var(--shadow-md);
}

.demo-tab.is-active {
    background: #0d1623;
    border-color: rgba(255, 255, 255, 0.08);
    color: var(--page-ink);
    box-shadow: var(--shadow-lg);
}

.demo-tab-step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(57, 217, 138, 0.12);
    color: var(--accent-green-deep);
    font-family: "Space Grotesk", sans-serif;
    font-size: 14px;
    font-weight: 700;
}

.demo-tab.is-active .demo-tab-step {
    background: rgba(57, 217, 138, 0.18);
    color: var(--accent-green);
}

.demo-stage {
    padding: 38px;
    border-radius: var(--radius-lg);
    background: linear-gradient(180deg, rgba(12, 21, 34, 0.98), rgba(9, 17, 28, 0.98));
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: var(--shadow-lg);
    color: var(--page-ink);
}

.demo-panel {
    display: none;
    grid-template-columns: minmax(300px, 0.68fr) minmax(0, 1.32fr);
    gap: 36px;
    align-items: center;
}

.demo-panel.is-active {
    display: grid;
}

.demo-copy h3 {
    margin: 0 0 12px;
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    line-height: 1.02;
    letter-spacing: -0.03em;
    color: var(--page-ink);
}

.demo-copy p {
    margin: 0 0 16px;
    color: #c0ccda;
    line-height: 1.7;
}

.flow-note,
.demo-stage-intro {
    font-size: 0.98rem;
    line-height: 1.5;
}

.demo-stage-intro {
    margin-top: 12px;
}

.demo-bullets li {
    color: #e7eef6;
}

.demo-visual {
    min-height: 380px;
    padding: 22px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.demo-visual-clean {
    min-height: auto;
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
}

.demo-visual-light {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 248, 252, 0.98));
    border: 1px solid rgba(148, 163, 184, 0.2);
    box-shadow: 0 22px 46px rgba(15, 23, 42, 0.12);
}

.demo-screen {
    overflow: hidden;
    margin: 0;
    border-radius: 26px;
    background: #fff;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 28px 60px rgba(4, 10, 18, 0.28);
}

.demo-screen picture,
.demo-screen img {
    display: block;
    width: 100%;
    height: auto;
}

.demo-caption {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 14px;
    color: #c0ccda;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.demo-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(57, 217, 138, 0.12);
    color: #d4f7e3;
    font-size: 11px;
    font-weight: 700;
}

.demo-visual-light .demo-caption {
    color: #526273;
}

.demo-visual-light .demo-status {
    background: rgba(34, 197, 94, 0.14);
    color: #166534;
}

.demo-pipeline {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.demo-column {
    padding: 14px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.demo-column h4 {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #c0ccda;
}

.demo-small-card {
    padding: 12px;
    border-radius: 16px;
    background: rgba(8, 17, 28, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.demo-small-card + .demo-small-card {
    margin-top: 10px;
}

.demo-small-card strong {
    display: block;
    color: #eef4fb;
    font-size: 14px;
}

.demo-small-card span {
    display: block;
    margin-top: 6px;
    color: #9fb1c5;
    font-size: 12px;
    line-height: 1.5;
}

.demo-pill {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(110, 197, 255, 0.12);
    color: #d7ecff;
    font-size: 11px;
    font-weight: 700;
}

.demo-pill.green {
    background: rgba(57, 217, 138, 0.12);
    color: #d4f7e3;
}

.demo-pill.amber {
    background: rgba(255, 200, 97, 0.14);
    color: #ffe6b4;
}

.demo-pill.rose {
    background: rgba(255, 129, 129, 0.14);
    color: #ffd3d3;
}

.demo-schedule-wrap {
    overflow-x: auto;
    border-radius: 18px;
}

.demo-schedule {
    min-width: 720px;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.demo-schedule-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px;
    background: rgba(255, 255, 255, 0.04);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.demo-schedule-toolbar strong {
    font-size: 15px;
}

.demo-schedule-toolbar span {
    color: #c0ccda;
    font-size: 13px;
}

.demo-schedule-grid {
    display: grid;
    grid-template-columns: 112px repeat(5, minmax(0, 1fr));
}

.demo-schedule-head,
.demo-schedule-label,
.demo-schedule-cell {
    min-height: 62px;
    padding: 12px 10px;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.demo-schedule-head {
    color: #c0ccda;
    font-size: 12px;
    font-weight: 700;
}

.demo-schedule-label {
    color: #eef4fb;
    font-weight: 700;
}

.demo-block {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 11px;
    border-radius: 12px;
    color: #eef4fb;
    font-size: 12px;
    font-weight: 700;
    background: rgba(110, 197, 255, 0.2);
    margin: 4px 0;
}

.demo-block.green {
    background: rgba(57, 217, 138, 0.2);
}

.demo-block.amber {
    background: rgba(255, 200, 97, 0.18);
}

.demo-block.rose {
    background: rgba(255, 129, 129, 0.18);
}

.demo-operator {
    display: grid;
    gap: 18px;
}

.demo-rings {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.demo-ring {
    position: relative;
    aspect-ratio: 1;
    border-radius: 50%;
    background: conic-gradient(var(--ring-color, var(--accent-green)) calc(var(--value) * 1%), rgba(255, 255, 255, 0.08) 0);
    display: grid;
    place-items: center;
}

.demo-visual-light .demo-ring {
    background: conic-gradient(var(--ring-color, var(--accent-green)) calc(var(--value) * 1%), rgba(148, 163, 184, 0.2) 0);
}

.demo-ring::before {
    content: "";
    position: absolute;
    inset: 12px;
    border-radius: 50%;
    background: #0d1623;
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.demo-visual-light .demo-ring::before {
    background: #ffffff;
    border-color: rgba(148, 163, 184, 0.18);
}

.demo-ring-inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    text-align: center;
}

.demo-ring-value {
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.2rem;
    line-height: 1;
}

.demo-visual-light .demo-ring-value {
    color: #12253b;
}

.demo-ring-label {
    color: #9fb1c5;
    font-size: 12px;
}

.demo-visual-light .demo-ring-label {
    color: #64748b;
}

.demo-check-panel {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.demo-check-card {
    padding: 14px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.demo-visual-light .demo-check-card {
    background: #ffffff;
    border-color: rgba(148, 163, 184, 0.18);
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.08);
}

.demo-check-card strong {
    display: block;
    margin-bottom: 10px;
    font-size: 14px;
}

.demo-visual-light .demo-check-card strong {
    color: #12253b;
}

.demo-check-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 0;
    color: #e7eef6;
}

.demo-visual-light .demo-check-row {
    color: #1f3347;
}

.demo-check-row + .demo-check-row {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.demo-visual-light .demo-check-row + .demo-check-row {
    border-top-color: rgba(148, 163, 184, 0.18);
}

.demo-check-row span:last-child {
    color: #9fb1c5;
    font-size: 12px;
}

.demo-visual-light .demo-check-row span:last-child {
    color: #64748b;
}

.demo-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: 56px;
    height: 28px;
    cursor: pointer;
    flex-shrink: 0;
}

.demo-toggle input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.demo-toggle-track {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: 56px;
    height: 28px;
    border-radius: 999px;
    background: #9ca3af;
    transition: background 0.2s ease, box-shadow 0.2s ease;
}

.demo-toggle-thumb {
    position: absolute;
    top: 4px;
    left: 4px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.22);
    transition: transform 0.2s ease;
}

.demo-toggle input:checked + .demo-toggle-track {
    background: #22c55e;
}

.demo-toggle input:checked + .demo-toggle-track .demo-toggle-thumb {
    transform: translateX(28px);
}

.demo-iot {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 14px;
    align-items: center;
}

.demo-iot-column {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.demo-flow-card {
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.demo-flow-card strong {
    display: block;
    font-size: 14px;
}

.demo-flow-card span {
    display: block;
    margin-top: 4px;
    color: #9fb1c5;
    font-size: 12px;
}

.demo-iot-core {
    min-width: 180px;
    padding: 18px;
    border-radius: 20px;
    border: 1px solid rgba(110, 197, 255, 0.22);
    background: rgba(110, 197, 255, 0.12);
    text-align: center;
}

.demo-iot-core strong {
    display: block;
    font-family: "Space Grotesk", sans-serif;
    font-size: 2rem;
    line-height: 1;
}

.demo-iot-core span {
    display: block;
    margin-top: 6px;
    color: #c0ccda;
}

.demo-sparkbars {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 8px;
    align-items: end;
    height: 84px;
    margin-top: 18px;
}

.demo-sparkbars span {
    display: block;
    height: var(--bar);
    border-radius: 999px 999px 6px 6px;
    background: linear-gradient(180deg, #6ec5ff, #39d98a);
}

.demo-oee-top {
    display: grid;
    grid-template-columns: 1.2fr repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.demo-metric-card {
    padding: 16px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.demo-metric-card small {
    display: block;
    color: #9fb1c5;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.demo-metric-card strong {
    display: block;
    margin-top: 8px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 2.2rem;
    line-height: 1;
}

.demo-metric-card span {
    display: block;
    margin-top: 6px;
    color: #dce6f1;
    font-size: 13px;
}

.demo-oee-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 16px;
    margin-top: 16px;
}

.demo-bar-stack {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.demo-bar-row {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr) 48px;
    gap: 12px;
    align-items: center;
}

.demo-bar-row strong {
    font-size: 13px;
}

.demo-bar {
    height: 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.demo-bar > span {
    display: block;
    height: 100%;
    width: var(--value);
    border-radius: 999px;
    background: linear-gradient(90deg, var(--accent-green), var(--accent-blue));
}

.demo-pareto {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    align-items: end;
    min-height: 160px;
}

.demo-pareto-bar {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    min-height: 140px;
    padding-bottom: 24px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.demo-pareto-bar::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: var(--h);
    background: linear-gradient(180deg, rgba(110, 197, 255, 0.18), rgba(57, 217, 138, 0.92));
}

.demo-pareto-bar span {
    position: relative;
    z-index: 1;
    color: #eef4fb;
    font-size: 12px;
    font-weight: 600;
}

.kanban-mockup {
    background: #f8fafc;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(8, 17, 28, 0.28);
    color: #132235;
}

.kanban-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px;
    background: #ffffff;
    border-bottom: 1px solid #e2e8f0;
}

.kanban-header-left,
.kanban-header-right {
    display: flex;
    align-items: center;
    gap: 12px;
}

.kanban-title {
    font-size: 15px;
    font-weight: 700;
    color: #1e293b;
}

.kanban-meta {
    color: #64748b;
    font-size: 13px;
}

.kanban-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px;
    border-radius: 10px;
    background: #f1f5f9;
}

.kanban-toggle span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    color: #64748b;
}

.kanban-toggle .is-active {
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
    color: #111827;
}

.kanban-board {
    display: flex;
    gap: 14px;
    padding: 14px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.kanban-column {
    width: 232px;
    min-width: 232px;
    background: #eef2f7;
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid #dde6f0;
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.kanban-column.is-over {
    border-color: #93c5fd;
    box-shadow: inset 0 0 0 2px #93c5fd;
}

.kanban-column-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid #dde6f0;
    background: rgba(255, 255, 255, 0.65);
}

.kanban-stage {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.kanban-stage-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.kanban-stage-name {
    font-size: 13px;
    font-weight: 700;
    color: #0f172a;
}

.kanban-stage-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 22px;
    padding: 0 7px;
    border-radius: 999px;
    background: #e2e8f0;
    color: #475569;
    font-size: 12px;
    font-weight: 700;
}

.kanban-cards {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 300px;
    padding: 12px;
}

.kanban-card {
    background: #ffffff;
    border-radius: 14px;
    padding: 12px;
    border: 1px solid #dbe2ea;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
    cursor: grab;
}

.kanban-card:active {
    cursor: grabbing;
}

.kanban-card.is-dragging {
    opacity: 0.4;
}

.kanban-card strong {
    display: block;
    font-size: 14px;
    color: #0f172a;
}

.kanban-card p {
    margin: 8px 0 0;
    color: #64748b;
    font-size: 12px;
    line-height: 1.5;
}

.kanban-card-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    flex-wrap: wrap;
}

.kanban-card-chip {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}

.kanban-card-chip.ghost {
    background: #eef2f7;
    color: #64748b;
}

.kanban-card-chip.green {
    background: #dcfce7;
    color: #166534;
}

.kanban-card-chip.amber {
    background: #fef3c7;
    color: #92400e;
}

.kanban-hint {
    padding: 0 14px 14px;
    color: #64748b;
    font-size: 12px;
}

.gantt-mockup {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(8, 17, 28, 0.28);
}

.gantt-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    color: #1e293b;
    font-weight: 500;
    font-size: 14px;
}

.gantt-header-left {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #334155;
}

.gantt-header-right {
    display: flex;
    align-items: center;
    gap: 8px;
}

.gantt-nav-btn {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: #fff;
    border: 1px solid #e2e8f0;
    color: #64748b;
    font-size: 11px;
    cursor: pointer;
    user-select: none;
}

.gantt-nav-btn:hover {
    background: #f1f5f9;
    border-color: #cbd5e1;
}

.gantt-nav-btn:active {
    background: #e2e8f0;
}

.gantt-week-label {
    font-size: 13px;
    color: #334155;
    font-weight: 500;
    padding: 0 4px;
}

.gantt-today-btn {
    font-size: 12px;
    background: #eff6ff;
    color: #2563eb;
    padding: 3px 10px;
    border-radius: 6px;
    font-weight: 500;
    cursor: pointer;
    user-select: none;
}

.gantt-today-btn:hover {
    background: #dbeafe;
}

.gantt-legend {
    display: flex;
    gap: 8px;
    padding: 8px 20px;
    border-bottom: 1px solid #f1f5f9;
    flex-wrap: wrap;
}

.gantt-status-pill {
    font-size: 11px;
    padding: 2px 10px;
    border-radius: 20px;
    font-weight: 500;
}

.gantt-grid {
    width: 100%;
}

.gantt-row {
    display: grid;
    grid-template-columns: 180px repeat(5, 1fr);
    border-bottom: 1px solid #f1f5f9;
}

.gantt-row-header {
    background: #f8fafc;
    font-weight: 500;
    font-size: 12px;
    color: #64748b;
}

.gantt-row-header .gantt-cell {
    padding: 8px 12px;
    text-align: center;
}

.gantt-row-unassigned {
    background: #fafafa;
}

.gantt-cell {
    padding: 8px 6px;
    border-right: 1px solid #f1f5f9;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: flex-start;
    align-content: flex-start;
    min-height: 48px;
}

.gantt-cell-operator {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: #fafafa;
    min-width: 180px;
}

.gantt-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.gantt-op-name {
    font-size: 13px;
    font-weight: 500;
    color: #1e293b;
    line-height: 1.2;
}

.gantt-capacity {
    width: 60px;
    height: 4px;
    background: #e2e8f0;
    border-radius: 2px;
    margin-top: 3px;
    overflow: hidden;
}

.gantt-capacity-bar {
    height: 100%;
    background: #22c55e;
    border-radius: 2px;
    transition: width 0.3s ease;
}

.gantt-capacity-over {
    background: #ef4444;
}

.gantt-capacity-label {
    font-size: 10px;
    color: #64748b;
    font-variant-numeric: tabular-nums;
}

.gantt-pill {
    font-size: 12px;
    padding: 5px 12px;
    border-radius: 6px;
    font-weight: 500;
    white-space: nowrap;
    cursor: grab;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    user-select: none;
}

.gantt-pill:hover {
    transform: scale(1.05);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

.gantt-pill:active {
    cursor: grabbing;
}

.gantt-bank-hint {
    padding: 10px 20px;
    font-size: 12px;
    color: #94a3b8;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
}

.gantt-bank-hint .fa-info-circle {
    color: #60a5fa;
    margin-right: 6px;
}

.gantt-cell-today {
    background: rgba(59, 130, 246, 0.04) !important;
}

.gantt-row-header .gantt-cell-today {
    color: #2563eb;
    font-weight: 600;
}

.gantt-dragging {
    opacity: 0.35 !important;
}

.gantt-drop-over {
    background: #eff6ff !important;
    box-shadow: inset 0 0 0 2px #60a5fa;
    border-radius: 4px;
}

.gantt-filter-btn {
    cursor: pointer;
    user-select: none;
    transition: opacity 0.15s ease, transform 0.1s ease;
}

.gantt-filter-btn:hover {
    transform: scale(1.05);
}

.gantt-filter-clear {
    cursor: pointer;
    user-select: none;
}

.gantt-filter-clear:hover {
    background: #f1f5f9 !important;
}

.gantt-status-pill small {
    font-weight: 400;
    opacity: 0.7;
}

.config-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
    gap: 24px;
    align-items: start;
}

.config-block {
    padding: 28px;
    border-radius: var(--radius-lg);
    background: #fff;
    border: 1px solid var(--light-line);
    box-shadow: var(--shadow-md);
}

.config-block-dark {
    background: linear-gradient(180deg, rgba(12, 21, 34, 0.95), rgba(9, 17, 28, 0.96));
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: var(--shadow-lg);
    color: var(--page-ink);
}

.config-label {
    margin-bottom: 14px;
    color: var(--light-muted);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.config-block-dark .config-label {
    color: #b9c6d3;
}

.family-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.family-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 20px;
    border-radius: var(--radius-md);
    background: var(--light-bg-soft);
    border: 1px solid var(--light-line);
    transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.family-card.is-active {
    background: linear-gradient(180deg, #f6fff9, #eefaf2);
    border-color: rgba(31, 159, 98, 0.36);
    transform: translateY(-2px);
}

.family-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.family-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: rgba(57, 217, 138, 0.12);
    color: var(--accent-green-deep);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

.family-card h3 {
    margin: 0;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.25rem;
}

.family-card small {
    color: var(--light-muted);
    font-size: 13px;
    line-height: 1.4;
}

.family-card p {
    margin: 0;
    color: var(--light-muted);
    line-height: 1.6;
    font-size: 14px;
}

.family-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: auto;
}

.family-select {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    border: none;
    background: rgba(19, 34, 53, 0.08);
    color: var(--light-ink);
    font-weight: 600;
}

.family-card.is-active .family-select {
    background: var(--accent-green);
    color: #0d1f15;
}

.family-link {
    color: var(--accent-green-deep);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.addon-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.addon-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid var(--light-line);
    background: #fff;
    color: var(--light-ink);
    font-weight: 600;
}

.addon-chip.is-active {
    background: rgba(57, 217, 138, 0.1);
    border-color: rgba(31, 159, 98, 0.34);
}

.selection-panel {
    position: sticky;
    top: 24px;
}

.selection-panel h3 {
    margin: 0 0 10px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.6rem;
    color: #f3f8fd;
}

.selection-panel p {
    margin: 0;
    color: #d6e1ec;
    line-height: 1.62;
}

.selection-count {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    margin-top: 18px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 2.5rem;
    line-height: 1;
    color: #f7fbff;
}

.selection-count span:last-child {
    font-family: "IBM Plex Sans", sans-serif;
    color: #d6e1ec;
    font-size: 15px;
    font-weight: 600;
}

.selection-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.selection-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border-radius: 999px;
    background: rgba(19, 160, 205, 0.16);
    border: 1px solid rgba(19, 160, 205, 0.28);
    color: #eff7ff;
    font-size: 13px;
    font-weight: 600;
}

.selection-list {
    list-style: none;
    padding: 0;
    margin: 22px 0 0;
}

.selection-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 8px 0;
    color: #dce6f1;
}

.selection-list .fa {
    color: var(--accent-green);
    margin-top: 5px;
}

.config-block-dark .hero-note {
    color: #dce6f1;
}

.config-block-dark .site-button-secondary {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.12);
    color: #f5f9fd;
}

.config-block-dark .site-button-secondary:hover {
    background: rgba(255, 255, 255, 0.12);
}

.goal-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 28px;
    align-items: start;
}

.goal-copy {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.goal-copy-intro {
    margin: 0;
    color: var(--light-muted);
    font-size: 1.08rem;
    line-height: 1.72;
    max-width: 60ch;
}

.goal-metrics,
.goal-flow {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.goal-metrics-secondary {
    margin-top: 12px;
}

.goal-metric,
.goal-flow-chip {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.goal-metric {
    background: linear-gradient(180deg, #f3fbff, #ebf4fb);
    border: 1px solid rgba(19, 160, 205, 0.18);
    color: #17415b;
}

.goal-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.goal-card {
    padding: 22px;
    border-radius: var(--radius-md);
    border: 1px solid var(--light-line);
    background: linear-gradient(180deg, #fffefc, #f7f6f1);
    box-shadow: var(--shadow-md);
}

.goal-card small {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    margin-bottom: 14px;
    background: rgba(19, 160, 205, 0.12);
    color: #14628a;
    font-family: "Space Grotesk", sans-serif;
    font-size: 15px;
    font-weight: 700;
}

.goal-card h3 {
    margin: 0 0 10px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.22rem;
    line-height: 1.12;
}

.goal-card p {
    margin: 0;
    color: var(--light-muted);
    line-height: 1.62;
}

.goal-visual {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.goal-screen {
    padding: 0;
    overflow: hidden;
}

.goal-screen img {
    display: block;
    width: 100%;
    height: auto;
}

.goal-flow {
    justify-content: flex-start;
}

.goal-flow-chip {
    background: rgba(7, 19, 33, 0.06);
    border: 1px solid var(--light-line);
    color: var(--light-ink);
}

.article-page .site-hero {
    min-height: auto;
    padding-bottom: 76px;
}

.site-hero-article > .site-width {
    min-height: auto;
}

.article-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 32px;
    align-items: center;
    padding-top: 72px;
}

.article-hero-copy h1 {
    margin: 16px 0 0;
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(2.8rem, 5vw, 4.8rem);
    line-height: 0.96;
    letter-spacing: -0.04em;
}

.article-hero-lead {
    margin: 20px 0 0;
    max-width: 62ch;
    color: var(--page-muted);
    font-size: 1.12rem;
    line-height: 1.72;
}

.article-hero-leads {
    display: grid;
    gap: 12px;
    margin-top: 20px;
}

.article-hero-leads .article-hero-lead {
    margin: 0;
}

.article-summary-list {
    display: grid;
    gap: 12px;
    margin-top: 22px;
}

.article-summary-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: #e7f0f7;
    font-size: 1rem;
    line-height: 1.6;
}

.article-summary-item .fa {
    margin-top: 4px;
    color: #7bd7ff;
}

.article-hero-visual {
    display: flex;
    justify-content: flex-end;
}

.article-screen {
    width: min(100%, 760px);
    padding: 0;
    overflow: hidden;
}

.article-screen img {
    display: block;
    width: 100%;
    height: auto;
}

.article-playbook-card {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.1);
    box-shadow: none;
}

.article-playbook-card p {
    color: #d0dae5;
}

.article-cta-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(247, 250, 253, 0.98));
    border: 1px solid rgba(12, 21, 34, 0.08);
    box-shadow: var(--shadow-lg);
}

.article-cta-card h3,
.article-cta-card p {
    color: #12253b;
}

.article-cta-card p {
    margin: 0 0 18px;
    line-height: 1.7;
}

.topic-mosaic {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 22px;
    grid-auto-flow: dense;
    align-items: stretch;
}

.topic-tile {
    grid-column: span 2;
    display: flex;
    flex-direction: column;
    height: 100%;
    gap: 18px;
    padding: 28px;
    border-radius: var(--radius-md);
    border: 1px solid var(--light-line);
    box-shadow: var(--shadow-md);
}

.topic-tile-full {
    grid-column: 1 / -1;
}

.topic-tile-half,
.topic-tile-medium,
.topic-tile-tall {
    grid-column: span 3;
}

.topic-tile-wide {
    grid-column: span 4;
}

.topic-tile-small {
    grid-column: span 2;
}

.topic-tile-light {
    background: linear-gradient(180deg, #fffefb, #f8f4ec);
    color: var(--light-ink);
}

.topic-tile-warm {
    background: linear-gradient(180deg, #fff8ec, #f7efe2);
    color: var(--light-ink);
}

.topic-tile-accent {
    background: linear-gradient(180deg, #f3fbff, #ebf5fb);
    color: var(--light-ink);
}

.topic-tile-dark {
    background: linear-gradient(180deg, rgba(12, 21, 34, 0.96), rgba(8, 17, 28, 0.96));
    border-color: rgba(255, 255, 255, 0.08);
    color: #eef4fb;
    box-shadow: none;
}

.topic-tile-has-image {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    min-height: 360px;
    padding: 0;
    background: #0b1220;
    border-color: rgba(12, 21, 34, 0.08);
}

.topic-tile-has-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.topic-tile-has-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(8, 17, 28, 0.04), rgba(8, 17, 28, 0.78));
}

.topic-tile-content {
    position: relative;
    z-index: 1;
}

.topic-tile-full .topic-tile-content {
    display: grid;
    gap: 18px;
}

.topic-tile-full .topic-tile-content ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 14px;
}

.topic-tile-full li {
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(19, 34, 53, 0.06);
}

.topic-tile-dark.topic-tile-full li {
    background: rgba(255, 255, 255, 0.06);
}

.topic-tile-content > :last-child {
    margin-bottom: 0;
}

.topic-tile-has-image .topic-tile-content {
    width: 100%;
    padding: 24px;
}

.topic-tile-media-card .topic-tile-content {
    display: grid;
    gap: 18px;
}

.topic-tile-media-frame {
    margin: 0;
    padding: 0;
    border-radius: calc(var(--radius-md) - 8px);
    border: none;
    background: none;
}

.topic-tile-dark .topic-tile-media-frame {
    border-color: rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.04);
}

.topic-tile-media-frame img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 260px;
    object-fit: contain;
    margin: 0 auto;
    border-radius: 14px;
}

.topic-tile-media-card-airy .topic-tile-media-frame {
    padding: 0;
}

.topic-tile-col-9 {
    grid-column: span 1;
}

.topic-tile small {
    display: inline-block;
    margin-bottom: 12px;
    font-size: 0.86rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #4d8046;
}

.topic-tile-dark small,
.topic-tile-has-image small {
    color: #a7e4c1;
}

.topic-tile h3 {
    margin: 0 0 12px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.35rem;
    line-height: 1.18;
}

.topic-tile p {
    margin: 0 0 10px;
    color: var(--light-muted);
    line-height: 1.62;
}

.topic-tile-dark p,
.topic-tile-has-image p {
    color: #cfdae5;
}

.topic-tile ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 10px;
}

.topic-tile li {
    display: flex;
    gap: 10px;
    color: var(--light-ink);
    line-height: 1.55;
}

.topic-tile-dark li,
.topic-tile-has-image li {
    color: #eef4fb;
}

.topic-tile li .fa {
    margin-top: 4px;
    color: var(--accent-green-deep);
}

.topic-tile-dark li .fa,
.topic-tile-has-image li .fa {
    color: #7bd7ff;
}

.topic-tile-note {
    margin-top: 20px;
    font-weight: 500;
    color: var(--light-ink);
}

.topic-tile-dark .topic-tile-note,
.topic-tile-has-image .topic-tile-note {
    color: #ffffff;
}

.fit-grid,
.proof-grid,
.article-grid,
.insight-grid,
.support-grid,
.knowledge-grid {
    display: grid;
    gap: 18px;
}

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

.proof-grid,
.insight-grid,
.support-grid,
.knowledge-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.article-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.insight-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fit-card,
.proof-card,
.article-card,
.insight-card,
.support-card,
.knowledge-article {
    padding: 24px;
    border-radius: var(--radius-md);
    border: 1px solid var(--light-line);
    background: #fff;
    box-shadow: var(--shadow-md);
}

.proof-card {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: none;
}

.proof-card p,
.proof-card li {
    color: #c6d2de;
}

.proof-card h3,
.knowledge-article h3,
.support-card h3,
.article-card h3,
.fit-card h3 {
    margin: 0 0 10px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.35rem;
    line-height: 1.1;
}

.fit-card p,
.article-card p,
.support-card p,
.knowledge-article p {
    margin: 0 0 12px;
    color: var(--light-muted);
    line-height: 1.6;
}

.article-card {
    background: linear-gradient(180deg, #fffefb, #f8f4ec);
}

.insight-card {
    background: linear-gradient(180deg, #fffefb, #f8f4ec);
}

.insight-card-principle {
    background: linear-gradient(180deg, #f3fbff, #edf5fa);
    border-color: #cad9e8;
}

.insight-card h3 {
    margin: 0 0 10px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.2rem;
    line-height: 1.2;
}

.insight-card p {
    margin: 0;
    color: var(--light-muted);
    line-height: 1.58;
}

.article-link {
    color: var(--accent-green-deep);
    font-weight: 700;
    text-decoration: none;
}

.logo-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    align-items: center;
    margin-top: 24px;
}

.logo-cloud img {
    height: 42px;
    width: auto;
    object-fit: contain;
    filter: brightness(1.1) grayscale(1);
    opacity: 0.76;
}

.quote-card {
    margin-top: 24px;
    padding: 24px;
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.quote-card p {
    margin: 0;
    color: #d8e3ee;
    line-height: 1.72;
}

.quote-card strong {
    display: block;
    margin-top: 14px;
    color: #fff;
    font-weight: 700;
}

.stack-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 22px;
}

.stack-card {
    padding: 22px;
    border-radius: var(--radius-md);
    background: #fff;
    border: 1px solid var(--light-line);
    box-shadow: var(--shadow-md);
}

.stack-card small {
    display: block;
    margin-bottom: 10px;
    color: var(--accent-green-deep);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.stack-card h3 {
    margin: 0 0 10px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.18rem;
}

.stack-card p {
    margin: 0;
    color: var(--light-muted);
    line-height: 1.58;
}

.support-grid {
    margin-top: 24px;
}

.cta-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 22px;
    align-items: start;
}

.steps-card,
.lead-card {
    padding: 28px;
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.steps-card h3,
.lead-card h3 {
    margin: 0 0 16px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.6rem;
}

.steps-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.steps-list li {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 14px;
    padding: 14px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.steps-list li:first-child {
    border-top: none;
    padding-top: 0;
}

.steps-index {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: rgba(57, 217, 138, 0.14);
    color: var(--accent-green);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "Space Grotesk", sans-serif;
    font-weight: 700;
}

.steps-list strong {
    display: block;
    margin-bottom: 6px;
}

.steps-list p {
    margin: 0;
    color: #c0ccda;
    line-height: 1.62;
}

.site-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.site-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.site-field.full {
    grid-column: 1 / -1;
}

.site-field label {
    color: #dde8f2;
    font-size: 15px;
    font-weight: 600;
}

.site-choice-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.site-choice-button {
    min-height: 48px;
    padding: 0 20px;
    border-radius: 999px;
    border: 1px solid rgba(221, 232, 242, 0.14);
    background: rgba(255, 255, 255, 0.05);
    color: #e3edf8;
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    transition:
        background 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        transform 0.18s ease;
    cursor: pointer;
}

.site-choice-button:hover {
    background: rgba(255, 255, 255, 0.09);
    border-color: rgba(19, 160, 205, 0.42);
}

.site-choice-button.is-active {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, rgba(19, 160, 205, 0.96), rgba(99, 163, 92, 0.92));
    box-shadow: 0 14px 32px rgba(19, 160, 205, 0.22);
}

.site-switch-control {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #eef4fb;
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}

.site-switch-control:focus-visible,
.site-choice-button:focus-visible {
    outline: 2px solid rgba(19, 160, 205, 0.68);
    outline-offset: 3px;
}

.site-switch-track {
    position: relative;
    flex-shrink: 0;
    width: 56px;
    height: 28px;
    border-radius: 999px;
    background: rgba(159, 177, 197, 0.38);
    transition: background 0.18s ease;
}

.site-switch-thumb {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 6px 16px rgba(5, 12, 22, 0.34);
    transition: transform 0.18s ease;
}

.site-switch-control.is-active .site-switch-track {
    background: #22c55e;
}

.site-switch-control.is-active .site-switch-thumb {
    transform: translateX(28px);
}

.site-field-hint {
    margin: 6px 0 0;
    color: #bbcad8;
    font-size: 13px;
    line-height: 1.55;
}

.site-input,
.site-select,
.site-textarea {
    width: 100%;
    min-height: 52px;
    padding: 14px 16px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    font: inherit;
}

.site-input::placeholder,
.site-textarea::placeholder {
    color: #97a8bb;
}

.site-select option {
    color: #0b1220;
}

.site-textarea {
    min-height: 112px;
    resize: vertical;
}

.site-form-note {
    margin: 14px 0 0;
    color: #bbcad8;
    font-size: 13px;
    line-height: 1.6;
}

.site-footer {
    padding: 34px 0 46px;
    background: #07101a;
    color: #c0ccda;
}

.site-footer-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 24px;
}

.site-footer h3 {
    margin: 0 0 10px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.2rem;
}

.site-footer p,
.site-footer a {
    color: #c0ccda;
    text-decoration: none;
    line-height: 1.5;
}

.site-footer p {
    margin: 0 0 4px;
}

.site-footer a:hover {
    color: #fff;
}

.cookie-banner {
    display: none;
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 20;
    align-items: center;
    gap: 14px;
    max-width: 420px;
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(7, 15, 25, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: var(--shadow-lg);
}

.cookie-banner span {
    color: #dce7f0;
    font-size: 13px;
    line-height: 1.45;
}

.cookie-banner button {
    min-height: 40px;
    padding: 0 14px;
    border: none;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--accent-green), #77e5ae);
    color: #082012;
    font-weight: 700;
}

.article-stack {
    display: grid;
    gap: 14px;
}

.article-surface {
    padding: 22px;
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.article-surface small {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    color: #cfe4f3;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.article-surface h3 {
    margin: 0 0 10px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.32rem;
    line-height: 1.08;
}

.article-surface p {
    margin: 0;
    color: #c0ccda;
    line-height: 1.62;
}

.article-anchor {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    color: #cbf7df;
    font-weight: 700;
    text-decoration: none;
}

.site-divider {
    height: 1px;
    background: var(--light-line);
    margin: 34px 0;
}

.section-dark .site-divider,
.section-accent .site-divider {
    background: rgba(255, 255, 255, 0.08);
}

.single-column-text {
    max-width: 760px;
}

.inline-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.inline-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border-radius: 999px;
    background: rgba(19, 34, 53, 0.06);
    border: 1px solid var(--light-line);
    color: var(--light-ink);
    font-size: 13px;
}

.article-card ul,
.support-card ul,
.knowledge-article ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.article-card li,
.support-card li,
.knowledge-article li {
    display: flex;
    gap: 10px;
    padding: 6px 0;
    color: var(--light-ink);
}

.article-card li .fa,
.support-card li .fa,
.knowledge-article li .fa {
    color: var(--accent-green-deep);
    margin-top: 5px;
}

.article-card li span:last-child,
.support-card li span:last-child,
.knowledge-article li span:last-child {
    color: var(--light-muted);
}

#platform-form-result .alert {
    margin-top: 18px;
    border-radius: 16px;
}

@media (min-width: 1100px) and (max-width: 1799px) {
    .site-hero > .site-width {
        width: min(1600px, calc(100vw - 32px));
        min-height: calc(100svh - 52px);
    }

    .hero-grid {
        grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
        gap: clamp(20px, 2vw, 40px);
        align-items: start;
        align-self: center;
        padding: clamp(16px, 2vh, 32px) 0 0;
    }

    .hero-copy {
        position: relative;
        z-index: 5;
        padding-top: clamp(8px, 2vh, 24px);
    }

    .hero-shot-stack {
        min-height: clamp(540px, 65vh, 720px);
        margin-top: clamp(120px, 16vh, 160px);
    }

    .hero-shot-canvas {
        min-height: clamp(460px, 56vh, 620px);
    }

    .hero-shot-main {
        width: 92%;
        left: 2%;
        top: 30px;
    }

    .hero-shot-left {
        width: 36%;
        left: -6px;
        bottom: 20px;
    }

    .hero-shot-right {
        width: 33%;
        right: 4px;
        top: -6px;
    }
}

@media (min-width: 1800px) {
    .site-width {
        width: min(1420px, calc(100vw - 72px));
    }

    .site-hero > .site-width {
        width: min(1600px, calc(100vw - 96px));
        min-height: calc(100svh - 52px);
    }

    .hero-grid {
        grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
        gap: 98px;
        padding: clamp(62px, 7.5vh, 104px) 0 clamp(108px, 12vh, 164px);
    }

    .hero-copy h1 {
        font-size: clamp(4.2rem, 5vw, 6.3rem);
    }

    .hero-lead-stack {
        gap: 18px;
        margin-top: 34px;
        max-width: 660px;
    }

    .hero-lead {
        font-size: clamp(1.18rem, 1.18vw, 1.4rem);
    }

    .hero-actions {
        margin-top: 42px;
    }

    .site-button {
        min-height: 60px;
        padding: 0 30px;
        font-size: 1.08rem;
    }

    .hero-shot-stack {
        min-height: 640px;
    }

    .hero-shot-canvas {
        min-height: 540px;
    }

    .hero-shot-intro {
        width: 74%;
        margin-left: 13%;
        font-size: clamp(1.06rem, 1.02vw, 1.22rem);
    }

    .hero-shot-main {
        width: 82%;
        left: 8%;
        top: 24px;
    }

    .hero-shot-left {
        width: 34%;
        bottom: 48px;
    }

    .hero-shot-right {
        width: 31%;
        right: 10px;
        top: -8px;
    }

    .hero-phone-shot {
        width: 166px;
        right: 20px;
        bottom: 12px;
    }
}

@media (max-width: 1100px) {
    .site-hero {
        min-height: auto;
        padding-bottom: 40px;
    }

    .site-hero > .site-width {
        min-height: auto;
    }

    .hero-grid,
    .article-hero-grid,
    .section-head,
    .demo-panel,
    .goal-layout,
    .demo-oee-bottom,
    .cta-layout,
    .site-footer-grid {
        grid-template-columns: 1fr;
    }

    .selection-panel {
        position: static;
    }

    .site-nav-link,
    .site-nav-pill,
    .site-nav-lang {
        min-height: 44px;
        padding: 0 16px;
        font-size: 16px;
    }

    .hero-grid {
        padding-top: 64px;
    }

    .hero-shot-stack {
        min-height: 470px;
    }

    .hero-shot-intro {
        position: relative;
        z-index: 5;
        width: 100%;
        margin: 40px auto 0;
        max-width: none;
        text-shadow: 0 1px 8px rgba(10, 18, 30, 0.7);
    }

    .hero-shot-stack {
        overflow: hidden;
        border-radius: 26px;
    }

    .hero-shot-canvas {
        min-height: 320px;
    }

    .conference-card {
        grid-template-columns: 1fr;
    }

    .conference-actions {
        justify-content: flex-start;
    }

    .hero-shot-main {
        width: 64%;
        left: 18%;
        top: 20px;
    }

    .hero-shot-left {
        width: 24%;
        left: 4%;
        bottom: 20px;
    }

    .hero-shot-right {
        width: 22%;
        right: 5%;
        top: -2px;
    }

    .hero-phone-shot {
        right: 16px;
        width: 128px;
    }

    .hero-brand-dots {
        right: -90px;
        width: 460px;
        height: 460px;
    }

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

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

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

    .topic-tile-full,
    .topic-tile-wide {
        grid-column: 1 / -1;
    }

    .topic-tile-half,
    .topic-tile-medium,
    .topic-tile-small,
    .topic-tile-tall {
        grid-column: span 1;
    }
}

@media (max-width: 900px) {
    .feature-grid {
        grid-template-columns: 1fr;
    }

    .goal-grid,
    .workflow-strip,
    .proof-grid,
    .insight-grid,
    .support-grid,
    .knowledge-grid,
    .stack-grid,
    .family-grid,
    .demo-pipeline {
        grid-template-columns: 1fr;
    }

    .demo-rings {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        max-width: 360px;
        margin: 0 auto;
    }

    .demo-check-panel,
    .demo-iot,
    .demo-oee-top,
    .demo-pareto {
        grid-template-columns: 1fr;
    }

    .workflow-step::after {
        display: none;
    }

    .surface-grid,
    .fit-grid,
    .site-form-grid {
        grid-template-columns: 1fr;
    }

    .conference-strip {
        padding-top: 10px;
    }

    .conference-card {
        padding: 10px 14px;
        padding-right: 40px;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .topic-mosaic {
        grid-template-columns: 1fr;
    }

    .topic-tile {
        height: auto;
    }

    .topic-tile-half,
    .topic-tile-full,
    .topic-tile-wide,
    .topic-tile-medium,
    .topic-tile-small,
    .topic-tile-tall {
        grid-column: 1 / -1;
    }

    .topic-tile-col-9 {
        grid-column: 1 / -1;
    }

    .topic-tile-full .topic-tile-content ul {
        grid-template-columns: 1fr;
    }

    .topic-tile-media-frame img {
        max-height: 220px;
    }

    .goal-copy-intro,
    .article-hero-lead {
        max-width: none;
    }

    .article-hero-grid {
        padding-top: 40px;
    }

    .article-hero-visual {
        justify-content: flex-start;
    }

    .hero-shot-stack {
        min-height: 380px;
        margin-top: 12px;
    }

    .hero-shot-intro {
        width: 100%;
        margin: 0;
        max-width: none;
    }

    .hero-shot-canvas {
        min-height: 320px;
    }

    .demo-stage {
        padding: 28px;
    }

    .demo-stage-shell {
        position: relative;
        grid-template-columns: 1fr;
        gap: 0;
    }

    .demo-visual {
        min-height: auto;
    }

    .kanban-board,
    .gantt-mockup {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .gantt-grid {
        min-width: 700px;
    }

    .gantt-header {
        flex-wrap: wrap;
        gap: 8px;
    }

    .gantt-legend {
        padding: 6px 12px;
    }

    .demo-iot-core {
        min-width: 0;
    }

    .hero-shot-left,
    .hero-shot-right {
        width: 26%;
    }

    .hero-shot-left {
        left: 4%;
        bottom: 10px;
    }

    .hero-shot-right {
        right: 4%;
        top: 6px;
    }

    .hero-shot-main {
        width: 64%;
        left: 18%;
        top: 24px;
    }

    .site-nav {
        align-items: flex-start;
        flex-direction: column;
    }

    .site-nav-links {
        justify-content: flex-start;
    }

    .hero-phone-shot {
        right: 10px;
        bottom: 0;
        width: 116px;
    }

    .hero-brand-dots {
        right: -120px;
        top: 120px;
        width: 360px;
        height: 360px;
    }

    .hero-brand-dot {
        filter: blur(34px);
        opacity: 0.18;
    }

    .demo-nav {
        position: absolute;
        top: 50%;
        z-index: 3;
        transform: translateY(-50%);
    }

    .demo-nav:hover {
        transform: translateY(calc(-50% - 1px));
    }

    [data-demo-prev] {
        left: -12px;
    }

    [data-demo-next] {
        right: -12px;
    }
}

@media (max-width: 640px) {
    .site-width {
        width: min(100vw - 28px, 100%);
    }

    .site-hero {
        padding-top: 18px;
        min-height: auto;
        padding-bottom: 56px;
    }

    .site-hero > .site-width {
        min-height: auto;
    }

    .section {
        padding: 64px 0;
    }

    .site-brand-image {
        height: 40px;
    }

    .hero-copy h1 {
        font-size: clamp(2.5rem, 14vw, 4rem);
    }

    .hero-line-nowrap {
        white-space: normal;
    }

    .site-nav-link,
    .site-nav-pill,
    .site-nav-lang {
        min-height: 42px;
        padding: 0 14px;
        font-size: 15px;
    }

    .demo-tab {
        flex: 1 1 150px;
        justify-content: flex-start;
    }

    .demo-nav {
        width: 46px;
        height: 46px;
        margin: 0 auto;
    }

    .kanban-column {
        width: 84vw;
        min-width: 84vw;
    }

    .hero-shot-stack {
        min-height: 360px;
    }

    .hero-shot-intro {
        font-size: 1rem;
        line-height: 1.45;
    }

    .hero-shot-canvas {
        min-height: 360px;
    }

    .hero-shot {
        border-radius: 18px;
    }

    .hero-shot-main {
        position: relative;
        width: 100%;
        left: auto;
        top: auto;
    }

    .hero-shot-left,
    .hero-shot-right {
        width: 42%;
    }

    .hero-shot-left {
        left: -2px;
        bottom: 22px;
    }

    .hero-shot-right {
        right: -2px;
        top: -2px;
    }

    .hero-phone-shot {
        width: 98px;
        right: 8px;
        bottom: 8px;
        padding: 8px;
        border-radius: 24px;
    }

    .hero-phone-shot img {
        border-radius: 18px;
    }

    .hero-phone-label {
        margin-bottom: 8px;
        font-size: 9px;
    }

    .hero-brand-dots {
        right: -140px;
        top: 150px;
        width: 300px;
        height: 300px;
    }

    .hero-brand-dot {
        filter: blur(28px);
        opacity: 0.16;
    }

    .demo-screen {
        border-radius: 18px;
    }

    .config-block,
    .goal-card,
    .feature-card,
    .article-card,
    .insight-card,
    .support-card,
    .knowledge-article,
    .fit-card,
    .proof-card,
    .stack-card,
    .steps-card,
    .lead-card,
    .demo-stage {
        padding: 22px;
    }

    .article-grid {
        grid-template-columns: 1fr;
    }

    .goal-metric,
    .goal-flow-chip {
        min-height: 38px;
        padding: 0 14px;
        font-size: 13px;
    }

    .article-hero-copy h1 {
        font-size: clamp(2.3rem, 13vw, 3.6rem);
    }

    .cookie-banner {
        left: 12px;
        right: 12px;
        bottom: 12px;
        max-width: none;
    }

    [data-demo-prev] {
        left: -8px;
    }

    [data-demo-next] {
        right: -8px;
    }
}
