@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;700&family=Playfair+Display:ital,wght@0,700;1,700&family=JetBrains+Mono:wght@700&display=swap";:root{--bg-color: #ffffff;--text-color: #000000;--accent-color: #333333;--secondary-text: #666666;--border-color: rgba(0, 0, 0, .08);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif: "Playfair Display", serif;--font-mono: "JetBrains Mono", monospace;--transition: all .6s cubic-bezier(.16, 1, .3, 1);--noise: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none}::-webkit-scrollbar{display:none}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-sans);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;opacity:.04;pointer-events:none;z-index:9999;background-image:var(--noise)}h1,h2,h3{font-family:var(--font-serif);font-weight:700}a{text-decoration:none;color:inherit;transition:var(--transition)}button{cursor:pointer;border:none;background:none;font-family:var(--font-sans)}.container{max-width:1400px;margin:0 auto;padding:0 3rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeInUp 1.2s cubic-bezier(.16,1,.3,1) forwards}.custom-cursor{width:20px;height:20px;background:var(--text-color);border-radius:50%;position:fixed;pointer-events:none;z-index:10000;mix-blend-mode:difference;transition:transform .2s ease-out,width .3s ease,height .3s ease;transform:translate(-50%,-50%)}@media(hover:none)and (pointer:coarse){.custom-cursor{display:none}}.section{padding:8rem 0}@media(max-width:768px){.container{padding:0 1.5rem}.section{padding:5rem 0}}.app-wrapper{min-height:100vh;display:flex;flex-direction:column}.header{height:100px;display:flex;justify-content:space-between;align-items:center;gap:6rem;background:#ffffffb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:100}.header:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--text-color);transform:scaleX(0);transform-origin:left;animation:headerLoading 2.5s cubic-bezier(.23,1,.32,1) forwards}@keyframes headerLoading{0%{transform:scaleX(0);opacity:0}20%{opacity:1}to{transform:scaleX(1);opacity:1}}.logo-text{font-weight:700;letter-spacing:.2em;font-size:1.1rem;transition:var(--transition);flex-shrink:0}.nav{display:flex;gap:5rem}.nav a{font-size:.85rem;font-weight:400;text-transform:uppercase;letter-spacing:.1em;position:relative}.nav a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--text-color);transition:var(--transition)}.nav a:hover:after{width:100%}.header-end{display:flex;align-items:center;gap:4rem}.lang-toggle{font-weight:700;font-size:.75rem;padding:.6rem 1.2rem;border:1px solid var(--text-color);transition:var(--transition);min-width:60px;text-align:center}.lang-toggle:hover{background-color:var(--text-color);color:var(--bg-color)}.hero{min-height:90vh;min-height:90dvh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;background:#000;color:#fff}.hero-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.hero-content{position:relative;z-index:1}.hero-title{font-family:var(--font-mono);font-size:clamp(2rem,6vw,4rem);line-height:1.2;max-width:1200px;letter-spacing:-.02em;margin-bottom:2rem}.hero-subtitle{font-size:1.1rem;text-transform:uppercase;letter-spacing:.15em;color:#ffffffb3;max-width:800px;margin:0 auto}.section-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.4em;color:var(--secondary-text);margin-bottom:2rem;font-family:var(--font-sans);opacity:.5;display:block}.about-header{margin-bottom:3rem;position:relative;text-align:center}.about-title{font-family:var(--font-mono);font-size:clamp(3rem,10vw,8rem);font-weight:800;line-height:.9;letter-spacing:-.05em;text-transform:uppercase;margin:0 auto;background:linear-gradient(180deg,var(--text-color) 0%,rgba(0,0,0,.1) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:.8;display:inline-block}.about{max-width:1000px}.about-description{font-family:var(--font-mono);font-size:clamp(1rem,3vw,1.5rem);line-height:1.6;letter-spacing:-.01em;color:var(--text-color);max-width:900px;margin:0 auto;text-align:center}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:5rem;max-width:1200px;margin:0 auto}.project-card{opacity:0;animation:fadeInUp 1.2s cubic-bezier(.16,1,.3,1) forwards;display:flex;flex-direction:column}.project-image{aspect-ratio:1 / 1;background-color:#0d0d0d;margin-bottom:1.5rem;transition:var(--transition);position:relative;overflow:hidden;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:2.5rem;border:1px solid rgba(255,255,255,.05)}.project-year{position:absolute;top:1.5rem;right:1.5rem;font-size:.8rem;font-weight:700;opacity:.3;z-index:2}.project-screenshot{width:100%;height:100%;object-fit:contain;display:block;transition:transform .8s cubic-bezier(.16,1,.3,1);filter:drop-shadow(0 20px 40px rgba(0,0,0,.5))}.project-placeholder{width:100%;height:100%;background:linear-gradient(90deg,#1a1a1a 25%,#2a2a2a,#1a1a1a 75%);background-size:200% 100%;animation:shimmer 2s infinite linear}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.project-card:hover .project-image{transform:translateY(-12px);background-color:#1a1a1a;border-color:#ffffff1a;box-shadow:0 30px 60px -12px #00000080}.project-card:hover .project-screenshot{transform:scale(1.08)}.project-info h3{font-size:1.5rem;margin-bottom:.8rem;font-family:var(--font-mono);font-weight:700;letter-spacing:-.02em}.project-info p{font-size:.95rem;color:var(--secondary-text);font-weight:400;font-family:var(--font-mono)}.contact{padding-bottom:6rem}.contact-links{display:flex;flex-direction:column;gap:2rem;align-items:flex-start}.contact-link{font-size:clamp(2rem,8vw,4.5rem);font-weight:800;line-height:1.1;letter-spacing:-.03em;display:inline-block;position:relative;transition:opacity .4s ease,transform .4s cubic-bezier(.16,1,.3,1)}.contact-header{display:flex;align-items:baseline;gap:1.5rem;margin-bottom:4rem;flex-wrap:wrap}.contact-title,.contact-subtitle,.contact-separator{font-family:var(--font-mono);font-size:clamp(1.5rem,4vw,2.5rem);font-weight:700;text-transform:uppercase;letter-spacing:-.02em;color:var(--secondary-text);margin:0;line-height:1}.contact-title{color:var(--text-color)}.contact-separator{opacity:.3}.contact-link:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:3px;background:var(--text-color);transform:scaleX(0);transform-origin:right;transition:transform .6s cubic-bezier(.16,1,.3,1)}.contact-link:hover{transform:translate(10px)}.contact-link:hover:after{transform:scaleX(1);transform-origin:left}.contact-links:hover .contact-link:not(:hover){opacity:.3}.footer{padding:4rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:center;align-items:center;color:var(--secondary-text);font-family:var(--font-mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.footer-content{display:flex;align-items:center;gap:1rem;opacity:1;flex-wrap:wrap;justify-content:center}.footer-year{opacity:.6}.footer-text{font-weight:700;color:var(--text-color)}.footer-text .highlight{color:var(--text-color);background:linear-gradient(90deg,#000,#333);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.footer-reserved{opacity:.5;font-size:.75rem;margin-left:.5rem}@media(min-width:769px){.hamburger-simple{display:none!important}}.hamburger-simple{display:flex;flex-direction:column;justify-content:center;gap:8px;width:40px;height:40px;background:none;border:none;cursor:pointer;z-index:1001;padding:5px}.hamburger-line{width:100%;height:1.5px;background-color:var(--text-color);transition:all .4s cubic-bezier(.16,1,.3,1)}.hamburger-simple.active .hamburger-line:nth-child(1){transform:translateY(4.75px) rotate(45deg)}.hamburger-simple.active .hamburger-line:nth-child(2){transform:translateY(-4.75px) rotate(-45deg)}.sidebar-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0000001a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:999;opacity:0;pointer-events:none;transition:opacity .4s ease}.sidebar-overlay.visible{opacity:1;pointer-events:auto}.sidebar{position:fixed;top:0;left:0;width:320px;max-width:85vw;height:100%;background-color:var(--bg-color);z-index:1000;transform:translate(-100%);transition:transform .6s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;padding:6rem 3rem;border-right:1px solid var(--border-color)}.sidebar.open{transform:translate(0)}.sidebar-header{margin-bottom:5rem}.sidebar-nav{display:flex;flex-direction:column;gap:2.5rem;flex-grow:1}.sidebar-nav a{font-family:var(--font-mono);font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--text-color);opacity:.6;transition:opacity .3s ease}.sidebar-nav a:hover{opacity:1}.sidebar-footer{margin-top:auto}.lang-toggle-simple{font-family:var(--font-mono);font-weight:700;font-size:.85rem;padding:1rem 2rem;border:1.5px solid var(--text-color);text-align:center;width:100%;transition:all .3s ease}.lang-toggle-simple:hover{background-color:var(--text-color);color:var(--bg-color)}@media(max-width:1024px){.projects-grid{grid-template-columns:1fr;gap:4rem}.header-end{gap:2rem}}@media(max-width:768px){.desktop-only{display:none!important}.header{height:80px}.header-end,.nav{gap:1.5rem}.nav a{font-size:.75rem}.container{padding:0 1.5rem}.about-title{font-size:clamp(2.5rem,12vw,4.5rem)}.footer{flex-direction:column;gap:2rem;text-align:center}}@media(max-width:480px){.header{height:auto;padding:1.5rem 0}.header .container{flex-direction:column;gap:1rem}.header-end{width:100%;justify-content:space-between}.nav{gap:1rem}}
