:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: "Outfit", var(--font-sans);--color-bg-base: #06080b;--color-bg-surface: #0c0f14;--color-bg-surface-hover: #13171f;--color-bg-card: #0f121a;--color-bg-nav: rgba(6, 8, 11, .75);--color-text-primary: #f8fafc;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-accent-primary: #d97706;--color-accent-primary-hover: #b45309;--color-accent-primary-glow: rgba(217, 119, 6, .15);--color-accent-cyber: #06b6d4;--color-accent-cyber-glow: rgba(6, 182, 212, .12);--color-border: rgba(255, 255, 255, .06);--color-border-hover: rgba(255, 255, 255, .12);--color-border-accent: rgba(217, 119, 6, .25);--color-dropdown-bg: rgba(12, 15, 20, .92);--color-terminal-bg: #0a0e17;--color-terminal-header: rgba(255, 255, 255, .03);--layout-max-width: 1000px;--header-height: 70px;--shadow-sm: 0 2px 8px -2px rgba(0, 0, 0, .5);--shadow-md: 0 8px 24px -4px rgba(0, 0, 0, .6);--shadow-lg: 0 16px 40px -8px rgba(0, 0, 0, .8);--shadow-glow: 0 0 25px rgba(217, 119, 6, .08);--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1);--transition-spring: all .5s cubic-bezier(.175, .885, .32, 1.275);--transition-fast: all .15s ease}.light-theme{--color-bg-base: #f8fafc;--color-bg-surface: #ffffff;--color-bg-surface-hover: #f1f5f9;--color-bg-card: #ffffff;--color-bg-nav: rgba(248, 250, 252, .8);--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--color-accent-primary: #d97706;--color-accent-primary-hover: #b45309;--color-accent-primary-glow: rgba(217, 119, 6, .08);--color-accent-cyber: #0891b2;--color-accent-cyber-glow: rgba(8, 145, 178, .08);--color-border: rgba(15, 23, 42, .08);--color-border-hover: rgba(15, 23, 42, .15);--color-border-accent: rgba(217, 119, 6, .18);--color-dropdown-bg: rgba(255, 255, 255, .95);--color-terminal-bg: #f1f5f9;--color-terminal-header: #e2e8f0;--shadow-sm: 0 2px 8px -2px rgba(15, 23, 42, .08);--shadow-md: 0 8px 24px -4px rgba(15, 23, 42, .1);--shadow-lg: 0 16px 40px -8px rgba(15, 23, 42, .12);--shadow-glow: 0 0 25px rgba(217, 119, 6, .04)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}*:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--color-bg-base);color:var(--color-text-primary);font-family:var(--font-sans);line-height:1.6;overflow-x:hidden}body,header,footer,a,button,span,.nav-link,.btn-primary,.btn-secondary,.project-narrative-item,.project-media,.narrative-step,.lang-selected-btn,.lang-dropdown,.lang-option,.theme-toggle-btn{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}html{scrollbar-width:thin;scrollbar-color:var(--color-bg-surface-hover) var(--color-bg-base)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg-base)}::-webkit-scrollbar-thumb{background:var(--color-bg-surface-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.25;color:var(--color-text-primary)}h1{font-size:clamp(2.5rem,6vw,4.5rem);letter-spacing:-.03em;margin-bottom:1rem}h2{font-size:clamp(1.8rem,4vw,2.8rem);letter-spacing:-.02em;margin-bottom:1.5rem;position:relative;display:inline-block}h3{font-size:clamp(1.3rem,2.5vw,1.8rem);margin-bottom:.75rem}p{color:var(--color-text-secondary);font-weight:400;margin-bottom:1.5rem;font-size:1.05rem}a{color:inherit;text-decoration:none;transition:var(--transition-fast)}.container{width:100%;max-width:var(--layout-max-width);margin:0 auto;padding:0 1.5rem}.section{padding-block:8rem}.section-title{margin-bottom:4rem}.section-title h2:after{content:"";position:absolute;bottom:-8px;left:0;width:40px;height:3px;background-color:var(--color-accent-primary);border-radius:2px;transition:var(--transition-smooth)}.section-title:hover h2:after{width:80px}.flex-center{display:flex;align-items:center;justify-content:center}.text-gradient{background:linear-gradient(135deg,var(--color-text-primary) 30%,var(--color-text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background-color:var(--color-accent-primary);color:var(--color-bg-base);font-family:var(--font-display);font-weight:600;padding:.75rem 1.75rem;border-radius:30px;border:none;cursor:pointer;box-shadow:0 4px 14px #d9770640;transition:var(--transition-smooth)}.btn-primary:hover{background-color:var(--color-accent-cyber);box-shadow:0 6px 20px #06b6d466;transform:translateY(-2px)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background-color:transparent;color:var(--color-text-primary);font-family:var(--font-display);font-weight:500;padding:.725rem 1.75rem;border-radius:30px;border:1px solid var(--color-border);cursor:pointer;transition:var(--transition-smooth)}.btn-secondary:hover{background-color:var(--color-bg-surface-hover);border-color:var(--color-text-muted);transform:translateY(-2px)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .8s cubic-bezier(.16,1,.3,1) forwards}.bg-grid-decorator{position:fixed;inset:0;z-index:-1;background-image:radial-gradient(circle at 50% -20%,var(--color-accent-primary-glow) 0%,transparent 60%),radial-gradient(circle at 10% 80%,var(--color-accent-cyber-glow) 0%,transparent 50%),linear-gradient(var(--color-border) 1px,transparent 1px),linear-gradient(90deg,var(--color-border) 1px,transparent 1px);background-size:100% 100%,100% 100%,64px 64px,64px 64px;background-position:0 0,0 0,center top,center top;opacity:.7;pointer-events:none}:host-context(.light-theme) .bg-grid-decorator{opacity:.55}.js-enabled .reveal-on-scroll{opacity:0;transform:translateY(24px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.js-enabled .reveal-on-scroll.revealed{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.js-enabled .reveal-on-scroll{opacity:1!important;transform:none!important;transition:none!important}}
