@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root,[data-theme=dark]{--bg-primary: #0B0C0E;--bg-secondary: #131417;--bg-card: rgba(19, 20, 23, .85);--bg-hero: linear-gradient(160deg, #0B0C0E 0%, #0D0E10 55%, #101114 100%);--bg-gradient: linear-gradient(135deg, #D9A441 0%, #B98730 100%);--bg-canvas: #0B0C0E;--primary: #D9A441;--primary-hover: #C4922F;--primary-light: #E8BE6C;--primary-rgb: 217, 164, 65;--primary-surface: rgba(217, 164, 65, .08);--accent: #4F7A72;--accent-hover: #3E625B;--accent-light: #7FA79E;--accent-secondary: #7FA79E;--gradient-primary: linear-gradient(135deg, #D9A441 0%, #B98730 100%);--gradient-secondary: linear-gradient(135deg, #7FA79E 0%, #4F7A72 100%);--gradient-card: linear-gradient(145deg, rgba(19, 20, 23, .95) 0%, rgba(217, 164, 65, .03) 100%);--gradient-text: linear-gradient(135deg, #E8BE6C 0%, #D9A441 100%);--gradient-glow: radial-gradient(circle, rgba(217, 164, 65, .1) 0%, transparent 70%);--gradient-mesh: radial-gradient(circle at 1px 1px, rgba(237, 237, 232, .06) 1px, transparent 0);--text-primary: #EDEDE8;--text-secondary: #9C9C93;--text-muted: #5C5C55;--text-hero: #F5F4EF;--text-link: #E8BE6C;--neutral-border: rgba(237, 237, 232, .08);--neutral-divider: rgba(237, 237, 232, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .5);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .35), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .55), 0 10px 10px -5px rgba(0, 0, 0, .3);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .7);--shadow-glow: 0 4px 16px rgba(0, 0, 0, .4);--shadow-card: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .25);--shadow-card-hover: 0 16px 32px -8px rgba(0, 0, 0, .45), 0 6px 12px -4px rgba(217, 164, 65, .1);--shadow-hover: 0 8px 20px rgba(0, 0, 0, .35);--shadow-neon: 0 4px 20px rgba(0, 0, 0, .45);--shadow-md: 0 4px 10px rgba(0, 0, 0, .3);--success: #5FA37B;--warning: #D9A441;--error: #C1554A;--info: #7FA79E;--border: rgba(237, 237, 232, .08);--border-light: rgba(237, 237, 232, .05);--divider: rgba(237, 237, 232, .05);--transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--transition: all .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: all .5s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--bg-primary: #FAF8F3;--bg-secondary: #F2EEE4;--bg-card: rgba(255, 255, 255, .92);--bg-hero: linear-gradient(160deg, #FAF8F3 0%, #F5F1E8 55%, #F2EEE4 100%);--bg-gradient: linear-gradient(135deg, #A9721E 0%, #8A5C18 100%);--bg-canvas: #FAF8F3;--primary: #A9721E;--primary-hover: #8A5C18;--primary-light: #C4922F;--primary-rgb: 169, 114, 30;--primary-surface: rgba(169, 114, 30, .08);--accent: #3E625B;--accent-hover: #324F49;--accent-light: #4F7A72;--accent-secondary: #4F7A72;--gradient-primary: linear-gradient(135deg, #A9721E 0%, #8A5C18 100%);--gradient-secondary: linear-gradient(135deg, #4F7A72 0%, #3E625B 100%);--gradient-card: linear-gradient(145deg, rgba(255, 255, 255, .98) 0%, rgba(169, 114, 30, .03) 100%);--gradient-text: linear-gradient(135deg, #A9721E 0%, #8A5C18 100%);--gradient-glow: radial-gradient(circle, rgba(169, 114, 30, .06) 0%, transparent 70%);--gradient-mesh: radial-gradient(circle at 1px 1px, rgba(28, 27, 24, .05) 1px, transparent 0);--text-primary: #1C1B18;--text-secondary: #59564E;--text-muted: #9A968A;--text-hero: #1C1B18;--text-link: #8A5C18;--neutral-border: rgba(28, 27, 24, .12);--neutral-divider: rgba(28, 27, 24, .07);--shadow-sm: 0 1px 3px 0 rgba(28, 27, 24, .08);--shadow: 0 4px 6px -1px rgba(28, 27, 24, .07), 0 2px 4px -2px rgba(28, 27, 24, .05);--shadow-lg: 0 20px 25px -5px rgba(28, 27, 24, .1), 0 10px 10px -5px rgba(28, 27, 24, .06);--shadow-xl: 0 25px 50px -12px rgba(28, 27, 24, .12);--shadow-glow: 0 4px 16px rgba(28, 27, 24, .1);--shadow-card: 0 2px 8px -1px rgba(28, 27, 24, .08), 0 1px 4px -1px rgba(28, 27, 24, .05);--shadow-card-hover: 0 12px 30px -6px rgba(28, 27, 24, .14), 0 4px 12px -3px rgba(169, 114, 30, .1);--shadow-hover: 0 8px 20px rgba(28, 27, 24, .1);--shadow-neon: 0 4px 20px rgba(28, 27, 24, .12);--shadow-md: 0 4px 6px rgba(28, 27, 24, .07);--success: #3F8A63;--warning: #A9721E;--error: #A8412F;--info: #3E625B;--border: rgba(28, 27, 24, .12);--border-light: rgba(28, 27, 24, .07);--divider: rgba(28, 27, 24, .05)}:root{--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading: "Space Grotesk", "Inter", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Monaco", "Consolas", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 4.5rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 700;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .08em;--tracking-widest: .12em;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-14: 3.5rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--spacing-4xl: 5rem;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-2xl: 28px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.68, -.55, .265, 1.55);--transition-smooth: .6s cubic-bezier(.16, 1, .3, 1);--z-base: 1;--z-dropdown: 10;--z-sticky: 20;--z-header: 100;--z-sidebar: 200;--z-modal: 1000;--z-toast: 9999;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--hero-title-size: var(--text-5xl);--hero-subtitle-size: var(--text-xl);--hero-padding: var(--spacing-4xl) 0;--card-bg: var(--bg-card);--card-border: var(--border);--card-radius: var(--radius-lg);--card-padding: var(--spacing-xl);--card-shadow: var(--shadow-card);--card-hover-shadow: var(--shadow-card-hover);--badge-bg: rgba(var(--primary-rgb), .08);--badge-text: var(--primary);--badge-border: rgba(var(--primary-rgb), .18);--badge-radius: var(--radius-sm);--badge-padding: .3rem .7rem;--glass-bg: rgba(11, 12, 14, .6);--glass-border: rgba(237, 237, 232, .08);--glass-blur: blur(20px);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .4);--timeline-line: var(--primary);--timeline-dot: var(--primary);--timeline-dot-bg: var(--bg-primary);--btn-primary-bg: var(--primary);--btn-primary-hover: var(--primary-hover);--btn-primary-text: #0B0C0E;--btn-secondary-bg: transparent;--btn-secondary-border: var(--primary);--btn-secondary-text: var(--primary);--btn-padding: var(--spacing-sm) var(--spacing-lg);--btn-radius: var(--radius-md)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--font-normal);line-height:1.6;color:var(--text-primary);background-color:var(--bg-canvas);transition:background-color var(--transition-normal),color var(--transition-normal);overflow-x:hidden;position:relative}body:before{content:"";position:fixed;inset:0;background-image:var(--gradient-mesh);background-size:32px 32px;pointer-events:none;z-index:0}#root,.App{min-height:100vh;display:flex;flex-direction:column}main{flex:1;display:flex;flex-direction:column}main>section:last-child{margin-bottom:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-bold);line-height:1.2;letter-spacing:var(--tracking-tight);color:var(--text-primary);margin-bottom:var(--spacing-md)}h1{font-size:var(--text-5xl);font-weight:var(--font-extrabold);letter-spacing:-.03em}h2{font-size:var(--text-4xl);font-weight:var(--font-bold);letter-spacing:-.025em}h3{font-size:var(--text-3xl);font-weight:var(--font-semibold)}h4{font-size:var(--text-2xl);font-weight:var(--font-semibold)}h5{font-size:var(--text-xl);font-weight:var(--font-medium)}h6{font-size:var(--text-lg);font-weight:var(--font-medium)}p{color:var(--text-secondary);margin-bottom:var(--spacing-md);line-height:1.7}code,kbd,samp,pre,.code,.mono,.data-value{font-family:var(--font-mono);font-size:.9em;font-weight:var(--font-normal)}code{background-color:var(--primary-surface);color:var(--primary-light);padding:.15rem .4rem;border-radius:var(--radius-sm);font-size:.875em;border:1px solid rgba(var(--primary-rgb),.18)}pre{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-md);overflow-x:auto;font-size:.875rem;line-height:1.6}pre code{background:none;padding:0;border-radius:0;border:none;font-size:inherit}a{color:var(--text-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-light)}a:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:var(--radius-sm)}img,video{max-width:100%;height:auto;display:block}img{border-radius:var(--radius-md)}button,input,textarea,select{font-family:inherit;font-size:inherit}button{border:none;background:none;cursor:pointer;transition:all var(--transition-fast)}button:disabled{opacity:.6;cursor:not-allowed}input,textarea{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--bg-card);color:var(--text-primary);transition:all var(--transition-normal);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}input:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.14);transform:translateY(-1px)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:var(--radius-full);border:2px solid var(--bg-secondary)}::-webkit-scrollbar-thumb:hover{background:var(--primary-light)}*{scrollbar-width:thin;scrollbar-color:var(--primary) var(--bg-secondary)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.section{padding:var(--spacing-4xl) 0}.section-sm{padding:var(--spacing-3xl) 0}.section-lg{padding:calc(var(--spacing-4xl) + var(--spacing-xl)) 0}.section-label{display:inline-block;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--primary);margin-bottom:var(--spacing-3);opacity:.85}.section-title{position:relative}.section-title:after{content:"";display:block;width:48px;height:3px;background:var(--primary);border-radius:2px;margin:.6rem auto 0}.section-header--left .section-title:after{margin-left:0}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-col{display:flex;flex-direction:column}.flex-wrap{flex-wrap:wrap}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-hero{color:var(--text-hero)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-4xl{font-size:var(--text-4xl)}.text-5xl{font-size:var(--text-5xl)}.text-6xl{font-size:var(--text-6xl)}.font-light{font-weight:var(--font-light)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.font-extrabold{font-weight:var(--font-extrabold)}.m-0{margin:0}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--btn-padding);border-radius:var(--btn-radius);font-weight:var(--font-semibold);font-size:var(--text-sm);text-decoration:none;cursor:pointer;transition:all var(--transition-fast);gap:var(--spacing-xs);border:1px solid transparent;letter-spacing:.01em;white-space:nowrap}.btn-primary{background:var(--primary);color:var(--btn-primary-text);border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-glow);color:var(--btn-primary-text)}.btn-primary:focus-visible{outline:2px solid var(--primary-light);outline-offset:3px}.btn-primary:active{transform:translateY(0)}.btn-secondary{background-color:transparent;color:var(--primary);border-color:var(--primary)}.btn-secondary:hover{background-color:var(--primary-surface);color:var(--primary-light);border-color:var(--primary-light);transform:translateY(-1px)}.btn-secondary:focus-visible{outline:2px solid var(--primary);outline-offset:3px}[data-theme=light] .btn-secondary{color:var(--primary);border-color:var(--primary)}[data-theme=light] .btn-secondary:hover{background-color:#0891b212;color:var(--primary-hover)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--text-xs)}.btn-lg{padding:var(--spacing-3) var(--spacing-8);font-size:var(--text-base)}.card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--card-shadow);transition:all var(--transition-normal);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-normal);border-radius:2px 2px 0 0}.card:hover{transform:translateY(-6px);box-shadow:var(--card-hover-shadow);border-color:#06b6d440}.card:hover:before{transform:scaleX(1)}.card-glass{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow)}.badge{display:inline-flex;align-items:center;padding:var(--badge-padding);background-color:var(--badge-bg);color:var(--badge-text);border:1px solid var(--badge-border);border-radius:var(--badge-radius);font-size:var(--text-xs);font-weight:var(--font-semibold);gap:var(--spacing-xs);font-family:var(--font-mono);letter-spacing:.02em}@keyframes fadeIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.04)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-18px)}}@keyframes glow{0%,to{box-shadow:0 0 16px rgba(var(--primary-rgb),.25)}50%{box-shadow:0 0 28px rgba(var(--primary-rgb),.4)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes rotate3d{0%{transform:perspective(1000px) rotateY(0)}to{transform:perspective(1000px) rotateY(360deg)}}@keyframes gradientShift{0%,to{opacity:1}50%{opacity:.75}}.fade-in{animation:fadeIn .8s cubic-bezier(.16,1,.3,1)}.slide-in-left{animation:slideInLeft .8s cubic-bezier(.16,1,.3,1)}.slide-in-right{animation:slideInRight .8s cubic-bezier(.16,1,.3,1)}.pulse{animation:pulse 3s cubic-bezier(.4,0,.6,1) infinite}.float{animation:float 6s ease-in-out infinite}.glow{animation:glow 3s ease-in-out infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:768px){.container{padding:0 var(--spacing-sm)}.section{padding:var(--spacing-3xl) 0}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.hero-title{font-size:var(--text-4xl)!important}.hero-subtitle{font-size:var(--text-lg)!important}}@media(max-width:480px){.btn{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--text-sm)}.card{padding:var(--spacing-md)}}:root{--timeline-bg: rgba(var(--primary-rgb), .04);--timeline-border: rgba(var(--primary-rgb), .12);--timeline-hover-bg: rgba(var(--primary-rgb), .07);--timeline-hover-border: rgba(var(--primary-rgb), .22)}.debug{border:2px solid red!important}.debug *{border:1px solid blue!important}.nav{position:fixed;top:0;left:0;right:0;z-index:var(--z-header);padding:var(--spacing-5) var(--spacing-6);transition:padding var(--transition-normal)}.nav__inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4);padding:.55rem .6rem .55rem 1.1rem;border-radius:var(--radius-full);background:#0b112080;border:1px solid var(--neutral-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:background-color var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal)}[data-theme=light] .nav__inner{background:#fff9}.nav--scrolled .nav__inner{background:#060b18d1;border-color:var(--border);box-shadow:0 10px 30px -12px #00000073}[data-theme=light] .nav--scrolled .nav__inner{background:#ffffffe0;box-shadow:0 10px 30px -14px #0f172a2e}.nav__brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;flex-shrink:0}.nav__brand-mark{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-md);background:var(--primary);color:#04121a;font-family:var(--font-mono);font-weight:var(--font-bold);font-size:.8rem;letter-spacing:-.02em}.nav__brand-name{font-family:var(--font-heading);font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--text-primary);letter-spacing:-.01em}@media(max-width:640px){.nav__brand-name{display:none}}.nav__links{display:flex;align-items:center;gap:.15rem}.nav__link{position:relative;padding:.5rem .85rem;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);text-decoration:none;transition:all var(--transition-fast);white-space:nowrap}.nav__link:hover{color:var(--text-primary);background:#94a3b814}.nav__link--active{color:var(--bg-primary);background:var(--primary)}[data-theme=light] .nav__link--active{color:#fff}.nav__link--active:hover{color:var(--bg-primary);background:var(--primary)}[data-theme=light] .nav__link--active:hover{color:#fff}.nav__actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.nav__icon-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:transparent;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.nav__icon-btn:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-surface)}.nav__lang-btn{font-family:var(--font-mono);font-size:.68rem;font-weight:var(--font-bold);letter-spacing:.02em}.nav__cv-btn{display:inline-flex;align-items:center;padding:.5rem 1.05rem;border-radius:var(--radius-full);background:var(--text-primary);color:var(--bg-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);text-decoration:none;white-space:nowrap;transition:all var(--transition-fast)}.nav__cv-btn:hover{background:var(--primary);color:var(--bg-primary);transform:translateY(-1px)}@media(max-width:900px){.nav__links,.nav__cv-btn{display:none}}.nav__burger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:transparent;cursor:pointer}.nav__burger span{display:block;width:14px;height:1.5px;background:var(--text-primary);transition:all var(--transition-fast)}.nav__burger--open span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}.nav__burger--open span:nth-child(2){opacity:0}.nav__burger--open span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}@media(max-width:900px){.nav__burger{display:flex}}.nav__mobile{max-width:1200px;margin:.5rem auto 0;max-height:0;overflow:hidden;opacity:0;transition:max-height var(--transition-normal),opacity var(--transition-normal)}.nav__mobile--open{max-height:420px;opacity:1;padding-bottom:.9rem;border-radius:var(--radius-xl);background:#060b18f0;border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}[data-theme=light] .nav__mobile--open{background:#fffffff7}.nav__mobile-links{display:flex;flex-direction:column;gap:.25rem;padding:.9rem}.nav__mobile-link{padding:.7rem .9rem;border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;font-weight:var(--font-medium);font-size:var(--text-base)}.nav__mobile-link.nav__link--active{color:var(--bg-primary);background:var(--primary)}.nav__cv-btn--mobile{display:flex;justify-content:center;margin:.4rem .9rem 0}@media(min-width:901px){.nav__mobile{display:none}}.footer{border-top:1px solid var(--divider);padding:var(--spacing-8) 0}.footer__container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-5)}.footer__brand{display:flex;align-items:baseline;gap:.6rem}.footer__name{font-family:var(--font-heading);font-weight:var(--font-bold);font-size:var(--text-base);color:var(--text-primary);text-decoration:none}.footer__role{font-size:var(--text-xs);color:var(--text-muted);margin:0}.footer__social{display:flex;gap:.5rem;order:3;width:100%;justify-content:center}.footer__social-link{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--border);color:var(--text-secondary);transition:all var(--transition-fast)}.footer__social-link:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-surface)}.footer__copyright{font-size:var(--text-xs);color:var(--text-muted);margin:0}@media(min-width:640px){.footer__social{order:2;width:auto}}.hero{background:var(--bg-hero);min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding:calc(var(--spacing-4xl) + var(--spacing-8)) 0 var(--spacing-4xl)}.hero__container{position:relative;z-index:2;display:grid;grid-template-columns:1fr;gap:var(--spacing-4xl);align-items:center}.hero-content{max-width:640px}.hero-eyebrow{margin-bottom:var(--spacing-8);animation:fadeIn .7s ease-out both}.hero-status{display:inline-flex;align-items:center;gap:.55rem;padding:.45rem .9rem .45rem .7rem;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--primary-surface);font-family:var(--font-mono);font-size:.72rem;font-weight:var(--font-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.hero-status-dot{width:7px;height:7px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 3px var(--primary-surface);animation:pulse 2.4s ease-in-out infinite}.hero-title{font-size:clamp(2.75rem,6.5vw,4.75rem);font-weight:var(--font-extrabold);color:var(--text-hero);margin-bottom:var(--spacing-6);line-height:1.02;letter-spacing:-.035em;animation:fadeIn .8s ease-out .05s both}.hero-name{color:var(--primary)}.hero-description{font-size:var(--text-lg);color:var(--text-secondary);line-height:1.75;margin-bottom:var(--spacing-10);max-width:540px;animation:fadeIn .85s ease-out .1s both}.hero-actions{display:flex;gap:var(--spacing-4);flex-wrap:wrap;margin-bottom:var(--spacing-10);animation:fadeIn .9s ease-out .15s both}.hero-links{display:flex;align-items:center;gap:var(--spacing-4);animation:fadeIn .95s ease-out .2s both}.hero-icon-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--border);color:var(--text-secondary);transition:all var(--transition-fast)}.hero-icon-link:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-surface);transform:translateY(-2px)}.hero-cv-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);text-decoration:none;padding-left:var(--spacing-2);border-left:1px solid var(--border);transition:color var(--transition-fast)}.hero-cv-link:hover{color:var(--primary)}.hero-visual{position:relative;display:flex;justify-content:center;animation:fadeIn 1s ease-out .2s both}.hero-portrait{position:relative;width:min(360px,78vw);aspect-ratio:4 / 5;border-radius:var(--radius-2xl);overflow:hidden;border:1px solid var(--neutral-border);box-shadow:var(--shadow-xl);outline:1px solid rgba(var(--primary-rgb),.4);outline-offset:14px;isolation:isolate}.hero-portrait-img{width:100%;height:100%;object-fit:cover;border-radius:0;display:block;filter:saturate(.92) contrast(1.03)}.hero-tag{position:absolute;display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-family:var(--font-mono);font-size:.72rem;font-weight:var(--font-medium);color:var(--text-secondary);box-shadow:var(--shadow-lg);white-space:nowrap}.hero-tag--stack{left:-8%;bottom:10%}.hero-tag-dot{width:6px;height:6px;border-radius:50%;background:var(--success);flex-shrink:0}.hero-tag--location{right:-4%;top:8%;color:var(--text-primary)}.hero-scroll{position:absolute;left:50%;bottom:var(--spacing-8);transform:translate(-50%);z-index:2;width:22px;height:34px;border-radius:var(--radius-full);border:1.5px solid var(--border);display:flex;justify-content:center;padding-top:6px}.hero-scroll-line{width:3px;height:7px;border-radius:var(--radius-full);background:var(--primary);animation:scrollDown 1.8s ease-in-out infinite}@keyframes scrollDown{0%{opacity:0;transform:translateY(0)}30%{opacity:1}70%{opacity:1}to{opacity:0;transform:translateY(10px)}}@media(max-width:900px){.hero-scroll{display:none}}@keyframes fadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(min-width:901px){.hero__container{grid-template-columns:1.15fr .85fr}}@media(max-width:900px){.hero{min-height:auto;padding:calc(var(--spacing-4xl) + var(--spacing-4)) 0 var(--spacing-3xl);text-align:center}.hero-content{max-width:100%;margin:0 auto}.hero-description{margin-left:auto;margin-right:auto}.hero-actions,.hero-links{justify-content:center}.hero-cv-link{border-left:none;padding-left:0}.hero-visual{order:-1;margin-bottom:var(--spacing-6)}.hero-portrait{width:min(280px,62vw)}.hero-tag{font-size:.65rem;padding:.5rem .8rem}.hero-tag--stack{left:0;bottom:-6%}.hero-tag--location{right:0;top:-6%}}@media(max-width:480px){.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%;justify-content:center}}.about{padding:var(--spacing-4xl) 0;position:relative}.about-eyebrow,.skills-eyebrow,.projects-eyebrow,.contact-eyebrow{display:flex;align-items:center;gap:.6rem;font-family:var(--font-mono);font-size:.78rem;font-weight:var(--font-semibold);letter-spacing:.04em;color:var(--primary);margin-bottom:var(--spacing-6)}.about-eyebrow-line{width:28px;height:1.5px;background:var(--primary)}.about-lead-grid,.skills-lead-grid,.projects-lead-grid,.contact-intro{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.about-lead-grid.is-revealed,.skills-lead-grid.is-revealed,.projects-lead-grid.is-revealed,.contact-intro.is-revealed{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.about-lead-grid,.skills-lead-grid,.projects-lead-grid,.contact-intro{transition:none;opacity:1;transform:none}}.about-lead-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-8);margin-bottom:var(--spacing-16)}.about-heading{font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.1;letter-spacing:-.03em;margin-bottom:0}.about-heading-accent{color:var(--primary)}.about-lead-text{font-size:var(--text-xl);color:var(--text-secondary);line-height:1.6;margin-bottom:0;align-self:end}@media(min-width:900px){.about-lead-grid{grid-template-columns:1fr 1fr;align-items:end}}.about-body-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-10);margin-bottom:var(--spacing-16);padding-bottom:var(--spacing-16);border-bottom:1px solid var(--divider)}@media(min-width:900px){.about-body-grid{grid-template-columns:1.6fr 1fr}}.about-paragraph{font-size:var(--text-base);color:var(--text-secondary);line-height:1.85;margin-bottom:var(--spacing-5);max-width:62ch}.about-stats{display:flex;gap:var(--spacing-8);margin-top:var(--spacing-8);flex-wrap:wrap}.about-stat{display:flex;flex-direction:column;gap:.2rem}.about-stat-number{font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:var(--font-extrabold);color:var(--text-primary);letter-spacing:-.02em}.about-stat-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.about-info-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--spacing-6);height:fit-content}.about-info-photo{width:100%;aspect-ratio:16 / 11;object-fit:cover;object-position:top center;border-radius:var(--radius-lg);margin-bottom:var(--spacing-5)}.about-info-eyebrow{display:block;font-family:var(--font-mono);font-size:.7rem;font-weight:var(--font-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--spacing-4)}.about-info-list{display:flex;flex-direction:column;gap:var(--spacing-4)}.about-info-item{display:flex;flex-direction:column;gap:.2rem;padding-bottom:var(--spacing-4);border-bottom:1px solid var(--divider)}.about-info-item:last-child{padding-bottom:0;border-bottom:none}.about-info-label{font-size:var(--text-xs);color:var(--text-muted)}.about-info-value{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.about-highlights{display:grid;grid-template-columns:1fr;gap:var(--spacing-8);margin-bottom:var(--spacing-16)}@media(min-width:700px){.about-highlights{grid-template-columns:repeat(2,1fr)}}@media(min-width:1100px){.about-highlights{grid-template-columns:repeat(4,1fr)}}.highlight-item{padding-top:var(--spacing-5);border-top:1px solid var(--border)}.highlight-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--primary-surface);color:var(--primary);margin-bottom:var(--spacing-4)}.highlight-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--spacing-2)}.highlight-description{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6;margin-bottom:0}.about-experience{margin-top:var(--spacing-4)}.experience-title{font-size:clamp(1.5rem,2.5vw,2rem);margin-bottom:var(--spacing-10)}@media(max-width:640px){.about{padding:var(--spacing-3xl) 0}.about-stats{gap:var(--spacing-6)}.about-stat-number{font-size:var(--text-3xl)}}.horizontal-timeline .timeline-items-container{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-6);position:relative;z-index:2}.timeline-progress-bar-top{position:relative;width:100%;height:2px;background:var(--divider);margin-bottom:var(--spacing-10);overflow:hidden}.timeline-progress-top{height:100%;background:var(--primary);width:0%;transition:width 1.6s cubic-bezier(.4,0,.2,1)}.timeline-animated .timeline-progress-top.progress-animate{width:100%}.horizontal-timeline .horizontal-timeline-item{flex:1;display:flex;flex-direction:column;position:relative;opacity:0;transform:translateY(20px);max-width:320px;transition:opacity .6s ease,transform .6s ease}.timeline-animated .horizontal-timeline-item.item-animate{opacity:1;transform:translateY(0)}.timeline-animated .horizontal-timeline-item.item-animate:nth-child(1){transition-delay:.1s}.timeline-animated .horizontal-timeline-item.item-animate:nth-child(2){transition-delay:.25s}.timeline-animated .horizontal-timeline-item.item-animate:nth-child(3){transition-delay:.4s}.horizontal-timeline .timeline-point{width:12px;height:12px;border-radius:50%;background:var(--primary);margin-bottom:var(--spacing-4);box-shadow:0 0 0 4px var(--primary-surface);opacity:0;transform:scale(.5);transition:opacity .4s ease,transform .4s ease}.timeline-animated .timeline-point{opacity:1;transform:scale(1)}.horizontal-timeline .timeline-point-inner{display:none}.horizontal-timeline .timeline-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-5);width:100%;max-width:320px;transition:border-color var(--transition-normal),transform var(--transition-normal);display:flex;flex-direction:column}.horizontal-timeline .timeline-card:hover{transform:translateY(-4px);border-color:rgba(var(--primary-rgb),.3)}.horizontal-timeline .timeline-card-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-4)}.horizontal-timeline .job-period{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted)}.horizontal-timeline .job-current-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:var(--radius-full);background:#10b9811a;border:1px solid rgba(16,185,129,.25);color:var(--success);font-family:var(--font-mono);font-size:.62rem;font-weight:var(--font-bold);letter-spacing:.06em;text-transform:uppercase}.job-current-dot{width:5px;height:5px;border-radius:50%;background:var(--success)}.horizontal-timeline .job-title{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--spacing-2);line-height:1.3}.horizontal-timeline .job-company-info{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:var(--spacing-3)}.horizontal-timeline .company{font-weight:var(--font-semibold);color:var(--primary);font-size:var(--text-sm)}.horizontal-timeline .location{color:var(--text-muted);font-size:var(--text-sm)}.horizontal-timeline .location:before{content:"· "}.horizontal-timeline .job-desc{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6;margin-bottom:var(--spacing-4)}.horizontal-timeline .job-tech-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto}.horizontal-timeline .tech-chip{padding:.2rem .55rem;border-radius:var(--radius-sm);font-size:.68rem;font-weight:var(--font-medium);font-family:var(--font-mono);color:var(--text-secondary);background:var(--primary-surface);border:1px solid var(--border)}@media(max-width:1024px){.horizontal-timeline .timeline-items-container{flex-direction:column;gap:var(--spacing-6)}.timeline-progress-bar-top{width:2px;height:100%;position:absolute;left:5px;top:0;margin-bottom:0}.timeline-progress-top{width:100%;height:0%;background:var(--primary)}.timeline-animated .timeline-progress-top.progress-animate{width:100%;height:100%}.horizontal-timeline .timeline-items-container{position:relative;padding-left:var(--spacing-8)}.horizontal-timeline .horizontal-timeline-item{flex-direction:row;max-width:none;align-items:flex-start}.horizontal-timeline .timeline-point{position:absolute;left:calc(-1 * var(--spacing-8) + 1px);margin-top:6px}.horizontal-timeline .timeline-card{max-width:none}}@media(max-width:640px){.horizontal-timeline .timeline-card{padding:var(--spacing-4)}}.skills{padding:var(--spacing-4xl) 0;position:relative;background-color:var(--bg-secondary);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.skills-lead-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-6);margin-bottom:var(--spacing-8)}.skills-heading{font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.1;letter-spacing:-.03em;margin-bottom:0}.skills-lead-text{font-size:var(--text-lg);color:var(--text-secondary);line-height:1.6;max-width:46ch;margin-bottom:0;align-self:end}@media(min-width:900px){.skills-lead-grid{grid-template-columns:1fr 1fr;align-items:end}}.skills-legend{display:flex;flex-wrap:wrap;gap:var(--spacing-6);padding-bottom:var(--spacing-8);margin-bottom:var(--spacing-2);border-bottom:1px solid var(--divider)}.skills-legend-item{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted)}.tier-dot{width:8px;height:8px;border-radius:50%}.tier-dot--core{background:var(--primary)}.tier-dot--solid{background:var(--accent-light);opacity:.85}.tier-dot--familiar{background:var(--text-muted)}.skills-table{display:flex;flex-direction:column}.skills-row{display:grid;grid-template-columns:1fr;gap:var(--spacing-3);padding:var(--spacing-6) 0;border-bottom:1px solid var(--divider)}.skills-row:last-child{border-bottom:none}@media(min-width:720px){.skills-row{grid-template-columns:200px 1fr;gap:var(--spacing-8);align-items:baseline}}.skills-row-label{font-family:var(--font-mono);font-size:.8rem;font-weight:var(--font-semibold);color:var(--text-muted);letter-spacing:.01em}.skills-row-chips{display:flex;flex-wrap:wrap;gap:.5rem}.skill-chip{padding:.4rem .85rem;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium);border:1px solid var(--border);color:var(--text-secondary);background:transparent;transition:all var(--transition-fast)}.skill-chip:hover{border-color:var(--primary);color:var(--text-primary)}.skill-chip--core{background:var(--primary);border-color:var(--primary);color:#04121a;font-weight:var(--font-semibold)}.skill-chip--core:hover{color:#04121a;border-color:var(--primary)}.skill-chip--solid{border-color:#818cf866;color:var(--text-primary)}.skill-chip--familiar{color:var(--text-muted);border-style:dashed}@media(max-width:640px){.skills{padding:var(--spacing-3xl) 0}.skills-legend{gap:var(--spacing-4)}}.projects{padding:var(--spacing-4xl) 0;position:relative}.projects-lead-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-6);margin-bottom:var(--spacing-10)}.projects-heading{font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.1;letter-spacing:-.03em;margin-bottom:0}.projects-lead-text{font-size:var(--text-lg);color:var(--text-secondary);line-height:1.6;max-width:46ch;margin-bottom:0;align-self:end}@media(min-width:900px){.projects-lead-grid{grid-template-columns:1fr 1fr;align-items:end}}.projects-filters{display:flex;gap:.5rem;flex-wrap:nowrap;overflow-x:auto;padding-bottom:var(--spacing-8);margin-bottom:var(--spacing-2);scrollbar-width:none}.projects-filters::-webkit-scrollbar{display:none}.filter-pill{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0;padding:.5rem .95rem;border-radius:var(--radius-full);border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.filter-pill:hover{border-color:var(--primary);color:var(--text-primary)}.filter-pill-count{font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted)}.filter-pill--active{background:var(--primary);border-color:var(--primary);color:var(--bg-primary)}.filter-pill--active .filter-pill-count{color:#04121a99}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-6)}.project-card{display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--spacing-6);transition:transform var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal)}.project-card:hover{transform:translateY(-4px);border-color:rgba(var(--primary-rgb),.3);box-shadow:var(--shadow-card-hover)}.project-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-5)}.project-schema-tag{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.7rem;font-weight:var(--font-medium);color:var(--primary);background:var(--primary-surface);border:1px solid rgba(var(--primary-rgb),.18);padding:.3rem .6rem;border-radius:var(--radius-sm)}.project-year{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted)}.project-title{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--spacing-3);line-height:1.3}.project-description{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.65;margin-bottom:var(--spacing-5);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-technologies{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:var(--spacing-6);margin-top:auto}.tech-badge{padding:.25rem .6rem;border-radius:var(--radius-sm);font-size:.72rem;font-weight:var(--font-medium);color:var(--text-secondary);background:#94a3b814;border:1px solid var(--border)}.tech-badge--more{color:var(--text-muted);background:transparent;border-style:dashed}.project-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--spacing-4);border-top:1px solid var(--divider)}.project-status{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:var(--font-medium);color:var(--text-muted)}.project-status-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted)}.project-status--done .project-status-dot{background:var(--success)}.project-status--progress .project-status-dot{background:var(--warning)}.project-links{display:flex;gap:.4rem}.project-link{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:var(--text-secondary);border:1px solid var(--border);transition:all var(--transition-fast)}.project-link:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-surface)}.no-projects{text-align:center;padding:var(--spacing-4xl) 0;color:var(--text-secondary)}.no-projects h4{color:var(--text-primary);margin-bottom:var(--spacing-2)}@media(max-width:640px){.projects{padding:var(--spacing-3xl) 0}.projects-grid{grid-template-columns:1fr}}.contact{padding:var(--spacing-4xl) 0;position:relative;background-color:var(--bg-secondary);border-top:1px solid var(--border)}.contact-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-12)}@media(min-width:900px){.contact-grid{grid-template-columns:1fr 1.1fr;gap:var(--spacing-16)}}.contact-heading{font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.1;letter-spacing:-.03em;margin-bottom:var(--spacing-5)}.contact-lead-text{font-size:var(--text-lg);color:var(--text-secondary);line-height:1.6;max-width:44ch;margin-bottom:var(--spacing-10)}.contact-info-list{display:flex;flex-direction:column}.contact-info-item{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4) 0;border-bottom:1px solid var(--divider)}.contact-info-item:first-child{padding-top:0}.contact-info-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--primary-surface);color:var(--primary);flex-shrink:0}.contact-info-content{display:flex;flex-direction:column;gap:.15rem}.contact-info-label{font-size:.7rem;font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.contact-info-value{font-size:var(--text-base);color:var(--text-primary);text-decoration:none;font-weight:var(--font-medium);transition:color var(--transition-fast)}a.contact-info-value:hover{color:var(--primary)}.contact-info-value--static{color:var(--text-secondary)}.contact-form-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--spacing-8)}.contact-form{display:flex;flex-direction:column;gap:var(--spacing-5)}.contact-form-row{display:grid;grid-template-columns:1fr;gap:var(--spacing-5)}@media(min-width:520px){.contact-form-row{grid-template-columns:1fr 1fr}}.contact-form-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.contact-form-label{font-size:.72rem;font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.contact-form-input,.contact-form-textarea{padding:.7rem .9rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:var(--text-sm);transition:all var(--transition-fast)}.contact-form-input:focus,.contact-form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-surface)}.contact-form-textarea{min-height:120px;resize:vertical}.contact-form-button{align-self:flex-start;margin-top:var(--spacing-2)}.contact-form-button.loading{opacity:.7;cursor:not-allowed}.spinning{animation:spin .9s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.contact-form-message{padding:.65rem .9rem;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium)}.contact-form-message--success{background:#10b9811a;color:var(--success);border:1px solid rgba(16,185,129,.25)}.contact-form-message--error{background:#ef44441a;color:var(--error);border:1px solid rgba(239,68,68,.25)}@media(max-width:640px){.contact{padding:var(--spacing-3xl) 0}.contact-form-card{padding:var(--spacing-5)}.contact-form-button{align-self:stretch;justify-content:center}}
