:root{--bg-color:#0d0d0d;--surface-color:#1a1a1a;--text-primary:#fff;--text-secondary:#999;--accent-color:#e4ff00;--border-color:#333;--font-heading:"Archivo", sans-serif;--font-body:"Archivo", sans-serif;--font-serif:"Instrument Serif", serif;--font-mono:"IBM Plex Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;line-height:1.6}a{color:var(--text-primary);text-decoration:none;transition:color .3s}a:hover,.text-accent{color:var(--accent-color)}.text-serif{font-family:var(--font-serif);color:#a0a0a0;font-style:italic;font-weight:400}.overline{font-family:var(--font-mono);letter-spacing:.25em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:1.5rem;font-size:.75rem}.section{max-width:1400px;margin:0 auto;padding:100px 5vw}.section-title{font-family:var(--font-heading);margin-bottom:1rem;font-size:2.5rem;font-weight:600}.section-subtitle{color:var(--text-secondary);max-width:600px;margin-bottom:4rem;font-size:1.1rem}.text-center{text-align:center}.text-center .section-subtitle{margin-left:auto;margin-right:auto}.header{z-index:100;border-bottom:1px solid var(--border-color);background:0 0;justify-content:space-between;align-items:center;width:100%;padding:2rem 5vw;display:flex;position:absolute;top:0;left:0}.logo{align-items:center;display:flex}.logo img{object-fit:contain;width:auto;height:50px}.nav-links{gap:2rem;display:flex}.nav-links a{text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;font-weight:500}.btn-primary{background-color:var(--text-primary);color:var(--bg-color);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:1rem 2rem;font-weight:600;transition:transform .3s,background-color .3s;display:inline-block}.btn-primary:hover{background-color:var(--accent-color);color:var(--bg-color);transform:translateY(-2px)}.btn-primary.large{padding:1.5rem 3rem;font-size:1.1rem}.hero{justify-content:space-between;align-items:center;gap:4rem;min-height:90vh;padding-top:150px;display:flex}.hero-content{flex:3}.hero-title{font-family:var(--font-heading);letter-spacing:-.01em;margin-bottom:1rem;font-size:clamp(1.5rem,3.5vw,2.5rem);font-weight:700;line-height:1.2}.hero-desc{color:var(--text-secondary);max-width:600px;font-size:1.25rem}.hero-contact{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;flex:1;padding:3rem}.contact-list{margin-bottom:2.5rem;list-style:none}.contact-list li{margin-bottom:1.5rem}.contact-list .label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);margin-bottom:.3rem;font-size:.8rem;display:block}.contact-list .value{font-size:1.1rem;font-weight:500}.skills-grid{grid-template-columns:repeat(2,1fr);gap:2rem;display:grid}.skill-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:3rem 2rem;transition:border-color .3s}.skill-card:hover{border-color:var(--accent-color)}.skill-card h3{font-family:var(--font-heading);margin-bottom:1rem;font-size:1.5rem}.skill-card p{color:var(--text-secondary);font-size:.95rem}.filter-group{flex-wrap:wrap;gap:1rem;margin-bottom:3rem;display:flex}.filter-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;font-family:var(--font-body);background:0 0;border-radius:30px;padding:.6rem 1.5rem;font-size:.9rem;transition:all .3s}.filter-btn:hover,.filter-btn.active{background:var(--text-primary);color:var(--bg-color);border-color:var(--text-primary)}.portfolio-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.portfolio-item{aspect-ratio:4/3;cursor:pointer;border-radius:8px;position:relative;overflow:hidden}.portfolio-item.hidden{display:none}.item-image{background-position:50%;background-size:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1)}.portfolio-item:hover .item-image{transform:scale(1.05)}.item-info{opacity:0;background:linear-gradient(#0000,#000000e6);width:100%;padding:2rem;transition:all .4s;position:absolute;bottom:0;left:0;transform:translateY(10px)}.portfolio-item:hover .item-info{opacity:1;transform:translateY(0)}.item-info h4{font-family:var(--font-heading);margin-bottom:.2rem;font-size:1.1rem;font-weight:500}.item-info span{color:var(--accent-color);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem}.timeline{border-left:1px solid var(--border-color);flex-direction:column;gap:3rem;margin-left:1rem;padding-left:3rem;display:flex}.timeline-item{position:relative}.timeline-item:before{content:"";background:var(--accent-color);width:12px;height:12px;box-shadow:0 0 0 4px var(--bg-color);border-radius:50%;position:absolute;top:0;left:-3rem;transform:translate(-50%)translateY(5px)}.timeline-date{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.85rem}.timeline-content h3{font-family:var(--font-heading);margin-bottom:.3rem;font-size:1.5rem}.timeline-content h4{color:var(--accent-color);margin-bottom:1rem;font-weight:400}.timeline-content p{color:var(--text-secondary);max-width:700px}.tools{background:var(--surface-color);padding:80px 0;overflow:hidden}.marquee{white-space:nowrap;width:100%;display:flex;position:relative;overflow:hidden}.marquee-content{animation:20s linear infinite scroll;display:flex}.marquee-content span{font-family:var(--font-heading);color:#0000;-webkit-text-stroke:1px var(--text-secondary);text-transform:uppercase;margin:0 2rem;font-size:3rem;font-weight:800}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.cta{padding:150px 5vw}.cta-title{font-family:var(--font-heading);margin-bottom:3rem;font-size:clamp(2.5rem,4vw,4.5rem);line-height:1.2}.footer{border-top:1px solid var(--border-color);color:var(--text-secondary);justify-content:space-between;align-items:flex-end;padding:4rem 5vw;font-size:.9rem;display:flex}.footer-links{gap:2rem;display:flex}@media (width<=1200px){.portfolio-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.hero{flex-direction:column;align-items:flex-start;padding-top:120px}.hero-contact{width:100%}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.footer{flex-direction:column;align-items:flex-start;gap:2rem}.nav-links{display:none}}@media (width<=600px){.portfolio-grid,.skills-grid{grid-template-columns:1fr}}.custom-swiper-slide{background:0 0;border-radius:12px;justify-content:center;align-items:center;width:auto;max-width:90vw;height:75vh;transition:filter .8s,transform .8s;display:flex;overflow:hidden;box-shadow:0 20px 60px #0006}.swiper-slide:not(.swiper-slide-active){filter:blur(3px)brightness(.4)}.swiper-slide-active{filter:blur()brightness()}.custom-swiper-nav{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex;box-shadow:0 4px 15px #00000080;color:#fffc!important;width:70px!important;height:70px!important}.custom-swiper-nav:hover{background:#000000e6;transform:scale(1.1);color:#fff!important}.custom-swiper-nav:after{font-weight:700;font-size:28px!important}.custom-swiper-pdf{width:65vw}body.light-theme{color:#111;background-color:#fcfcfc}body.light-theme .header{border-bottom:1px solid #0000000d}body.light-theme .logo img{filter:invert()}body.light-theme .nav-links a{color:#111}body.light-theme .nav-links a:after{background-color:#111}body.light-theme .hero-title{color:#000}body.light-theme .project-content p{color:#444}body.light-theme .back-link{color:#666}body.light-theme .back-link:hover{color:#000;border-color:#000}body.light-theme .footer{border-top:1px solid #0000000d}body.light-theme .footer-info p,body.light-theme .footer-links a{color:#333}body.light-theme .footer-links a:hover{color:#000}@media (width<=768px){.custom-swiper-slide{height:60vh}.custom-swiper-pdf{width:90vw}}.custom-swiper-media{object-fit:contain;background-color:#0000;width:auto;max-width:100%;height:100%;display:block}.custom-swiper-video{background-color:#000;min-width:300px}
