 {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        :root {
            --color-white: #FFFFFF;
            --color-black: #000000;
            --color-blueprint-bg: #002DC0;
            --color-blueprint-light: #E5E5E3;
            --color-blueprint-lighter: #F5F5F3;
            --color-green: #00FF41;
            --color-blue: #4169FF;
            --color-purple: #8B5CF6;
            --color-gray: #94A3B8;
            --color-border: rgba(229, 229, 227, 0.25);
            --font-display: 'GT Alpina Standard', Georgia, serif;
            --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
            --font-mono: 'IBM Plex Mono', 'Courier New', monospace;
            --border-width: 1px;
            --edge-column-width: 70px;
            transition: background-color 0.4s ease, color 0.4s ease;
        }
        html, body {
            margin: 0;
            padding: 0;
            width: 100%;
            height: 100%;
        }
        body {
            font-family: var(--font-body);
            background: var(--color-blueprint-bg);
            color: var(--color-blueprint-light);
            overflow-x: hidden;
            overflow-y: auto;
            transition: background-color 0.4s ease, color 0.4s ease;
        }
        /* Header row - defaults to static for grid layouts */
        .header-row {
            display: grid;
            grid-template-columns: var(--edge-column-width) 1fr var(--edge-column-width);
            height: 70px;
            background: var(--color-blueprint-bg);
            border-bottom: var(--border-width) solid var(--color-border);
            transition: background-color 0.4s ease;
        }

        /* Fixed positioning only when not inside grid-container */
        body:not(.grid-container) .header-row,
        .header-row.fixed-header {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 1000;
        }
        .header-left {
            border-right: var(--border-width) solid var(--color-border);
            background: var(--color-blueprint-bg);
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .logo-link {
            display: flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            color: inherit;
        }

        .logo-cell-icon {
            width: 30px;
            height: 30px;
            display: block;
            opacity: 1;
            transition: opacity 0.2s ease;
        }

        .logo-link:hover .logo-cell-icon {
            opacity: 0.8;
        }

        .header-center {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0 40px;
            background: var(--color-blueprint-bg);
        }

        .plum-logo-container {
            display: flex;
            align-items: center;
            margin-left: auto;
        }

        .plum-logo-link {
            display: flex;
            align-items: center;
            text-decoration: none;
            color: inherit;
            transition: opacity 0.4s ease;
        }

        .plum-logo-link:hover {
            opacity: 0.8;
        }

        .plum-logo {
            height: 40px;
            width: auto;
            display: block;
            opacity: 1;
            transition: opacity 0.4s ease;
        }

        .plum-logo-container img {
            transition: opacity 0.4s ease;
        }
        .header-right {
            border-left: var(--border-width) solid var(--color-border);
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .header-title {
            font-size: 22px;
            font-weight: 700;
            font-family: var(--font-display);
            letter-spacing: -0.01em;
        }
        .header-datalabs-logo {
            height: 28px;
            width: auto;
            display: block;
            transition: opacity 0.2s ease;
        }
        .logo-container:hover .header-datalabs-logo {
            opacity: 0.8;
        }
        .logo-container {
            display: flex;
            align-items: center;
            gap: 12px;
            text-decoration: none;
            color: inherit;
        }
        .logo-icon {
            height: 20px;
            width: 48px;
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
        }

        .logo-icon canvas {
            width: 40px;
            height: 40px;
            display: block;
        }
        .theme-toggle {
            width: 40px;
            height: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            background: transparent;
            border: none;
            padding: 0;
            margin: 0;
            outline: none;
            position: relative;
            overflow: visible;
        }

        .theme-toggle:focus {
            outline: none;
        }

        .theme-toggle:focus-visible {
            outline: none;
        }

        .theme-toggle:hover .theme-icon {
            transform: scale(1.1);
        }

        .theme-icon {
            width: 30px;
            height: 30px;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            color: white;
        }

        /* Light theme: use blue color like logo-blue.svg */
        [data-theme="light"] .theme-icon {
            color: #002DC2;
        }

        /* Dark theme: use white color like logo-white.svg */
        [data-theme="dark"] .theme-icon {
            color: white;
        }

        .sun-icon {
            opacity: 1;
            transform: translate(-50%, -50%) scale(1) rotate(0deg);
        }

        .moon-icon {
            opacity: 0;
            transform: translate(-50%, -50%) scale(0.8) rotate(-90deg);
        }

        /* Dark theme: show sun, hide moon */
        [data-theme="dark"] .sun-icon {
            opacity: 1;
            transform: translate(-50%, -50%) scale(1) rotate(0deg);
        }

        [data-theme="dark"] .moon-icon {
            opacity: 0;
            transform: translate(-50%, -50%) scale(0.8) rotate(-90deg);
        }

        /* Light theme: hide sun, show moon */
        [data-theme="light"] .sun-icon {
            opacity: 0;
            transform: translate(-50%, -50%) scale(0.8) rotate(90deg);
        }

        [data-theme="light"] .moon-icon {
            opacity: 1;
            transform: translate(-50%, -50%) scale(1) rotate(0deg);
        }


        /* Cancer Comparison Table */
        .cancer-comparison-container {
            max-width: 1400px;
            margin: 0 auto;
            padding: 0 80px;
        }

        .cancer-comparison-header {
            display: grid;
            grid-template-columns: 280px 140px 1fr;
            gap: 40px;
            padding: 16px 0;
            border-bottom: 2px solid var(--color-border);
            margin-bottom: 24px;
        }

        .cancer-comparison-header > div {
            font-family: var(--font-mono);
            font-size: 11px;
            letter-spacing: 0.15em;
            color: var(--color-blueprint-light);
            opacity: 0.7;
            word-wrap: break-word;
            overflow-wrap: break-word;
            max-width: 100%;
        }

        .cancer-row {
            display: grid;
            grid-template-columns: 280px 140px 1fr;
            gap: 40px;
            align-items: center;
            padding: 24px 0;
            border-bottom: 1px solid var(--color-border);
            opacity: 0;
            transform: translateY(20px);
            transition: all 0.5s ease;
        }

        .cancer-row.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .cancer-name-cell {
            display: flex;
            align-items: center;
            gap: 0;
        }

        .cancer-name-text {
            font-family: var(--font-body);
            font-size: 16px;
            font-weight: 500;
            color: var(--color-blueprint-light);
            flex: 1;
        }

        .incidence-cell {
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .incidence-value {
            font-family: var(--font-mono);
            font-size: 24px;
            font-weight: 600;
            color: var(--color-blueprint-light);
            letter-spacing: -0.02em;
        }

        /* Age Timeline - D3 Visualization */
        .chapter0-hero-kpis {
            max-width: 1200px;
            margin: 0 auto 60px;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 32px;
        }

        .hero-kpi-tile {
            background: var(--color-blueprint-bg);
            border: 2px solid var(--color-blueprint-light);
            border-radius: 8px;
            padding: 20px 24px;
            padding-top: 28px; /* Extra space for badge */
            position: relative;
            transition: all 0.4s ease;
            backdrop-filter: blur(10px);
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
        }

        .hero-kpi-tile:hover {
            background: var(--color-blueprint-bg);
            border-color: var(--color-blueprint-light);
            box-shadow: 0 12px 48px rgba(0, 0, 0, 0.4);
        }

        /* Use inset styles for KPI tiles - badge positioning relative to tile */
        .hero-kpi-tile .inset-badge {
            position: absolute;
            top: -28px;
            right: 16px;
            background: var(--color-blueprint-bg);
            border: 2px solid var(--color-blueprint-light);
            border-radius: 6px;
            padding: 6px 12px;
            display: flex;
            align-items: center;
            gap: 8px;
            font-family: var(--font-mono);
            font-size: 9px;
            letter-spacing: 0.1em;
            color: var(--color-blueprint-light);
            line-height: 1.2;
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
        }


        /* Chapter 0: Supporting Text */
        .chapter0-supporting-text {
            max-width: 800px;
            margin: 60px auto 40px;
            padding: 32px 40px;
            background: rgba(229, 229, 227, 0.03);
            border-left: 4px solid var(--color-border);
            border-radius: 4px;
        }

        .chapter0-supporting-text h3 {
            font-family: var(--font-display);
            font-size: 28px;
            font-weight: 700;
            color: var(--color-blueprint-light);
            margin-bottom: 24px;
            line-height: 1.2;
            opacity: 1;
        }

        .supporting-prose {
            font-family: var(--font-body);
            font-size: 16px;
            line-height: 1.8;
            color: var(--color-blueprint-light);
            opacity: 0.85;
            margin: 0 0 20px 0;
        }

        .supporting-prose:last-child {
            margin-bottom: 0;
        }

        .supporting-prose strong {
            opacity: 1;
            font-weight: 600;
        }

        /* Cost Range Filter Buttons */
        .cost-range-btn {
            font-family: var(--font-mono);
            font-size: 11px;
            letter-spacing: 0.05em;
            padding: 8px 12px;
            background: rgba(229, 229, 227, 0.05);
            border: 2px solid var(--color-border);
            border-radius: 4px;
            color: var(--color-blueprint-light);
            cursor: pointer;
            transition: all 0.3s ease;
            text-transform: uppercase;
            white-space: nowrap;
            flex-shrink: 0;
        }

        .cost-range-btn:hover {
            background: rgba(229, 229, 227, 0.1);
            border-color: var(--color-blueprint-light);
            transform: translateY(-2px);
        }

        .cost-range-btn.active {
            background: var(--color-blueprint-light);
            color: var(--color-blueprint-bg);
            border-color: var(--color-blueprint-light);
        }

        .cost-range-btn-section05 {
            font-family: var(--font-mono);
            font-size: 11px;
            letter-spacing: 0.05em;
            padding: 8px 12px;
            background: rgba(229, 229, 227, 0.05);
            border: 2px solid var(--color-border);
            border-radius: 4px;
            color: var(--color-blueprint-light);
            cursor: pointer;
            transition: all 0.3s ease;
            text-transform: uppercase;
            white-space: nowrap;
            flex-shrink: 0;
        }

        .cost-range-btn-section05:hover {
            background: rgba(229, 229, 227, 0.1);
            border-color: var(--color-blueprint-light);
            transform: translateY(-2px);
        }

        .cost-range-btn-section05.active {
            background: var(--color-blueprint-light);
            color: var(--color-blueprint-bg);
            border-color: var(--color-blueprint-light);
        }

        /* Chapter 0: Dashboard Styles */
        .chapter0-dashboard {
            max-width: 1400px;
            margin: 0 auto;
        }

        .dashboard-filters {
            display: flex;
            gap: 24px;
            align-items: flex-end;
            margin-bottom: 40px;
            padding-bottom: 24px;
            border-bottom: 2px solid var(--color-border);
        }

        .filter-group {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .filter-label {
            font-family: var(--font-mono);
            font-size: 11px;
            letter-spacing: 0.15em;
            color: var(--color-blueprint-light);
            opacity: 0.7;
            text-transform: uppercase;
        }

        .filter-select {
            font-family: var(--font-body);
            font-size: 15px;
            color: var(--color-blueprint-light);
            background: rgba(229, 229, 227, 0.05);
            border: 2px solid var(--color-border);
            border-radius: 8px;
            padding: 10px 16px;
            min-width: 200px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .filter-select:hover {
            border-color: var(--color-blueprint-light);
            background: rgba(229, 229, 227, 0.08);
        }

        .filter-select:focus {
            outline: none;
            border-color: var(--color-blueprint-light);
            background: rgba(229, 229, 227, 0.1);
        }

        .filter-indicator {
            margin-left: auto;
            display: flex;
            align-items: center;
            padding: 8px 16px;
            background: rgba(229, 229, 227, 0.1);
            border: 2px solid var(--color-border);
            border-radius: 8px;
        }

        .filter-indicator-text {
            font-family: var(--font-mono);
            font-size: 11px;
            letter-spacing: 0.15em;
            color: var(--color-blueprint-light);
            opacity: 0.8;
        }

        /* KPI Tiles Grid */
        .kpi-tiles-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 24px;
            margin-bottom: 60px;
        }

        .kpi-tile {
            background: rgba(229, 229, 227, 0.05);
            border: 2px solid var(--color-border);
            border-radius: 8px;
            padding: 32px;
            transition: all 0.3s ease;
            opacity: 0;
            transform: translateY(20px);
        }

        .kpi-tile.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .kpi-tile:hover {
            background: rgba(229, 229, 227, 0.08);
            border-color: var(--color-blueprint-light);
        }

        .kpi-label {
            font-family: var(--font-mono);
            font-size: 11px;
            letter-spacing: 0.15em;
            color: var(--color-blueprint-light);
            opacity: 0.7;
            text-transform: uppercase;
            margin-bottom: 16px;
        }

        .kpi-value {
            font-family: var(--font-mono);
            font-size: 42px;
            font-weight: 600;
            color: var(--color-blueprint-light);
            line-height: 1.2;
            margin-bottom: 8px;
        }

        .kpi-secondary {
            font-family: var(--font-body);
            font-size: 15px;
            color: var(--color-blueprint-light);
            opacity: 0.7;
        }

        .kpi-progress-bar {
            width: 100%;
            height: 8px;
            background: rgba(229, 229, 227, 0.1);
            border-radius: 4px;
            margin-top: 12px;
            overflow: hidden;
        }

        .kpi-progress-fill {
            height: 100%;
            background: var(--color-blueprint-light);
            border-radius: 4px;
            transition: width 0.6s ease;
            width: 0%;
        }

        .chart-header {
            padding: 24px 24px 16px;
            border-bottom: 1px solid var(--color-border);
        }

        .chart-title {
            font-family: 'Passenger Sans', -apple-system, BlinkMacSystemFont, sans-serif;
            font-size: 24px;
            font-weight: 400;
            color: var(--color-blueprint-light);
            margin-bottom: 8px;
        }

        .chart-subtitle {
            font-family: var(--font-mono);
            font-size: 11px;
            letter-spacing: 0.15em;
            color: var(--color-blueprint-light);
            opacity: 0.7;
            text-transform: uppercase;
        }

        .data-visualization {
            max-width: 1000px;
            margin: 0 auto;
            padding: 40px 0;
        }

        .chart-container {
            position: relative;
            margin-bottom: 40px;
            overflow: visible;
        }

        /* Chart Box - Similar to overall page styling */
        .chart-box {
            border: 2px solid var(--color-blueprint-light);
            border-radius: 8px;
            background: var(--color-blueprint-bg);
            padding: 0;
            overflow: visible;
            transition: border-color 0.4s ease, background-color 0.4s ease;
        }
        
        .chart-inset-box {
            position: absolute;
            top: 0;
            right: 0;
            transform: translate(50%, -50%);
            background: var(--color-blueprint-bg);
            border: 2px solid var(--color-blueprint-light);
            border-radius: 8px;
            padding: 20px 24px;
            min-width: 240px;
            z-index: 20;
            backdrop-filter: blur(10px);
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
            transition: background-color 0.4s ease, border-color 0.4s ease;
        }

        /* Chart inset box that bleeds out of top-right corner */
        .chart-inset-box.chart-inset-bleed {
            top: 0;
            right: 0;
            transform: translate(50%, -50%);
            width: 280px;
            padding: 16px 20px;
        }

        /* Chart info button wrapper - positioned bottom right, outside chart */
        .chart-info-button-wrapper {
            position: absolute;
            bottom: 0;
            right: -50px;
            z-index: 100;
            transform: translateY(-50%);
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: center;
        }

        .inset-badge {
            position: absolute;
            top: -28px;
            right: 16px;
            background: var(--color-blueprint-bg);
            border: 2px solid var(--color-blueprint-light);
            border-radius: 6px;
            padding: 6px 12px;
            display: flex;
            align-items: center;
            gap: 8px;
            font-family: var(--font-mono);
            font-size: 9px;
            letter-spacing: 0.1em;
            color: var(--color-blueprint-light);
            line-height: 1.2;
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
            transition: background-color 0.4s ease, border-color 0.4s ease, color 0.4s ease;
        }

        /* Badge positioning for bleed inset boxes */
        .chart-inset-bleed .inset-badge {
            top: -20px;
            right: 16px;
            padding: 4px 8px;
            font-size: 8px;
        }

        .inset-arrow {
            font-size: 11px;
            opacity: 0.9;
        }

        .inset-badge-text {
            display: flex;
            flex-direction: column;
            gap: 1px;
        }

        .inset-label {
            font-family: var(--font-mono);
            font-size: 11px;
            letter-spacing: 0.1em;
            color: var(--color-blueprint-light);
            opacity: 0.8;
            margin-bottom: 12px;
        }

        .inset-number {
            font-family: var(--font-mono);
            font-size: 42px;
            font-weight: 600;
            color: var(--color-blueprint-light);
            letter-spacing: 0.02em;
            line-height: 1;
            margin-bottom: 16px;
        }

        .inset-divider {
            width: 100%;
            height: 1px;
            background: repeating-linear-gradient(
                to right,
                var(--color-border) 0px,
                var(--color-border) 4px,
                transparent 4px,
                transparent 8px
            );
            margin-bottom: 16px;
        }

        .inset-status {
            font-family: var(--font-mono);
            font-size: 11px;
            letter-spacing: 0.1em;
            color: var(--color-blueprint-light);
            opacity: 0.8;
        }

        .chart-svg {
            width: 100%;
            height: 100%;
        }

        .chart-line {
            fill: none;
            stroke: var(--color-blueprint-light);
            stroke-width: 3;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .chart-area {
            fill: var(--color-blueprint-light);
            opacity: 0.1;
        }

        .chart-dot {
            fill: var(--color-blueprint-light);
            cursor: pointer;
            transition: r 0.2s;
            opacity: 1;
        }

        .chart-dot:hover {
            r: 8;
        }

        .chart-label {
            font-family: var(--font-mono);
            font-size: 11px;
            fill: var(--color-blueprint-light);
            opacity: 0.7;
            letter-spacing: 0.05em;
        }

        .chart-value {
            font-family: var(--font-mono);
            font-size: 13px;
            fill: var(--color-blueprint-light);
            font-weight: 600;
        }

        .chart-grid-line {
            stroke: var(--color-border);
            stroke-width: 1;
            stroke-dasharray: 2, 4;
        }

        .data-legend {
            display: flex;
            gap: 40px;
            justify-content: center;
            margin-top: 30px;
            font-family: var(--font-mono);
            font-size: 12px;
        }

        .legend-item {
            display: flex;
            align-items: center;
            gap: 8px;
            color: var(--color-blueprint-light);
            opacity: 0.8;
        }

        /* Legend colors - theme aware */
        .legend-patient-dot {
            background: #4169FF;
        }

        [data-theme="dark"] .legend-patient-dot {
            background: #FFFFFF;
        }

        .legend-claims-dot {
            background: #DC3545;
        }

        /* Keep red in dark mode */
        [data-theme="dark"] .legend-claims-dot {
            background: #DC3545;
        }

        .legend-patient-trend {
            background: #4169FF;
            opacity: 0.5;
            border-top: 2px dashed #4169FF;
        }

        [data-theme="dark"] .legend-patient-trend {
            background: #FFFFFF;
            border-top-color: #FFFFFF;
        }

        .legend-claims-trend {
            background: #DC3545;
            opacity: 0.5;
            border-top: 2px dashed #DC3545;
        }

        /* Keep red in dark mode */
        [data-theme="dark"] .legend-claims-trend {
            background: #DC3545;
            border-top-color: #DC3545;
        }

        .legend-dot {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: var(--color-blueprint-light);
        }

        .scenario-card {
            background: rgba(229, 229, 227, 0.05);
            border: 1px solid var(--color-border);
            border-radius: 8px;
            padding: 24px;
            transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1), 
                        transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
            opacity: 0;
            transform: translateX(60px) translateY(20px) scale(0.95);
            min-width: 320px;
            flex-shrink: 0;
            will-change: transform, opacity;
        }

        .scenario-card.visible {
            opacity: 1;
            transform: translateX(0) translateY(0) scale(1);
        }

            .scenario-card {
                transition: opacity 0.3s ease;
                transform: none;
            }
            .scenario-card.visible {
                transform: none;
            }
        }

        .scenario-card:hover {
            background: rgba(229, 229, 227, 0.08);
            border-color: var(--color-blueprint-light);
            transform: translateX(0) translateY(-4px) scale(1.02) !important;
            transition: opacity 0.3s ease, 
                        transform 0.3s ease, 
                        background 0.3s ease, 
                        border-color 0.3s ease !important;
        }

        .scenario-number {
            font-family: var(--font-mono);
            font-size: 11px;
            letter-spacing: 0.1em;
            color: var(--color-blueprint-light);
            opacity: 0.7;
            margin-bottom: 12px;
        }

        .scenario-title {
            font-family: var(--font-display);
            font-size: 24px;
            font-weight: 700;
            color: var(--color-blueprint-light);
            margin-bottom: 8px;
            line-height: 1.2;
        }

        .scenario-stage {
            font-family: var(--font-mono);
            font-size: 12px;
            color: var(--color-blueprint-light);
            opacity: 0.7;
            margin-bottom: 20px;
        }

        .scenario-section-title {
            font-family: var(--font-mono);
            font-size: 11px;
            letter-spacing: 0.1em;
            color: var(--color-blueprint-light);
            font-weight: 600;
            margin-top: 20px;
            margin-bottom: 12px;
            text-transform: uppercase;
        }

        .treatment-plan-table {
            width: 100%;
            border-collapse: collapse;
            margin-bottom: 20px;
            font-family: var(--font-mono);
        }

        .treatment-plan-table thead {
            border-bottom: 1px solid var(--color-border);
        }

        .treatment-plan-table tbody tr {
            border-bottom: 1px solid var(--color-border);
        }

        .treatment-plan-table tbody tr:last-child {
            border-bottom: none;
        }

        .treatment-plan-table th,
        .treatment-plan-table td {
            padding: 8px 0;
            vertical-align: top;
        }

        .treatment-label-header,
        .treatment-label {
            font-size: 10px;
            letter-spacing: 0.05em;
            color: var(--color-blueprint-light);
            opacity: 0.7;
            text-align: left;
            padding-right: 12px;
        }

        .treatment-label-header {
            opacity: 0.9;
            font-weight: 600;
        }

        .treatment-count-header,
        .treatment-count {
            font-size: 11px;
            font-weight: 500;
            color: var(--color-blueprint-light);
            text-align: center;
            font-family: var(--font-mono);
            padding: 0 8px;
            width: 50px;
        }

        .treatment-count-header {
            opacity: 0.9;
            font-weight: 600;
        }

        .treatment-cost-header,
        .treatment-cost {
            font-size: 11px;
            font-weight: 500;
            color: var(--color-blueprint-light);
            text-align: right;
            font-family: var(--font-body);
            padding-left: 12px;
        }

        .treatment-cost-header {
            opacity: 0.9;
            font-weight: 600;
        }

        /* Data Table Styles for Coverage Sections */
        .coverage-data-table {
            width: 100%;
            max-width: 1000px;
            margin: 40px auto;
            border-collapse: collapse;
            font-family: var(--font-mono);
        }

        .coverage-data-table thead {
            border-bottom: 2px solid var(--color-border);
        }

        .coverage-data-table tbody tr {
            border-bottom: 1px solid var(--color-border);
        }

        .coverage-data-table tbody tr:last-child {
            border-bottom: none;
        }

        .coverage-data-table th,
        .coverage-data-table td {
            padding: 12px 16px;
            text-align: left;
            font-size: 12px;
            letter-spacing: 0.05em;
            color: var(--color-blueprint-light);
        }

        .coverage-data-table th {
            font-weight: 600;
            opacity: 0.9;
            text-transform: uppercase;
            font-size: 11px;
            letter-spacing: 0.1em;
        }

        .coverage-data-table td {
            opacity: 0.85;
        }

        .coverage-data-table tbody tr:hover {
            background-color: rgba(229, 229, 227, 0.05);
        }

        .coverage-data-table .text-right {
            text-align: right;
        }

        .coverage-data-table .text-center {
            text-align: center;
        }

        .scenario-detail {
            display: flex;
            justify-content: space-between;
            align-items: baseline;
            margin-bottom: 12px;
            padding-bottom: 12px;
            border-bottom: 1px solid var(--color-border);
        }

        .scenario-detail:last-child {
            border-bottom: none;
            margin-bottom: 0;
            padding-bottom: 0;
        }

        .scenario-label {
            font-family: var(--font-mono);
            font-size: 11px;
            letter-spacing: 0.05em;
            color: var(--color-blueprint-light);
            opacity: 0.7;
        }

        .scenario-value {
            font-family: var(--font-body);
            font-size: 14px;
            font-weight: 500;
            color: var(--color-blueprint-light);
            text-align: right;
        }

        .scenario-cost {
            font-family: var(--font-display);
            font-size: 32px;
            font-weight: 700;
            color: var(--color-blueprint-light);
            margin-top: 20px;
            text-align: center;
        }

        .scenario-claims-breakdown {
            margin-bottom: 12px;
            padding-bottom: 12px;
            border-bottom: 1px solid var(--color-border);
        }

        .breakdown-item {
            display: flex;
            justify-content: space-between;
            align-items: baseline;
            margin-bottom: 6px;
            font-size: 12px;
        }

        .breakdown-item:last-child {
            margin-bottom: 0;
        }

        .breakdown-label {
            font-family: var(--font-mono);
            font-size: 10px;
            letter-spacing: 0.05em;
            color: var(--color-blueprint-light);
            opacity: 0.6;
        }

        .breakdown-value {
            font-family: var(--font-body);
            font-size: 12px;
            font-weight: 500;
            color: var(--color-blueprint-light);
        }

        .scenario-savings {
            font-family: var(--font-mono);
            font-size: 11px;
            letter-spacing: 0.05em;
            color: var(--color-blueprint-light);
            opacity: 0.7;
            text-align: center;
            margin-top: 8px;
        }

        .stat-callout {
            display: inline-flex;
            align-items: center;
            gap: 12px;
            padding: 30px 40px;
            background: rgba(229, 229, 227, 0.08);
            border: 1px solid var(--color-border);
            border-radius: 4px;
            margin-top: 40px;
        }

        .stat-number {
            font-family: var(--font-display);
            font-size: 48px;
            font-weight: 700;
            color: var(--color-blueprint-light);
            line-height: 1;
        }

        .stat-label {
            font-family: var(--font-mono);
            font-size: 13px;
            letter-spacing: 0.05em;
            color: var(--color-blueprint-light);
            opacity: 0.8;
            max-width: 200px;
        }

        /* Content section that reveals on scroll */
        .content-section {
            position: relative;
            background: var(--color-blueprint-bg);
            min-height: 100vh;
            padding: 100px 80px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            z-index: 2;
        }

        .content-inner {
            max-width: 900px;
        }

        .badge {
            display: inline-block;
            padding: 10px 24px;
            border: 2px solid var(--color-blueprint-light);
            border-radius: 50px;
            font-family: var(--font-mono);
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: var(--color-blueprint-light);
            margin-bottom: 40px;
        }

        h1 {
            font-family: var(--font-display);
            font-size: 84px;
            font-weight: 700;
            line-height: 1.05;
            margin-bottom: 40px;
            letter-spacing: -0.02em;
            color: var(--color-blueprint-light);
        }

        .description {
            font-size: 19px;
            line-height: 1.7;
            color: var(--color-blueprint-light);
            opacity: 0.85;
            margin-bottom: 30px;
        }

        .description strong {
            font-weight: 600;
            color: var(--color-blueprint-light);
            opacity: 1;
        }

        /* ===== CLOSING SECTION ===== */
        .closing-section {
            padding: 120px 80px;
            background: var(--color-blueprint-bg);
            text-align: center;
            position: relative;
            overflow: hidden;
        }

        .closing-images {
            display: flex;
            justify-content: center;
            align-items: flex-start;
            gap: 60px;
            margin-bottom: 60px;
            flex-wrap: wrap;
        }

        .closing-image-container {
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .closing-image-wrapper {
            position: relative;
            width: 200px;
            height: 200px;
            border-radius: 8px;
            overflow: hidden;
            border: none;
            background: transparent;
            margin-bottom: 16px;
        }

        .closing-image-name {
            font-family: var(--font-mono);
            font-size: 11px;
            letter-spacing: 0.1em;
            color: var(--color-blueprint-light);
            opacity: 0.8;
            margin-top: 12px;
        }

        .closing-image-wrapper img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            filter: grayscale(1) contrast(1.2) brightness(0.9);
            mix-blend-mode: multiply;
        }

        .closing-image-wrapper::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: 
                repeating-linear-gradient(
                    0deg,
                    rgba(0, 45, 192, 0.15) 0px,
                    transparent 1px,
                    transparent 1px,
                    rgba(0, 45, 192, 0.15) 2px
                ),
                repeating-linear-gradient(
                    90deg,
                    rgba(0, 45, 192, 0.15) 0px,
                    transparent 1px,
                    transparent 1px,
                    rgba(0, 45, 192, 0.15) 2px
                );
            pointer-events: none;
            opacity: 0.8;
            mix-blend-mode: overlay;
        }

        .closing-image-wrapper::after {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-image: 
            .kpi-tiles-grid {
                grid-template-columns: 1fr;
                gap: 16px;
            }

            .kpi-tile {
                padding: 24px;
            }

            .kpi-value {
                font-size: 32px;
            }

            .chapter0-hero-kpis {
                grid-template-columns: 1fr;
                gap: 20px;
                margin-bottom: 40px;
            }

            .hero-kpi-tile {
                padding: 20px 18px;
            }

            .hero-kpi-tile .inset-number {
                font-size: 36px;
            }

            .hero-kpi-tile .inset-badge {
                top: -24px;
                right: 12px;
                padding: 5px 10px;
                font-size: 8px;
            }

            .chapter0-supporting-text {
                padding: 24px;
                margin: 40px auto 30px;
            }

            .chapter0-supporting-text h3 {
                font-size: 24px;
                margin-bottom: 20px;
            }

            .supporting-prose {
                font-size: 15px;
            }

            .dashboard-filters {
                flex-direction: column;
                gap: 16px;
            }

            .filter-select {
                min-width: 100%;
            }

            .filter-indicator {
                margin-left: 0;
            }

            .narrative-title {
                font-size: 24px;
            }

            .narrative-text {
                font-size: 16px;
            }
            
            .chart-container {
                margin-bottom: 30px;
            }

            .chart-main {
                height: 300px;
            }
            
            .chart-value {
                font-size: 11px;
            }

            .chart-grid {
                grid-template-columns: 45px 1fr;
            }

            .chart-bottom-row {
                grid-template-columns: 45px 1fr;
                height: 28px;
            }

            .chart-y-axis {
                padding: 10px 0;
            }

            .chart-y-axis-label {
                font-size: 10px;
            }

            .chart-x-axis-label {
                font-size: 10px;
            }

            .chart-inset-box {
                top: 0;
                right: 0;
                padding: 14px 18px;
                min-width: 180px;
                transform: translate(50%, -50%) scale(0.85);
            }

            .chart-inset-box.chart-inset-bleed {
                transform: translate(50%, -50%) scale(0.85);
                width: 240px;
                padding: 12px 16px;
            }

            .chart-info-button-wrapper {
                right: -40px;
                transform: translateY(-40%);
            }

            .inset-badge {
                top: -24px;
                right: 12px;
                padding: 4px 8px;
                font-size: 8px;
            }

            .inset-number {
                font-size: 32px;
            }
            
            .stat-number {
                font-size: 36px;
            }
            
            .data-legend {
                flex-direction: column;
                align-items: center;
                gap: 16px;
            }
            
            .footer-center {
                flex-direction: column;
                height: auto;
                padding: 20px;
                gap: 16px;
            }

            .cancer-comparison-container {
                padding: 0 24px;
            }

            .cancer-comparison-header {
                grid-template-columns: 1fr;
                gap: 16px;
            }

            .cancer-comparison-header .col-incidence,
            .cancer-comparison-header .col-age {
                display: none;
            }

            .cancer-row {
                grid-template-columns: 1fr;
                gap: 16px;
                padding: 20px 0;
            }

            .cancer-name-cell {
                flex-direction: row;
                align-items: center;
            }

            .cancer-name-text {
                font-size: 14px;
            }

            .incidence-cell {
                justify-content: flex-start;
                padding-left: 0;
            }

            .incidence-value {
                font-size: 20px;
            }

            .age-cell {
                height: 28px;
            }

            .age-scale-axis {
                height: 30px;
            }

            .age-scale-label {
                font-size: 8px;
            }

            .coverage-data-table {
                font-size: 10px;
                display: block;
                overflow-x: auto;
                -webkit-overflow-scrolling: touch;
                width: 100%;
            }

            .coverage-data-table th,
            .coverage-data-table td {
                padding: 8px 12px;
                font-size: 10px;
            }

            .coverage-data-table th {
                font-size: 9px;
            }
        }

/* Footer Icons */
.expand-icon {
    width: 32px;
    height: 32px;
    border: 2px solid var(--color-blueprint-light);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
}

.expand-icon:hover {
    background: var(--color-blueprint-light);
    border-color: var(--color-blueprint-light);
}

.expand-icon svg {
    width: 16px;
    height: 16px;
    stroke: var(--color-blueprint-light);
}

.expand-icon:hover svg {
    stroke: var(--color-blueprint-bg);
}

.menu-icon {
    width: 40px;
    height: 40px;
    border: 2px solid var(--color-blueprint-light);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    cursor: pointer;
    transition: all 0.2s;
}

.menu-icon span {
    width: 18px;
    height: 2px;
    background: var(--color-blueprint-light);
    transition: all 0.2s;
}

.menu-icon:hover {
    background: var(--color-blueprint-light);
    border-color: var(--color-blueprint-light);
}

.menu-icon:hover span {
    background: var(--color-blueprint-bg);
}

/* Mobile-specific optimizations */
@media (max-width: 767px) {
    /* Touch optimizations */
    .theme-toggle,
    .expand-icon,
    .menu-icon,
    .cta-button,
    .announcement {
        -webkit-tap-highlight-color: rgba(229, 229, 227, 0.2);
        touch-action: manipulation;
    }
    
    /* Ensure header works with grid layout */
    .grid-container .header-row {
        position: static !important;
    }
    
    /* Mobile header adjustments */
    .header-center {
        padding: 0 clamp(16px, 4vw, 24px) !important;
    }
    
    .plum-logo-container {
        display: none !important;
    }
    
    /* Mobile footer adjustments */
    .footer-center {
        padding: 0 clamp(16px, 4vw, 24px) !important;
        justify-content: center !important;
        align-items: center !important;
    }
}

/* Small mobile (< 480px) */
@media (max-width: 479px) {
    .theme-toggle {
        width: 36px;
        height: 36px;
    }
    
    .theme-icon {
        width: 27px;
        height: 27px;
    }
    
    .expand-icon {
        width: 28px;
        height: 28px;
    }
    
    .logo-cell-icon {
        width: 27px;
        height: 27px;
    }
    
    .expand-icon svg {
        width: 14px;
        height: 14px;
    }
    
    .menu-icon {
        width: 36px;
        height: 36px;
    }
    
    .menu-icon span {
        width: 16px;
    }
}

/* Scroll Navigator - Right Edge Column */
.scroll-navigator {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: var(--edge-column-width);
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0;
    padding: 20px 0;
    z-index: 100;
}

.nav-bar {
    position: relative;
    width: 100%;
    height: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.nav-bar-line {
    width: 25px;
    height: 4px;
    background: var(--color-blueprint-light);
    opacity: 0.4;
    margin-right: 15px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.nav-bar-label {
    position: absolute;
    right: 60px;
    white-space: nowrap;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--color-blueprint-light);
    background: var(--color-blueprint-bg);
    padding: 8px 16px;
    border: 1px solid var(--color-border);
    opacity: 0;
    visibility: hidden;
    transform: translateX(10px);
    transition: opacity 0.15s ease, visibility 0.15s ease, transform 0.15s ease;
    pointer-events: none;
    backdrop-filter: blur(10px);
    background: rgba(0, 45, 192, 0.9);
}

/* Light mode label background */
[data-theme="light"] .nav-bar-label {
    background: rgba(229, 229, 227, 0.95);
    color: #002DC0;
    border: 1px solid rgba(0, 45, 192, 0.3);
}

/* Hover Effects - Label only (line width controlled by JS for wave effect) */
.nav-bar:hover .nav-bar-label {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

/* Help Button */
.nav-help {
    position: relative;
    width: 100%;
    height: 16px;
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.nav-help-icon {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--color-blueprint-light);
    background: transparent;
    color: var(--color-blueprint-light);
    font-family: var(--font-mono);
    font-size: 14px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
    cursor: pointer;
    opacity: 0.6;
    transition: all 0.3s ease;
}

.nav-help-icon:hover {
    opacity: 1;
    transform: scale(1.1);
    background: var(--color-blueprint-light);
    color: var(--color-blueprint-bg);
}

.nav-help-tooltip {
    position: absolute;
    right: 50px;
    bottom: 0;
    width: 320px;
    background: var(--color-blueprint-bg);
    border: 1px solid var(--color-border);
    padding: 16px;
    opacity: 0;
    visibility: hidden;
    transform: translateX(10px);
    transition: opacity 0.15s ease, visibility 0.15s ease, transform 0.15s ease;
    pointer-events: none;
    backdrop-filter: blur(10px);
    background: rgba(0, 45, 192, 0.95);
    z-index: 200;
}

.nav-help:hover .nav-help-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.nav-help-title {
    font-family: var(--font-mono);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--color-blueprint-light);
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--color-border);
}

.nav-help-list {
    list-style: none;
    padding: 0;
    margin: 0;
    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.6;
    color: var(--color-blueprint-light);
}

.nav-help-list li {
    margin-bottom: 8px;
    opacity: 0.9;
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.nav-help-list li:last-child {
    margin-bottom: 0;
}

.help-icon {
    font-family: var(--font-mono);
    font-size: 14px;
    font-weight: 600;
    color: var(--color-blueprint-light);
    opacity: 1;
    flex-shrink: 0;
    width: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.nav-help-list a {
    color: var(--color-blue);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s ease;
}

.nav-help-list a:hover {
    border-bottom-color: var(--color-blue);
}

/* Light mode help tooltip */
[data-theme="light"] .nav-help-tooltip {
    background: rgba(229, 229, 227, 0.98);
    color: #002DC0;
    border: 1px solid rgba(0, 45, 192, 0.3);
}

[data-theme="light"] .nav-help-title {
    color: #002DC0;
    border-bottom-color: rgba(0, 45, 192, 0.3);
}

[data-theme="light"] .nav-help-list {
    color: #002DC0;
}

[data-theme="light"] .help-icon {
    color: #002DC0;
}

/* Hide on Mobile/Tablet */
@media (max-width: 1024px) {
    .scroll-navigator {
        display: none;
    }
}

/* Landscape orientation on mobile */
@media (max-width: 767px) and (orientation: landscape) {
    .header-row {
        height: clamp(50px, 8vh, 60px);
    }
    
    .footer-row {
        height: clamp(50px, 8vh, 60px);
    }
}
    