/* Changemaker Lite - Ultra-Tight Grid System */ /* Homepage-specific variables */ .md-content--home { /* Trans flag colors with neon glow variants */ --mkdocs-purple: #6f42c1; --mkdocs-purple-dark: #3d2064; --trans-blue: var(--mkdocs-purple); /* override for main accent */ --trans-pink: #F5A9B8; --trans-white: #FFFFFF; --trans-white-dim: #E0E0E0; /* Dark theme colors */ --home-dark-bg: #0a0a0a; --home-dark-surface: #151515; --home-dark-card: #1a1a1a; --home-dark-border: #2a2a2a; --home-dark-text: #e0e0e0; --home-dark-text-muted: #999; /* Grid colors */ --grid-primary: var(--trans-blue); --grid-secondary: var(--trans-pink); --grid-accent: var(--trans-white); --grid-border: rgba(91, 206, 250, 0.2); /* Neon effects - optimized for grid density */ --neon-blue-shadow: 0 0 8px rgba(91, 206, 250, 0.6); --neon-pink-shadow: 0 0 8px rgba(245, 169, 184, 0.6); --neon-white-shadow: 0 0 6px rgba(255, 255, 255, 0.4); /* Tight spacing for maximum content density */ --space-xs: 0.25rem; --space-sm: 0.5rem; --space-md: 0.75rem; --space-lg: 1rem; --space-xl: 1.5rem; --space-2xl: 2rem; /* Compact typography */ --text-xs: 0.7rem; --text-sm: 0.8rem; --text-base: 0.9rem; --text-lg: 1rem; --text-xl: 1.1rem; --text-2xl: 1.3rem; --text-3xl: 1.8rem; --text-4xl: 2.2rem; /* Layout */ --home-radius: 8px; --home-max-width: 1400px; --grid-gap: var(--space-sm); --card-padding: var(--space-md); } /* Homepage body setup */ body[data-md-template="home"] { background: var(--home-dark-bg); margin: 0; padding: 0; overflow-x: hidden; } /* Hide MkDocs chrome completely */ body[data-md-template="home"] .md-header, body[data-md-template="home"] .md-tabs, body[data-md-template="home"] .md-sidebar, body[data-md-template="home"] .md-footer, body[data-md-template="home"] .md-footer-meta { display: none !important; } body[data-md-template="home"] .md-content { padding: 0 !important; margin: 0 !important; } body[data-md-template="home"] .md-main__inner { margin: 0 !important; max-width: none !important; } /* Homepage content wrapper */ .md-content--home { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: var(--home-dark-text); background: var(--home-dark-bg); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; min-height: 100vh; line-height: 1.4; } /* ================================= ULTRA-TIGHT GRID SYSTEM ================================= */ .grid-container { max-width: 1200px; margin: 0 auto; padding: var(--space-sm); display: grid; gap: var(--space-xs); } .grid-card { background: var(--home-dark-card); border: 1px solid var(--grid-border); border-radius: 4px; padding: var(--space-md); transition: all 0.2s ease; position: relative; overflow: hidden; } .grid-card::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 2px; background: linear-gradient(90deg, transparent, var(--trans-blue), transparent); transition: left 0.5s ease; } .grid-card:hover::before { left: 100%; } .grid-card:hover { border-color: var(--trans-blue); box-shadow: 0 0 15px rgba(91, 206, 250, 0.3); transform: translateY(-1px); } /* ================================= HERO GRID - ULTRA COMPACT ================================= */ .hero-grid { padding: var(--space-md) 0; background: linear-gradient(180deg, var(--home-dark-bg) 0%, var(--home-dark-surface) 100%); } .hero-grid .grid-container { grid-template-columns: 2fr 1fr; grid-template-rows: auto auto; grid-template-areas: "hero-main hero-problem" "hero-stats hero-trust"; gap: var(--space-sm); } .hero-main { grid-area: hero-main; } .hero-problem { grid-area: hero-problem; } .hero-stats { grid-area: hero-stats; } .hero-trust { grid-area: hero-trust; } /* Neon badge animation */ .meta-badge { background: linear-gradient(135deg, var(--trans-blue), var(--trans-pink)); color: #000; font-size: 0.7rem; font-weight: 700; padding: 0.2rem 0.8rem; border-radius: 20px; display: inline-block; margin-bottom: var(--space-sm); animation: neon-pulse 2s ease-in-out infinite; } @keyframes neon-pulse { 0%, 100% { box-shadow: 0 0 5px rgba(91, 206, 250, 0.8), 0 0 10px rgba(91, 206, 250, 0.6), 0 0 15px rgba(91, 206, 250, 0.4); } 50% { box-shadow: 0 0 10px rgba(245, 169, 184, 0.8), 0 0 20px rgba(245, 169, 184, 0.6), 0 0 30px rgba(245, 169, 184, 0.4); } } .hero-main h1 { font-size: 2rem; font-weight: 800; margin: 0 0 var(--space-sm) 0; line-height: 1.1; background: linear-gradient(135deg, var(--trans-white), var(--trans-blue)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; animation: text-glow 3s ease-in-out infinite; } @keyframes text-glow { 0%, 100% { filter: brightness(1); } 50% { filter: brightness(1.2); } } .hero-main p { font-size: 0.9rem; color: var(--home-dark-text-muted); margin: 0 0 var(--space-lg) 0; line-height: 1.4; } .hero-ctas { display: flex; gap: var(--space-sm); } /* Problem/Solution blocks */ .hero-problem h3, .hero-stats h3, .hero-trust h3 { font-size: 0.9rem; margin: 0 0 var(--space-sm) 0; color: var(--trans-blue); text-transform: uppercase; letter-spacing: 0.05em; } .problem-list { display: flex; flex-direction: column; gap: var(--space-xs); } .problem-item { font-size: 0.8rem; color: var(--home-dark-text-muted); padding: var(--space-xs); background: var(--home-dark-surface); border-radius: 2px; } .stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-xs); } .stat-item { text-align: center; padding: var(--space-xs); background: var(--home-dark-surface); border-radius: 2px; } .stat-number { font-size: 1.2rem; font-weight: 700; color: var(--trans-pink); margin: 0; animation: number-glow 4s ease-in-out infinite; } @keyframes number-glow { 0%, 100% { text-shadow: 0 0 5px rgba(91, 206, 250, 0.5); } 50% { text-shadow: 0 0 10px rgba(91, 206, 250, 0.8); } } .stat-label { font-size: 0.65rem; color: var(--home-dark-text-muted); margin: 0; } .trust-items { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-xs); } .trust-item { display: flex; align-items: center; gap: var(--space-xs); font-size: 0.7rem; padding: var(--space-xs); background: var(--home-dark-surface); border-radius: 2px; } /* ================================= SERVICES GRID - ULTRA COMPACT ================================= */ .solution-grid { padding: var(--space-lg) 0; border-top: 1px solid var(--grid-border); } .section-header { text-align: center; margin-bottom: var(--space-lg); position: relative; z-index: 10; } .section-header h2 { font-size: 1.8rem; font-weight: 700; margin: 0 0 var(--space-xs) 0; color: var(--home-dark-text); } .section-header p { font-size: 0.9rem; color: var(--home-dark-text-muted); margin: 0; } .services-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: var(--space-sm); } .service-card { text-align: center; cursor: pointer; } .service-card:hover .service-icon { animation: icon-bounce 0.5s ease; } @keyframes icon-bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } } .service-icon { font-size: 2rem; margin-bottom: var(--space-xs); } .service-card h3 { font-size: 0.9rem; margin: 0 0 var(--space-xs) 0; color: var(--home-dark-text); } .service-replaces { font-size: 0.65rem; color: var(--trans-pink); margin-bottom: var(--space-sm); text-transform: uppercase; letter-spacing: 0.05em; } .service-features { list-style: none; padding: 0; margin: 0 0 var(--space-sm) 0; font-size: 0.7rem; color: var(--home-dark-text-muted); } .service-features li { padding: 0.1rem 0; } .service-tool { font-size: 0.75rem; font-weight: 600; color: var(--trans-blue); padding: 0.2rem 0.5rem; background: var(--home-dark-surface); border-radius: 2px; display: inline-block; } /* ================================= COMPARISON TABLE - GRID STYLE ================================= */ .comparison-grid { padding: var(--space-lg) 0; background: var(--home-dark-surface); } .comparison-table { display: grid; gap: var(--space-xs); } .comparison-header, .comparison-row { display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; } .comparison-header { font-weight: 700; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.05em; } .compare-col { text-align: center; padding: var(--space-sm); } .compare-col.highlight { color: var(--trans-blue); } .comparison-row { font-size: 0.8rem; } .compare-label { padding: var(--space-sm); font-weight: 600; } .compare-value { text-align: center; padding: var(--space-sm); } .compare-value.bad { color: #ff6b6b; } .compare-value.good { color: #4ecdc4; font-weight: 600; } /* ================================= OPTIONS GRID - ULTRA COMPACT ================================= */ .get-started-grid { padding: var(--space-lg) 0; } .options-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: var(--space-sm); margin-bottom: var(--space-lg); } .option-card { text-align: center; position: relative; } .option-card.featured { border-color: var(--trans-blue); animation: featured-glow 3s ease-in-out infinite; } @keyframes featured-glow { 0%, 100% { box-shadow: 0 0 10px rgba(91, 206, 250, 0.4), 0 0 20px rgba(91, 206, 250, 0.2); } 50% { box-shadow: 0 0 20px rgba(91, 206, 250, 0.6), 0 0 30px rgba(91, 206, 250, 0.3); } } .option-badge { position: absolute; top: -8px; left: 50%; transform: translateX(-50%); background: var(--trans-blue); color: #000; padding: 0.1rem 0.6rem; border-radius: 10px; font-size: 0.65rem; font-weight: 700; } .option-icon { font-size: 2.5rem; margin-bottom: var(--space-sm); } .option-card h3 { font-size: 1.2rem; margin: 0 0 var(--space-xs) 0; color: var(--home-dark-text); } .option-price { font-size: 2rem; font-weight: 700; color: var(--trans-blue); margin-bottom: var(--space-sm); } .option-features { margin-bottom: var(--space-lg); text-align: left; } .feature { padding: 0.2rem 0; color: var(--home-dark-text-muted); font-size: 0.75rem; } /* Final CTA */ .final-cta { text-align: center; padding: var(--space-xl); } .final-cta h3 { font-size: 1.5rem; margin: 0 0 var(--space-sm) 0; color: var(--home-dark-text); } .final-cta p { font-size: 0.9rem; color: var(--home-dark-text-muted); margin: 0 0 var(--space-lg) 0; } .cta-buttons { display: flex; gap: var(--space-sm); justify-content: center; } /* ================================= BUTTONS - NEON STYLE ================================= */ .btn { display: inline-flex; align-items: center; justify-content: center; padding: 0.4rem 1rem; font-size: 0.8rem; font-weight: 600; text-decoration: none; border-radius: 4px; transition: all 0.2s ease; border: 1px solid transparent; cursor: pointer; min-width: 100px; position: relative; overflow: hidden; color: var(--mkdocs-purple-dark); } .btn::before { content: ''; position: absolute; top: 50%; left: 50%; width: 0; height: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.2); transform: translate(-50%, -50%); transition: width 0.6s, height 0.6s; } .btn:hover::before { width: 300px; height: 300px; } .btn-primary { background: var(--mkdocs-purple); color: var(--mkdocs-purple-dark); border-color: var(--mkdocs-purple); } .btn-primary:hover { background: var(--mkdocs-purple-dark); color: #000; box-shadow: 0 0 15px var(--mkdocs-purple); transform: translateY(-1px); } .btn-secondary { background: transparent; color: var(--mkdocs-purple); border-color: var(--mkdocs-purple); } .btn-secondary:hover { background: var(--mkdocs-purple-dark); color: #000; box-shadow: 0 0 15px var(--mkdocs-purple); } /* ================================= RESPONSIVE - ULTRA TIGHT ================================= */ @media (max-width: 768px) { .grid-container { gap: var(--space-xs); padding: var(--space-xs); } .hero-grid .grid-container { grid-template-columns: 1fr; grid-template-areas: "hero-main" "hero-problem" "hero-stats" "hero-trust"; } .services-grid { grid-template-columns: 1fr; } .comparison-header, .comparison-row { font-size: 0.7rem; } .options-grid { grid-template-columns: 1fr; } .cta-buttons { flex-direction: column; } .hero-main h1 { font-size: 1.5rem; } } @media (max-width: 480px) { .grid-card { padding: var(--space-sm); } .trust-items, .stat-grid { grid-template-columns: 1fr; } .service-card { padding: var(--space-sm); } .hero-main h1 { font-size: 1.3rem; } } /* Row cards at bottom: two cards in a row on desktop, stack on mobile */ .row-cards { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-sm); margin-top: var(--space-lg); } @media (max-width: 768px) { .row-cards { grid-template-columns: 1fr; gap: var(--space-xs); } } /* ================================= PERFORMANCE ================================= */ @media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } } /* GPU acceleration */ .grid-card, .btn { will-change: transform; backface-visibility: hidden; } /* Badge for FOSS First */ .badge-new { display: inline-block; background: var(--mkdocs-purple); color: #fff; font-size: 0.65em; font-weight: 700; border-radius: 8px; padding: 0.1em 0.5em; margin-left: 0.3em; letter-spacing: 0.03em; vertical-align: middle; box-shadow: 0 0 6px var(--mkdocs-purple-dark); }