:root{--font-sans:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--paper:#f7f6f3;--paper-dim:#eceae6;--ink:#111;--ink-soft:#666;--indigo:#4f46e5;--film-green:#7af5c8;--crimson:#d94a64;--line:#1111111a;--line-soft:#1111110f;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--nav-h:5.5rem;--bg-primary:var(--paper);--bg-secondary:var(--paper-dim);--bg-tertiary:#eae8e3;--bg-card:#fff;--bg-card-grey:var(--paper-dim);--text-primary:var(--ink);--text-secondary:var(--ink-soft);--text-muted:#888;--text-light:#a1a1aa;--border-light:var(--line);--border-medium:#1111112e;--border-dark:#18181b;--accent-black:var(--ink);--accent-indigo:var(--indigo);--accent-green:var(--film-green);--accent-crimson:var(--crimson);--shadow-sm:0 1px 2px #1111110a;--shadow-md:0 4px 14px #1111110f;--shadow-lg:0 12px 32px #11111117;--shadow-xl:0 20px 48px #11111121;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--transition-fast:.15s var(--ease-out);--transition-normal:.25s var(--ease-out)}*,:before,:after{box-sizing:border-box;font-family:var(--font-sans);margin:0;padding:0}html{scroll-behavior:smooth;font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--bg-primary);min-height:100vh;line-height:1.5;overflow-x:hidden}button,input,select,textarea{font-family:var(--font-sans)}::selection{background-color:var(--film-green);color:var(--ink)}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);letter-spacing:-.04em;color:var(--ink);font-weight:300}p{color:var(--ink-soft);font-weight:300}.header-text,.section-header,.main-title{color:var(--ink)!important}.sub-header,.section-tag,.category-label{letter-spacing:.06em;font-weight:500;color:var(--indigo)!important}.sub-text,.lead-text,.body-text{color:var(--ink-soft)!important}.highlight-indigo{font-weight:400;color:var(--indigo)!important}.highlight-green{border-radius:4px;padding:.15rem .45rem;font-weight:400;color:#055e44!important;background-color:#7af5c833!important}.highlight-crimson{font-weight:400;color:var(--crimson)!important}.font-mono{font-family:var(--font-mono)}.container-custom{max-width:1200px;margin:0 auto;padding:0 1.5rem}.container-narrow{max-width:900px;margin:0 auto;padding:0 1.5rem}.badge-pill{background-color:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-full);letter-spacing:.06em;text-transform:uppercase;color:var(--text-primary);box-shadow:var(--shadow-sm);transition:all var(--transition-fast);align-items:center;gap:.375rem;padding:.35rem .85rem;font-size:.75rem;font-weight:400;display:inline-flex}.badge-pill:hover{border-color:var(--border-medium);background-color:var(--bg-tertiary)}.bg-paper{background-color:var(--paper)!important}.bg-paper-dim{background-color:var(--paper-dim)!important}.text-ink{color:var(--ink)!important}.text-ink-soft{color:var(--ink-soft)!important}.text-indigo{color:var(--indigo)!important}.text-film-green{color:var(--film-green)!important}.text-crimson{color:var(--crimson)!important}.pill-indigo{color:var(--indigo);border-radius:var(--radius-full);background-color:#4f46e514;border:1px solid #4f46e540;align-items:center;gap:.35rem;padding:.35rem .85rem;font-size:.75rem;font-weight:500;display:inline-flex}.pill-film-green{color:#055e44;border-radius:var(--radius-full);background-color:#7af5c82e;border:1px solid #7af5c873;align-items:center;gap:.35rem;padding:.35rem .85rem;font-size:.75rem;font-weight:500;display:inline-flex}.pill-crimson{color:var(--crimson);border-radius:var(--radius-full);background-color:#d94a6414;border:1px solid #d94a6440;align-items:center;gap:.35rem;padding:.35rem .85rem;font-size:.75rem;font-weight:500;display:inline-flex}.btn-primary{background-color:var(--accent-black);color:#fff;border-radius:var(--radius-full);border:1px solid var(--accent-black);cursor:pointer;transition:all var(--transition-normal);justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex;box-shadow:0 2px 8px #00000026}.btn-primary:hover{background-color:#27272a;border-color:#27272a;transform:translateY(-1px);box-shadow:0 4px 16px #0003}.btn-secondary{color:var(--text-primary);border-radius:var(--radius-full);border:1px solid var(--border-light);cursor:pointer;transition:all var(--transition-normal);background-color:#fff;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-secondary:hover{background-color:var(--bg-secondary);border-color:var(--border-medium);transform:translateY(-1px)}.card-grey{background-color:var(--bg-card-grey);border:1px solid var(--border-light);border-radius:var(--radius-lg);transition:all var(--transition-normal);padding:2rem}.card-grey:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md)}.card-white{border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);background-color:#fff;padding:2rem}.card-white:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md)}.nav-floating{-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-light);width:min(100%,960px);box-shadow:var(--shadow-md);transition:all var(--transition-normal);will-change:transform;background:#ffffffd9;border-radius:10px;justify-content:space-between;align-items:center;padding:.6rem 1rem;display:flex}.nav-floating.scrolled{box-shadow:var(--shadow-lg);background:#fffffff2}.nav-link{color:var(--text-secondary);border-radius:var(--radius-full);transition:all var(--transition-fast);padding:.4rem .8rem;font-size:.875rem;font-weight:500;text-decoration:none}.nav-link:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.ascii-box{color:#a1a1aa;font-family:var(--font-mono);letter-spacing:.05em;border-radius:var(--radius-lg);-webkit-user-select:none;user-select:none;background-color:#0a0a0c;border:1px solid #18181b;justify-content:center;align-items:center;min-height:330px;padding:2.25rem 2rem;font-size:.7rem;line-height:1.15;transition:border-color .3s,box-shadow .3s,transform .3s cubic-bezier(.22,1,.36,1);display:flex;position:relative;overflow:hidden}.ascii-box:hover{border-color:#3f3f46;transform:translateY(-2px);box-shadow:0 20px 40px #0006}.ascii-art{white-space:pre;color:#71717a;text-shadow:0 0 2px #ffffff26;transition:color .3s}.ascii-box:hover .ascii-art{color:#a1a1aa}.ascii-art span.bright{color:#fff;font-weight:700}@keyframes marquee{0%{transform:translate(0%)}to{transform:translate(-50%)}}.marquee-track{width:max-content;animation:30s linear infinite marquee;display:flex}.marquee-track:hover{animation-play-state:paused}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.6s cubic-bezier(.16,1,.3,1) forwards fadeIn}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#fff}::-webkit-scrollbar-thumb{background:#d4d4d8;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a1a1aa}@media (width<=768px){html,body{overflow-x:hidden}.container-custom{padding:0 1.25rem}section{padding-top:4.5rem!important;padding-bottom:4.5rem!important}div[style*="position: sticky"],div[style*="position: 'sticky'"]{position:relative!important;top:0!important}.btn-primary,.btn-secondary{justify-content:center;width:100%}}.hero-gradient-dots{background-image:radial-gradient(#11111114 1px,#0000 1px);background-position:50%;background-size:24px 24px;position:relative}.hero-gradient-dots:before{content:"";background:radial-gradient(circle at center, transparent 0%, var(--paper) 75%);pointer-events:none;position:absolute;inset:0}:focus-visible{outline-offset:3px;outline:2px solid #000}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.marquee-track{animation:none!important}}
