:root{--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--border-color: rgba(226, 232, 240, 0.8);--accent: #0284c7;--accent-secondary: #9333ea;--accent-hover: #0369a1;--bg-secondary-rgb: 248, 250, 252;--shadow-opacity: 0.1}[data-theme=dark]{--bg-primary: #020617;--bg-secondary: #0f172a;--bg-tertiary: #1e293b;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--border-color: rgba(51, 65, 85, 0.5);--accent: #0ea5e9;--accent-secondary: #a855f7;--accent-hover: #38bdf8;--bg-secondary-rgb: 15, 23, 42;--shadow-opacity: 0.3}[data-theme=dark] .project-card,[data-theme=dark] .contact-form,[data-theme=dark] .skill-category{border-color:var(--bg-tertiary)}[data-theme=dark] pre,[data-theme=dark] code{background-color:var(--bg-secondary);border-color:var(--bg-tertiary)}[data-theme=dark] .project-card:hover,[data-theme=dark] .btn:hover{box-shadow:0 8px 16px hsla(0,0%,100%,.05)}html{transition:background-color 200ms cubic-bezier(0.4, 0, 0.2, 1),color 200ms cubic-bezier(0.4, 0, 0.2, 1)}body,.site-header,.site-footer,.project-card,.btn{transition:background-color 200ms cubic-bezier(0.4, 0, 0.2, 1),color 200ms cubic-bezier(0.4, 0, 0.2, 1),border-color 200ms cubic-bezier(0.4, 0, 0.2, 1)}.text-gradient{background:linear-gradient(to right, var(--accent), var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text}.glass{background:rgba(var(--bg-secondary-rgb), 0.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:clamp(1rem,.95rem + .25vw,1.125rem);line-height:1.5;color:var(--text-primary);background-color:var(--bg-primary);min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.25;color:var(--text-primary);margin-bottom:1rem}h1{font-size:clamp(2.25rem,1.95rem + 1.5vw,3rem)}h2{font-size:clamp(1.875rem,1.65rem + 1.125vw,2.25rem)}h3{font-size:clamp(1.5rem,1.35rem + .75vw,1.875rem)}h4{font-size:clamp(1.25rem,1.15rem + .5vw,1.5rem)}h5{font-size:clamp(1.125rem,1.05rem + .375vw,1.25rem)}h6{font-size:clamp(1rem,.95rem + .25vw,1.125rem)}p{margin-bottom:1rem;color:var(--text-secondary)}a{color:var(--accent);text-decoration:none;transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1)}a:hover{color:var(--accent-hover)}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:.25rem}ul,ol{margin-bottom:1rem;padding-left:2rem}ul li,ol li{margin-bottom:.5rem;color:var(--text-secondary)}code{font-family:"SF Mono",Monaco,"Cascadia Code","Roboto Mono",Consolas,"Courier New",monospace;font-size:.9em;padding:.25rem .5rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.25rem}pre{margin-bottom:1rem;padding:1.5rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;overflow-x:auto}pre code{padding:0;background:none;border:none}img{max-width:100%;height:auto;display:block}input,textarea,select,button{font-family:inherit;font-size:inherit;line-height:inherit}hr{border:none;border-top:1px solid var(--border-color);margin:4rem 0}table{width:100%;border-collapse:collapse;margin-bottom:1rem}table th,table td{padding:.5rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}table th{font-weight:600;color:var(--text-primary)}table td{color:var(--text-secondary)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.hidden{display:none !important}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{50%{opacity:.5}}@keyframes fade-in-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.float-animation{animation:float 6s ease-in-out infinite}.pulse-dot{animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.fade-in-section{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.fade-in-section.is-visible{opacity:1;transform:translateY(0)}.bg-grid{position:fixed;inset:0;pointer-events:none;opacity:.2;background-image:radial-gradient(var(--border-color) 1px, transparent 1px);background-size:32px 32px;z-index:0}body{display:flex;min-height:100vh;position:relative}.mobile-header{display:none}@media(max-width: 1024px){.mobile-header{display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;height:64px;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:0 1.5rem;z-index:310;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}}.mobile-header .mobile-logo{display:flex;align-items:center;gap:1rem;text-decoration:none;color:var(--text-primary);font-weight:700}.mobile-header .mobile-logo .logo-image{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid var(--accent)}.mobile-header .mobile-menu-toggle{display:flex;flex-direction:column;gap:5px;background:rgba(0,0,0,0);border:none;padding:.25rem;cursor:pointer}.mobile-header .mobile-menu-toggle span{width:24px;height:2px;background-color:var(--text-primary);transition:all 150ms cubic-bezier(0.4, 0, 0.2, 1)}.mobile-header .mobile-menu-toggle[aria-expanded=true] span:nth-child(1){transform:rotate(45deg) translate(5px, 5px)}.mobile-header .mobile-menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.mobile-header .mobile-menu-toggle[aria-expanded=true] span:nth-child(3){transform:rotate(-45deg) translate(5px, -5px)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:280px;background-color:var(--bg-secondary);border-right:1px solid var(--border-color);box-shadow:4px 0 12px rgba(0,0,0,.05);z-index:300;display:flex;flex-direction:column}@media(max-width: 1024px){.sidebar{transform:translateX(-100%);transition:transform 200ms cubic-bezier(0.4, 0, 0.2, 1);top:64px;border-top:1px solid var(--border-color)}.sidebar.open{transform:translateX(0)}}.sidebar .sidebar-content{display:flex;flex-direction:column;height:100%;padding:2rem}.sidebar .sidebar-logo{display:flex;flex-direction:column;align-items:center;gap:1rem;text-decoration:none;margin-bottom:3rem}.sidebar .sidebar-logo .logo-image{width:100px;height:100px;border-radius:50%;object-fit:cover;border:3px solid var(--accent);transition:transform 200ms cubic-bezier(0.4, 0, 0.2, 1)}.sidebar .sidebar-logo .logo-image:hover{transform:scale(1.05)}.sidebar .sidebar-logo .logo-name{font-size:clamp(1.125rem,1.05rem + .375vw,1.25rem);font-weight:700;color:var(--text-primary);text-align:center}.sidebar .sidebar-nav{flex:1;display:flex;flex-direction:column;gap:.25rem}.sidebar .sidebar-nav a{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;color:var(--text-secondary);text-decoration:none;border-radius:.5rem;font-weight:500;transition:all 150ms cubic-bezier(0.4, 0, 0.2, 1)}.sidebar .sidebar-nav a svg{flex-shrink:0}.sidebar .sidebar-nav a:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.sidebar .sidebar-nav a.active{background-color:var(--accent);color:#fff}.sidebar .sidebar-footer{padding-top:2rem;border-top:1px solid var(--border-color);display:flex;justify-content:center}.sidebar-overlay{display:none;position:fixed;inset:0;background-color:rgba(0,0,0,.5);z-index:calc(300 - 1);top:64px}@media(max-width: 1024px){.sidebar.open~.sidebar-overlay{display:block}}.main-wrapper{margin-left:280px;min-width:0;width:auto;flex:1;display:flex;flex-direction:column;min-height:100vh;position:relative;z-index:1}@media(max-width: 1024px){.main-wrapper{margin-left:0;padding-top:64px}}main{flex:1;padding:3rem 0}@media(max-width: 768px){main{padding:2rem 0}}.site-footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);padding:3rem 0;margin-top:auto}.site-footer .footer-container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:2rem}@media(max-width: 768px){.site-footer .footer-container{flex-direction:column;align-items:center;text-align:center}}.site-footer .footer-left p{font-size:clamp(.875rem,.8rem + .375vw,1rem);color:var(--text-muted);margin:0}.site-footer .footer-contact{display:flex;flex-direction:column;gap:1rem;align-items:center;text-align:center}@media(max-width: 768px){.site-footer .footer-contact{align-items:center}}.site-footer .footer-contact h4{font-size:clamp(.875rem,.8rem + .375vw,1rem);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0}.site-footer .footer-contact .footer-links{display:flex;gap:1rem}@media(max-width: 768px){.site-footer .footer-contact .footer-links{margin-left:0}}.page-header{margin-bottom:4rem;text-align:center}.page-header h1{margin-bottom:1rem}.page-header .page-description{font-size:clamp(1.125rem,1.05rem + .375vw,1.25rem);color:var(--text-secondary);max-width:700px;margin:0 auto}.section{margin-bottom:4rem}.section .section-header{margin-bottom:3rem}.section .section-header .accent-slash{color:var(--accent);margin-right:.5rem}.section .section-header h2{margin-bottom:.5rem}.section .section-header p{font-size:clamp(1.125rem,1.05rem + .375vw,1.25rem);color:var(--text-secondary)}.grid{display:grid;gap:2rem}.grid.grid-2{grid-template-columns:repeat(2, 1fr)}.grid.grid-3{grid-template-columns:repeat(auto-fit, minmax(280px, 1fr))}@media(max-width: 768px){.grid.grid-2,.grid.grid-3{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.5rem;font-weight:500;font-size:clamp(1rem,.95rem + .25vw,1.125rem);line-height:1;border-radius:.5rem;border:2px solid rgba(0,0,0,0);cursor:pointer;transition:all 150ms cubic-bezier(0.4, 0, 0.2, 1);text-decoration:none}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:16px;height:16px}.btn-primary{background-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.btn-secondary{background-color:rgba(0,0,0,0);color:var(--accent);border-color:var(--accent)}.btn-secondary:hover:not(:disabled){background-color:var(--accent);color:#fff}.btn-ghost,.mobile-menu-toggle,.theme-toggle{background-color:rgba(0,0,0,0);color:var(--text-primary)}.btn-ghost:hover:not(:disabled),.mobile-menu-toggle:hover:not(:disabled),.theme-toggle:hover:not(:disabled){background-color:var(--bg-secondary)}.theme-toggle{padding:.5rem;border-radius:9999px}.theme-toggle .sun-icon,.theme-toggle .moon-icon{width:20px;height:20px;transition:transform 200ms cubic-bezier(0.4, 0, 0.2, 1)}.theme-toggle .sun-icon{display:none}[data-theme=dark] .theme-toggle .sun-icon{display:block}[data-theme=dark] .theme-toggle .moon-icon{display:none}.mobile-menu-toggle{padding:.5rem}@media(min-width: 1024px){.mobile-menu-toggle{display:none}}.hero{padding:6rem 0}.hero .container{display:flex;align-items:center;gap:6rem;flex-wrap:wrap}@media(min-width: 1024px){.hero .container{flex-wrap:nowrap}}.hero .hero-content{flex:1;min-width:300px}.hero .hero-visual{flex:1;min-width:300px;display:flex;justify-content:center}.hero .hero-visual img{width:100%;max-width:400px;height:auto;border-radius:50%;object-fit:cover;border:4px solid var(--accent);box-shadow:0 20px 40px rgba(0,0,0,.15)}.hero .status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.5rem;border-radius:9999px;background-color:rgba(var(--bg-secondary-rgb), 0.5);border:1px solid var(--border-color);font-size:clamp(.875rem,.8rem + .375vw,1rem);font-weight:600;color:var(--accent-secondary);margin-bottom:2rem;backdrop-filter:blur(8px)}.hero .status-badge .pulse-dot{width:8px;height:8px;border-radius:50%;background-color:var(--accent-secondary)}.hero .hero-title{font-size:clamp(2.5rem,5vw,4rem);line-height:1.25;font-weight:700;margin-bottom:2rem;color:var(--text-primary)}.hero .hero-description{font-size:clamp(1.125rem,1.05rem + .375vw,1.25rem);line-height:1.625;color:var(--text-secondary);max-width:700px;margin-bottom:3rem}.hero .hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.feature-card{padding:3rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;transition:all 200ms cubic-bezier(0.4, 0, 0.2, 1)}.feature-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);border-color:var(--accent)}.feature-card h3{margin-bottom:1rem;color:var(--text-primary)}.feature-card p{color:var(--text-secondary);margin:0}.project-card{padding:2rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;transition:all 200ms cubic-bezier(0.4, 0, 0.2, 1);overflow:hidden}.project-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);border-color:var(--accent)}.project-card .project-image{margin:calc(-1*2rem) calc(-1*2rem) 2rem;border-bottom:1px solid var(--border-color);overflow:hidden;aspect-ratio:16/9;background-color:var(--bg-primary);display:flex;align-items:center;justify-content:center}.project-card .project-image img{width:100%;height:100%;object-fit:contain;transition:transform 200ms cubic-bezier(0.4, 0, 0.2, 1)}.project-card:hover .project-image img{transform:scale(1.05)}.project-card .project-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.project-card .project-header h3{margin:0;color:var(--text-primary)}.project-card .company-badge{display:inline-block;padding:.25rem 1rem;background-color:var(--accent);color:#fff;font-size:clamp(.875rem,.8rem + .375vw,1rem);font-weight:500;border-radius:9999px}.project-card .project-description{color:var(--text-secondary);margin-bottom:1.5rem}.project-card .project-highlights{margin-bottom:1.5rem}.project-card .project-highlights li{color:var(--text-secondary);font-size:clamp(.875rem,.8rem + .375vw,1rem)}.project-card .project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.project-card .tech-tag{display:inline-block;padding:.25rem 1rem;background-color:var(--bg-tertiary);color:var(--text-primary);font-size:clamp(.875rem,.8rem + .375vw,1rem);font-weight:500;border-radius:.25rem}.project-card .project-showcase{margin-bottom:1.5rem;padding:1rem;background-color:var(--bg-primary);border-radius:.5rem}.project-card .project-showcase strong{color:var(--text-primary);display:block;margin-bottom:.5rem}.project-card .project-showcase ul{margin:0;padding-left:1.5rem}.project-card .project-showcase ul li{font-size:clamp(.875rem,.8rem + .375vw,1rem);margin-bottom:.25rem}.project-card .project-links{display:flex;gap:1rem;flex-wrap:wrap}.project-card .project-note{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.project-card .project-note small{color:var(--text-tertiary);font-style:italic}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-group label .required{color:#ef4444}.form-group input,.form-group textarea,.form-group select{width:100%;padding:1rem;background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);transition:all 150ms cubic-bezier(0.4, 0, 0.2, 1)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.form-group input::placeholder,.form-group textarea::placeholder,.form-group select::placeholder{color:#9ca3af;opacity:1}.form-group textarea{resize:vertical;min-height:120px}.contact-form{max-width:600px;margin:0 auto}.form-message{padding:1.5rem;border-radius:.75rem;margin-bottom:1.5rem}.form-message h3{margin-bottom:.5rem}.form-message p{margin:0}.form-message.success{background-color:rgba(16,185,129,.1);border:1px solid #10b981;color:#10b981}.form-message.error{background-color:rgba(239,68,68,.1);border:1px solid #ef4444;color:#ef4444}.skill-category{padding:2rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem}.skill-category h3{margin-bottom:1.5rem;color:var(--text-primary)}.skill-category .skill-list{display:flex;flex-wrap:wrap;gap:1rem;list-style:none;padding:0;margin:0}.skill-category .skill-list li{padding:.5rem 1.5rem;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-weight:500;transition:all 150ms cubic-bezier(0.4, 0, 0.2, 1)}.skill-category .skill-list li:hover{border-color:var(--accent);transform:translateY(-2px)}.experience-timeline{position:relative;padding-left:3rem}.experience-timeline::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background-color:var(--border-color)}.experience-timeline .experience-item{position:relative;margin-bottom:4rem}.experience-timeline .experience-item::before{content:"";position:absolute;left:calc(-1*3rem - 6px);top:4px;width:14px;height:14px;border-radius:9999px;background-color:var(--accent);border:3px solid var(--bg-primary)}.experience-timeline .experience-item .experience-header{margin-bottom:1rem}.experience-timeline .experience-item .experience-header h3{margin-bottom:.25rem;color:var(--text-primary)}.experience-timeline .experience-item .experience-header .company{font-size:clamp(1.125rem,1.05rem + .375vw,1.25rem);font-weight:600;color:var(--accent);margin-bottom:.25rem}.experience-timeline .experience-item .experience-header .period{font-size:clamp(.875rem,.8rem + .375vw,1rem);color:var(--text-tertiary)}.experience-timeline .experience-item .experience-description{color:var(--text-secondary);margin-bottom:1rem}.experience-timeline .experience-item ul li{color:var(--text-secondary);font-size:clamp(.875rem,.8rem + .375vw,1rem)}.projects-section{padding:4rem 0}.projects-section .section-title{font-size:clamp(1.875rem,1.65rem + 1.125vw,2.25rem);font-weight:700;color:var(--text-primary);margin-bottom:6rem}.projects-section .section-title .accent-slash{color:var(--accent);margin-right:.5rem}.projects-section .projects-zigzag{display:flex;flex-direction:column;gap:3rem}.projects-section .project-item-link{display:flex;gap:4rem;align-items:center;flex-wrap:wrap;text-decoration:none;color:inherit;transition:transform 200ms cubic-bezier(0.4, 0, 0.2, 1)}@media(min-width: 1024px){.projects-section .project-item-link{flex-wrap:nowrap}}@media(min-width: 1024px){.projects-section .project-item-link.project-right{flex-direction:row-reverse}}.projects-section .project-item-link:hover{transform:translateY(-4px)}.projects-section .project-item{display:contents}.projects-section .project-item .project-content{flex:1;min-width:300px}.projects-section .project-item .project-media{flex:1;min-width:300px;overflow:hidden;border-radius:1rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);aspect-ratio:16/9;border:1px solid var(--border-color);background-color:var(--bg-tertiary)}.projects-section .project-item .project-media img,.projects-section .project-item .project-media video{width:100%;height:100%;object-fit:cover;display:block;transition:transform 200ms cubic-bezier(0.4, 0, 0.2, 1)}.projects-section .project-item .project-media .media-placeholder{width:100%;height:100%;background:linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-secondary) 100%)}.projects-section .project-item:hover .project-media img,.projects-section .project-item:hover .project-media video{transform:scale(1.02)}.projects-section .project-item .project-link-cta{display:inline-block;color:var(--accent);font-weight:500;margin-top:1rem;transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1)}.project-item-link:hover .projects-section .project-item .project-link-cta{color:var(--accent-hover)}.projects-section .project-item .project-badges{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.projects-section .project-item .project-badges .badge{padding:.25rem 1rem;font-size:clamp(.75rem,.7rem + .25vw,.875rem);font-weight:600;border-radius:.25rem;text-transform:uppercase;letter-spacing:.5px}.projects-section .project-item .project-badges .badge-category{background-color:rgba(var(--bg-secondary-rgb), 0.8);color:var(--accent);border:1px solid var(--accent)}.projects-section .project-item .project-badges .badge-lang{background-color:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.projects-section .project-item h3{font-size:clamp(1.5rem,1.35rem + .75vw,1.875rem);font-weight:700;color:var(--text-primary);margin-bottom:1rem}.projects-section .project-item .project-tagline{font-size:clamp(1.125rem,1.05rem + .375vw,1.25rem);color:var(--accent);font-weight:500;margin-bottom:1rem}.projects-section .project-item .project-description{color:var(--text-secondary);line-height:1.625;margin-bottom:2rem}.projects-section .project-item .spec-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:1rem;margin-bottom:2rem}.projects-section .project-item .spec-grid .spec-card{padding:1rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;font-size:clamp(.875rem,.8rem + .375vw,1rem);color:var(--text-secondary);transition:border-color 150ms cubic-bezier(0.4, 0, 0.2, 1)}.projects-section .project-item .spec-grid .spec-card:hover{border-color:var(--accent)}.project-detail .project-nav{margin-bottom:3rem}.project-detail .project-nav .back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:clamp(.875rem,.8rem + .375vw,1rem);text-decoration:none;transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1)}.project-detail .project-nav .back-link:hover{color:var(--accent)}.project-detail .project-header{text-align:center;margin-bottom:6rem;padding-bottom:4rem;border-bottom:1px solid var(--border-color)}.project-detail .project-header .project-hero{position:relative;margin-bottom:3rem;border-radius:1rem;overflow:hidden;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);min-height:600px;display:flex;align-items:center;justify-content:center;padding:4rem}.project-detail .project-header .project-hero .project-hero-image{position:absolute;inset:0;z-index:0}.project-detail .project-header .project-hero .project-hero-image img{width:100%;height:100%;object-fit:cover}.project-detail .project-header .project-hero .project-hero-image .project-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);backdrop-filter:blur(2px)}.project-detail .project-header .project-hero .project-hero-content{position:relative;z-index:1;color:#fff}.project-detail .project-header .project-hero .project-hero-content h1{color:#fff;font-size:clamp(2.25rem,1.95rem + 1.5vw,3rem);margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.project-detail .project-header .project-hero .project-hero-content .project-subtitle{color:hsla(0,0%,100%,.9);font-size:clamp(1.25rem,1.15rem + .5vw,1.5rem);margin-bottom:2rem}.project-detail .project-header .project-hero .project-hero-content .badge-tech{background-color:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.3);color:#fff}.project-detail .project-header .project-hero .project-hero-content .status-badge{border-color:hsla(0,0%,100%,.3);background-color:hsla(0,0%,100%,.1);color:#fff}.project-detail .project-header .project-hero .project-hero-content .status-badge.status-active{background-color:rgba(34,197,94,.4);color:#fff;border-color:rgba(34,197,94,.6)}.project-detail .project-header .project-hero .project-hero-content .status-badge.status-maintained{background-color:rgba(59,130,246,.4);color:#fff;border-color:rgba(59,130,246,.6)}.project-detail .project-header .project-badges{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.project-detail .project-header .project-badges .badge-tech{padding:.25rem 1rem;background-color:var(--bg-tertiary);color:var(--text-primary);font-size:clamp(.75rem,.7rem + .25vw,.875rem);font-weight:600;border-radius:.25rem;border:1px solid var(--border-color)}.project-detail .project-header h1{font-size:clamp(2.25rem,1.95rem + 1.5vw,3rem);margin-bottom:1rem}.project-detail .project-header .project-subtitle{font-size:clamp(1.25rem,1.15rem + .5vw,1.5rem);color:var(--accent);font-weight:500;margin-bottom:2rem}.project-detail .project-header .project-meta{display:flex;justify-content:center;align-items:center;gap:1.5rem;flex-wrap:wrap}.project-detail .project-header .project-meta .status-badge{padding:.25rem 1rem;border-radius:9999px;font-size:clamp(.875rem,.8rem + .375vw,1rem);font-weight:500}.project-detail .project-header .project-meta .status-badge.status-active{background-color:rgba(34,197,94,.1);color:#22c55e;border:1px solid rgba(34,197,94,.3)}.project-detail .project-header .project-meta .status-badge.status-maintained{background-color:rgba(59,130,246,.1);color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.project-detail .project-body{max-width:900px;margin:0 auto}.project-detail .project-body h2{margin-top:4rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.project-detail .project-body h3{margin-top:3rem;margin-bottom:1rem}.project-detail .project-body .video-showcase{margin:4rem 0}.project-detail .project-body .video-showcase video{width:100%;border-radius:1rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);border:1px solid var(--border-color)}.project-detail .project-body .video-showcase .video-caption{text-align:center;font-size:clamp(.875rem,.8rem + .375vw,1rem);color:var(--text-muted);margin-top:1rem;font-style:italic}.project-detail .project-body .features-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:1.5rem;margin:3rem 0}.project-detail .project-body .features-grid .feature-item{padding:1.5rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem}.project-detail .project-body .features-grid .feature-item h4{margin-bottom:.5rem;color:var(--accent)}.project-detail .project-body .features-grid .feature-item p{font-size:clamp(.875rem,.8rem + .375vw,1rem);margin:0}.project-detail .project-body .tech-stack{display:flex;flex-wrap:wrap;gap:.5rem;margin:2rem 0}.project-detail .project-body .tech-stack .tech-item{padding:.5rem 1.5rem;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;font-size:clamp(.875rem,.8rem + .375vw,1rem);font-weight:500}/*# sourceMappingURL=main.css.map */