:root {
    /* Extreme minimal elegant palette */
    --bg-color: #FFFFFF;
    --text-primary: #111827; /* Near black */
    --text-secondary: #4B5563; /* Medium gray */
    --text-muted: #9CA3AF; /* Light gray */
    --brand-primary: #0B3D2E; /* Deep green */
    --brand-light: rgba(11, 61, 46, 0.05);
    --border-subtle: #E5E7EB;
    
    /* Perfected Apple/Linear Typography */
    --title-size: 56px;
    --subtitle-size: 32px;
    --body-size: 22px;
    --large-number: 48px;
    --huge-number: 72px;
}

@media (prefers-color-scheme: dark) {
    :root {
        --bg-color: #0F1115; /* Linear dark charcoal */
        --text-primary: #F9FAFB;
        --text-secondary: #9CA3AF;
        --text-muted: #6B7280;
        --brand-primary: #4ADE80; /* Bright green */
        --brand-light: rgba(74, 222, 128, 0.05);
        --border-subtle: #1F2937;
    }
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    background-color: var(--bg-color);
    color: var(--text-primary);
    overflow: hidden;
    line-height: 1.4;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.presentation-container {
    width: 100vw;
    height: 100vh;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Base Transitions - Extremely Subtle Fade Only */
.slide {
    position: absolute;
    width: 85%;
    max-width: 1100px;
    height: 85%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 1.2s cubic-bezier(0.25, 1, 0.5, 1);
    z-index: 1;
}

.slide.active {
    opacity: 1;
    pointer-events: auto;
    z-index: 2;
}

.slide.previous {
    opacity: 0;
}

/* Typography Hierarchy - Perfect Alignment */
.main-title {
    font-size: var(--title-size);
    font-weight: 700;
    color: var(--text-primary);
    letter-spacing: -0.03em;
    line-height: 1.1;
    margin-bottom: 0.5rem;
}

.subtitle {
    font-size: var(--subtitle-size);
    color: var(--text-primary);
    font-weight: 500;
    letter-spacing: -0.01em;
}

.large-statement {
    font-size: 44px;
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: var(--text-primary);
    max-width: 900px;
}

.body-text {
    font-size: var(--body-size);
    color: var(--text-secondary);
    font-weight: 400;
}

.name-bold {
    font-size: var(--subtitle-size);
    font-weight: 600;
    color: var(--text-primary);
    letter-spacing: -0.01em;
    margin-bottom: 0.2rem;
}

.bold {
    font-weight: 600;
}

.lighter {
    font-weight: 400;
    color: var(--text-secondary);
}

.muted {
    color: var(--text-muted);
}

.highlight-text {
    color: var(--brand-primary);
}

.text-balance {
    max-width: 900px;
    text-wrap: balance;
}

@media (prefers-color-scheme: dark) {
    .highlight-text {
        color: var(--text-primary); /* In dark mode, white pulls focus perfectly */
    }
    
    .main-title .highlight-text {
        color: var(--brand-primary); /* Exception: Keep brand green if in a title */
    }
}

/* Fragments Reveal */
.fragment {
    opacity: 0;
    transition: opacity 1.2s cubic-bezier(0.25, 1, 0.5, 1);
}

.fragment.visible {
    opacity: 1;
}

/* Massive Whitespace Utilities */
.mt-1 { margin-top: 1rem; }
.mt-2 { margin-top: 2rem; }
.mt-3 { margin-top: 3.5rem; }
.mt-4 { margin-top: 5rem; }
.mt-5 { margin-top: 7rem; }
.mb-2 { margin-bottom: 2rem; }
.mb-4 { margin-bottom: 5rem; }

/* Visual Flow Elements (Separators, Arrows) */
.separator {
    width: 2px;
    height: 40px;
    background-color: var(--border-subtle);
    margin: 0 auto;
}

.separator.short {
    height: 20px;
}

.flow-arrow {
    font-size: var(--subtitle-size);
    color: var(--text-muted);
    font-weight: 300;
}

.flow-arrow.right {
    font-size: 24px;
}

.flow-divider {
    width: 1px;
    height: 60px;
    background-color: var(--border-subtle);
    margin: 0 1rem;
}

.flow-divider.display-only {
    height: 100px;
    margin: 0 3rem;
    align-self: center;
}

.separator-dot {
    color: var(--border-subtle);
    font-size: var(--title-size);
    line-height: 0;
}

/* Lists and Points */
.points-container {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    font-size: var(--subtitle-size);
    color: var(--text-primary);
    font-weight: 500;
}

.points-container.compact {
    gap: 1rem;
}

.center-list {
    align-items: center;
    text-align: center;
}

.center-list p {
    margin: 0;
}

/* Diagrams */
.workflow-diagram {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
}

.workflow-diagram.horizontal {
    flex-direction: row;
}

.workflow-diagram .step {
    font-size: var(--subtitle-size);
    font-weight: 500;
    color: var(--text-secondary);
    padding: 1rem 2rem;
    border-radius: 100px; /* Pill shape */
    background: transparent;
    transition: all 0.3s ease;
}

.workflow-diagram .step.highlight-step {
    font-weight: 600;
    color: var(--brand-primary);
    background: var(--brand-light);
}

@media (prefers-color-scheme: dark) {
    .workflow-diagram .step.highlight-step {
        color: var(--text-primary);
        background: var(--border-subtle);
    }
}

/* Team Columns */
.columns-container {
    display: flex;
    flex-direction: row;
    gap: 3rem;
    width: 100%;
    justify-content: center;
}

.columns-container.compact {
    gap: 5rem; /* Larger gap for 2 columns */
}

.column {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 1rem;
    max-width: 320px;
}

.column.no-border {
    border: none;
    gap: 0.5rem;
}

/* New border box style for slide 8 */
.border-boxes .column {
    border: 1px solid var(--border-subtle);
    border-radius: 16px;
    padding: 3rem 2rem;
    gap: 1rem;
    background: transparent;
}

.center-align {
    text-align: center;
    align-items: center;
}

/* Big Number Metrics */
.metrics-grid {
    display: flex;
    flex-direction: column;
    width: 100%;
    justify-content: center;
    align-items: center;
}

.metric-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.metric-label {
    font-size: var(--body-size);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.metric-large {
    font-size: var(--subtitle-size);
    font-weight: 500;
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}

.metric-huge {
    font-size: var(--subtitle-size);
    font-weight: 500;
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}

.number {
    font-weight: 700;
    letter-spacing: -0.03em;
}

.metric-large .number { font-size: var(--large-number); }
.metric-huge .number { font-size: var(--huge-number); }

/* Horizontal Metrics Slide 9 */
.horizontal-metrics {
    flex-direction: row;
    align-items: stretch;
}

.metric-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-width: 200px;
}

.metric-subtext {
    font-size: var(--body-size);
    color: var(--text-secondary);
}

/* Tools Horizontal Flow */
.tools-grid {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2rem;
    align-items: center;
    justify-content: center;
}

.tool-card.min-card {
    border: none;
    font-size: var(--subtitle-size);
    font-weight: 500;
    color: var(--text-primary);
    padding: 0.5rem 1rem;
    text-decoration: none;
    transition: opacity 0.2s ease;
    opacity: 0.8;
}

.tool-card.min-card:hover {
    opacity: 1;
    color: var(--brand-primary);
}

@media (prefers-color-scheme: dark) {
    .tool-card.min-card:hover {
        color: var(--text-primary);
    }
}


/* Controls */
.controls {
    position: fixed;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 1.5rem;
    z-index: 100;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.presentation-container:hover .controls {
    opacity: 0.3;
}

.controls:hover {
    opacity: 1 !important;
}

.control-btn {
    background: transparent;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    padding: 0.5rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.control-btn:hover {
    color: var(--text-primary);
}

.progress-container {
    width: 60px;
    height: 2px;
    background: var(--border-subtle);
    border-radius: 2px;
}

.progress-bar {
    height: 100%;
    width: 0%;
    background: var(--text-secondary);
    transition: width 0.5s ease;
}

/* Print Export */
@media print {
    body {
        background-color: white !important;
        color: black !important;
        overflow: visible !important;
    }
    
    .no-print {
        display: none !important;
    }
    
    .presentation-container {
        display: block !important;
        height: auto !important;
    }

    .slide {
        position: relative !important;
        page-break-after: always;
        height: 100vh !important;
        width: 100vw !important;
        max-width: none !important;
        opacity: 1 !important;
        break-inside: avoid;
        display: flex !important;
    }
    
    .fragment {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .subtitle, .body-text, .metric-label, .metric-subtext, .lighter, .muted {
        color: #6B7280 !important;
    }

    .main-title, .brand-primary, .highlight-text, .name-bold, .number {
        color: #0B3D2E !important;
    }
    
    .separator, .flow-divider {
        background-color: #E5E7EB !important;
    }
    
    .border-boxes .column {
        border-color: #E5E7EB !important;
    }
}
