*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth}body{min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{background:none;border:none;cursor:pointer}:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-elevated: #1a1a26;--bg-overlay: rgba(10, 10, 15, .85);--text-primary: #e8e8ec;--text-secondary: #9494a6;--text-accent: #6e9eff;--text-muted: #5a5a6e;--accent-primary: #6e9eff;--accent-secondary: #a78bfa;--accent-tertiary: #34d399;--accent-warm: #f59e0b;--border-subtle: rgba(148, 148, 166, .12);--border-active: rgba(110, 158, 255, .3);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 2rem;--space-xl: 4rem;--space-2xl: 8rem;--font-display: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--font-size-base: 1rem;--line-height-base: 1.6}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-700.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400.woff2) format("woff2")}body{font-family:var(--font-display);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--text-primary);background-color:var(--bg-primary)}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}code,pre,.mono{font-family:var(--font-mono)}@media (min-width: 640px){h1{font-size:3rem}h2{font-size:2.5rem}}@media (min-width: 1024px){h1{font-size:3.5rem}h2{font-size:3rem}h3{font-size:1.75rem}}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;padding:var(--space-sm) var(--space-md);display:flex;align-items:center;justify-content:space-between;transition:background-color .3s ease,backdrop-filter .3s ease}.site-header.translucent{background-color:var(--bg-overlay);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.header-logo{height:48px;width:auto}.header-nav{display:none}.header-nav.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background-color:var(--bg-elevated);padding:var(--space-md);gap:var(--space-md);border-bottom:1px solid var(--border-subtle)}.header-nav a{color:var(--text-secondary);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;transition:color .2s ease}.header-nav a:hover,.header-nav a.active{color:var(--text-accent)}.hamburger{display:flex;flex-direction:column;gap:4px;padding:var(--space-xs)}.hamburger span{display:block;width:24px;height:2px;background-color:var(--text-primary);transition:transform .2s ease,opacity .2s ease}main{width:100%}.section{min-height:100vh;padding:var(--space-2xl) var(--space-md);position:relative}.section-content{max-width:1200px;margin:0 auto;width:100%}.section--hero{display:flex;align-items:center;justify-content:center;padding-top:0;padding-bottom:0}.grid{display:grid;gap:var(--space-lg);grid-template-columns:1fr}@media (min-width: 640px){.site-header{padding:var(--space-sm) var(--space-lg)}.section{padding:var(--space-2xl) var(--space-lg)}.grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.hamburger{display:none}.header-nav,.header-nav.open{display:flex;flex-direction:row;position:static;background-color:transparent;padding:0;gap:var(--space-lg);border-bottom:none}.section{padding:var(--space-2xl) var(--space-xl)}}@media (min-width: 1440px){.section-content{max-width:1400px}.grid{gap:var(--space-xl)}}.animate-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.animate-in.visible{opacity:1;transform:translateY(0)}.animate-in.stagger-1{transition-delay:.1s}.animate-in.stagger-2{transition-delay:.2s}.animate-in.stagger-3{transition-delay:.3s}.animate-in.stagger-4{transition-delay:.4s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #6e9eff66}50%{box-shadow:0 0 20px 4px #6e9eff33}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}.scroll-indicator{animation:bounce 2s infinite}.hero-layers{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:0}.hero-foreground{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:var(--space-xl);pointer-events:none;min-height:0}.hero-subtitle{color:var(--text-secondary);font-size:.875rem;letter-spacing:.04em;text-align:center;margin-top:55vh;opacity:0;animation:fadeIn 1s ease 2.5s forwards}@media (min-width: 640px){.hero-subtitle{font-size:1rem;letter-spacing:.06em}}@media (min-width: 1024px){.hero-subtitle{font-size:1.125rem}}.hero-scroll-indicator{position:absolute;bottom:var(--space-lg);left:50%;transform:translate(-50%);z-index:10;color:var(--text-muted);cursor:pointer;opacity:0;animation:fadeIn .6s ease 3.5s forwards;transition:color .2s ease}.hero-scroll-indicator:hover{color:var(--text-accent)}.project-card{background-color:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.project-card:hover{transform:translateY(-4px);border-color:var(--border-active);box-shadow:0 8px 32px #0000004d,0 0 16px #6e9eff26}a.project-card{display:block;text-decoration:none;color:inherit}.project-card img{width:100%;aspect-ratio:16 / 10;object-fit:cover}.project-card-body{padding:var(--space-md)}.project-card-title{font-size:1.125rem;font-weight:700;margin-bottom:var(--space-xs)}.project-card-desc{color:var(--text-secondary);font-size:.875rem;margin-bottom:var(--space-sm)}.project-card-link{color:var(--text-accent);font-size:.875rem;font-weight:700}.tab-bar{display:flex;gap:var(--space-sm);overflow-x:auto;padding-bottom:var(--space-sm);margin-bottom:var(--space-lg);border-bottom:1px solid var(--border-subtle)}.tab-button{padding:var(--space-sm) var(--space-md);color:var(--text-secondary);font-size:.875rem;white-space:nowrap;border-bottom:2px solid transparent;transition:color .2s ease,border-color .2s ease}.tab-button:hover,.tab-button.active{color:var(--text-accent);border-bottom-color:var(--accent-primary)}.terminal-overlay{background-color:var(--bg-overlay);font-family:var(--font-mono);font-size:.8125rem;color:var(--accent-tertiary);padding:var(--space-md);border-radius:8px;overflow:hidden}.survey-question{text-align:center;max-width:640px;margin:0 auto}.survey-option{display:block;width:100%;padding:var(--space-md);margin-bottom:var(--space-sm);background-color:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;text-align:left;transition:border-color .2s ease,background-color .2s ease}.survey-option:hover{border-color:var(--border-active);background-color:var(--bg-secondary)}.survey-progress{display:flex;gap:var(--space-sm);justify-content:center;margin-bottom:var(--space-lg)}.survey-dot{width:8px;height:8px;border-radius:50%;background-color:var(--text-muted);transition:background-color .2s ease}.survey-dot.active{background-color:var(--accent-primary)}.survey-dot.completed{background-color:var(--accent-tertiary)}.contact-form{max-width:480px;margin:0 auto}.form-field{margin-bottom:var(--space-md)}.form-field label{display:block;color:var(--text-secondary);font-size:.875rem;margin-bottom:var(--space-xs)}.form-field input,.form-field textarea{width:100%;padding:var(--space-sm) var(--space-md);background-color:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-primary);transition:border-color .2s ease}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--border-active)}.form-field textarea{min-height:120px;resize:vertical}.btn-primary{display:inline-block;padding:var(--space-sm) var(--space-lg);background-color:var(--accent-primary);color:var(--bg-primary);font-weight:700;border-radius:4px;transition:opacity .2s ease}.btn-primary:hover{opacity:.9}.site-footer{padding:var(--space-xl) var(--space-md);border-top:1px solid var(--border-subtle);text-align:center;color:var(--text-muted);font-size:.875rem}.footer-links{display:flex;gap:var(--space-lg);justify-content:center;margin-bottom:var(--space-md)}.footer-links a{color:var(--text-secondary);transition:color .2s ease}.footer-links a:hover{color:var(--text-accent)}#about{min-height:auto}.about-text{max-width:680px;margin:0 auto}.about-text p{color:var(--text-secondary);font-size:1.0625rem;line-height:1.8;margin-bottom:var(--space-lg)}.about-text p:last-child{margin-bottom:0}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.footer-logo{height:80px;width:auto;opacity:.6}.footer-tagline{color:var(--text-secondary);font-size:.8125rem}.footer-disclaimer{font-style:italic;font-size:.75rem;color:var(--text-muted);max-width:480px;line-height:1.5}.footer-copyright{font-size:.75rem}.observatory-content{width:100%}.observatory-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none}.observatory-tabs::-webkit-scrollbar{display:none}.observatory-viz-area{position:relative;width:100%;min-height:350px;height:50vh;max-height:600px;background-color:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden;transition:opacity .2s ease}.observatory-terminal{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;line-height:1.5;transition:opacity .3s ease}.terminal-output{padding:var(--space-sm) 0}.terminal-line{white-space:pre-wrap;word-break:break-all}.terminal-cursor{animation:terminalBlink 1s step-end infinite;color:var(--accent-tertiary)}@keyframes terminalBlink{0%,to{opacity:1}50%{opacity:0}}.observatory-viz{width:100%;height:100%}.observatory-viz-canvas{display:block}.observatory-transformer{background-color:var(--bg-elevated)}@media (max-width: 639px){.observatory-terminal{font-size:.875rem}.observatory-viz-area{min-height:280px;height:40vh}.observatory-tabs{gap:var(--space-xs);scroll-snap-type:x mandatory;padding-bottom:var(--space-xs)}.observatory-tabs .tab-button{scroll-snap-align:start;font-size:.8125rem;padding:var(--space-xs) var(--space-sm)}}.research-lab-content{max-width:800px;margin:0 auto}.questionnaire{padding:var(--space-xl) 0}.survey-question-wrap{transition:opacity .35s ease,transform .35s ease}.survey-question-text{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.4;margin-bottom:var(--space-lg)}@media (min-width: 640px){.survey-question-text{font-size:1.75rem}}@media (min-width: 1024px){.survey-question-text{font-size:2rem}}.survey-options{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-md)}.survey-option{display:block;width:100%;padding:var(--space-md) var(--space-lg);background-color:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;text-align:left;color:var(--text-primary);font-size:1rem;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,transform .15s ease;min-height:48px}.survey-option:hover{border-color:var(--border-active);background-color:var(--bg-secondary);transform:translate(4px)}.survey-option:active{transform:translate(2px) scale(.99)}.survey-scale{margin-top:var(--space-lg)}.survey-scale-labels{display:flex;justify-content:space-between;color:var(--text-muted);font-size:.75rem;margin-bottom:var(--space-sm)}.survey-scale-buttons{display:flex;justify-content:center;gap:var(--space-md)}.survey-scale-btn{width:48px;height:48px;border-radius:50%;background-color:var(--bg-elevated);border:2px solid var(--border-subtle);color:var(--text-primary);font-size:1.125rem;font-weight:700;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,transform .15s ease}.survey-scale-btn:hover{border-color:var(--accent-primary);background-color:var(--bg-secondary);transform:scale(1.1)}.survey-scale-btn:active{transform:scale(1.05)}@media (max-width: 639px){.survey-question{max-width:100%;padding:0 var(--space-sm)}.survey-option{padding:var(--space-lg);font-size:1.0625rem;min-height:56px}.survey-scale-btn{width:56px;height:56px;font-size:1.25rem}}.results-viz{padding:var(--space-xl) 0}.results-header{text-align:center;margin-bottom:var(--space-lg)}.results-header h3{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-xs)}.results-total{color:var(--text-secondary);font-size:.875rem}.results-empty{text-align:center;color:var(--text-secondary);padding:var(--space-xl) 0}.results-chart-area{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.results-radial-canvas{max-width:100%;height:auto}.results-legend{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center}.results-legend-item{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;color:var(--text-primary);font-size:.8125rem;transition:border-color .2s ease}.results-legend-item:hover{border-color:var(--border-active)}.legend-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.legend-label{white-space:nowrap}.legend-sample{color:var(--text-muted);font-size:.75rem}.results-back-btn{color:var(--text-accent);font-size:.875rem;cursor:pointer;margin-bottom:var(--space-md);background:none;border:none;padding:var(--space-xs) 0}.results-back-btn:hover{text-decoration:underline}.results-drilldown-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-xs)}.results-drilldown-sample{color:var(--text-secondary);font-size:.8125rem;margin-bottom:var(--space-lg)}.results-question-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;padding:var(--space-md);margin-bottom:var(--space-md)}.results-question-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-md)}.results-question-text{color:var(--text-primary);font-size:.9375rem;font-weight:600}.results-question-n{color:var(--text-muted);font-size:.75rem;white-space:nowrap;flex-shrink:0}.results-bars{display:flex;flex-direction:column;gap:var(--space-sm)}.results-bar-row{display:grid;grid-template-columns:minmax(100px,1fr) 2fr 40px;align-items:center;gap:var(--space-sm)}.results-bar-label{color:var(--text-secondary);font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.results-bar-track{height:8px;background:var(--bg-primary);border-radius:4px;overflow:hidden}.results-bar-fill{height:100%;background:var(--accent-primary);border-radius:4px;transition:width .8s cubic-bezier(.25,.46,.45,.94)}.results-bar-pct{color:var(--text-muted);font-size:.75rem;text-align:right}@media (max-width: 639px){.results-bar-row{grid-template-columns:1fr;gap:var(--space-xs)}.results-bar-label{white-space:normal}}.methodology{padding:var(--space-lg) 0;border-top:1px solid var(--border-subtle);margin-top:var(--space-lg)}.methodology-toggle{display:flex;align-items:center;gap:var(--space-sm);background:none;border:none;color:var(--text-secondary);font-size:.9375rem;font-weight:600;cursor:pointer;padding:var(--space-sm) 0;transition:color .2s ease}.methodology-toggle:hover{color:var(--text-primary)}.methodology-toggle-icon{font-size:.75rem}.methodology-panel{padding:var(--space-md) 0}.methodology-item{margin-bottom:var(--space-md)}.methodology-item-title{color:var(--text-accent);font-size:.875rem;font-weight:700;margin-bottom:var(--space-xs)}.methodology-item-body{color:var(--text-secondary);font-size:.875rem;line-height:1.6}.contact-section{padding:var(--space-xl) 0;border-top:1px solid var(--border-subtle);margin-top:var(--space-lg)}.contact-heading{text-align:center;font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-lg)}.contact-status{font-size:.875rem;margin-bottom:var(--space-md);min-height:1.25rem}.contact-status.error{color:#f87171}.contact-status.success{color:var(--accent-tertiary)}
