
        .deck {
            color: var(--color-text);
            font-family: 'Roboto', system-ui, -apple-system, sans-serif;
        }

        .deck * {
            box-sizing: border-box;
        }

        .panel {
            min-height: 100vh;
            min-height: 100svh;
            height: auto;
            padding: clamp(5rem, 10vh, 8rem) clamp(1.5rem, 6vw, 6rem) clamp(3rem, 8vh, 6rem);
            position: relative;
            display: grid;
            align-items: center;
            scroll-snap-align: start;
        }

        .panel h1,
        .panel h2,
        .panel h3 {
            font-family: 'Fraunces', Georgia, 'Times New Roman', serif;
            font-weight: 700;
            letter-spacing: -0.035em;
        }

        .panel h1 {
            margin: 0 0 1.4rem;
            font-size: clamp(3.25rem, 7.6vw, 7rem);
            line-height: 0.98;
            max-width: 10ch;
        }

        .panel h2 {
            margin: 0 0 1.25rem;
            font-size: clamp(2.5rem, 6vw, 5.5rem);
            line-height: 1.02;
        }

        .panel h3 {
            margin: 0 0 0.5rem;
            font-size: 1.65rem;
            line-height: 1.15;
        }

        .inner {
            width: min(1200px, 100%);
            margin: auto;
            display: grid;
            gap: 2rem;
        }

        .split {
            grid-template-columns: 5fr 7fr;
            align-items: center;
            gap: clamp(2rem, 5vw, 5rem);
        }

        .eyebrow {
            display: inline-block;
            margin: 0 0 1rem;
            color: var(--color-primary-text);
            font-size: 0.78rem;
            font-weight: 500;
            letter-spacing: 0.17em;
            text-transform: uppercase;
        }

        .lead {
            max-width: 46ch;
            margin: 0 0 1.5rem;
            font-size: clamp(1.08rem, 1.6vw, 1.3rem);
            line-height: 1.65;
        }

        .support-copy {
            max-width: 55ch;
            margin: 0;
            color: var(--color-muted);
        }

        .button-row {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 0.8rem;
            margin-top: 1.7rem;
        }

        .btn {
            min-height: 48px;
            padding: 0.8rem 1.35rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.6rem;
            border: 1px solid transparent;
            border-radius: 999px;
            font: 500 1rem 'Roboto', system-ui, sans-serif;
            text-decoration: none;
            transition: transform 0.2s ease, box-shadow 0.2s ease;
        }

        .btn:hover {
            transform: scale(1.02);
            text-decoration: none;
        }

        .btn-primary {
            background: var(--color-primary);
            color: var(--color-on-primary);
            box-shadow: var(--shadow-medium);
        }

        .btn-outline {
            border-color: var(--color-border);
            color: var(--color-text);
        }

        .btn-outline:hover {
            border-color: var(--color-indicator);
        }

        .hero-panel {
            grid-template-columns: 5fr 7fr;
            align-items: center;
            gap: 2rem;
        }

        .hero-copy {
            position: relative;
            z-index: 2;
        }

        .hero-visual {
            width: 100%;
            min-width: 0;
            position: relative;
            margin-right: min(-6vw, -3rem);
            animation: reveal-dashboard 0.8s ease-out both;
        }

        .hero-photo {
            width: 100%;
            height: clamp(340px, 49vw, 590px);
            object-fit: cover;
            border-radius: 20px;
            box-shadow: var(--shadow-medium);
        }

        .dashboard-window {
            position: absolute;
            right: -1rem;
            bottom: -1.25rem;
            width: min(76%, 440px);
            padding: 1rem;
            border: 1px solid var(--color-border);
            border-radius: 20px;
            background: var(--color-surface);
            color: var(--color-text);
            box-shadow: var(--shadow-medium);
        }

        .window-top {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            padding-bottom: 0.75rem;
            border-bottom: 1px solid var(--color-border);
            font-size: 0.76rem;
            font-weight: 500;
        }

        .window-top span:last-child {
            color: var(--color-muted);
            font-size: 0.7rem;
        }

        .mini-kpis {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 0.65rem;
            padding: 0.8rem 0 0.65rem;
        }

        .mini-kpi {
            padding: 0.65rem;
            border-radius: 12px;
            background: var(--color-tonal-bg);
            color: var(--color-tonal-text);
        }

        .mini-kpi small {
            display: block;
            color: var(--color-muted);
            font-size: 0.63rem;
        }

        .mini-kpi strong {
            display: block;
            margin-top: 0.15rem;
            font-size: 1rem;
        }

        .chart-wrap {
            height: 88px;
            padding: 0.5rem 0.2rem 0;
            display: flex;
            align-items: end;
            gap: 0.45rem;
            border-bottom: 1px solid var(--color-border);
        }

        .chart-bar {
            flex: 1;
            min-height: 14%;
            border-radius: 5px 5px 0 0;
            background: var(--color-primary);
        }

        .chart-bar:nth-child(2n) {
            background: var(--color-tonal-panel);
        }

        .hero-note {
            position: absolute;
            top: 1rem;
            left: -1rem;
            padding: 0.7rem 0.9rem;
            border-radius: 0 12px 12px 12px;
            background: var(--color-text);
            color: var(--color-bg);
            font-size: 0.78rem;
            box-shadow: var(--shadow-medium);
        }

        .source-diagram {
            padding: clamp(1.25rem, 3vw, 2.3rem);
            border: 1px solid var(--color-border);
            border-radius: 20px;
            background: var(--color-bg);
            color: var(--color-text);
            box-shadow: var(--shadow-medium);
        }

        .source-hub {
            width: fit-content;
            margin: 0 auto 1.5rem;
            padding: 0.8rem 1.15rem;
            display: flex;
            align-items: center;
            gap: 0.65rem;
            border-radius: 12px;
            background: var(--color-tonal-surface);
            color: var(--color-tonal-text);
            font-weight: 500;
        }

        .source-list {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0.75rem;
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .source-list li {
            min-height: 72px;
            padding: 0.8rem;
            display: flex;
            align-items: center;
            gap: 0.75rem;
            border: 1px solid var(--color-border);
            border-radius: 14px;
            background: var(--color-surface);
        }

        .icon-tile {
            width: 2.75rem;
            height: 2.75rem;
            flex: 0 0 2.75rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 0;
            background: rgba(109,150,159, 0.16);
            color: var(--color-primary-text);
            font-size: 1.3rem;
        }

        .connector {
            width: 1px;
            height: 1.2rem;
            margin: 0 auto;
            background: var(--color-indicator);
        }

        .source-caption {
            margin: 1.2rem 0 0;
            color: var(--color-muted);
            font-size: 0.86rem;
            text-align: center;
        }

        .p-hero {
            background: var(--color-bg);
            color: var(--color-text);
        }

        .p-sources {
            background: var(--color-surface);
            color: var(--color-text);
        }

        .p-live {
            background: var(--color-text);
            color: var(--color-bg);
        }

        .p-live .eyebrow {
            color: var(--color-primary);
        }

        .p-live .support-copy {
            color: var(--color-muted);
        }

        .live-visual {
            padding: clamp(1.25rem, 3vw, 2rem);
            border: 1px solid var(--color-border);
            border-radius: 20px;
            background: var(--color-surface);
            color: var(--color-text);
            box-shadow: var(--shadow-medium);
        }

        .live-head {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 1rem;
            margin-bottom: 1.2rem;
        }

        .live-head strong {
            font-size: 1rem;
        }

        .live-head span {
            color: var(--color-muted);
            font-size: 0.8rem;
        }

        .live-metric {
            display: grid;
            grid-template-columns: 1fr auto;
            gap: 0.7rem;
            align-items: center;
            padding: 1rem 0;
            border-top: 1px solid var(--color-border);
        }

        .metric-name {
            display: flex;
            align-items: center;
            gap: 0.7rem;
            font-weight: 500;
        }

        .status-dot {
            width: 0.7rem;
            height: 0.7rem;
            border-radius: 50%;
            background: var(--color-success);
            box-shadow: 0 0 0 4px rgba(40,188,217, 0.14);
        }

        .metric-value {
            text-align: right;
            font-size: 1.1rem;
            font-weight: 500;
        }

        .metric-value small {
            display: block;
            color: var(--color-muted);
            font-size: 0.72rem;
            font-weight: 400;
        }

        .live-foot {
            margin: 0.6rem 0 0;
            color: var(--color-muted);
            font-size: 0.75rem;
        }

        .p-departments {
            background: var(--color-category-0);
            color: var(--color-on-category-0);
        }

        .department-intro {
            max-width: 700px;
            margin-bottom: 0.5rem;
        }

        .department-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 1.1rem;
        }

        .department {
            padding: 1.5rem;
            border: 1px solid var(--color-border);
            border-radius: 20px;
            background: var(--color-surface);
            color: var(--color-text);
            box-shadow: var(--shadow-medium);
            transition: transform 0.2s ease;
        }

        .department:hover {
            transform: scale(1.02);
        }

        .department-head {
            display: flex;
            align-items: center;
            gap: 0.8rem;
            margin-bottom: 1rem;
        }

        .department p {
            margin: 0;
            color: var(--color-muted);
            line-height: 1.6;
        }

        .p-steps {
            background: var(--color-tonal-bg);
            color: var(--color-tonal-text);
        }

        .steps-layout {
            grid-template-columns: 4fr 8fr;
            align-items: start;
            gap: clamp(2rem, 6vw, 6rem);
        }

        .steps-list {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 1.6rem 2rem;
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .step {
            min-height: 165px;
            padding: 0.5rem 0 1rem;
            border-bottom: 1px solid var(--color-tonal-panel);
        }

        .step-number {
            display: block;
            margin-bottom: 0.5rem;
            color: var(--color-tonal-primary-text);
            font-family: 'Fraunces', Georgia, serif;
            font-size: 4rem;
            line-height: 1;
        }

        .step h3 {
            color: var(--color-tonal-text);
        }

        .step p {
            max-width: 31ch;
            margin: 0;
            color: var(--color-muted);
        }

        .p-report {
            background: var(--color-secondary);
            color: var(--color-on-secondary);
        }

        .report-layout {
            grid-template-columns: 5fr 7fr;
            align-items: center;
            gap: clamp(2rem, 5vw, 5rem);
        }

        .report-points {
            display: grid;
            gap: 0.8rem;
            margin: 1.5rem 0 0;
            padding: 0;
            list-style: none;
        }

        .report-points li {
            display: flex;
            align-items: flex-start;
            gap: 0.7rem;
        }

        .report-points i {
            margin-top: 0.18rem;
            color: var(--color-primary-text);
            font-size: 1.2rem;
        }

        .report-preview {
            padding: 1.35rem;
            border: 1px solid var(--color-border);
            border-radius: 20px;
            background: var(--color-surface);
            color: var(--color-text);
            box-shadow: var(--shadow-medium);
        }

        .report-toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 1rem;
            padding-bottom: 0.9rem;
            border-bottom: 1px solid var(--color-border);
        }

        .report-toolbar strong {
            font-family: 'Fraunces', Georgia, serif;
            font-size: 1.2rem;
        }

        .report-toolbar span {
            padding: 0.3rem 0.6rem;
            border-radius: 999px;
            background: var(--color-tonal-bg);
            color: var(--color-tonal-primary-text);
            font-size: 0.72rem;
        }

        .report-summary {
            display: grid;
            grid-template-columns: 1fr auto;
            align-items: center;
            gap: 1rem;
            padding: 1.1rem 0;
        }

        .report-summary p {
            margin: 0;
            color: var(--color-muted);
            font-size: 0.85rem;
        }

        .report-summary strong {
            display: block;
            color: var(--color-text);
            font-size: 1.05rem;
        }

        .report-highlight {
            padding: 1rem;
            border-left: 3px solid var(--color-indicator);
            background: var(--color-tonal-bg);
            color: var(--color-tonal-text);
            font-size: 0.9rem;
            line-height: 1.55;
        }

        .compat-row {
            margin-top: 1.4rem;
            padding-top: 1rem;
            display: flex;
            flex-wrap: wrap;
            gap: 0.55rem;
            border-top: 1px solid var(--color-border);
        }

        .compat-row span {
            padding: 0.35rem 0.6rem;
            border: 1px solid var(--color-border);
            border-radius: 999px;
            color: var(--color-muted);
            font-size: 0.72rem;
        }

        .p-contact {
            background: var(--color-bg);
            color: var(--color-text);
            padding-bottom: 2rem;
        }

        .contact-inner {
            grid-template-columns: 5fr 7fr;
            align-items: center;
            gap: clamp(2rem, 6vw, 6rem);
        }

        .contact-details {
            display: grid;
            gap: 0.9rem;
            margin-top: 1.5rem;
        }

        .contact-item {
            display: flex;
            align-items: center;
            gap: 0.8rem;
        }

        .contact-item a {
            color: var(--color-primary-text);
            overflow-wrap: anywhere;
        }

        .contact-form {
            padding: clamp(1.25rem, 3vw, 2rem);
            border: 1px solid var(--color-border);
            border-radius: 20px;
            background: var(--color-surface);
            color: var(--color-text);
            box-shadow: var(--shadow-medium);
        }

        .contact-form h3 {
            margin-bottom: 0.35rem;
            font-size: 1.8rem;
        }

        .contact-form > p {
            margin: 0 0 1.2rem;
            color: var(--color-muted);
        }

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

        .field {
            display: grid;
            gap: 0.35rem;
        }

        .field-wide {
            grid-column: 1 / -1;
        }

        .field label {
            font-size: 0.86rem;
            font-weight: 500;
        }

        .field input,
        .field textarea {
            width: 100%;
            min-height: 46px;
            padding: 0.7rem 0.8rem;
            border: 1px solid var(--color-border);
            border-radius: 10px;
            background: var(--color-bg);
            color: var(--color-text);
            font: inherit;
        }

        .field textarea {
            min-height: 90px;
            resize: vertical;
        }

        .contact-form .btn {
            margin-top: 1rem;
        }

        .form-note {
            margin: 0.8rem 0 0;
            color: var(--color-muted);
            font-size: 0.76rem;
        }

        .dots {
            position: fixed;
            z-index: 40;
            top: 50%;
            right: 1.35rem;
            display: grid;
            gap: 0.75rem;
            margin: 0;
            padding: 0;
            transform: translateY(-50%);
            list-style: none;
        }

        .dots a {
            width: 0.75rem;
            height: 0.75rem;
            display: block;
            border: 1px solid var(--color-indicator);
            border-radius: 50%;
            background: var(--color-border);
        }

        .dots a:hover,
        .dots a:focus-visible {
            background: var(--color-indicator);
        }

        @keyframes reveal-dashboard {
            from {
                opacity: 0;
                transform: translateY(14px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @media (min-width: 769px) {
            .panel h2 {
                font-size: clamp(4.5rem, 6vw, 5.5rem);
            }
        }

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

            .hero-visual {
                margin-right: -3vw;
            }

            .dots {
                right: 0.65rem;
            }
        }

        @media (max-width: 768px), (max-height: 640px) {
            html {
                scroll-snap-type: y proximity;
            }

            .panel {
                min-height: 100svh;
                padding: 6rem 1.35rem 3rem;
            }

            .hero-panel,
            .split,
            .steps-layout,
            .report-layout,
            .contact-inner {
                grid-template-columns: 1fr;
            }

            .hero-visual {
                width: 100%;
                margin: 0;
            }

            .hero-photo {
                height: clamp(270px, 75vw, 430px);
            }

            .dashboard-window {
                right: 0.5rem;
                bottom: -1rem;
                width: min(84%, 390px);
            }

            .hero-note {
                left: 0.4rem;
            }

            .source-list {
                grid-template-columns: 1fr;
            }

            .department-grid,
            .steps-list {
                grid-template-columns: 1fr;
            }

            .step {
                min-height: 0;
            }

            .dots {
                display: none;
            }

            .contact-form {
                order: -1;
            }
        }

        @media (max-width: 480px) {
            .button-row {
                align-items: stretch;
                flex-direction: column;
            }

            .button-row .btn {
                width: 100%;
            }

            .mini-kpis {
                gap: 0.35rem;
            }

            .mini-kpi {
                padding: 0.5rem;
            }

            .mini-kpi strong {
                font-size: 0.86rem;
            }

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

            .field-wide {
                grid-column: auto;
            }
        }

        @media (prefers-reduced-motion: reduce) {
            .hero-visual {
                animation: none;
            }

            .btn,
            .department {
                transition: none;
            }
        }
    