
        :root {
            --bg: #0b1220;
            --panel: #ffffff;
            --soft: #f6f8fb;
            --line: #dde5ef;
            --text: #0f172a;
            --muted: #5b6b82;
            --primary: #2a78d1;
            --primary-2: #0f4fa8;
            --green: #16a34a;
            --warn: #d97706;
            --red: #dc2626;
            --shadow: 0 10px 28px rgba(15, 23, 42, .12);
            --radius: 22px;
            --slide-w: 1280px;
            --slide-h: 720px;
        }

        * {
            box-sizing: border-box
        }

        .slide .scaleout{
            scale: 95%;
        }

        html,
        body {
            margin: 0;
            padding: 0;
            font-family: Arial, Helvetica, sans-serif;
            background:
                radial-gradient(circle at top right, rgba(42, 120, 209, .12), transparent 24%),
                radial-gradient(circle at bottom left, rgba(22, 163, 74, .08), transparent 22%),
                linear-gradient(180deg, #08101d, #101b2f);
            color: #fff;
            scroll-behavior: smooth;
        }

        body {
            padding: 0;
        }

        .toolbar {
            max-width: var(--slide-w);
            margin: 0 auto 18px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 12px;
            flex-wrap: wrap;
        }

        .toolbar-left,
        .toolbar-right {
            display: flex;
            gap: 10px;
            align-items: center;
            flex-wrap: wrap;
        }

        .chip {
            padding: 10px 14px;
            border-radius: 999px;
            border: 1px solid rgba(255, 255, 255, .14);
            background: rgba(255, 255, 255, .06);
            font-size: 14px;
        }

        .btn {
            border: none;
            border-radius: 12px;
            padding: 11px 16px;
            font-weight: 700;
            font-size: 14px;
            cursor: pointer;
        }

        .btn-primary {
            background: var(--primary);
            color: #fff
        }

        .btn-light {
            background: #fff;
            color: var(--text)
        }

        .deck {
            max-width: var(--slide-w);
            margin: 0 auto;
            display: flex;
            flex-direction: column;
            gap: 24px;
        }

        .slide {
            width: 100%;
            min-height: var(--slide-h);
            background: var(--panel);
            color: var(--text);
            border-radius: 24px;
            box-shadow: var(--shadow);
            padding: 42px 48px;
            position: relative;
            overflow: hidden;
            page-break-after: always;
            break-after: page;
        }

        @media screen and (min-width: 900px) {
            .slide {
                /* aspect-ratio: 16 / 9; */
                min-height: auto;
            }
        }

        .slide::after {
            content: attr(data-no);
            position: absolute;
            right: 28px;
            bottom: 22px;
            color: #93a1b5;
            font-size: 13px;
            font-weight: 700;
        }

        .dark {
            background:
                radial-gradient(circle at top right, rgba(42, 120, 209, .18), transparent 26%),
                radial-gradient(circle at bottom left, rgba(22, 163, 74, .10), transparent 24%),
                linear-gradient(180deg, #0b1220, #10192b);
            color: #fff;
        }

        .dark .eyebrow,
        .dark .sub,
        .dark .muted,
        .dark .table td,
        .dark .table th,
        .dark .list li {
            color: rgba(255, 255, 255, .88)
        }

        .dark .card,
        .dark .metric,
        .dark .flow-step,
        .dark .timeline-item {
            background: rgba(255, 255, 255, .06);
            border-color: rgba(255, 255, 255, .10);
            color: #fff;
        }

        .eyebrow {
            display: inline-block;
            margin-bottom: 10px;
            color: var(--primary);
            font-size: 13px;
            font-weight: 800;
            letter-spacing: .08em;
            text-transform: uppercase;
        }

        h1,
        h2,
        h3,
        p {
            margin: 0
        }

        h1 {
            font-size: 54px;
            line-height: 1.05
        }

        h2 {
            font-size: 38px;
            line-height: 1.1
        }

        h3 {
            font-size: 20px;
            line-height: 1.25;
            margin-bottom: 10px
        }

        .sub {
            margin-top: 12px;
            color: var(--muted);
            font-size: 18px;
            line-height: 1.5;
            max-width: 820px;
        }

        .muted {
            color: var(--muted);
            font-size: 15px;
            line-height: 1.55;
        }

        .slide-head {
            display: flex;
            justify-content: space-between;
            gap: 20px;
            align-items: flex-start;
            margin-bottom: 22px;
        }

        .cover-grid {
            min-height: calc(100vh - 90px);
            display: grid;
            grid-template-columns: 1.15fr .85fr;
            gap: 24px;
            align-items: center;
        }

        .logo-band,
        .card,
        .metric,
        .flow-step,
        .timeline-item,
        .reference {
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 18px;
            padding: 18px;
        }

        .logo-band {
            display: flex;
            flex-direction: column;
            gap: 14px;
        }

        .logo-row {
            display: flex;
            gap: 12px;
            flex-wrap: wrap;
            align-items: center;
        }

        .logo-box {
            width: 165px;
            height: 78px;
            border: 1px solid #d9e2ee;
            border-radius: 14px;
            background: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            padding: 10px;
        }

        .logo-box img {
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
            display: block;
        }

        .grid-2,
        .grid-3,
        .grid-4 {
            display: grid;
            gap: 18px;
        }

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

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

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

        .kpi {
            font-size: 34px;
            font-weight: 800;
            margin-bottom: 6px;
        }

        .label {
            font-size: 13px;
            font-weight: 800;
            color: var(--muted);
            text-transform: uppercase;
            letter-spacing: .05em;
            margin-bottom: 8px;
        }

        .list {
            margin: 10px 0 0;
            padding-left: 18px;
            color: #344256;
        }

        .list li {
            margin-bottom: 8px;
            line-height: 1.45
        }

        .tag-row {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            margin-top: 12px;
        }

        .tag {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 8px 12px;
            border-radius: 999px;
            font-size: 12px;
            font-weight: 800;
            border: 1px solid #dbeafe;
            background: #eff6ff;
            color: #1d4ed8;
        }

        .tag.good {
            background: #dcfce7;
            border-color: #bbf7d0;
            color: #166534
        }

        .tag.warn {
            background: #fef3c7;
            border-color: #fde68a;
            color: #92400e
        }

        .tag.risk {
            background: #fee2e2;
            border-color: #fecaca;
            color: #991b1b
        }

        .flow {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 16px;
            margin-top: 14px;
        }

        .flow-step {
            min-height: 175px;
            position: relative;
            background: #f8fbff;
            border-color: #dbeafe;
        }

        .flow-step:not(:last-child)::after {
            content: "→";
            position: absolute;
            right: -12px;
            top: 50%;
            transform: translateY(-50%);
            width: 24px;
            text-align: center;
            font-size: 22px;
            font-weight: 900;
            color: var(--primary);
            background: #fff;
        }

        .step-no {
            width: 30px;
            height: 30px;
            border-radius: 50%;
            background: var(--primary);
            color: #fff;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 14px;
            font-weight: 800;
            margin-bottom: 10px;
        }

        .timeline {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 16px;
            margin-top: 14px;
        }

        .phase-time {
            font-size: 13px;
            font-weight: 800;
            color: var(--primary);
            margin-bottom: 8px;
        }

        .table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 8px;
        }

        .table th,
        .table td {
            text-align: left;
            vertical-align: top;
            padding: 11px 10px;
            border-bottom: 1px solid var(--line);
            font-size: 14px;
        }

        .table th {
            background: #f8fafc;
            color: var(--muted);
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: .06em;
        }

        .footer-note {
            position: absolute;
            left: 48px;
            bottom: 22px;
            color: #93a1b5;
            font-size: 13px;
            font-weight: 700;
        }

        .nav-mini {
            position: fixed;
            right: 14px;
            top: 50%;
            transform: translateY(-50%);
            z-index: 20;
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .nav-mini a {
            width: 10px;
            height: 10px;
            border-radius: 50%;
            background: rgba(255, 255, 255, .35);
            border: 1px solid rgba(255, 255, 255, .4);
            display: block;
        }

        .table-price {
            width: 100%;
            table-layout: fixed;
        }

        .table-price th:nth-child(1),
        .table-price td:nth-child(1) {
            width: 12%;
        }

        .table-price th:nth-child(2),
        .table-price td:nth-child(2) {
            width: 15%;
        }

        .table-price th:nth-child(3),
        .table-price td:nth-child(3) {
            width: 15%;
        }

        .table-price th:nth-child(4),
        .table-price td:nth-child(4) {
            width: 32%;
        }

        .table-price th:nth-child(5),
        .table-price td:nth-child(5) {
            width: 26%;
        }



        @media (max-width:1100px) {

            .cover-grid,
            .grid-4,
            .grid-3,
            .flow,
            .timeline {
                grid-template-columns: repeat(3, minmax(0, 1fr))
            }
        }

        @media (max-width:760px) {
            body {
                padding: 12px;
            }

            .slide {
                padding: 24px;
                min-height: auto
            }

            h1 {
                font-size: 38px
            }

            h2 {
                font-size: 28px
            }

            .cover-grid,
            .grid-4,
            .grid-3,
            .grid-2,
            .flow,
            .timeline {
                grid-template-columns: 1fr;
            }

            .flow-step:not(:last-child)::after {
                display: none
            }

            .nav-mini {
                display: none
            }
        }

        @media print {
            body {
                padding: 0;
                background: #fff !important
            }

            .toolbar,
            .nav-mini {
                display: none !important
            }

            .deck {
                gap: 0;
                max-width: none
            }

            .slide {
                border-radius: 0;
                box-shadow: none;
                min-height: 100vh;
            }

            .slide:last-child {
                page-break-after: auto;
                break-after: auto;
            }
        }

        .hero-slide {
            padding: 26px;
            background:
                radial-gradient(circle at bottom left, rgba(19, 201, 255, 0.10), transparent 22%),
                radial-gradient(circle at top right, rgba(42, 120, 209, 0.12), transparent 24%),
                linear-gradient(90deg, #07101d 0%, #081425 35%, #0a1931 70%, #0d2345 100%);
        }

        .hero-slide::after {
            right: 24px;
            bottom: 22px;
            color: rgba(255, 255, 255, 0.72);
            font-size: 14px;
            font-weight: 800;
        }


        .hero-grid {
            min-height: calc(100vh - 52px);
            display: grid;
            grid-template-columns: 1.15fr;
            gap: 28px;
            align-items: stretch;
        }

        .hero-left {
            padding: 22px 24px 18px 24px;
            display: flex;
            flex-direction: column;
            min-width: 0;
        }

        .hero-left .eyebrow {
            color: rgba(255, 255, 255, 0.88);
            font-size: 13px;
            letter-spacing: 0.08em;
            margin-bottom: 18px;
        }

        .hero-title {
            font-size: 62px;
            line-height: 0.98;
            font-weight: 800;
            margin: 0 0 18px;
            max-width: 760px;
            color: #ffffff;
        }

        .hero-desc {
            margin: 0;
            max-width: 760px;
            color: rgba(255, 255, 255, 0.86);
            font-size: 18px;
            line-height: 1.55;
        }

        .hero-metrics {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 18px;
            margin-top: 28px;
        }

        .hero-metric-card {
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.05));
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 18px;
            padding: 18px 18px 20px;
            min-height: 210px;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
        }

        .hero-metric-label {
            font-size: 12px;
            font-weight: 800;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: rgba(173, 193, 223, 0.72);
            margin-bottom: 12px;
        }

        .hero-metric-value {
            font-size: 48px;
            line-height: 1;
            font-weight: 800;
            color: #ffffff;
            margin-bottom: 14px;
        }

        .hero-metric-value-sm {
            font-size: 33px;
            line-height: 1.05;
        }

        .hero-metric-text {
            color: rgba(255, 255, 255, 0.84);
            font-size: 15px;
            line-height: 1.5;
        }

        .hero-positioning-card {
            margin-top: 18px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.05));
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 18px;
            padding: 20px 22px;
        }

        .hero-positioning-card h3 {
            margin: 0 0 14px;
            font-size: 24px;
            color: #ffffff;
        }

        .hero-bullet-list {
            margin: 0;
            padding-left: 22px;
            color: rgba(255, 255, 255, 0.88);
            font-size: 16px;
            line-height: 1.7;
        }

        .hero-bullet-list li {
            margin-bottom: 4px;
        }

        .hero-footer-note {
            margin-top: auto;
            padding-top: 10px;
            color: rgba(210, 222, 242, 0.72);
            font-size: 13px;
            font-weight: 700;
        }

        .hero-right-panel {
            background: #f8fafc;
            border: 1px solid rgba(214, 226, 240, 0.9);
            border-radius: 24px;
            padding: 22px 22px 20px;
            display: flex;
            flex-direction: column;
            min-height: 100%;
        }

        .hero-right-title {
            font-size: 12px;
            font-weight: 800;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: #d6e4f8;
            margin-bottom: 18px;
        }

        .hero-logo-block {
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .hero-logo-block-top {
            margin-top: 8px;
            margin-bottom: 46px;
        }

        .hero-logo-block-middle {
            margin-bottom: 46px;
        }

        .hero-logo-block-bottom {
            justify-content: space-between;
            gap: 14px;
            margin-top: auto;
            margin-bottom: 46px;

        }

        .hero-logo-box-large {
            width: 195px;
            height: 94px;
            border-radius: 16px;
            background: #ffffff;
            border: 1px solid #d7e3f0;
        }

        .hero-logo-box-medium {
            width: 195px;
            height: 94px;
            border-radius: 16px;
            background: #ffffff;
            border: 1px solid #d7e3f0;
        }

        .hero-logo-box-large img,
        .hero-logo-box-medium img {
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
            display: block;
        }

        @media (max-width: 1180px) {
            .hero-grid {
                grid-template-columns: repeat(1, minmax(0, 1fr));
            }

            .hero-title {
                font-size: 48px;
                line-height: 1.02;
            }

            .hero-metrics {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }

            .hero-metric-card {
                min-height: auto;
            }

            .hero-logo-block-bottom {
                /* flex-wrap: wrap; */
                margin-top: 0;
            }
        }

        @media (max-width: 760px) {
            .hero-slide {
                padding: 16px;
            }

            .hero-left,
            .hero-right-panel {
                padding: 18px;
            }

            .hero-title {
                font-size: 36px;
            }

            .hero-desc {
                font-size: 15px;
            }

            .hero-positioning-card h3 {
                font-size: 20px;
            }

            .hero-bullet-list {
                font-size: 14px;
            }

            .hero-logo-box-large,
            .hero-logo-box-medium {
                width: 160px;
                height: 82px;
            }
        }

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

        .usecase-card {
            display: flex;
            grid-template-columns: 240px 1fr;
            gap: 16px;
            background: #ffffff;
            border: 1px solid var(--line);
            border-radius: 18px;
            padding: 14px;
            box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06);
            align-items: stretch;
            flex-direction: column;
            flex-wrap: wrap;
        }

        .usecase-image-wrap {
            width: 100%;
            min-height: 190px;
            max-height: 290px;
            border-radius: 14px;
            overflow: hidden;
            background: #f8fafc;
            border: 1px solid #dbe5f0;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .usecase-image-wrap img {
            width: 100%;
            height: auto;
            object-fit: cover;
            display: block;
        }

        /* if you want some images to show full screenshot instead of crop, use this class on selected images */
        .usecase-image-wrap img.fit-contain {
            object-fit: contain;
            background: #f8fafc;
        }

        .usecase-content {
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
        }

        .usecase-content h3 {
            margin: 0 0 8px;
            font-size: 22px;
            line-height: 1.2;
        }

        .usecase-content .muted {
            margin-bottom: 8px;
        }

        @media (max-width: 1100px) {
            .usecase-grid {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }
        }

        @media (max-width: 760px) {
            .usecase-image-wrap {
                min-height: 180px;
            }

            .usecase-content h3 {
                font-size: 20px;
            }
        }

        @page {
            size: 13.333in 7.5in;
            margin: 0;
        }

        html,
        body {
            margin: 0;
            padding: 0;
        }

        @media print {

            html,
            body {
                margin: 0 !important;
                padding: 0 !important;
                width: 13.333in !important;
                min-height: 7.5in !important;
                background: #ffffff !important;
                -webkit-print-color-adjust: exact !important;
                print-color-adjust: exact !important;
            }

            body {
                overflow: visible !important;
            }

            .toolbar,
            .nav-mini {
                display: none !important;
            }

            .deck {
                width: 13.333in !important;
                max-width: none !important;
                margin: 0 !important;
                padding: 0 !important;
                gap: 0 !important;
            }

            .slide {
                box-sizing: border-box !important;
                width: 13.333in !important;
                height: 7.5in !important;
                min-height: 7.5in !important;
                margin: 0 !important;
                padding: 0.45in 0.55in !important;
                border-radius: 0 !important;
                box-shadow: none !important;
                overflow: hidden !important;
                page-break-after: always !important;
                break-after: page !important;
                aspect-ratio: auto !important;
            }

            .slide:last-child {
                page-break-after: auto !important;
                break-after: auto !important;
            }

            .hero-slide,
            .dark {
                -webkit-print-color-adjust: exact !important;
                print-color-adjust: exact !important;
            }

            * {
                animation: none !important;
                transition: none !important;
            }
        }

        html,
        body {
            height: 100%;
            margin: 0;
            padding: 0 !important;
            overflow: hidden;
        }

        .presentation-view {
            height: 100vh;
            width: 100vw;
            overflow-y: scroll;
            overflow-x: hidden;
            scroll-snap-type: y mandatory;
            scroll-behavior: smooth;
            padding: 0;
        }

        .deck {
            max-width: 100% !important;
            width: 100%;
            margin: 0;
            display: flex;
            flex-direction: column;
            gap: 0 !important;
            padding: 0 !important;
        }

        .presentation-view .deck {
            padding-left: 0 !important;
            padding-right: 0 !important;
        }

        .slide {
            scroll-snap-align: start;
            scroll-snap-stop: always;
            width: 100vw !important;
            height: 100vh !important;
            min-height: 100vh !important;
            max-width: 100% !important;
            border-radius: 0 !important;
            box-shadow: none !important;
            box-sizing: border-box;
            overflow-y: auto;
        }

        @media (max-width: 760px) {
            .slide {
                height: 100vh !important;
                min-height: 100vh !important;
            }
        }

        .executive-media-slide .sub {
    max-width: 920px;
}

.exec-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 20px;
    align-items: stretch;
}

.exec-main-card,
.exec-visual-card {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 20px;
}

.exec-badge-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 16px;
}

.exec-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 12px;
    border-radius: 999px;
    background: #eff6ff;
    border: 1px solid #dbeafe;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 800;
}

.exec-main-title {
    font-size: 30px;
    line-height: 1.15;
    margin-bottom: 12px;
}

.exec-main-text {
    font-size: 16px;
    line-height: 1.65;
}

.exec-highlight-panel {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.exec-highlight-item {
    border: 1px solid #dbe5f0;
    background: #f8fbff;
    border-radius: 16px;
    padding: 16px;
}

.exec-highlight-label {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 10px;
}

.exec-highlight-value {
    font-size: 32px;
    line-height: 1;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 10px;
}

.exec-highlight-value-sm {
    font-size: 22px;
    line-height: 1.2;
}

.exec-highlight-text {
    color: var(--muted);
    font-size: 14px;
    line-height: 1.5;
}

.exec-visual-title {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 14px;
}

.exec-logo-stage {
    height: 100%;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.exec-logo-node {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
}

.exec-logo-node-main {
    margin-bottom: 4px;
}

.exec-node-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--muted);
}

.exec-connector-line {
    width: 2px;
    height: 24px;
    background: linear-gradient(180deg, #bfdbfe, #dbeafe);
    border-radius: 999px;
}

.exec-partner-row {
    display: flex;
    justify-content: center;
    gap: 14px;
    margin-top: 4px;
    flex-wrap: wrap;
}

.exec-logo-large {
    width: 210px;
    height: 96px;
}

.exec-logo-medium {
    width: 200px;
    height: 88px;
}

.exec-logo-small {
    width: 165px;
    height: 78px;
}

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

.exec-mini-card {
    min-height: 170px;
}

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

    .exec-highlight-panel {
        grid-template-columns: 1fr;
    }

    .exec-value-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .exec-main-title {
        font-size: 24px;
    }

    .exec-main-text {
        font-size: 15px;
    }

    .exec-logo-large {
        width: 180px;
        height: 86px;
    }

    .exec-logo-medium {
        width: 170px;
        height: 80px;
    }

    .exec-logo-small {
        width: 145px;
        height: 70px;
    }
}

.platform-stack-slide .sub {
    max-width: 920px;
}

.stack-layout {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 20px;
    align-items: stretch;
}

.stack-visual-card {
    background: linear-gradient(180deg, #f8fbff, #f3f7fc);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 20px;
}

.stack-visual-title {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 14px;
}

.stack-layer {
    border: 1px solid #dbe5f0;
    border-radius: 18px;
    padding: 16px;
    background: #ffffff;
}

.stack-layer + .stack-layer {
    margin-top: 0;
}

.stack-layer-label {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 10px;
}

.stack-layer-main {
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
}

.stack-partner-row {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.stack-layer-desc {
    color: var(--muted);
    font-size: 14px;
    line-height: 1.5;
    text-align: center;
}

.stack-arrow {
    text-align: center;
    font-size: 22px;
    font-weight: 900;
    color: var(--primary);
    margin: 10px 0;
}

.stack-logo-box {
    width: 210px;
    height: 88px;
}

.stack-logo-box-small {
    width: 150px;
    height: 72px;
}

.stack-summary-panel {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.stack-summary-card {
    min-height: 0;
}

.stack-quote-card {
    background: #f8fafc;
}

@media (max-width: 1100px) {
    .stack-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .stack-logo-box {
        width: 180px;
        height: 82px;
    }

    .stack-logo-box-small {
        width: 135px;
        height: 66px;
    }
}

.architecture-diagram-slide .sub {
    max-width: 960px;
}

.arch-diagram-shell {
    background: linear-gradient(180deg, #f8fbff, #f4f8fc);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 20px;
}

.arch-stage {
    display: grid;
    grid-template-columns: 1fr 40px 1fr 40px 1fr 40px 1fr;
    gap: 10px;
    align-items: stretch;
}

.arch-node {
    background: #ffffff;
    border: 1px solid #dbe5f0;
    border-radius: 18px;
    padding: 18px;
    min-height: 220px;
    display: flex;
    flex-direction: column;
}

.arch-node h3 {
    margin: 0 0 10px;
    font-size: 20px;
    line-height: 1.2;
}

.arch-node .muted {
    font-size: 14px;
    line-height: 1.55;
}

.arch-node-label {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--primary);
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}

.arch-node-input {
    border-color: #dbeafe;
    background: #f8fbff;
}

.arch-node-ai {
    border-color: #d1fae5;
    background: #f0fdf4;
}

.arch-node-aiva {
    border-color: #c7d2fe;
    background: #eef2ff;
}

.arch-node-biz {
    border-color: #fde68a;
    background: #fffbeb;
}

.arch-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-weight: 900;
    color: var(--primary);
}

.arch-support-row {
    margin-top: 16px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.arch-support-card {
    background: #ffffff;
    border: 1px solid #dbe5f0;
    border-radius: 16px;
    padding: 16px;
}

.arch-support-title {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 8px;
}

.arch-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-top: 18px;
}

.arch-metric-card {
    min-height: 0;
}

@media (max-width: 1180px) {
    .arch-stage {
        grid-template-columns: 1fr;
    }

    .arch-arrow {
        transform: rotate(90deg);
        min-height: 24px;
    }

    .arch-support-row,
    .arch-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .arch-support-row,
    .arch-metric-grid {
        grid-template-columns: 1fr;
    }

    .arch-node {
        min-height: 0;
    }
}


.delivery-roadmap-slide .sub {
    max-width: 940px;
}

.roadmap-shell {
    position: relative;
    background: linear-gradient(180deg, #f8fbff, #f4f8fc);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 22px 20px 18px;
}

.roadmap-line {
    position: absolute;
    left: 12%;
    right: 12%;
    top: 40px;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, #bfdbfe, #93c5fd, #60a5fa);
    z-index: 0;
}

.roadmap-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    align-items: start;
}

.roadmap-step {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.roadmap-badge {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--primary);
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    box-shadow: 0 6px 14px rgba(42, 120, 209, 0.25);
}

.roadmap-card {
    width: 100%;
    background: #ffffff;
    border: 1px solid #dbe5f0;
    border-radius: 18px;
    padding: 16px;
    min-height: 220px;
}

.roadmap-card h3 {
    margin: 0 0 8px;
    font-size: 20px;
    line-height: 1.2;
}

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

.delivery-summary-card {
    min-height: 0;
}

.delivery-summary-label {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 8px;
}

.delivery-closing-bar {
    margin-top: 18px;
    border: 1px solid var(--line);
    background: #f8fafc;
    border-radius: 16px;
    padding: 14px 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    color: var(--muted);
    font-size: 14px;
}

.delivery-closing-left {
    color: var(--text);
}

@media (max-width: 1180px) {
    .roadmap-line {
        display: none;
    }

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

    .delivery-summary-grid {
        grid-template-columns: 1fr;
    }
}

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

    .roadmap-card {
        min-height: 0;
    }

    .delivery-closing-bar {
        flex-direction: column;
        align-items: flex-start;
    }
}



/* =========================
   Mobile / Tablet Compatibility
   ========================= */

/* tablet */
@media (max-width: 1024px) {
  :root {
    --slide-w: 100%;
  }

  body {
    padding: 14px;
    overflow: auto !important;
  }

  .presentation-view {
    height: auto !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    padding: 0 !important;
  }

  .deck {
    max-width: 100% !important;
    gap: 16px !important;
    padding: 0 !important;
  }

  .slide {
    min-height: auto !important;
    height: auto !important;
    padding: 20px !important;
    border-radius: 18px;
    aspect-ratio: auto !important;
    scroll-snap-align: unset !important;
    scroll-snap-stop: normal !important;
  }

  .slide::after {
    right: 16px;
    bottom: 14px;
    font-size: 11px;
  }

  h1 {
    font-size: 38px !important;
    line-height: 1.05 !important;
  }

  h2 {
    font-size: 28px !important;
    line-height: 1.1 !important;
  }

  h3 {
    font-size: 18px !important;
  }

  .sub,
  .muted,
  .list li,
  .table td,
  .table th {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  .grid-2,
  .grid-3,
  .grid-4,
  .flow,
  .timeline,
  .usecase-grid,
  .arch-stage,
  .arch-support-row,
  .arch-metric-grid,
  .stack-layout,
  .exec-grid,
  .exec-value-grid,
  .delivery-summary-grid,
  .roadmap-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .flow-step:not(:last-child)::after,
  .arch-arrow,
  .stack-arrow,
  .roadmap-line {
    display: none !important;
  }

  .hero-grid,
  .cover-grid {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
    gap: 16px !important;
  }

  .hero-title {
    font-size: 40px !important;
    line-height: 1.02 !important;
    max-width: 100% !important;
  }

  .hero-desc {
    font-size: 15px !important;
    max-width: 100% !important;
  }

  .hero-metrics,
  .exec-highlight-panel {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .hero-left,
  .hero-right-panel,
  .exec-main-card,
  .exec-visual-card,
  .stack-visual-card,
  .arch-diagram-shell,
  .roadmap-shell {
    padding: 16px !important;
  }

  .hero-metric-card,
  .roadmap-card,
  .arch-node,
  .usecase-card {
    min-height: auto !important;
  }

  .hero-logo-box-large,
  .hero-logo-box-medium,
  .logo-box,
  .exec-logo-large,
  .exec-logo-medium,
  .exec-logo-small,
  .stack-logo-box,
  .stack-logo-box-small {
    width: 140px !important;
    height: 68px !important;
  }

  .usecase-card {
    display: flex !important;
    flex-direction: column !important;
    padding: 12px !important;
    gap: 12px !important;
  }

  .usecase-image-wrap {
    min-height: 160px !important;
    max-height: 220px !important;
  }

  .usecase-image-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .nav-mini {
    display: none !important;
  }

  .toolbar {
    max-width: 100% !important;
    margin-bottom: 12px !important;
  }
}

/* phone */
@media (max-width: 640px) {
  body {
    padding: 10px;
  }

  .slide {
    padding: 16px !important;
    border-radius: 14px;
  }

  h1 {
    font-size: 30px !important;
  }

  h2 {
    font-size: 22px !important;
  }

  h3 {
    font-size: 16px !important;
  }

  .eyebrow,
  .label,
  .phase-time,
  .exec-visual-title,
  .stack-visual-title,
  .delivery-summary-label,
  .arch-support-title {
    font-size: 11px !important;
  }

  .sub,
  .muted,
  .list li {
    font-size: 13px !important;
    line-height: 1.0 !important;
  }

  .hero-title {
    font-size: 32px !important;
  }

  .hero-desc,
  .exec-main-text {
    font-size: 14px !important;
  }

  .hero-metric-value,
  .exec-highlight-value,
  .kpi {
    font-size: 24px !important;
    line-height: 1.1 !important;
  }

  .hero-metric-value-sm,
  .exec-highlight-value-sm {
    font-size: 18px !important;
  }

  .hero-bullet-list {
    font-size: 13px !important;
    line-height: 1.5 !important;
    padding-left: 18px !important;
  }

  .tag-row {
    gap: 8px !important;
  }

  .tag {
    font-size: 11px !important;
    padding: 6px 10px !important;
  }

  .card,
  .metric,
  .timeline-item,
  .flow-step,
  .reference,
  .hero-metric-card,
  .exec-mini-card,
  .roadmap-card,
  .arch-node,
  .arch-support-card {
    padding: 14px !important;
    border-radius: 14px !important;
    overflow: scroll !important;
     -webkit-overflow-scrolling: touch !important;
  }

  .table-wrap,
  .table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .table,
  .table-price {
    min-width: 760px;
  }

  .table th,
  .table td {
    font-size: 12px !important;
    padding: 8px 8px !important;
  }

  .delivery-closing-bar {
    flex-direction: column !important;
    align-items: flex-start !important;
    font-size: 12px !important;
    gap: 8px !important;
  }

  .footer-note,
  .hero-footer-note,
  .slide::after {
    font-size: 10px !important;
  }
}

/* ════════════════════════════════════════════════════════
   MOBILE — Full responsive overrides (≤ 767px)
   ════════════════════════════════════════════════════════ */
@media (max-width: 767px) {

  /* Slide layout */
  .slide {
    padding: 20px 18px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* Typography scale */
  h1 { font-size: 26px !important; letter-spacing: -.01em !important; line-height: 1.15 !important; }
  h2 { font-size: 20px !important; line-height: 1.2 !important; }
  h3 { font-size: 15px !important; }
  .sub, p.sub { font-size: 13px !important; line-height: 1.5 !important; }
  .muted { font-size: 12px !important; }
  .eyebrow { font-size: 11px !important; }

  /* Slide header — stack vertically, hide logo on small screens */
  .slide-head {
    flex-direction: column !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
  }
  .slide-head .logo-box { display: none !important; }

  /* All multi-column grids → single column */
  .cover-grid,
  .grid-4, .grid-3, .grid-2,
  .flow, .timeline,
  .exec-grid, .arch-grid,
  .roadmap-grid, .dual-grid,
  .partner-grid, .hero-grid,
  .exec-main-card + .exec-visual-card {
    grid-template-columns: 1fr !important;
  }

  /* Hero / Cover slide */
  .hero-title { font-size: 28px !important; margin-bottom: 10px !important; }
  .hero-desc  { font-size: 14px !important; }
  .hero-content { min-height: auto !important; gap: 14px !important; }
  .hero-logos { flex-wrap: wrap !important; gap: 8px !important; }
  .hero-logo-box { min-width: 90px !important; height: 40px !important; }
  .hero-metrics { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; }
  .hero-metric-value { font-size: 22px !important; }

  /* Flow / diagram */
  .flow-step:not(:last-child)::after { display: none !important; }
  .flow { gap: 10px !important; }

  /* Cards */
  .card, .metric, .flow-step, .timeline-item,
  .arch-node, .arch-support-card, .roadmap-card {
    padding: 12px !important;
    border-radius: 12px !important;
  }

  /* Architecture diagram — stack nodes */
  .arch-node-row { flex-direction: column !important; align-items: stretch !important; }
  .arch-arrow { transform: rotate(90deg) !important; margin: 6px auto !important; }

  /* Partner profile */
  .partner-profile-header { flex-direction: column !important; align-items: flex-start !important; }
  .partner-logo-large { height: 40px !important; }

  /* Products & Technology slide (s8) */
  .products-split-grid { grid-template-columns: 1fr !important; }
  .products-sub-grid   { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .products-bottom-bar {
    flex-direction: column !important;
    align-items: center !important;
    gap: 6px !important;
    text-align: center !important;
  }
  .products-bottom-bar span[style*="font-size:20px"] { transform: rotate(90deg); display: block; }

  /* Stat / agenda grids */
  .stat-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .stat-value { font-size: 20px !important; }
  .agenda-grid { grid-template-columns: 1fr !important; }

  /* Tables — horizontal scroll */
  .table-wrap, .table-scroll { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }
  .table, .table-price { min-width: 560px !important; }

  /* Roadmap / timeline */
  .delivery-roadmap-slide .timeline { flex-direction: column !important; }
  .phase-connector { display: none !important; }

  /* Closing / dark slide */
  .hero-eyebrow { font-size: 11px !important; }

  /* Nav dots — hide on mobile */
  .nav-mini { display: none !important; }
}