.projects-section{background-color:var(--background);min-height:100vh;padding:100px 0 30px;overflow:hidden}.projects-section:before{content:"";pointer-events:none;position:absolute;inset:0}.projects-section>.container,.future-projects>.container{max-width:var(--site-page-outer);padding:0 var(--site-gutter);z-index:1;margin:0 auto;position:relative}.section-header{text-align:center;margin-bottom:30px}.section-title{background-color:var(--primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;justify-content:center;align-items:center;gap:20px;font-size:3.5rem;font-weight:700;display:flex}.section-icon{background-color:var(--primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:3rem}.section-subtitle{color:var(--muted-foreground);margin:0 auto;font-size:1.2rem;line-height:1.6}.future-projects{padding:20px 0}.future-projects .section-title i{color:var(--warning)}.project-card.future{border:2px solid var(--border);background:var(--muted);opacity:.85;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s;position:relative}.project-card.future:hover{opacity:1;border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-1px)scale(1.01)}.project-card.future .project-title{color:var(--foreground)}.project-card.future .project-description{color:var(--muted-foreground)}.project-card.future .tech-tag{background:var(--secondary);color:var(--primary-text);border:1px dashed var(--warning)}.project-card.future .tech-tag:hover{background:#06b6d41a}.project-card.future .explore-link{color:var(--primary-text);border:1px dashed var(--warning)}.project-card.future .explore-link:hover{border-color:var(--warning);background:#06b6d41a;transform:translateY(-2px)}.coming-soon-badge{background:linear-gradient(45deg, var(--tech), var(--cyan-deep));color:#000;text-transform:uppercase;border-radius:20px;padding:5px 12px;font-size:.75rem;font-weight:600;position:absolute;top:10px;right:10px;box-shadow:0 0 10px #06b6d480}.project-type-filter{flex-wrap:wrap;justify-content:center;gap:8px;max-width:100%;margin:24px auto 0;display:flex}.project-type-chip{border:1px solid var(--border);background:var(--card);min-height:40px;color:var(--foreground);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:.9rem;font-weight:500;transition:border-color .2s,background-color .2s;display:inline-flex}.project-type-chip:hover{border-color:var(--primary)}.project-type-chip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.project-type-chip[aria-pressed=true]{border-color:var(--primary);color:var(--primary-text);background:#06b6d41f}.project-type-count{background:var(--secondary);min-width:1.5em;color:var(--muted-foreground);text-align:center;border-radius:999px;padding:0 6px;font-size:.75rem;line-height:1.6}@media (max-width:640px){.project-type-filter{gap:6px;margin-top:16px}.project-type-chip{min-height:36px;padding:4px 12px;font-size:.85rem}}
.projects-section{background-color:var(--background);padding:40px 0 60px;overflow:hidden}.projects-section:before{content:"";pointer-events:none;position:absolute;inset:0}.projects-section>.container,.future-projects>.container{max-width:var(--site-page-outer);padding:0 var(--site-gutter);z-index:1;margin:0 auto;position:relative}.section-header{text-align:center;margin-bottom:30px}.section-title{background-color:var(--primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;justify-content:center;align-items:center;gap:20px;font-size:3.5rem;font-weight:700;display:inline-block}.section-icon{background-color:var(--primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:3rem}.section-subtitle{color:var(--muted-foreground);margin:0 auto;font-size:1.2rem;line-height:1.6}.projects-grid{contain:layout;grid-template-columns:repeat(auto-fill,minmax(max(380px,50% - 10px),1fr));gap:20px;min-height:400px;margin-top:30px;display:grid}.project-card{background:var(--card);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);contain:layout style;will-change:transform;border-radius:1rem;flex-direction:column;width:100%;min-height:350px;transition:all .4s cubic-bezier(.25,.8,.25,1);display:flex;position:relative;overflow:hidden}.project-card-wrapper{min-width:0;display:flex}.project-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary)}.project-card-header{aspect-ratio:16/9;border-radius:1rem 1rem 0 0;width:100%;position:relative;overflow:hidden}.project-image{width:100%;height:100%;position:absolute;top:0;left:0}.project-image Image{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .4s}.project-card:hover .project-image Image{transform:scale(1.05)}.image-fallback{justify-content:center;align-items:center;width:100%;height:100%;display:none;position:absolute;top:0;left:0}.card-content{flex-direction:column;flex:1;padding:20px;display:flex}.project-title{color:var(--foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px;font-size:1.375rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.project-description{color:var(--muted-foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:16px;font-size:.95rem;line-height:1.6;display:-webkit-box;overflow:hidden}.tech-stack{white-space:nowrap;flex-wrap:nowrap;gap:8px;margin-bottom:18px;display:flex;overflow:hidden}.tech-tag{background:var(--secondary);color:var(--primary-text);border:1px solid var(--border);border-radius:20px;padding:5px 12px;font-size:.8rem;font-weight:500;transition:all .3s}.tech-tag:hover{border-color:var(--primary);background:#06b6d41f}.project-meta{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;margin-bottom:10px;display:flex}.project-badge{border:1px solid var(--border);background:var(--secondary);max-width:100%;min-height:24px;color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;padding:2px 10px;font-size:.75rem;font-weight:500;line-height:1.2;display:inline-flex;overflow:hidden}.project-badge.project-status{--badge:var(--primary);border-color:color-mix(in srgb, var(--badge) 55%, transparent);background:color-mix(in srgb, var(--badge) 14%, transparent);color:var(--badge);flex-shrink:0;font-weight:600}.project-status[data-variant=in-progress]{--badge:#b45309}.project-status[data-variant=live]{--badge:#047857}.project-status[data-variant=upcoming]{--badge:#1d4ed8}[data-theme=dark] .project-status[data-variant=in-progress]{--badge:#facc15}[data-theme=dark] .project-status[data-variant=live]{--badge:#34d399}[data-theme=dark] .project-status[data-variant=upcoming]{--badge:#93c5fd}.project-year{color:var(--muted-foreground);white-space:nowrap;margin-left:auto;font-size:.8rem;font-weight:500}.tech-tag{text-overflow:ellipsis;flex-shrink:1;min-width:0;overflow:hidden}.tech-tag.more-tag{flex-shrink:0}.platform-tag{border-style:dashed;align-items:center;gap:5px;display:inline-flex}.platform-tag i{font-size:.7rem}.project-links{flex-wrap:wrap;gap:10px;margin-top:auto;display:flex}.project-link{white-space:nowrap;border-radius:25px;flex:1 1 0;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .3s;display:flex;position:relative;overflow:hidden}.explore-link,.demo-link{color:var(--primary-text);border:1px solid var(--border);background:0 0}.explore-link:hover,.demo-link:hover{border-color:var(--primary);background:#06b6d41f;transform:translateY(-2px)}.github-link{color:var(--primary-text);border:1px solid var(--border);background:0 0}.github-link:hover{color:var(--primary-text);border-color:var(--primary);background:#06b6d41f;transform:translateY(-2px)}@media (max-width:768px){.projects-section{padding:60px 0 20px}.section-title{flex-direction:column;gap:10px;font-size:2.5rem}.section-icon{font-size:2rem}.projects-grid{grid-template-columns:1fr;gap:20px;margin-top:40px}.project-card{margin:0 10px}.card-content{padding:20px 10px}.project-link{flex-basis:auto}}@media (max-width:480px){.section-title{font-size:2rem}.projects-grid{grid-template-columns:1fr}.project-card{margin:0}}.video-wrapper{background:var(--background);width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.project-video-content{-o-object-fit:cover;object-fit:cover;position:absolute;top:0;left:0;width:100%!important;height:100%!important}.youtube-play-button{cursor:pointer;z-index:5;color:#000;background:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-weight:500;transition:transform .2s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 20px #0000004d}.youtube-play-button:hover{transform:translate(-50%,-50%)scale(1.1)}.youtube-play-button:focus{outline:3px solid var(--primary);outline-offset:2px}.youtube-play-button .triangle{pointer-events:none;border-top:10px solid #0000;border-bottom:10px solid #0000;border-left:18px solid #000;width:0;height:0;margin-left:5px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.project-link.details-link{background:var(--tech-soft);color:var(--tech-text);border-color:color-mix(in srgb, var(--tech) 35%, transparent)}.project-link.details-link:hover{background:var(--tech);color:var(--tech-contrast);border-color:var(--tech)}.project-link.case-study-link{color:var(--tech-text);border-color:color-mix(in srgb, var(--tech) 35%, transparent);background:0 0}.project-link.case-study-link:hover{background:var(--tech-soft);border-color:var(--tech)}.projects-grid-empty{text-align:center;max-width:560px;color:var(--fg-muted);border:1px dashed var(--border);border-radius:12px;margin:2rem auto 0;padding:48px 16px}
