:root{--bg-black: #000000;--surface-lowest: #0e0e0e;--surface-low: #131313;--surface: #1a1a1a;--surface-high: #2a2a2a;--glass-bg: rgba(31, 31, 31, .4);--glass-border: rgba(255, 255, 255, .08);--text-primary: #e2e2e2;--text-muted: rgba(255, 255, 255, .5);--accent: #dcb8ff;--accent-vivid: #8a2be2;--ease-out-expo: cubic-bezier(.23, 1, .32, 1);--font-display: "Space Grotesk", system-ui, sans-serif;--font-body: "Manrope", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{margin:0;min-height:100vh;background-color:var(--bg-black);color:var(--text-primary);font-family:var(--font-body);font-weight:400;font-size:clamp(.95rem,1.5vw,1.1rem);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{position:relative;z-index:1}a{color:var(--accent);text-decoration:none;font-weight:500;transition:color .45s var(--ease-out-expo),opacity .45s var(--ease-out-expo),transform .45s var(--ease-out-expo),border-color .45s var(--ease-out-expo),box-shadow .45s var(--ease-out-expo)}a:hover{color:#fff}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:-.03em;color:var(--text-primary)}h1{font-size:clamp(3rem,8vw,7rem);line-height:.92;margin:0}h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;margin:0 0 1rem}h3{margin:0 0 .5rem}p{margin:0 0 1rem;color:#ffffffb3;line-height:1.75}button{font-family:var(--font-display);border-radius:9999px;border:1px solid var(--glass-border);padding:.55em 1.1em;font-size:.65rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;background:var(--glass-bg);color:var(--text-primary);cursor:pointer;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:transform .45s var(--ease-out-expo),box-shadow .45s var(--ease-out-expo),border-color .45s var(--ease-out-expo),background .45s var(--ease-out-expo)}button:hover{border-color:#dcb8ff59}button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:16px;box-shadow:inset 0 2px 4px #ffffff0f,inset 0 -2px 10px #8a2be214}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app-shell{position:relative;min-height:100vh}.ambient-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.ambient-bg__blob{position:absolute;border-radius:50%;filter:blur(120px);opacity:.12;will-change:transform}.ambient-bg__blob--tr{top:-15%;right:-10%;width:58vw;height:58vw;max-width:900px;max-height:900px;background:radial-gradient(circle,rgba(88,28,135,.55) 0%,transparent 70%)}.ambient-bg__blob--bl{bottom:-20%;left:-15%;width:42vw;height:42vw;max-width:620px;max-height:620px;background:radial-gradient(circle,rgba(76,29,149,.35) 0%,transparent 70%);filter:blur(100px);opacity:.08}.ambient-bg__blob--c{top:40%;left:35%;width:35vw;height:35vw;background:radial-gradient(circle,rgba(138,43,226,.2) 0%,transparent 65%);filter:blur(140px);opacity:.06}.viewport-vignette{position:fixed;left:0;right:0;height:120px;z-index:0;pointer-events:none}.viewport-vignette--top{top:0;background:linear-gradient(to bottom,#000 0%,transparent 100%)}.viewport-vignette--bottom{bottom:0;background:linear-gradient(to top,#000 0%,transparent 100%)}main{position:relative;z-index:1;padding-top:clamp(5.5rem,12vw,6.5rem)}.container{max-width:1200px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem);width:100%}@media (min-width: 1400px){.container{max-width:1320px;padding:0 3rem}}@media (prefers-reduced-motion: reduce){.ambient-bg__blob{animation:none}}.header{position:fixed;top:1.5rem;left:0;right:0;z-index:1000;display:flex;justify-content:center;padding:0 clamp(.75rem,3vw,1.25rem);pointer-events:none}.header-inner{pointer-events:auto;width:100%;max-width:900px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 1.1rem .55rem .85rem;border-radius:9999px;background:#1f1f1f73;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 32px #8a2be21f,inset 0 1px #ffffff0f}.header-left{display:flex;align-items:center;gap:clamp(.45rem,2vw,.85rem);min-width:0}.header-left img{width:clamp(34px,7vw,42px);height:clamp(34px,7vw,42px);border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.12);flex-shrink:0}.header-left span{font-family:var(--font-display, "Space Grotesk", sans-serif);font-size:clamp(.78rem,2vw,.95rem);font-weight:700;letter-spacing:-.04em;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-links{display:flex;gap:clamp(.65rem,2vw,1.35rem);align-items:center}.header-links a{font-family:var(--font-display, "Space Grotesk", sans-serif);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#ffffff73;text-decoration:none;padding:.35rem 0;position:relative;transition:color .5s cubic-bezier(.23,1,.32,1)}.header-links a:hover{color:#ffffffd9}.header-links a.is-active{color:var(--accent)}.header-links a.is-active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.9}.desktop-nav{display:flex}.mobile-nav{display:none}.hamburger{display:none;flex-direction:column;justify-content:space-around;width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;background:transparent!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:12px!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;z-index:1002}.hamburger span{width:20px;height:2px;background:#fff;border-radius:2px;transition:transform .45s cubic-bezier(.23,1,.32,1),opacity .35s ease;align-self:center}.hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:998;animation:backdropFade .45s cubic-bezier(.23,1,.32,1)}@keyframes backdropFade{0%{opacity:0}to{opacity:1}}@media (max-width: 767px){.desktop-nav{display:none}.hamburger{display:flex}.mobile-nav{position:fixed;top:5.5rem;left:1rem;right:1rem;display:flex;flex-direction:column;align-items:stretch;gap:.25rem;padding:1rem 1.1rem;border-radius:20px;background:#161616b8;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid rgba(255,255,255,.1);box-shadow:0 24px 48px #0000008c,0 0 40px #8a2be21f;z-index:1001;transform:translateY(-12px) scale(.98);opacity:0;pointer-events:none;transition:opacity .45s cubic-bezier(.23,1,.32,1),transform .45s cubic-bezier(.23,1,.32,1)}.mobile-nav.open{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}.mobile-nav a{padding:.85rem .5rem;font-size:10px;border-bottom:1px solid rgba(255,255,255,.06)}.mobile-nav a:last-child{border-bottom:none}}@media (max-width: 480px){.header-left span{display:none}.header-inner{padding:.45rem .65rem .45rem .55rem}}@media (prefers-reduced-motion: reduce){.mobile-nav,.mobile-menu-backdrop,.hamburger span{transition:none!important;animation:none!important}}.hero{width:100%;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(4rem,12vw,7rem) 1.5rem 5rem;position:relative;overflow:hidden;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(26,26,26,.9) 0%,var(--bg-black) 55%),var(--bg-black);opacity:0;transform:translateY(28px);transition:opacity .85s cubic-bezier(.23,1,.32,1),transform .85s cubic-bezier(.23,1,.32,1)}.hero.hero--visible{opacity:1;transform:translateY(0)}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 18% 88%,rgba(138,43,226,.14) 0%,transparent 45%),radial-gradient(circle at 82% 12%,rgba(220,184,255,.08) 0%,transparent 42%);pointer-events:none;opacity:.85}.hero:after{content:"PORTFOLIO";position:absolute;left:clamp(.5rem,3vw,2rem);top:50%;transform:translateY(-50%) rotate(-90deg);transform-origin:center center;font-family:var(--font-display);font-size:clamp(3rem,10vw,6rem);font-weight:700;letter-spacing:.35em;color:#ffffff08;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none}.hero h1{font-family:var(--font-display);font-size:clamp(3rem,8vw,7rem);font-weight:700;line-height:.92;letter-spacing:-.045em;margin:0 0 1.25rem;max-width:18ch;position:relative;z-index:1;color:var(--text-primary);background:none;-webkit-text-fill-color:unset}.hero-gradient-text{background:linear-gradient(120deg,#fff,#dcb8ff 45%,#8a2be2);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.hero>p{font-family:var(--font-body);font-size:clamp(.65rem,1.2vw,.72rem);font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#ffffff6b;margin:0 0 .65rem;max-width:40rem;position:relative;z-index:1;line-height:1.5}.hero>p:last-of-type{margin-bottom:2.25rem;opacity:.95}.hero-buttons{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.85rem;justify-content:center;position:relative;z-index:1;max-width:640px}.hero-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.6rem;border-radius:9999px;font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:transform .55s cubic-bezier(.23,1,.32,1),box-shadow .55s cubic-bezier(.23,1,.32,1),border-color .55s cubic-bezier(.23,1,.32,1),background .55s cubic-bezier(.23,1,.32,1),color .55s cubic-bezier(.23,1,.32,1)}.hero-btn--ghost{border:1px solid rgba(255,255,255,.14);background:#1f1f1f59;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:#ffffffe0;box-shadow:inset 0 1px #ffffff0f}.hero-btn--ghost:hover{border-color:#dcb8ff59;transform:translateY(-3px);box-shadow:0 16px 40px #00000073,0 0 32px #8a2be226}.hero-btn--primary{border:1px solid rgba(220,184,255,.35);background:linear-gradient(135deg,#8a2be28c,#461478bf);color:#fff;box-shadow:0 12px 36px #8a2be240,inset 0 1px #ffffff1f}.hero-btn--primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 20px 48px #00000080,0 0 48px #8a2be247}@media (max-width: 768px){.hero:after{display:none}.hero-buttons{flex-direction:column;width:100%;max-width:280px}.hero-btn{width:100%}}@media (prefers-reduced-motion: reduce){.hero{opacity:1;transform:none;transition:none}}.about{position:relative;padding:clamp(5rem,14vw,7.5rem) 0;background:transparent;opacity:0;transform:translateY(36px);transition:opacity .75s cubic-bezier(.23,1,.32,1) .05s,transform .75s cubic-bezier(.23,1,.32,1) .05s}.about.about--visible{opacity:1;transform:translateY(0)}.about .container{position:relative}.about h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.5rem);text-align:center;margin-bottom:1.25rem;letter-spacing:-.035em;color:var(--text-primary);background:none;-webkit-text-fill-color:unset}.about h2:before{content:"ABOUT";display:block;font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:.22em;color:var(--accent);margin-bottom:1rem}.about h2:after{display:none}.about p{font-family:var(--font-body);font-weight:400;font-size:clamp(.95rem,1.5vw,1.1rem);line-height:1.8;color:#ffffffb3;text-align:center;max-width:52rem;margin:0 auto clamp(2.5rem,6vw,3.5rem)}.about h3{font-family:var(--font-display);font-size:clamp(1.15rem,2.5vw,1.35rem);text-align:center;margin-bottom:1.5rem;letter-spacing:-.02em;color:var(--text-primary)}.education-content{display:flex;align-items:center;gap:clamp(1.5rem,4vw,2.5rem);max-width:52rem;margin:0 auto;padding:clamp(1.5rem,4vw,2.25rem);transition:box-shadow .55s cubic-bezier(.23,1,.32,1),border-color .55s cubic-bezier(.23,1,.32,1),transform .55s cubic-bezier(.23,1,.32,1)}.education-content:hover{border-color:#dcb8ff38;box-shadow:inset 0 2px 4px #ffffff0f,inset 0 -2px 12px #8a2be21f,0 0 40px #8a2be214;transform:translateY(-2px)}.education-list{flex:1;list-style:none;padding:0;margin:0}.education-list li{padding:0;background:transparent;border:none;transition:none}.education-list li:hover{transform:none;background:transparent}.education-list li strong{font-family:var(--font-display);font-size:clamp(1rem,2.2vw,1.15rem);font-weight:600;color:var(--text-primary);display:block;margin-bottom:.4rem}.education-logo{width:clamp(72px,16vw,110px);height:auto;opacity:.92;flex-shrink:0;transition:transform .55s cubic-bezier(.23,1,.32,1)}.education-content:hover .education-logo{transform:scale(1.04)}@media (max-width: 768px){.education-content{flex-direction:column;text-align:center}}@media (prefers-reduced-motion: reduce){.about{opacity:1;transform:none;transition:none}.education-content:hover{transform:none}}.experience{padding:clamp(5rem,14vw,7.5rem) 0;position:relative;background:transparent;opacity:0;transform:translateY(36px);transition:opacity .75s cubic-bezier(.23,1,.32,1) .05s,transform .75s cubic-bezier(.23,1,.32,1) .05s}.experience.experience--visible{opacity:1;transform:translateY(0)}.experience h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.5rem);text-align:center;margin-bottom:clamp(2.5rem,6vw,3.5rem);letter-spacing:-.035em;color:var(--text-primary)}.experience h2:before{content:"EXPERIENCE";display:block;font-size:10px;font-weight:600;letter-spacing:.22em;color:var(--accent);margin-bottom:1rem}.experience h2:after{display:none}.experience-card{margin-bottom:clamp(1.5rem,4vw,2rem);padding:clamp(1.25rem,3vw,1.75rem);transition:transform .55s cubic-bezier(.23,1,.32,1),box-shadow .55s cubic-bezier(.23,1,.32,1),border-color .55s cubic-bezier(.23,1,.32,1)}.experience-card--offset{margin-left:clamp(0px,4vw,48px);max-width:calc(100% - clamp(0px,4vw,48px))}@media (max-width: 900px){.experience-card--offset{margin-left:0;max-width:100%}}.experience-card:hover{transform:translateY(-6px) perspective(1000px) rotateX(1deg);border-color:#dcb8ff2e;box-shadow:inset 0 2px 4px #ffffff0f,inset 0 -2px 12px #8a2be21a,0 24px 48px #00000073,0 0 48px #8a2be21f}.company-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;padding:0;background:transparent;border:none}.company-group h3{font-family:var(--font-display);font-size:clamp(.95rem,2.2vw,1.2rem);font-weight:700;letter-spacing:-.03em;line-height:1.35;margin:0;color:var(--text-primary)}.location{display:block;margin-top:.35rem;font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#ffffff6b}.logo-wrapper{background:#fffffff5;padding:8px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 16px #00000040;flex-shrink:0}.org-logo{width:clamp(44px,10vw,72px);height:auto;display:block}.role-item{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.06)}.role-item:first-of-type{border-top:none;padding-top:0;margin-top:.75rem}.role-item h4{font-family:var(--font-display);font-size:clamp(.95rem,2vw,1.1rem);font-weight:600;letter-spacing:-.02em;margin:0 0 .5rem;color:var(--text-primary)}.period{font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#ffffff73;margin-bottom:.85rem;display:inline-block;padding:.35rem .65rem;border-radius:9999px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.role-item ul{list-style:none;margin:0;padding:0}.role-item ul li{position:relative;padding-left:1.1rem;margin-bottom:.55rem;font-family:var(--font-body);font-size:clamp(.88rem,1.6vw,.98rem);line-height:1.65;color:#ffffff9e}.role-item ul li:before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-vivid));opacity:.85}@media (max-width: 600px){.logo-wrapper{display:none}.experience-card--offset{margin-left:0;max-width:100%}}@media (prefers-reduced-motion: reduce){.experience{opacity:1;transform:none;transition:none}.experience-card:hover{transform:none}}.contact{padding:clamp(6rem,16vw,9rem) 0;position:relative;background:transparent;opacity:0;transform:translateY(36px);transition:opacity .75s cubic-bezier(.23,1,.32,1) .05s,transform .75s cubic-bezier(.23,1,.32,1) .05s}.contact.contact--visible{opacity:1;transform:translateY(0)}.contact h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.5rem);text-align:center;margin-bottom:1rem;letter-spacing:-.035em}.contact h2:before{content:"CONTACT";display:block;font-size:10px;font-weight:600;letter-spacing:.22em;color:var(--accent);margin-bottom:1rem}.contact h2:after{display:none}.contact p{text-align:center;font-family:var(--font-body);font-size:clamp(.95rem,1.5vw,1.05rem);color:#ffffff8c;margin-bottom:clamp(2rem,5vw,2.75rem);max-width:36rem;margin-left:auto;margin-right:auto}.contact-list{list-style:none;padding:0;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:520px}.contact-list a{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:.85rem 1.5rem;border-radius:9999px;background:#1f1f1f73;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);color:var(--text-primary);font-family:var(--font-body);font-size:clamp(.88rem,1.8vw,.95rem);font-weight:500;box-shadow:inset 0 2px 4px #ffffff0d,inset 0 -2px 10px #8a2be20f;transition:transform .55s cubic-bezier(.23,1,.32,1),box-shadow .55s cubic-bezier(.23,1,.32,1),border-color .55s cubic-bezier(.23,1,.32,1),background .55s cubic-bezier(.23,1,.32,1)}.contact-list a:hover{transform:translateY(-4px);border-color:#dcb8ff40;box-shadow:0 20px 48px #00000073,0 0 40px #8a2be226}.contact-list a span{margin-left:.65rem;word-break:break-word;text-align:left}.contact-list a:before{display:none}@media (prefers-reduced-motion: reduce){.contact{opacity:1;transform:none;transition:none}.contact-list a:hover{transform:none}}.project-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;height:100%;display:flex;flex-direction:column;opacity:0;animation:fadeInUp .6s ease-out both}.project-card:nth-child(1){animation-delay:.6s}.project-card:nth-child(2){animation-delay:.7s}.project-card:nth-child(3){animation-delay:.8s}.project-card:nth-child(4){animation-delay:.9s}.project-card:nth-child(5){animation-delay:1s}.project-card:nth-child(6){animation-delay:1.1s}.project-card:nth-child(7){animation-delay:1.2s}.project-card:nth-child(8){animation-delay:1.3s}.project-card:nth-child(9){animation-delay:1.4s}.project-card:nth-child(n+10){animation-delay:1.5s}.project-card:hover{background:#ffffff14;border-color:#ffffff40;transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px #0006,0 0 20px #ffffff1a}.project-img-wrapper{position:relative;overflow:hidden;height:clamp(180px,25vw,220px);background:linear-gradient(135deg,#1a1a1a,#2a2a2a);display:flex;align-items:center;justify-content:center}.project-img-wrapper img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center;transition:transform .3s ease;aspect-ratio:auto;flex-shrink:0}.project-card:hover .project-img-wrapper img{transform:scale(1.08);filter:brightness(1.1)}.project-date{position:absolute;top:clamp(.8rem,2vw,1rem);right:clamp(.8rem,2vw,1rem);background:#000c;color:#fff;padding:clamp(.4rem,1vw,.6rem) clamp(.8rem,2vw,1rem);border-radius:20px;font-size:clamp(.75rem,2vw,.85rem);font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.project-card h3{color:#fff;font-size:clamp(1.1rem,3vw,1.4rem);margin:clamp(1.2rem,3vw,1.5rem) clamp(1.2rem,3vw,1.5rem) clamp(.8rem,2vw,1rem) clamp(1.2rem,3vw,1.5rem);font-weight:600;line-height:1.4}.project-card p{color:#ccc;margin:0 clamp(1.2rem,3vw,1.5rem) clamp(1.2rem,3vw,1.5rem) clamp(1.2rem,3vw,1.5rem);line-height:1.6;font-size:clamp(.85rem,2vw,.95rem);flex-grow:1}.project-link{display:inline-block;margin:0 clamp(1.2rem,3vw,1.5rem) clamp(1.2rem,3vw,1.5rem) clamp(1.2rem,3vw,1.5rem);color:#fff;text-decoration:none;font-weight:500;padding:clamp(.6rem,2vw,.8rem) clamp(1.2rem,3vw,1.5rem);background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;transition:all .3s ease;position:relative;overflow:hidden;font-size:clamp(.85rem,2vw,.95rem);align-self:flex-start}.project-links{display:flex;flex-direction:column;gap:.8rem;margin:0 clamp(1.2rem,3vw,1.5rem) clamp(1.2rem,3vw,1.5rem) clamp(1.2rem,3vw,1.5rem)}.project-link.primary-link{align-self:flex-start;margin:0}.project-link.additional-link{align-self:flex-start;margin:0;background:#ffffff14;border-color:#ffffff26;font-size:clamp(.8rem,2vw,.9rem);padding:clamp(.5rem,2vw,.7rem) clamp(1rem,3vw,1.3rem)}.project-link.additional-link:hover{background:#ffffff26;border-color:#ffffff4d}.project-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.project-link:hover:before{left:100%}.project-link:hover{background:#fff3;border-color:#fff6;transform:translateY(-2px);box-shadow:0 8px 20px #0000004d;min-height:44px}.project-link:active{transform:translateY(0)}@media (max-width: 768px){.project-img-wrapper{height:200px;display:flex;align-items:center;justify-content:center}.project-card h3{font-size:1.2rem;margin:1.2rem 1.2rem .8rem}.project-card p{font-size:.9rem;margin:0 1.2rem 1.2rem}.project-links{margin:0 1.2rem 1.2rem;gap:.6rem}.project-link{font-size:.85rem;padding:.6rem 1.2rem}.project-link.additional-link{font-size:.8rem;padding:.5rem 1rem}}@media (max-width: 480px){.project-img-wrapper{height:180px;display:flex;align-items:center;justify-content:center}.project-card h3{font-size:1.1rem;margin:1rem 1rem .6rem}.project-card p{font-size:.85rem;margin:0 1rem 1rem}.project-links{margin:0 1rem 1rem;gap:.5rem}.project-link{font-size:.85rem;padding:.7rem 1.1rem;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.project-link.additional-link{font-size:.8rem;padding:.6rem 1rem;min-height:44px}.project-date{font-size:.7rem;padding:.3rem .6rem}.project-card:hover{transform:translateY(-4px) scale(1.01)}}@media (prefers-reduced-motion: reduce){.project-card{animation:none;opacity:1}.project-card:hover{transform:none}}.project-filter{margin-bottom:clamp(2rem,4vw,3rem);width:100%}.filter-tabs{display:flex;flex-wrap:wrap;gap:clamp(.5rem,2vw,1rem);justify-content:center;align-items:center}.filter-tab{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:clamp(20px,4vw,30px);padding:clamp(.6rem,2vw,1rem) clamp(1.2rem,3vw,1.8rem);color:#fffc;font-size:clamp(.85rem,2vw,1rem);font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden;white-space:nowrap;display:flex;align-items:center;gap:.5rem}.filter-tab:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.filter-tab:hover:before{left:100%}.filter-tab:hover{background:#ffffff26;border-color:#ffffff4d;color:#fff;transform:translateY(-2px);box-shadow:0 8px 25px #0003}.filter-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#fff6;color:#fff;transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.filter-tab.active:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190);transform:translateY(-3px);box-shadow:0 12px 30px #667eea66}.tab-text{font-weight:600;letter-spacing:.5px}.tab-count{background:#fff3;border-radius:12px;padding:.2rem .5rem;font-size:.75rem;font-weight:600;min-width:20px;text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.filter-tab.active .tab-count{background:#ffffff40;color:#fff}@media (max-width: 768px){.filter-tabs{gap:.5rem;justify-content:flex-start;overflow-x:auto;padding:.5rem 0;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab{flex-shrink:0;padding:.5rem 1rem;font-size:.85rem;min-width:max-content}.tab-count{font-size:.7rem;padding:.15rem .4rem}}@media (max-width: 480px){.filter-tabs{gap:.4rem;padding:.3rem 0}.filter-tab{padding:.4rem .8rem;font-size:.8rem;min-width:max-content;white-space:nowrap}.tab-text{font-weight:500}.tab-count{font-size:.65rem;padding:.1rem .3rem}}.filter-tab{animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.filter-tab.active{animation:activeTabPulse .3s ease-out}@keyframes activeTabPulse{0%{transform:translateY(-2px) scale(1)}50%{transform:translateY(-2px) scale(1.05)}to{transform:translateY(-2px) scale(1)}}.projects-page{padding:clamp(3rem,8vw,5rem) 0;background:linear-gradient(180deg,#000,#0a0a0a);min-height:100vh;opacity:0;animation:fadeInUp .8s ease-out .2s both}.projects-page h1{font-size:clamp(2rem,5vw,2.8rem);margin-bottom:clamp(1.5rem,4vw,2.5rem);background:linear-gradient(45deg,#fff,#e0e0e0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center;position:relative;opacity:0;animation:fadeInUp .8s ease-out .4s both}.projects-page h1:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:clamp(40px,8vw,60px);height:3px;background:linear-gradient(90deg,#fff,#e0e0e0);border-radius:2px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(300px,40vw,400px),1fr));gap:clamp(1.5rem,4vw,2.5rem);max-width:1400px;margin:0 auto;padding:0 clamp(1rem,3vw,2rem)}.no-projects{text-align:center;padding:clamp(3rem,8vw,5rem) 0;color:#ffffffb3;font-size:clamp(1rem,2.5vw,1.2rem);animation:fadeIn .5s ease-out}.no-projects p{margin:0;font-style:italic}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr;gap:1.5rem;padding:0 1rem}}@media (max-width: 480px){.projects-page{padding:2rem 0}.projects-grid{gap:1rem;padding:0 .5rem}}@media (min-width: 1200px){.projects-page{padding:6rem 0}.projects-grid{gap:3rem;padding:0 3rem}}@media (min-width: 768px) and (max-width: 1199px){.projects-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;padding:0 1.5rem}}@media (prefers-reduced-motion: reduce){.projects-page,.projects-page h1{animation:none;opacity:1}}
