code{font-family:JetBrains Mono,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--color-bg:#0f0f0f;--color-bg-elevated:#1a1a1a;--color-bg-card:#141414;--color-surface:#1f1f1f;--color-border:#2a2a2a;--color-border-subtle:#222;--color-accent:#c9a227;--color-accent-soft:#c9a22726;--color-accent-glow:#c9a2274d;--color-text:#e8e4de;--color-text-secondary:#9a9590;--color-text-muted:#6b6560;--color-text-inverse:#0f0f0f;--font-display:"Playfair Display",Georgia,serif;--font-body:"DM Sans",-apple-system,sans-serif;--font-mono:"JetBrains Mono",Consolas,monospace;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--space-3xl:96px;--max-width:1100px;--content-width:720px;--transition-fast:0.15s ease;--transition-base:0.25s ease;--transition-slow:0.4s ease;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 24px #0006;--shadow-lg:0 8px 48px #00000080;--shadow-glow:0 0 40px var(--color-accent-glow)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background:#0f0f0f;background:var(--color-bg);color:#e8e4de;color:var(--color-text);font-family:DM Sans,-apple-system,sans-serif;font-family:var(--font-body);font-size:16px;line-height:1.7;min-height:100vh;overflow-x:hidden}body:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");content:"";height:100%;left:0;opacity:.03;pointer-events:none;position:fixed;top:0;width:100%;z-index:9999}h1,h2,h3,h4,h5,h6{color:#e8e4de;color:var(--color-text);font-family:Playfair Display,Georgia,serif;font-family:var(--font-display);font-weight:500;letter-spacing:-.02em;line-height:1.2}h1{font-size:clamp(2.5rem,6vw,4rem);font-weight:400;letter-spacing:-.03em}h2{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:500}h3{font-size:clamp(1.25rem,2.5vw,1.5rem)}h3,h4{font-family:DM Sans,-apple-system,sans-serif;font-family:var(--font-body);font-weight:600;letter-spacing:0}h4{font-size:1.125rem}p{color:#9a9590;color:var(--color-text-secondary);margin-bottom:16px;margin-bottom:var(--space-md)}p:last-child{margin-bottom:0}strong{color:#e8e4de;color:var(--color-text);font-weight:600}a{color:#c9a227;color:var(--color-accent);text-decoration:none;transition:color .15s ease;transition:color var(--transition-fast)}.link-underline,a:hover{color:#e8e4de;color:var(--color-text)}.link-underline{position:relative}.link-underline:after{background:#c9a227;background:var(--color-accent);bottom:-2px;content:"";height:1px;left:0;position:absolute;transition:width .25s ease;transition:width var(--transition-base);width:0}.link-underline:hover:after{width:100%}.nav{align-items:center;background:linear-gradient(180deg,#0f0f0f 0,#0000);background:linear-gradient(to bottom,var(--color-bg) 0,#0000 100%);display:flex;justify-content:space-between;left:0;padding:24px 40px;padding:var(--space-lg) var(--space-xl);position:fixed;right:0;top:0;transition:background .25s ease;transition:background var(--transition-base);z-index:1000}.nav.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f0f0ff2;border-bottom:1px solid #222;border-bottom:1px solid var(--color-border-subtle)}.nav-logo{color:#e8e4de;color:var(--color-text);font-family:Playfair Display,Georgia,serif;font-family:var(--font-display);font-size:1.25rem;font-weight:500;letter-spacing:-.02em}.nav-logo span{color:#c9a227;color:var(--color-accent)}.nav-links{display:flex;gap:40px;gap:var(--space-xl);list-style:none}.nav-link{color:#9a9590;color:var(--color-text-secondary);font-size:.875rem;font-weight:500;letter-spacing:.1em;position:relative;text-transform:uppercase;transition:color .15s ease;transition:color var(--transition-fast)}.nav-link.active,.nav-link:hover{color:#e8e4de;color:var(--color-text)}.nav-link:before{background:#c9a227;background:var(--color-accent);bottom:-4px;content:"";height:1px;left:0;position:absolute;transition:width .25s ease;transition:width var(--transition-base);width:0}.nav-link.active:before,.nav-link:hover:before{width:100%}.nav-toggle{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;padding:8px}.nav-toggle span{background:#e8e4de;background:var(--color-text);height:2px;transition:.15s ease;transition:var(--transition-fast);width:24px}.page{min-height:100vh;padding-top:100px}.container{max-width:1100px;max-width:var(--max-width)}.container,.container-narrow{margin:0 auto;padding:0 40px;padding:0 var(--space-xl)}.container-narrow{max-width:720px;max-width:var(--content-width)}.section{padding:96px 0;padding:var(--space-3xl) 0;position:relative}.section-header{margin-bottom:64px;margin-bottom:var(--space-2xl)}.section-label{align-items:center;color:#c9a227;color:var(--color-accent);display:inline-flex;font-family:JetBrains Mono,Consolas,monospace;font-family:var(--font-mono);font-size:.75rem;gap:16px;gap:var(--space-md);letter-spacing:.2em;margin-bottom:16px;margin-bottom:var(--space-md);text-transform:uppercase}.section-label:before{background:#c9a227;background:var(--color-accent);content:"";height:1px;width:32px}.hero{display:flex;flex-direction:column;justify-content:center;min-height:90vh;padding:96px 0;padding:var(--space-3xl) 0;position:relative}.hero-content{position:relative;z-index:2}.hero-eyebrow{animation:fadeInUp .6s ease forwards;color:#c9a227;color:var(--color-accent);font-family:JetBrains Mono,Consolas,monospace;font-family:var(--font-mono);font-size:.875rem;letter-spacing:.2em;text-transform:uppercase}.hero-eyebrow,.hero-title{margin-bottom:24px;margin-bottom:var(--space-lg);opacity:0}.hero-title{animation:fadeInUp .6s ease .1s forwards;font-size:clamp(3rem,8vw,5.5rem);font-weight:400;line-height:1.05}.hero-title em{color:#c9a227;color:var(--color-accent);font-style:italic}.hero-subtitle{animation:fadeInUp .6s ease .2s forwards;color:#9a9590;color:var(--color-text-secondary);font-size:clamp(1.125rem,2vw,1.375rem);line-height:1.6;margin-bottom:40px;margin-bottom:var(--space-xl);max-width:600px;opacity:0}.hero-cta{animation:fadeInUp .6s ease .3s forwards;display:flex;flex-wrap:wrap;gap:16px;gap:var(--space-md);opacity:0}.hero-decoration{background:radial-gradient(circle at 30% 30%,#c9a22726 0,#0000 70%);background:radial-gradient(circle at 30% 30%,var(--color-accent-soft) 0,#0000 70%);border-radius:50%;filter:blur(80px);height:500px;opacity:.5;pointer-events:none;position:absolute;right:-100px;top:50%;transform:translateY(-50%);width:500px}.btn{align-items:center;border:none;border-radius:2px;cursor:pointer;display:inline-flex;font-family:DM Sans,-apple-system,sans-serif;font-family:var(--font-body);font-size:.875rem;font-weight:500;gap:8px;gap:var(--space-sm);letter-spacing:.1em;padding:16px 24px;padding:var(--space-md) var(--space-lg);text-transform:uppercase;transition:all .25s ease;transition:all var(--transition-base)}.btn-primary{background:#c9a227;background:var(--color-accent)}.btn-primary,.btn-primary:hover{color:#0f0f0f;color:var(--color-text-inverse)}.btn-primary:hover{background:#e8e4de;background:var(--color-text);box-shadow:0 4px 24px #0006;box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-outline{background:#0000;border:1px solid #2a2a2a;border:1px solid var(--color-border);color:#e8e4de;color:var(--color-text)}.btn-outline:hover{border-color:#c9a227;border-color:var(--color-accent)}.btn-ghost,.btn-outline:hover{color:#c9a227;color:var(--color-accent)}.btn-ghost{background:#0000;padding:8px 0;padding:var(--space-sm) 0}.btn-ghost:hover{color:#e8e4de;color:var(--color-text)}.btn-ghost:after{content:"\2192";transition:transform .15s ease;transition:transform var(--transition-fast)}.btn-ghost:hover:after{transform:translateX(4px)}.card{background:#141414;background:var(--color-bg-card);border:1px solid #222;border:1px solid var(--color-border-subtle);border-radius:4px;overflow:hidden;padding:40px;padding:var(--space-xl);position:relative;transition:all .25s ease;transition:all var(--transition-base)}.card:before{background:#c9a227;background:var(--color-accent);content:"";height:0;left:0;position:absolute;top:0;transition:height .25s ease;transition:height var(--transition-base);width:3px}.card:hover{border-color:#2a2a2a;border-color:var(--color-border);box-shadow:0 4px 24px #0006;box-shadow:var(--shadow-md);transform:translateY(-4px)}.card:hover:before{height:100%}.card-label{color:#c9a227;color:var(--color-accent);font-family:JetBrains Mono,Consolas,monospace;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase}.card-label,.card-title{margin-bottom:16px;margin-bottom:var(--space-md)}.card-title{color:#e8e4de;color:var(--color-text);font-family:Playfair Display,Georgia,serif;font-family:var(--font-display);font-size:1.375rem;font-weight:500}.card-description{color:#9a9590;color:var(--color-text-secondary);font-size:.9375rem;line-height:1.7}.card-meta{align-items:center;border-top:1px solid #222;border-top:1px solid var(--color-border-subtle);color:#6b6560;color:var(--color-text-muted);display:flex;font-size:.8125rem;gap:16px;gap:var(--space-md);margin-top:24px;margin-top:var(--space-lg);padding-top:24px;padding-top:var(--space-lg)}.card-tags{display:flex;flex-wrap:wrap;gap:8px;gap:var(--space-sm);margin-top:16px;margin-top:var(--space-md)}.tag{background:#1f1f1f;background:var(--color-surface);border-radius:2px;color:#6b6560;color:var(--color-text-muted);font-family:JetBrains Mono,Consolas,monospace;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.05em;padding:4px 8px;padding:var(--space-xs) var(--space-sm);text-transform:uppercase}.projects-grid{grid-gap:24px;grid-gap:var(--space-lg);display:grid;gap:24px;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.project-card{display:flex;flex-direction:column;height:100%}.project-card .card-description{flex:1 1}.project-featured{grid-column:span 2}@media (max-width:768px){.project-featured{grid-column:span 1}}.timeline{padding-left:64px;padding-left:var(--space-2xl);position:relative}.timeline:before{background:linear-gradient(180deg,#c9a227,#222);background:linear-gradient(to bottom,var(--color-accent),var(--color-border-subtle));bottom:0;content:"";left:0;position:absolute;top:0;width:1px}.timeline-item{padding-bottom:64px;padding-bottom:var(--space-2xl);position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{background:#0f0f0f;background:var(--color-bg);border:2px solid #c9a227;border:2px solid var(--color-accent);border-radius:50%;content:"";height:9px;left:-68px;left:calc(var(--space-2xl)*-1 - 4px);position:absolute;top:8px;transition:all .15s ease;transition:all var(--transition-fast);width:9px}.timeline-item:hover:before{background:#c9a227;background:var(--color-accent);box-shadow:0 0 12px #c9a2274d;box-shadow:0 0 12px var(--color-accent-glow)}.timeline-date{color:#c9a227;color:var(--color-accent);font-family:JetBrains Mono,Consolas,monospace;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.1em;margin-bottom:8px;margin-bottom:var(--space-sm);text-transform:uppercase}.timeline-title{font-size:1.25rem;font-weight:600;margin-bottom:4px;margin-bottom:var(--space-xs)}.timeline-company{margin-bottom:16px;margin-bottom:var(--space-md)}.timeline-company,.timeline-content{color:#9a9590;color:var(--color-text-secondary);font-size:.9375rem}.timeline-content ul{margin-top:16px;margin-top:var(--space-md);padding-left:24px;padding-left:var(--space-lg)}.timeline-content li{margin-bottom:8px;margin-bottom:var(--space-sm)}.timeline-tech{display:flex;flex-wrap:wrap;gap:8px;gap:var(--space-sm);margin-top:24px;margin-top:var(--space-lg)}.skills-grid{grid-gap:24px;grid-gap:var(--space-lg);display:grid;gap:24px;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.skill-category{background:#141414;background:var(--color-bg-card);border:1px solid #222;border:1px solid var(--color-border-subtle);border-radius:4px;padding:24px;padding:var(--space-lg);transition:all .25s ease;transition:all var(--transition-base)}.skill-category:hover{border-color:#c9a227;border-color:var(--color-accent)}.skill-category-title{color:#c9a227;color:var(--color-accent);font-family:JetBrains Mono,Consolas,monospace;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.15em;margin-bottom:16px;margin-bottom:var(--space-md);text-transform:uppercase}.skill-list{color:#9a9590;color:var(--color-text-secondary);font-size:.9375rem;line-height:1.8}.contact-form{gap:16px;gap:var(--space-md);max-width:500px}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px;gap:var(--space-sm)}.form-label{color:#6b6560;color:var(--color-text-muted);font-family:JetBrains Mono,Consolas,monospace;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.form-input,.form-textarea{background:#141414;background:var(--color-bg-card);border:1px solid #2a2a2a;border:1px solid var(--color-border);border-radius:2px;color:#e8e4de;color:var(--color-text);font-family:DM Sans,-apple-system,sans-serif;font-family:var(--font-body);font-size:1rem;padding:16px;padding:var(--space-md);transition:all .15s ease;transition:all var(--transition-fast)}.form-input:focus,.form-textarea:focus{border-color:#c9a227;border-color:var(--color-accent);box-shadow:0 0 0 3px #c9a22726;box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.form-input::placeholder,.form-textarea::placeholder{color:#6b6560;color:var(--color-text-muted)}.form-textarea{min-height:150px;resize:vertical}.form-status{background:#c9a22726;background:var(--color-accent-soft);border-radius:2px;color:#c9a227;color:var(--color-accent);font-size:.875rem;padding:16px;padding:var(--space-md)}.footer{border-top:1px solid #222;border-top:1px solid var(--color-border-subtle);margin-top:96px;margin-top:var(--space-3xl);padding:64px 0;padding:var(--space-2xl) 0}.footer-content{align-items:center;display:flex;flex-wrap:wrap;gap:24px;gap:var(--space-lg);justify-content:space-between}.footer-text{color:#6b6560;color:var(--color-text-muted);font-size:.875rem}.footer-links{display:flex;gap:24px;gap:var(--space-lg)}.footer-link{color:#9a9590;color:var(--color-text-secondary);font-size:.875rem;transition:color .15s ease;transition:color var(--transition-fast)}.footer-link:hover{color:#c9a227;color:var(--color-accent)}.social-links{display:flex;gap:16px;gap:var(--space-md)}.social-link{align-items:center;border:1px solid #2a2a2a;border:1px solid var(--color-border);border-radius:50%;color:#9a9590;color:var(--color-text-secondary);display:flex;height:44px;justify-content:center;transition:all .25s ease;transition:all var(--transition-base);width:44px}.social-link:hover{border-color:#c9a227;border-color:var(--color-accent);color:#c9a227;color:var(--color-accent);transform:translateY(-2px)}.social-link svg{height:20px;width:20px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.stagger-in>*{animation:fadeInUp .5s ease forwards;opacity:0}.stagger-in>:first-child{animation-delay:.1s}.stagger-in>:nth-child(2){animation-delay:.15s}.stagger-in>:nth-child(3){animation-delay:.2s}.stagger-in>:nth-child(4){animation-delay:.25s}.stagger-in>:nth-child(5){animation-delay:.3s}.stagger-in>:nth-child(6){animation-delay:.35s}.stagger-in>:nth-child(7){animation-delay:.4s}.stagger-in>:nth-child(8){animation-delay:.45s}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#0f0f0f;background:var(--color-bg)}::-webkit-scrollbar-thumb{background:#1f1f1f;background:var(--color-surface);border:2px solid #0f0f0f;border:2px solid var(--color-bg);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#2a2a2a;background:var(--color-border)}::selection{background:#c9a227;background:var(--color-accent);color:#0f0f0f;color:var(--color-text-inverse)}@media (max-width:900px){:root{--space-xl:32px;--space-2xl:48px;--space-3xl:72px}.container,.container-narrow{padding:0 24px;padding:0 var(--space-lg)}}@media (max-width:768px){.nav{padding:16px 24px;padding:var(--space-md) var(--space-lg)}.nav-links{background:#1a1a1a;background:var(--color-bg-elevated);border-left:1px solid #222;border-left:1px solid var(--color-border-subtle);flex-direction:column;gap:24px;gap:var(--space-lg);height:100vh;padding:96px 40px;padding:var(--space-3xl) var(--space-xl);position:fixed;right:-100%;top:0;transition:right .25s ease;transition:right var(--transition-base);width:280px}.nav-links.open{right:0}.nav-toggle{display:flex;z-index:1001}.hero{min-height:80vh}.hero-decoration{display:none}.projects-grid{grid-template-columns:1fr}.timeline{padding-left:40px;padding-left:var(--space-xl)}.timeline-item:before{left:-44px;left:calc(var(--space-xl)*-1 - 4px)}.skills-grid{grid-template-columns:repeat(2,1fr)}.footer-content{flex-direction:column;text-align:center}}@media (max-width:480px){.hero-cta{flex-direction:column}.btn{justify-content:center;width:100%}.skills-grid{grid-template-columns:1fr}.card{padding:24px;padding:var(--space-lg)}}.text-accent{color:#c9a227;color:var(--color-accent)}.text-muted{color:#6b6560;color:var(--color-text-muted)}.text-secondary{color:#9a9590;color:var(--color-text-secondary)}.mt-sm{margin-top:8px;margin-top:var(--space-sm)}.mt-md{margin-top:16px;margin-top:var(--space-md)}.mt-lg{margin-top:24px;margin-top:var(--space-lg)}.mt-xl{margin-top:40px;margin-top:var(--space-xl)}.mt-2xl{margin-top:64px;margin-top:var(--space-2xl)}.mb-sm{margin-bottom:8px;margin-bottom:var(--space-sm)}.mb-md{margin-bottom:16px;margin-bottom:var(--space-md)}.mb-lg{margin-bottom:24px;margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:40px;margin-bottom:var(--space-xl)}.mb-2xl{margin-bottom:64px;margin-bottom:var(--space-2xl)}.visually-hidden{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}
/*# sourceMappingURL=main.e18daca5.css.map*/