        :root {
            /* Typography */
            --font-family-display: 'Inter', sans-serif;
            --font-family-body: 'Source Sans 3', sans-serif;
            
            --font-size-h1: 56px;
            --font-size-h2: 36px;
            --font-size-subtitle: 22px;
            --font-size-body: 18px;
            --font-size-small-body: 15px;
            --font-size-gradient-label: 13px;
            --font-size-screen-number: 13px;
            --font-size-tag: 11px;
            
            /* Colors */
            --text-primary: #38404D;
            --border-gray: #A6AFBE;
            --bg-light-gray: #F7F7F7;
            --bg-white: #FFFFFF;
            
            /* Gradient */
            --gradient-start: #FFF0E3;
            --gradient-end: #DDF6FC;
            --gradient-main: linear-gradient(135deg, #FFF0E3, #DDF6FC);
            --gradient-border: linear-gradient(135deg, #FFF0E3, #DDF6FC);
            
            /* Post-it Colors */
            --color-data-collection: #8DE6DD;
            --color-build-trust: #B0AAFA;
            --color-data-refresh: #90E4F5;
            --color-category: #F1A2D5;
            --color-item: #FEDD97;
            --color-achiever-item: #FFE7D3;
            --color-struggler-item: #FFA6A8;
            --color-mixed-item: #FFD1AC;
            
            /* Spacing */
            --spacing-xs: 8px;
            --spacing-sm: 16px;
            --spacing-md: 24px;
            --spacing-lg: 40px;
            --spacing-xl: 60px;
            --spacing-section: 120px;
        }
        
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: var(--font-family-body);
            color: var(--text-primary);
            background: var(--bg-white);
            line-height: 1.6;
            overflow-x: hidden;
        }
        
        /* Navigation */
        .nav-menu {
            position: fixed;
            top: 40px;
            right: 40px;
            z-index: 1000;
            transition: none;
        }
        
        .nav-menu-inner {
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(10px);
            border: 1px solid #E0E0E0;
            border-radius: 12px;
            padding: 20px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
            width: 220px;
            transition: opacity 0.3s ease, transform 0.3s ease;
        }
        
        .nav-menu.collapsed .nav-menu-inner {
            opacity: 0;
            transform: scale(0.9);
            pointer-events: none;
        }
        
        .nav-toggle {
            position: fixed;
            top: 40px;
            right: 40px;
            background: rgba(255, 255, 255, 0.95);
            border: 1px solid #E0E0E0;
            cursor: pointer;
            font-size: 20px;
            font-weight: 700;
            color: var(--text-primary);
            width: 44px;
            height: 44px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 8px;
            padding: 0;
            z-index: 1001;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
            transition: background 0.2s ease, border-color 0.2s ease;
        }
        
        .nav-menu:not(.collapsed) .nav-toggle {
            position: absolute;
            top: 8px;
            right: 8px;
            width: 28px;
            height: 28px;
            background: transparent;
            border-color: transparent;
            box-shadow: none;
            font-size: 18px;
        }
        
        .nav-toggle:hover {
            background: var(--bg-white);
            border-color: var(--border-gray);
        }
        
        .nav-menu:not(.collapsed) .nav-toggle:hover {
            background: rgba(0, 0, 0, 0.05);
            border-color: transparent;
        }
        
        .nav-menu ul {
            list-style: none;
        }
        
        .nav-menu a {
            display: block;
            color: var(--text-primary);
            font-family: var(--font-family-display);
            font-size: 15px;
            font-weight: 600;
            text-decoration: none;
            padding: 12px 16px;
            margin: 4px 0;
            border-radius: 8px;
            transition: all 0.3s ease;
        }
        
        .nav-menu a:hover,
        .nav-menu a.active {
            background: var(--gradient-main);
            font-weight: 700;
        }
        
        /* Mobile Navigation */
        .hamburger {
            display: none;
            position: fixed;
            top: 40px;
            right: 40px;
            width: 44px;
            height: 44px;
            background: var(--bg-white);
            border: 1px solid #E0E0E0;
            border-radius: 8px;
            cursor: pointer;
            z-index: 1001;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 6px;
        }
        
        .hamburger span {
            width: 24px;
            height: 2px;
            background: var(--text-primary);
            transition: all 0.3s ease;
        }
        
        .mobile-nav-panel {
            display: none;
            position: fixed;
            top: 0;
            right: -100%;
            width: 280px;
            height: 100vh;
            background: rgba(255, 255, 255, 0.98);
            backdrop-filter: blur(20px);
            box-shadow: -4px 0 20px rgba(0, 0, 0, 0.1);
            z-index: 1000;
            transition: right 0.3s ease;
            padding: 80px 20px 20px;
        }
        
        .mobile-nav-panel.open {
            right: 0;
        }
        
        .mobile-nav-panel a {
            display: block;
            color: var(--text-primary);
            font-family: var(--font-family-body);
            font-size: var(--font-size-small-body);
            font-weight: 400;
            padding: 16px 0;
            border-bottom: 1px solid #F0F0F0;
            text-decoration: none;
            transition: all 0.2s ease;
        }
        
        .mobile-nav-panel a:active,
        .mobile-nav-panel a.active {
            font-weight: 700;
            background: var(--gradient-main);
            padding: 16px 20px;
            margin: 0 -20px;
            border-radius: 8px;
        }
        
        /* Typography */
        h1 {
            font-family: var(--font-family-display);
            font-size: var(--font-size-h1);
            font-weight: 700;
            line-height: 1.1;
            margin-bottom: var(--spacing-md);
        }
        
        /* Artifact Link Floating Window */
        .artifact-link-window {
            position: fixed;
            top: 140px;
            right: 40px;
            z-index: 999;
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(10px);
            border: 1px solid #E0E0E0;
            border-radius: 12px;
            padding: 0;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
            opacity: 0;
            transform: translateY(-10px);
            transition: opacity 0.3s ease, transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, top 0.3s ease;
            pointer-events: none;
            cursor: pointer;
            overflow: hidden;
            width: 260px;
        }
        
        /* Fix hover when nav is collapsed - prevent nav from blocking */
        .nav-menu.collapsed {
            pointer-events: none;
        }
        
        /* Re-enable pointer events for nav-toggle */
        .nav-menu.collapsed .nav-toggle {
            pointer-events: auto;
        }
        
        /* Position below nav menu when nav is open on desktop */
        .nav-menu:not(.collapsed) ~ .artifact-link-window {
            top: 480px;
        }
        
        .artifact-link-window.visible {
            opacity: 1;
            transform: translateY(0);
            pointer-events: auto;
        }
        
        .artifact-link-window.visible:hover {
            border-color: var(--text-primary);
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
            transform: translateY(-2px) scale(1.02);
        }
        
        .artifact-link-window a {
            display: flex;
            align-items: center;
            gap: 8px;
            color: var(--text-primary);
            font-family: var(--font-family-display);
            font-size: 15px;
            font-weight: 600;
            text-decoration: none;
            padding: 16px 20px;
            border-radius: 12px;
            transition: all 0.3s ease;
            width: 100%;
            box-sizing: border-box;
        }
        
        .artifact-link-window .link-text {
            line-height: 1.3;
        }
        
        .artifact-link-window.visible:hover a {
            font-weight: 700;
        }
        
        .artifact-link-window a::after {
            content: '→';
            font-size: 16px;
            transition: transform 0.3s ease;
        }
        
        .artifact-link-window.visible:hover a::after {
            transform: translateX(4px);
        }
        
        h2 {
            font-family: var(--font-family-display);
            font-size: var(--font-size-h2);
            font-weight: 600;
            line-height: 1.2;
            margin-bottom: var(--spacing-md);
        }
        
        /* Links */
        .body-text a {
            color: var(--text-primary);
            text-decoration: underline;
            text-decoration-color: rgba(56, 64, 77, 0.3);
            transition: all 0.2s ease;
        }
        
        .body-text a:hover {
            text-decoration-color: var(--text-primary);
        }
        
        .subtitle {
            font-family: var(--font-family-body);
            font-size: var(--font-size-subtitle);
            font-weight: 400;
            line-height: 1.4;
            margin-bottom: var(--spacing-md);
        }
        
        .subtitle-bold {
            font-family: var(--font-family-body);
            font-size: var(--font-size-subtitle);
            font-weight: 700;
            line-height: 1.4;
            margin-bottom: var(--spacing-md);
        }
        
        .body-text {
            font-family: var(--font-family-body);
            font-size: var(--font-size-body);
            font-weight: 400;
            line-height: 1.7;
            max-width: 70ch;
            margin-bottom: var(--spacing-md);
        }
        
        /* Full width body text for Screens 34 and 36 */
        #screen-34 .body-text,
        #screen-36 .body-text {
            max-width: none;
        }
        
        .body-text-bold {
            font-weight: 700;
        }
        
        /* Screen Number */
        .screen-number {
            font-family: var(--font-family-display);
            font-size: var(--font-size-screen-number);
            font-weight: 600;
            color: var(--border-gray);
            text-transform: uppercase;
            letter-spacing: 0.1em;
            margin-bottom: var(--spacing-md);
        }
        
        /* Screen Number on Cover Pages */
        .cover-page .screen-number {
            color: var(--text-primary);
        }
        
        /* Gradient Label */
        .gradient-label {
            display: inline-block;
            font-family: var(--font-family-display);
            background: var(--gradient-main);
            color: var(--text-primary);
            font-size: var(--font-size-gradient-label);
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.15em;
            padding: 14px 20px;
            border: 3px solid var(--border-gray);
            border-radius: 10px;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
            min-height: 52px;
            line-height: 1.4;
            margin-bottom: var(--spacing-md);
        }
        
        /* Section Dividers */
        .section-divider {
            height: 3px;
            width: 150px;
            margin: var(--spacing-md) 0 var(--spacing-lg) 0;
        }
        
        .section-divider-gradient {
            background: var(--gradient-main);
        }
        
        .section-divider-gray {
            background: var(--border-gray);
        }
        
        /* Stroke Gradient Container */
        .stroke-gradient-container {
            position: relative;
            padding: 28px 28px 20px 28px;
            border-radius: 14px;
            background: var(--bg-white);
            margin: var(--spacing-lg) 0;
        }
        
        .stroke-gradient-container::before {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: 14px;
            padding: 3px;
            background: var(--gradient-border);
            -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
            -webkit-mask-composite: xor;
            mask-composite: exclude;
            pointer-events: none;
        }
        
        /* Post-its */
        .post-it {
            position: absolute;
            width: 90px;
            height: 90px;
            padding: 8px;
            font-family: var(--font-family-display);
            font-size: 12px;
            font-weight: 600;
            text-align: center;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            border-radius: 4px;
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
            cursor: move;
            user-select: none;
            z-index: 1002;
            line-height: 1.2;
            transition: all 0.3s ease;
        }
        
        .post-it:hover {
            transform: translateY(-4px) scale(1.05);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
            z-index: 1003;
        }
        
        .post-it.small-text {
            font-size: 11px;
        }
        
        
        /* Post-it color variants */
        .post-it.data-collection,
        .tag.data-collection { 
            background: var(--color-data-collection); 
        }
        
        .post-it.build-trust,
        .tag.build-trust { 
            background: var(--color-build-trust); 
        }
        
        .post-it.data-refresh,
        .tag.data-refresh { 
            background: var(--color-data-refresh); 
        }
        
        .post-it.achiever-item { background: var(--color-achiever-item); }
        .post-it.struggler-item { background: var(--color-struggler-item); }
        .post-it.mixed-item { background: var(--color-mixed-item); }
        
        /* Screen 16 Post-it Scroll Animations */
        #screen-16 .post-it {
            opacity: 0;
            transform: translateY(30px) scale(0.9);
            transition: opacity 0.6s ease, transform 0.6s ease;
        }
        
        #screen-16 .post-it.animate-in {
            opacity: 1;
            transform: translateY(0) scale(1);
        }
        
        /* Stagger animation delays for each post-it */
        #screen-16 .problem-row:nth-child(1) .post-it {
            transition-delay: 0s;
        }
        
        #screen-16 .problem-row:nth-child(2) .post-it {
            transition-delay: 0.15s;
        }
        
        #screen-16 .problem-row:nth-child(3) .post-it {
            transition-delay: 0.3s;
        }
        
        /* Tag-specific styling */
        .tag.data-collection,
        .tag.build-trust {
            color: var(--text-primary);
        }
        
        /* Learnings Layout - Reusable Class */
        .learnings-layout {
            display: grid;
            grid-template-columns: auto 1fr;
            gap: 40px;
            align-items: start;
        }
        
        .learnings-layout .learnings-content {
            padding-top: 0;
        }
        
        /* Tag Elements */
        .tag {
            display: inline-block;
            font-family: var(--font-family-display);
            font-size: var(--font-size-tag);
            font-weight: 600;
            padding: 6px 12px;
            border-radius: 4px;
            margin: 0 4px;
            vertical-align: middle;
        }
        
        
        /* Checkmarks */
        .checkmark {
            color: var(--text-primary);
            font-weight: 400;
            margin-right: 8px;
        }
        
        /* Screen Sections */
        .screen {
            min-height: 100vh;
            padding: var(--spacing-section) 120px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            position: relative;
        }
        
        .screen.cover-page {
            background: var(--gradient-main);
        }
        
        /* Content Container */
        .content-container {
            max-width: 1280px;
            margin: 0 auto;
            width: 100%;
        }
        
        /* Two Column Layout */
        .two-column {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: var(--spacing-xl);
            align-items: center;
        }
        
        /* Image Placeholders */
        .image-placeholder {
            background: var(--bg-light-gray);
            border: 2px solid var(--border-gray);
            border-radius: 5px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--border-gray);
            font-family: var(--font-family-display);
            font-size: 14px;
            font-weight: 600;
            position: relative;
        }
        
        /* Image tags within image-placeholder */
        img.image-placeholder {
            display: block;
            width: 100%;
            height: auto;
            object-fit: contain;
            background: transparent;
        }
        
        /* Remove border for specific images */
        img.no-border {
            border: none !important;
        }
        
        /* Screen 34 - Dashboard overview images with same height */
        .dashboard-same-height {
            width: auto !important;
            height: 500px !important;
        }
        
        .editable-height {
            resize: vertical;
            overflow: auto;
            min-height: 100px;
        }
        
        /* Post-it variants with text */
        .post-it-category {
            background: var(--color-category);
            border-radius: 4px;
            padding: 16px;
            font-family: var(--font-family-display);
            font-size: 12px;
            font-weight: 600;
            line-height: 1.3;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
            text-align: center;
            width: 90px;
            height: 90px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: move;
            transition: all 0.3s ease;
            position: relative;
            z-index: 1002;
        }
        
        .post-it-achiever {
            background: var(--color-achiever-item);
            border-radius: 4px;
            padding: 16px;
            font-family: var(--font-family-display);
            font-size: 12px;
            font-weight: 600;
            line-height: 1.3;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
            text-align: center;
            width: 90px;
            height: 90px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: move;
            transition: all 0.3s ease;
            position: relative;
            z-index: 1002;
        }
        
        .post-it-struggler {
            background: var(--color-struggler-item);
            border-radius: 4px;
            padding: 16px;
            font-family: var(--font-family-display);
            font-size: 12px;
            font-weight: 600;
            line-height: 1.3;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
            text-align: center;
            width: 90px;
            height: 90px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: move;
            transition: all 0.3s ease;
            position: relative;
            z-index: 1002;
        }
        
        .post-it-mixed {
            background: var(--color-mixed-item);
            border-radius: 4px;
            padding: 16px;
            font-family: var(--font-family-display);
            font-size: 12px;
            font-weight: 600;
            line-height: 1.3;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
            text-align: center;
            width: 90px;
            height: 90px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: move;
            transition: all 0.3s ease;
            position: relative;
            z-index: 1002;
        }
        
        .post-it-category:hover,
        .post-it-achiever:hover,
        .post-it-struggler:hover,
        .post-it-mixed:hover {
            transform: translateY(-4px) scale(1.05);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
            z-index: 1003;
        }
        
        /* Mobile sizes for post-it variants */
        @media (max-width: 768px) {
            .post-it-category,
            .post-it-achiever,
            .post-it-struggler,
            .post-it-mixed {
                width: 70px;
                height: 70px;
                font-size: 10px;
                padding: 8px;
            }
        }
        
        /* Tablet sizes for post-it variants */
        @media (min-width: 769px) and (max-width: 1024px) {
            .post-it-category,
            .post-it-achiever,
            .post-it-struggler,
            .post-it-mixed {
                width: 80px;
                height: 80px;
                font-size: 12px;
                padding: 12px;
            }
            
        }
        
        /* Phone Frame */
        .phone-frame {
            position: relative;
            width: 300px;
            height: 600px;
            border: 8px solid #38404D;
            border-radius: 40px;
            overflow: hidden;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
            margin: 0 auto;
        }
        
        .phone-frame::before {
            content: '';
            position: absolute;
            top: 10px;
            left: 50%;
            transform: translateX(-50%);
            width: 60px;
            height: 6px;
            background: #38404D;
            border-radius: 3px;
            z-index: 10;
        }
        
        .phone-screen {
            width: 100%;
            height: 100%;
            position: relative;
            overflow: hidden;
        }
        
        .carousel-image {
            position: absolute;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            opacity: 1;
            transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
        }
        
        .carousel-image.active {
            opacity: 1;
            transform: translateX(0);
            transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1), transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
        }
        
        .carousel-image.exit {
            transform: translateX(-100%);
            transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
        }
        
        .carousel-image.enter {
            transform: translateX(100%);
        }
        
        /* Scroll Animations */
        .animate-on-scroll {
            opacity: 0;
            transform: translateY(40px);
            transition: opacity 0.6s ease, transform 0.6s ease;
        }
        
        /* Screen 38 - Make text visible by default, animate when JS adds 'animated' */
        #screen-38 .stroke-gradient-container {
            opacity: 1;
            transform: translateY(0);
        }
        
        /* Two-column layout for body text on desktop */
        @media (min-width: 1025px) {
            #screen-38 .body-text {
                column-count: 2;
                column-gap: 40px;
                max-width: none;
            }
        }
        
        .animate-on-scroll.animated {
            opacity: 1;
            transform: translateY(0);
        }
        
        .animate-on-scroll.animated-out {
            opacity: 0;
            transform: translateY(-20px);
            transition: opacity 0.4s ease, transform 0.4s ease;
        }
        
        /* Stagger delays for child elements */
        .animate-on-scroll:nth-child(1) { transition-delay: 0s; }
        .animate-on-scroll:nth-child(2) { transition-delay: 0.05s; }
        .animate-on-scroll:nth-child(3) { transition-delay: 0.1s; }
        .animate-on-scroll:nth-child(4) { transition-delay: 0.15s; }
        .animate-on-scroll:nth-child(5) { transition-delay: 0.2s; }
        .animate-on-scroll:nth-child(6) { transition-delay: 0.25s; }
        .animate-on-scroll:nth-child(7) { transition-delay: 0.3s; }
        .animate-on-scroll:nth-child(8) { transition-delay: 0.35s; }
        
        /* Animate different element types */
        h1.animate-on-scroll,
        h2.animate-on-scroll {
            transition-duration: 0.7s;
        }
        
        .gradient-label.animate-on-scroll {
            transition-delay: 0s;
            transition-duration: 0.5s;
        }
        
        .section-divider.animate-on-scroll {
            transform: translateY(40px) scaleX(0);
            transform-origin: left;
            transition: transform 0.5s ease, opacity 0.5s ease;
        }
        
        .section-divider.animate-on-scroll.animated {
            transform: translateY(0) scaleX(1);
        }
        
        .section-divider.animate-on-scroll.animated-out {
            opacity: 0;
            transform: translateY(-20px) scaleX(1);
            transition: opacity 0.4s ease, transform 0.4s ease;
        }
        
        .two-column > div.animate-on-scroll:first-child {
            transition-delay: 0.1s;
        }
        
        .two-column > div.animate-on-scroll:last-child {
            transition-delay: 0.2s;
        }
        
        .stroke-gradient-container.animate-on-scroll {
            transition-delay: 0.15s;
        }
        
        .phone-frame.animate-on-scroll {
            transition-delay: 0.2s;
        }
        
        /* Timeline */
        /* Timeline */
        .timeline-container {
            position: relative;
            display: flex;
            flex-direction: column;
            gap: 50px;
            margin: var(--spacing-xl) 0;
            padding-left: 0;
        }
        
        /* Vertical timeline line - gray color */
        .timeline-container::before {
            content: '';
            position: absolute;
            left: 15px;
            top: 30px;
            bottom: 30px;
            width: 3px;
            background: #999;
            border-radius: 2px;
        }
        
        .timeline-phase {
            position: relative;
            display: flex;
            align-items: center;
            gap: var(--spacing-md);
            padding-left: 40px;
        }
        
        /* Timeline circle - small, white fill, gray stroke, left-aligned */
        .timeline-phase::before {
            content: '';
            position: absolute;
            left: 9px;
            top: 50%;
            transform: translateY(-50%);
            width: 12px;
            height: 12px;
            background: white;
            border: 2px solid #999;
            border-radius: 50%;
            z-index: 1;
        }
        
        .timeline-phase .gradient-label {
            text-align: center;
            min-width: 160px;
            margin: 0 var(--spacing-sm);
        }
        
        .timeline-phase .body-text {
            margin: 0;
            text-align: left;
            flex: 1;
        }
        }
        
        .timeline-phase .body-text {
            margin: 0;
            padding-top: 12px;
        }
        
        /* Insight Cards - Simple Grid */
        .insight-cards-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 20px;
            margin: var(--spacing-xl) 0;
        }
        
        .insight-card {
            background: var(--bg-white);
            border: 1px solid #E0E0E0;
            border-radius: 12px;
            padding: var(--spacing-md);
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
            cursor: pointer;
            transition: all 0.3s ease;
            display: flex;
            flex-direction: column;
            min-height: 240px;
        }
        
        .insight-card:hover {
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
            transform: translateY(-4px);
        }
        
        .card-header {
            font-family: var(--font-family-display);
            font-size: 12px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: var(--text-primary);
            margin-bottom: 12px;
        }
        
        .card-title {
            font-family: var(--font-family-display);
            font-size: 18px;
            font-weight: 600;
            color: var(--text-primary);
            margin-bottom: 12px;
            line-height: 1.3;
        }
        
        .card-text {
            font-family: var(--font-family-body);
            font-size: 15px;
            font-weight: 400;
            color: var(--text-primary);
            line-height: 1.6;
            margin: 0;
        }
        
        /* Archetype Cards */
        .archetype-cards {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: var(--spacing-xl);
            margin: var(--spacing-xl) 0;
        }
        
        .archetype-card {
            background: var(--bg-white);
            border-radius: 16px;
            padding: var(--spacing-lg);
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
            transition: all 0.3s ease;
            border: 3px solid;
        }
        
        .archetype-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
        }
        
        .archetype-card.achiever {
            border-color: var(--color-achiever-item);
        }
        
        .archetype-card.struggler {
            border-color: var(--color-struggler-item);
        }
        
        .archetype-card-header {
            display: flex;
            align-items: center;
            gap: var(--spacing-md);
            margin-bottom: var(--spacing-md);
        }
        
        .archetype-image-circle {
            width: 80px;
            height: 80px;
            border-radius: 50%;
            background: var(--bg-light-gray);
            border: 2px solid #E0E0E0;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            font-size: 12px;
            color: #999;
            text-align: center;
        }
        
        .archetype-title-section {
            flex: 1;
        }
        
        .archetype-title {
            font-family: var(--font-family-display);
            font-size: 24px;
            font-weight: 700;
            color: var(--text-primary);
            margin-bottom: 8px;
        }
        
        .archetype-quote {
            font-family: var(--font-family-body);
            font-size: 16px;
            font-style: italic;
            color: #666;
            line-height: 1.4;
            /* Show immediately on desktop */
            opacity: 1;
            transform: translateY(0);
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
        }
        
        /* Hide initially on tablet and mobile for animation */
        @media (max-width: 1024px) {
            .archetype-quote {
                opacity: 0;
                transform: translateY(20px);
            }
        }
        
        .archetype-quote.fade-in {
            opacity: 1;
            transform: translateY(0);
        }
        
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(10px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        .archetype-section {
            margin-top: var(--spacing-md);
            padding-top: var(--spacing-md);
            border-top: 1px solid #E0E0E0;
        }
        
        .archetype-section-title {
            font-family: var(--font-family-display);
            font-size: 14px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            color: var(--text-primary);
            margin-bottom: 12px;
        }
        
        .archetype-section-content {
            font-family: var(--font-family-body);
            font-size: 15px;
            line-height: 1.7;
            color: var(--text-primary);
        }
        
        .archetype-section-content ul {
            margin: 0;
            padding-left: 20px;
            list-style: none;
        }
        
        .archetype-section-content li {
            position: relative;
            margin-bottom: 8px;
            padding-left: 8px;
        }
        
        .archetype-section-content li:before {
            content: "•";
            position: absolute;
            left: -12px;
            color: #999;
        }
        
        /* Venn Diagram */
        .venn-container {
            position: relative;
            width: 100%;
            min-height: 600px;
            margin: var(--spacing-xl) 0;
        }
        
        .venn-circle {
            position: absolute;
            border-radius: 50%;
            border: 3px solid;
        }
        
        .venn-circle.achiever {
            width: 320px;
            height: 320px;
            border-color: var(--color-achiever-item);
            left: 0;
            top: 100px;
        }
        
        .venn-circle.struggler {
            width: 320px;
            height: 320px;
            border-color: var(--color-struggler-item);
            right: 0;
            top: 100px;
        }
        
        .venn-circle.needs {
            width: 280px;
            height: 280px;
            border-color: var(--color-mixed-item);
            left: 50%;
            transform: translateX(-50%);
            top: 80px;
        }
        
        .venn-circle.opportunities {
            width: 280px;
            height: 280px;
            border-color: var(--color-mixed-item);
            left: 50%;
            transform: translateX(-50%);
            top: 280px;
        }
        
        .venn-label {
            position: absolute;
            text-align: center;
        }
        
        .venn-label.achiever-label {
            left: 0;
            top: 0;
        }
        
        .venn-label.struggler-label {
            right: 0;
            top: 0;
        }
        
        .venn-label-image {
            width: 60px;
            height: 60px;
            border-radius: 50%;
            background: var(--bg-light-gray);
            border: 2px solid #E0E0E0;
            margin: 0 auto 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 10px;
            color: #999;
        }
        
        .venn-label-text {
            font-family: var(--font-family-display);
            font-size: 14px;
            font-weight: 600;
            color: var(--text-primary);
        }
        
        .venn-center-label {
            position: absolute;
            font-family: var(--font-family-display);
            font-size: 16px;
            font-weight: 700;
            letter-spacing: 0.1em;
            color: var(--text-primary);
            left: 50%;
            transform: translateX(-50%);
        }
        
        .venn-center-label.needs-label {
            top: 200px;
        }
        
        .venn-center-label.opportunities-label {
            top: 420px;
        }
        
        /* Tag Elements */
        .tag {
            display: inline-block;
            padding: 4px 10px;
            border-radius: 4px;
            font-family: var(--font-family-display);
            font-size: 11px;
            font-weight: 600;
            margin-left: 8px;
            vertical-align: middle;
        }
        
        /* Problems/Phases Table */
        .problems-table {
            display: grid;
            grid-template-columns: auto 1fr;  /* Changed from auto auto 1fr to auto 1fr */
            gap: 16px;
            margin: var(--spacing-xl) 0;
            align-items: stretch;
            row-gap: 80px;
        }
        
        .problem-row {
            display: contents;
        }
        
        .problem-cells-wrapper {
            display: flex;
            align-items: center;
            gap: var(--spacing-sm);  /* 16px gap between post-it and phase box */
        }
        
        /* Add margin to first row */
        .problem-row:first-child .problem-cells-wrapper,
        .problem-row:first-child .problem-content-cell {
            margin-top: var(--spacing-md);
        }
        
        /* Add larger margin between subsequent rows */
        .problem-row + .problem-row .problem-cells-wrapper,
        .problem-row + .problem-row .problem-content-cell {
            margin-top: var(--spacing-lg);  /* Increased from spacing-md to spacing-lg */
        }
        
        .problem-postit-cell {
            display: flex;
            align-items: center;
            justify-content: center;
            margin-right: var(--spacing-sm);
        }
        
        .problem-postit-cell .post-it {
            position: relative;
            margin: 0;
        }
        
        .problem-content-cell {
            padding: 0;
            align-self: center;
            margin-left: var(--spacing-sm);
        }
        
        .phase-box {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 180px;
            min-height: 100%;
            text-align: center;
            margin: 0;
        }
        
        /* Intake Mapping Table */
        .intake-mapping-table {
            display: grid;
            grid-template-columns: auto 1fr;
            gap: var(--spacing-md);
            margin: var(--spacing-xl) 0;
            align-items: start;
        }
        
        .mapping-row {
            display: contents;
        }
        
        .mapping-category-cell {
            display: flex;
            align-items: flex-start;
            padding: var(--spacing-sm) 0;
        }
        
        .mapping-items-cell {
            display: flex;
            flex-wrap: wrap;
            gap: var(--spacing-sm);
            padding: var(--spacing-sm) 0;
        }
        
        .mapping-separator {
            grid-column: 1 / -1;
            height: 2px;
            background: #999;
            margin: var(--spacing-md) 0;
        }
        
        .category-postit {
            background: var(--color-category);
            border-radius: 4px;
            padding: 20px;
            font-family: var(--font-family-body);
            font-size: 14px;
            font-weight: 600;
            line-height: 1.3;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
            text-align: center;
            width: 120px;
            height: 120px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.3s ease;
        }
        
        .category-postit:hover {
            transform: translateY(-4px) scale(1.05);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
        }
        
        .tag-item {
            background: var(--color-item);
            border-radius: 4px;
            padding: 8px 12px;
            font-family: var(--font-family-body);
            font-size: 11px;
            line-height: 1.3;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
            text-align: center;
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }
        
        /* Overlapping Image & Container Layout */
        .overlap-layout {
            position: relative;
            display: grid;
            grid-template-columns: 75% 1fr;
            gap: 0;
            margin: var(--spacing-xl) 0;
            align-items: start;
        }
        
        .overlap-image {
            width: 100%;
        }
        
        .overlap-containers {
            position: relative;
            left: -10%;
            display: flex;
            flex-direction: column;
            gap: var(--spacing-md);
            z-index: 1;
        }
        
        /* Architecture Layout */
        .architecture-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: var(--spacing-xl) var(--spacing-lg);
            margin: var(--spacing-xl) 0;
        }
        
        .architecture-row {
            display: contents;
        }
        
        /* Draggable Image Grid */
        .draggable-grid {
            position: relative;
            min-height: 800px;
            margin: var(--spacing-xl) 0;
        }
        
        .draggable-grid .draggable-item {
            position: absolute;
            cursor: move;
            transition: transform 0.2s ease;
            z-index: 1;
        }
        
        .draggable-grid .draggable-item:hover {
            transform: scale(1.02);
            z-index: 10;
        }
        
        /* Findings grid */
        .findings-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: var(--spacing-md);
            margin: var(--spacing-xl) 0;
        }
        
        /* Image with overlaid post-its */
        .image-with-postits {
            position: relative;
            margin: var(--spacing-lg) 0;
        }
        
        .image-with-postits .item-postit {
            position: absolute;
            cursor: move;
        }
        
        /* Two column comparison */
        .comparison-columns {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: var(--spacing-lg);
            margin: var(--spacing-xl) 0;
        }
        
        .comparison-label {
            font-family: var(--font-family-display);
            font-size: 18px;
            font-weight: 700;
            margin-bottom: var(--spacing-md);
            text-align: center;
        }
        
        /* Full Width Images Row */
        .full-width-images {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: var(--spacing-md);
            margin: var(--spacing-xl) 0;
        }
        
        /* Footer */
        .footer-legend {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(10px);
            border-top: 1px solid #E0E0E0;
            padding: 12px 20px;
            text-align: center;
            font-family: var(--font-family-body);
            font-size: 12px;
            color: var(--text-secondary);
            z-index: 1004;
        }
        
        /* Responsive */
        @media (max-width: 1024px) {
            .screen {
                padding: var(--spacing-xl) 60px;
            }
            
            /* Artifact link - adjust position on tablet */
            .artifact-link-window {
                top: 120px;
                right: 30px;
                width: 260px;
            }
            
            /* Screen 33 - Ensure cover page height contains post-it */
            #screen-33 {
                min-height: 100vh;
            }
            
            .two-column {
                gap: var(--spacing-lg);
            }
            
            h1 {
                font-size: 48px;
            }
            
            h2 {
                font-size: 32px;
            }
            
            .insight-cards-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 20px;  /* Changed from var(--spacing-lg) to 20px */
            }
            
            /* Screen 10 - Two rows on tablet */
            #screen-10 .two-column {
                grid-template-columns: 1fr;
                gap: var(--spacing-md);
            }
            
            .archetype-cards {
                gap: var(--spacing-lg);
            }
            
            .venn-circle.achiever,
            .venn-circle.struggler {
                width: 280px;
                height: 280px;
            }
            
            .venn-circle.needs,
            .venn-circle.opportunities {
                width: 240px;
                height: 240px;
            }
            
            /* Screen 20 - Adjust grid on tablet */
            #screen-20 .content-container > div[style*="grid-template-columns"] {
                grid-template-columns: 220px 1fr !important;
                gap: 40px !important;
            }
            
            /* All Learnings sections - Stack layout on tablet */
            .learnings-layout,
            #screen-20 div[style*="grid-template-columns"][style*="margin-top: 60px"],
            #screen-27 .content-container > div[style*="grid-template-columns"],
            #screen-31 .content-container > div[style*="grid-template-columns"],
            #screen-36 .content-container > div[style*="grid-template-columns"] {
                grid-template-columns: 1fr !important;
                gap: var(--spacing-md) !important;
            }
        }
        
        @media (max-width: 768px) {
            .nav-menu {
                display: none;
            }
            
            .hamburger {
                display: flex;
            }
            
            .mobile-nav-panel {
                display: block;
            }
            
            /* Artifact link - with top margin and left-aligned with hamburger */
            .artifact-link-window {
                top: 94px;
                right: 40px;
                padding: 0;
                width: 200px;
            }
            
            .artifact-link-window a {
                font-size: 14px;
                padding: 12px 16px;
            }
            
            .screen {
                padding: var(--spacing-lg) var(--spacing-lg);
                min-height: auto;
            }
            
            /* Screen 33 - Ensure cover page height contains post-it */
            #screen-33 {
                min-height: 100vh;
            }
            
            .two-column {
                grid-template-columns: 1fr;
                gap: var(--spacing-lg);
            }
            
            h1 {
                font-size: 40px;
            }
            
            h2 {
                font-size: 28px;
            }
            
            .subtitle,
            .subtitle-bold {
                font-size: 20px;
            }
            
            .body-text {
                font-size: 16px;
            }
            
            /* Screen 10 - Reduced gap on mobile */
            #screen-10 .two-column {
                gap: var(--spacing-sm);
            }
            
            /* Insight cards - 1 column on mobile */
            .insight-cards-grid {
                grid-template-columns: 1fr;
                gap: 20px;  /* Changed from 0px to 20px */
            }
            
            /* Intake mapping - Stack on mobile */
            .intake-mapping-table {
                grid-template-columns: 1fr;
                gap: var(--spacing-sm);
            }
            
            .mapping-category-cell {
                justify-content: flex-start;
            }
            
            .category-postit {
                width: 90px;
                height: 90px;
                font-size: 12px;
                padding: 12px;
            }
            
            .mapping-items-cell {
                justify-content: flex-start;
            }
            
            /* Post-its smaller on mobile */
            .post-it {
                width: 70px;
                height: 70px;
                font-size: 11px;
                padding: 8px;
            }
            
            /* Cover page post-its in one row */
            .cover-page .content-container > div[style*="position: relative"] {
                display: flex !important;
                flex-direction: row !important;
                gap: var(--spacing-sm) !important;
                justify-content: flex-start !important;
                margin-top: 40px !important;
            }
            
            /* Problems table - Stack on mobile */
            .problems-table {
                grid-template-columns: 1fr;
                gap: var(--spacing-md);
                row-gap: 0;
            }
            
            /* Overlap layouts - Stack on mobile */
            .overlap-layout {
                grid-template-columns: 1fr;
                gap: var(--spacing-md);
            }
            
            .overlap-containers {
                left: 0;
                margin-top: var(--spacing-xs);
                margin-bottom: var(--spacing-xs);
                gap: var(--spacing-xs);  /* Reduced gap between containers */
                text-align: center;  /* Center align text */
            }
            
            .overlap-containers .stroke-gradient-container {
                text-align: center;  /* Center align text inside containers */
                margin: var(--spacing-xs);  /* 8px margin on mobile */
            }
            
            /* Architecture grid - Stack on mobile */
            .architecture-grid {
                grid-template-columns: 1fr;
                gap: var(--spacing-lg);
            }
            
            /* Architecture row - Show text first, then image on mobile/tablet */
            .architecture-row {
                display: flex;
                flex-direction: column-reverse;
                gap: var(--spacing-md);  /* Add margin between text and image */
            }
            
            .architecture-row h2 {
                margin-bottom: var(--spacing-xs);  /* Reduce space between h2 and body text */
            }
            
            .architecture-row ul {
                margin-top: var(--spacing-xs);  /* Reduce space between h2 and list */
            }
            
            /* Comparison columns - Stack on mobile */
            .comparison-columns {
                grid-template-columns: 1fr;
                gap: var(--spacing-lg);
            }
            
            /* Draggable grid - 2 columns on tablet, 1 on mobile */
            .draggable-grid {
                position: static;
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: var(--spacing-md);
                min-height: auto;
            }
            
            .draggable-grid .draggable-item {
                position: static;
                cursor: default;
                max-width: 300px;
            }
            
            /* Findings grid - 2 columns on mobile/tablet */
            .findings-grid {
                grid-template-columns: repeat(2, 1fr);
            }
            
            /* Screen 26 image grids - 2 columns on mobile/tablet */
            #screen-26 div[style*="grid-template-columns: repeat(4, 1fr)"] {
                grid-template-columns: repeat(2, 1fr) !important;
            }
            
            /* Screen 29 image grids - 2 columns on tablet/mobile */
            #screen-29 .image-with-postits > div[style*="grid-template-columns"] {
                grid-template-columns: repeat(2, 1fr) !important;
            }
            
            /* Screen 26 image grids - 2 columns on tablet/mobile */
            #screen-26 > div > div[style*="grid-template-columns: repeat(4, 1fr)"] {
                grid-template-columns: repeat(2, 1fr) !important;
            }
            
            /* Draggable grid - 1 column on mobile */
            .draggable-grid {
                grid-template-columns: 1fr;
            }
            
            /* Screen 29 image grids - 2 columns on mobile */
            #screen-29 .image-with-postits > div[style*="grid-template-columns"] {
                grid-template-columns: repeat(2, 1fr) !important;
            }
            
            /* Screen 35 image grids - 2 columns on mobile */
            #screen-35 .image-with-postits > div[style*="grid-template-columns"] {
                grid-template-columns: repeat(2, 1fr) !important;
            }
            
            /* Screen 39 style guide grids - single column on mobile */
            #style div[style*="grid-template-columns: 1fr 1fr"],
            #style div[style*="grid-template-columns: repeat(4, 1fr)"],
            #style div[style*="grid-template-columns: repeat(5, 1fr)"] {
                grid-template-columns: 1fr !important;
            }
            
            /* All Learnings sections - Stack layout on mobile */
            .learnings-layout,
            #screen-20 div[style*="grid-template-columns"][style*="margin-top: 60px"],
            #screen-27 .content-container > div[style*="grid-template-columns"],
            #screen-31 .content-container > div[style*="grid-template-columns"],
            #screen-36 .content-container > div[style*="grid-template-columns"] {
                grid-template-columns: 1fr !important;
                gap: var(--spacing-md) !important;
            }
            
            .problem-postit-cell {
                justify-content: flex-start;
            }
            
            .problem-content-cell {
                padding: 0;
            }
            
            /* Timeline responsive - hide on mobile, left-align with centered label text */
            .timeline-container::before {
                display: none;
            }
            
            .timeline-phase::before {
                display: none;
            }
            
            .timeline-container {
                padding-left: 0;
            }
            
            .timeline-phase {
                padding-left: 0;
                gap: var(--spacing-sm);
                flex-direction: column;
                align-items: flex-start;
            }
            
            .timeline-phase .gradient-label {
                min-width: auto;
                font-size: 12px;
                margin: 0;
                text-align: center;
            }
            
            .timeline-phase .body-text {
                font-size: 14px;
                text-align: left;
            }
            
            .phone-frame {
                width: 250px;
                height: 500px;
            }
            
            .full-width-images {
                grid-template-columns: 1fr;
            }
            
            .insight-cards-grid {
                grid-template-columns: 1fr;
                gap: 20px;  /* Fixed: was 80px, should match earlier definition */
            }
            
            .insight-cluster {
                min-height: auto;
            }
            
            .insight-cluster .insight-card {
                position: relative;
                top: 0 !important;
                left: 0 !important;
                margin-bottom: var(--spacing-md);
                z-index: auto !important;
            }
            
            .insight-cluster .insight-card:last-child {
                margin-bottom: 0;
            }
            
            .archetype-cards {
                grid-template-columns: 1fr;
                gap: var(--spacing-lg);
            }
            
            .archetype-card-header {
                flex-direction: column;
                text-align: center;
            }
            
            .venn-container {
                min-height: 800px;
            }
            
            .venn-circle {
                width: 200px !important;
                height: 200px !important;
            }
            
            .venn-circle.achiever {
                left: 10%;
                top: 50px;
            }
            
            .venn-circle.struggler {
                right: 10%;
                top: 50px;
            }
            
            .venn-circle.needs {
                top: 200px;
            }
            
            .venn-circle.opportunities {
                top: 400px;
            }
            
            .full-width-images {
                grid-template-columns: repeat(2, 1fr);
            }
            
            /* Screen 20 - Stack columns on mobile */
            #screen-20 .content-container > div[style*="grid-template-columns"] {
                grid-template-columns: 1fr !important;
                gap: var(--spacing-md) !important;
            }
            
            /* Screen 17 - Stack post-its on mobile */
            #ideate .content-container > div[style*="display: flex"] {
                flex-direction: row !important;  /* Changed from column to row */
                flex-wrap: wrap !important;
                gap: var(--spacing-md) !important;
                justify-content: flex-start !important;
            }
            
            /* Screen 30 - Mobile layout: images in 2 columns first, then text below */
            #screen-30 div[style*="grid-template-columns: 1fr 1fr 1fr"] {
                display: grid !important;
                grid-template-columns: 1fr 1fr !important;
                gap: var(--spacing-md) !important;
            }
            
            /* BEFORE image in left column */
            #screen-30 div[style*="grid-template-columns: 1fr 1fr 1fr"] > div:nth-child(1) {
                order: 1 !important;
            }
            
            /* AFTER image in right column */
            #screen-30 div[style*="grid-template-columns: 1fr 1fr 1fr"] > div:nth-child(2) {
                order: 2 !important;
            }
            
            /* Text spans full width and appears below images */
            #screen-30 div[style*="grid-template-columns: 1fr 1fr 1fr"] > div:nth-child(3) {
                order: 3 !important;
                grid-column: 1 / -1 !important;
                margin-top: var(--spacing-md);
                display: block !important;
            }
            
            /* Ensure text content itself is in 1 column */
            #screen-30 div[style*="grid-template-columns: 1fr 1fr 1fr"] > div:nth-child(3) p {
                width: 100% !important;
                display: block !important;
            }
        }

        /* Design System Styles for Screen 39 */
        :root {
            /* Typography */
            --font-family-display: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
            --font-family-body: 'Source Sans 3', -apple-system, BlinkMacSystemFont, sans-serif;
            
            /* Font Sizes */
            --font-size-h1: 56px;
            --font-size-h2: 36px;
            --font-size-subtitle: 22px;
            --font-size-body: 18px;
            --font-size-small-body: 15px;
            --font-size-screen-number: 13px;
            --font-size-gradient-label: 13px;
            --font-size-tag: 11px;
            
            /* Colors */
            --text-primary: #38404D;
            --gray-border: #A6AFBE;
            --gray-light: #F7F7F7;
            
            /* Gradients */
            --gradient-start: #FFF0E3;
            --gradient-end: #DDF6FC;
            
            /* Spacing */
            --spacing-xs: 8px;
            --spacing-sm: 16px;
            --spacing-md: 24px;
            --spacing-lg: 40px;
            --spacing-xl: 60px;
        }
        
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: var(--font-family-body);
            color: var(--text-primary);
            line-height: 1.6;
            background: white;
        }
        
        .container {
            max-width: 1400px;
            margin: 0 auto;
            padding: 60px 40px;
        }
        
        .hero {
            text-align: center;
            margin-bottom: 80px;
            padding: 60px 0;
            background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
            border-radius: 20px;
        }
        
        .hero h1 {
            font-family: var(--font-family-display);
            font-size: 72px;
            font-weight: 700;
            color: var(--text-primary);
            margin-bottom: 16px;
        }
        
        .hero p {
            font-family: var(--font-family-body);
            font-size: 24px;
            color: var(--text-primary);
            opacity: 0.8;
        }
        
        .section {
            margin-top: 100px;
            margin-bottom: 80px;
        }
        
        .section-title {
            font-family: var(--font-family-display);
            font-size: 40px;
            font-weight: 700;
            color: var(--text-primary);
            margin-bottom: 40px;
            padding-bottom: 16px;
            border-bottom: 3px solid var(--gray-border);
            max-width: 150px;
            white-space: nowrap;
        }
        
        .subsection {
            margin-bottom: 60px;
        }
        
        .subsection-title {
            font-family: var(--font-family-display);
            font-size: 28px;
            font-weight: 600;
            color: var(--text-primary);
            margin-bottom: 24px;
        }
        
        /* Typography Grid */
        .type-grid {
            display: grid;
            gap: 40px;
        }
        
        .type-sample {
            padding: 30px;
            background: var(--gray-light);
            border-radius: 12px;
            border: 2px solid var(--gray-border);
        }
        
        .type-label {
            font-family: var(--font-family-display);
            font-size: 12px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: var(--text-primary);
            opacity: 0.6;
            margin-bottom: 8px;
        }
        
        .type-specs {
            font-family: 'Monaco', 'Courier New', monospace;
            font-size: 11px;
            color: var(--text-primary);
            opacity: 0.5;
            margin-bottom: 16px;
        }
        
        .type-example {
            color: var(--text-primary);
        }
        
        /* H1 */
        .type-h1 {
            font-family: var(--font-family-display);
            font-size: var(--font-size-h1);
            font-weight: 700;
            line-height: 1.1;
        }
        
        /* H2 */
        .type-h2 {
            font-family: var(--font-family-display);
            font-size: var(--font-size-h2);
            font-weight: 600;
            line-height: 1.3;
        }
        
        /* Subtitle */
        .type-subtitle {
            font-family: var(--font-family-body);
            font-size: var(--font-size-subtitle);
            font-weight: 400;
            line-height: 1.4;
        }
        
        .type-subtitle-bold {
            font-family: var(--font-family-body);
            font-size: var(--font-size-subtitle);
            font-weight: 700;
            line-height: 1.4;
        }
        
        /* Body */
        .type-body {
            font-family: var(--font-family-body);
            font-size: var(--font-size-body);
            font-weight: 400;
            line-height: 1.7;
        }
        
        .type-body-bold {
            font-family: var(--font-family-body);
            font-size: var(--font-size-body);
            font-weight: 700;
            line-height: 1.7;
        }
        
        /* Small Body */
        .type-small-body {
            font-family: var(--font-family-body);
            font-size: var(--font-size-small-body);
            font-weight: 400;
            line-height: 1.7;
        }
        
        .type-small-body-bold {
            font-family: var(--font-family-body);
            font-size: var(--font-size-small-body);
            font-weight: 700;
            line-height: 1.7;
        }
        
        /* Color Grid */
        .color-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 24px;
            margin-top: 24px;
        }
        
        .color-card {
            border-radius: 12px;
            overflow: hidden;
            border: 2px solid var(--gray-border);
        }
        
        .color-swatch {
            height: 120px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .color-info {
            padding: 16px;
            background: white;
        }
        
        .color-name {
            font-family: var(--font-family-display);
            font-size: 16px;
            font-weight: 600;
            color: var(--text-primary);
            margin-bottom: 4px;
        }
        
        .color-code {
            font-family: 'Monaco', monospace;
            font-size: 13px;
            color: var(--text-primary);
            opacity: 0.6;
        }
        
        /* Component Samples */
        .component-grid {
            display: grid;
            gap: 32px;
            margin-top: 24px;
        }
        
        .component-sample {
            padding: 32px;
            background: var(--gray-light);
            border-radius: 12px;
            border: 2px solid var(--gray-border);
        }
        
        .component-title {
            font-family: var(--font-family-display);
            font-size: 14px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: var(--text-primary);
            margin-bottom: 20px;
        }
        
        /* Gradient Label */
        .gradient-label {
            font-family: var(--font-family-display);
            background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
            color: var(--text-primary);
            font-size: var(--font-size-gradient-label);
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.15em;
            padding: 14px 20px;
            border: 3px solid var(--gray-border);
            border-radius: 10px;
            display: inline-block;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
            min-height: 52px;
            line-height: 1.4;
        }
        
        /* Stroke Gradient Container */
        
        /* Screen Number */
        .screen-number {
            font-family: var(--font-family-display);
            font-size: var(--font-size-screen-number);
            font-weight: 600;
            color: var(--text-primary);
            text-transform: uppercase;
            letter-spacing: 0.1em;
        }
        
        /* Tag */
        .tag {
            font-family: var(--font-family-display);
            font-size: var(--font-size-tag);
            font-weight: 600;
            color: var(--text-primary);
            padding: 6px 12px;
            border-radius: 6px;
            display: inline-block;
            white-space: nowrap;
        }
        
        /* Post-it */
        .post-it {
            font-family: var(--font-family-display);
            font-size: 13px;
            font-weight: 600;
            color: var(--text-primary);
            padding: 16px;
            width: 90px;
            height: 90px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            border-radius: 4px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
            line-height: 1.3;
        }
        
        /* Override for Screen 39 post-its - make them static, not absolute */
        #style .post-it {
            position: static;
            display: inline-flex;
        }
        
        /* Section Divider */
        /* Section Divider Gradient */
        .section-divider-gradient {
            height: 3px;
            width: 150px;
            background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
            border-radius: 2px;
            margin: 20px 0;
        }
        
        /* Section Divider Gray */
        .section-divider-gray {
            height: 3px;
            width: 150px;
            background: var(--gray-border);
            border-radius: 2px;
            margin: 20px 0;
        }
        
        /* Spacing Scale */
        .spacing-grid {
            display: grid;
            gap: 24px;
            margin-top: 24px;
        }
        
        .spacing-sample {
            display: flex;
            align-items: center;
            gap: 24px;
        }
        
        .spacing-visual {
            background: var(--text-primary);
            height: 40px;
        }
        
        .spacing-info {
            font-family: var(--font-family-body);
            font-size: 15px;
        }
        
        .spacing-name {
            font-weight: 700;
            color: var(--text-primary);
        }
        
        .spacing-value {
            font-family: 'Monaco', monospace;
            color: var(--text-primary);
            opacity: 0.6;
        }
        
        /* Table */
        .spec-table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 24px;
            background: white;
            border-radius: 12px;
            overflow: hidden;
            border: 2px solid var(--gray-border);
        }
        
        .spec-table th {
            background: var(--gray-light);
            padding: 16px;
            text-align: left;
            font-family: var(--font-family-display);
            font-size: 14px;
            font-weight: 600;
            color: var(--text-primary);
            border-bottom: 2px solid var(--gray-border);
        }
        
        .spec-table td {
            padding: 16px;
            font-family: var(--font-family-body);
            font-size: 15px;
            color: var(--text-primary);
            border-bottom: 1px solid var(--gray-border);
        }
        
        .spec-table tr:last-child td {
            border-bottom: none;
        }
        
        .spec-table code {
            font-family: 'Monaco', monospace;
            font-size: 13px;
            background: var(--gray-light);
            padding: 2px 6px;
            border-radius: 4px;
        }

