@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";@import"https://fonts.cdnfonts.com/css/sf-pro-display";@import"https://fonts.googleapis.com/css2?family=Courier+Prime&display=swap";@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}.visible{visibility:visible}.relative{position:relative}.container{width:100%}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}:root{--bg-primary:#000;--bg-secondary:#0a0a0a;--bg-tertiary:#1c1c1e;--accent-primary:#2997ff;--accent-glow:#2997ff66;--text-primary:#f5f5f7;--text-secondary:#86868b;--text-tertiary:#6e6e73;--glass-bg:#1c1c1ea6;--glass-border:#ffffff1a;--glass-blur:20px;--nav-height:44px;--ease-apple:cubic-bezier(.25, .1, .25, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Inter,sans-serif;line-height:1.5}.apple-gradient-text{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#fff,#b0b0b0);-webkit-background-clip:text}.apple-blue-text{color:var(--accent-primary)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#333;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.fade-in{animation:fadeIn .8s var(--ease-apple) forwards}.three-bg-container{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;height:60px;transition:all .3s var(--ease-apple);background:transparent}.navbar-scrolled{background:#1c1c1eb3;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(255,255,255,.1)}.nav-container{max-width:1200px;margin:0 auto;padding:0 24px;height:100%;display:flex;align-items:center;justify-content:space-between}.nav-logo{font-size:20px;font-weight:700;color:var(--text-primary);background:none;border:none;cursor:pointer;letter-spacing:-.01em;font-family:SF Pro Display,sans-serif}.nav-links{display:none}@media(min-width:768px){.nav-links{display:flex;align-items:center;gap:32px}}.nav-link{background:none;border:none;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:color .2s;font-family:inherit}.nav-link:hover{color:var(--text-primary)}.nav-link.active{color:var(--accent-primary)}.mobile-menu-btn{display:flex;padding:8px;border-radius:8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.1);color:var(--text-primary);cursor:pointer}@media(min-width:768px){.mobile-menu-btn{display:none}}.mobile-menu{position:fixed;top:60px;left:0;right:0;background:#1c1c1ef2;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(255,255,255,.1);padding:16px 0}.mobile-nav-link{display:block;width:100%;text-align:left;padding:12px 24px;font-size:16px;color:var(--text-secondary);background:none;border:none;cursor:pointer}.mobile-nav-link.active{color:var(--accent-primary);background:#2997ff1a}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:20px;font-weight:500;font-size:15px;letter-spacing:-.01em;cursor:pointer;transition:all .3s var(--ease-apple);border:1px solid transparent;outline:none;font-family:inherit}.btn-primary{background:var(--accent-primary);color:#fff;border:1px solid rgba(255,255,255,.1)}.btn-primary:hover{background:#1a87f0;box-shadow:0 0 15px var(--accent-glow);transform:translateY(-1px)}.btn-secondary{background:#ffffff1a;color:var(--text-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.05)}.btn-secondary:hover{background:#ffffff26;transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--accent-primary);border:1px solid rgba(41,151,255,.3)}.btn-outline:hover{background:#2997ff0d;border-color:var(--accent-primary)}.btn svg{width:18px;height:18px;fill:currentColor}.hero-section{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding-top:var(--nav-height);padding-bottom:60px}.hero-bg-blob{position:absolute;border-radius:50%;filter:blur(100px);opacity:.4;animation:float 10s ease-in-out infinite;z-index:0}.blob-1{top:20%;left:20%;width:400px;height:400px;background:#1a4d80}.blob-2{bottom:20%;right:20%;width:500px;height:500px;background:#2a2a40;animation-delay:-5s}.hero-content{position:relative;z-index:10;width:100%;max-width:1200px;padding:0 40px;display:flex;flex-direction:column-reverse;align-items:center;justify-content:center;gap:40px}@media(min-width:968px){.hero-content{flex-direction:row;justify-content:space-between;text-align:left}}.hero-text{flex:1;display:flex;flex-direction:column;align-items:center;z-index:2}@media(min-width:968px){.hero-text{align-items:flex-start}}.hero-image-container{flex:1;display:flex;justify-content:center;align-items:center;position:relative;z-index:1;perspective:1000px}.hero-image-wrapper{position:relative;padding:12px;background:#ffffff08;border-radius:28px;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 20px 50px #0000004d;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.hero-image-wrapper:hover{transform:translateY(-8px) rotateX(4deg) rotateY(-4deg);box-shadow:0 30px 60px #0006}.hero-image-wrapper:after{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,rgba(97,218,251,.4),transparent 40%,rgba(138,43,226,.4));border-radius:30px;z-index:-1;opacity:.5;filter:blur(20px);transition:opacity .5s ease,filter .5s ease}.hero-image-wrapper:hover:after{opacity:.8;filter:blur(25px)}.hero-img{display:block;width:280px;height:320px;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;border-radius:18px;box-shadow:0 10px 30px #0006;transition:transform .6s cubic-bezier(.2,.8,.2,1)}@media(min-width:968px){.hero-img{width:360px;height:400px}}.hero-title{font-size:48px;line-height:1.1;font-weight:700;letter-spacing:-.015em;color:var(--text-primary);margin-bottom:16px;text-align:center}@media(min-width:968px){.hero-title{font-size:72px;text-align:left}}.hero-subtitle{font-size:20px;font-weight:600;color:var(--accent-primary);margin-bottom:24px;display:block}@media(min-width:968px){.hero-subtitle{font-size:24px}}.hero-description{font-size:18px;line-height:1.6;color:var(--text-secondary);max-width:600px;margin:0 auto 32px;font-weight:400;text-align:center}@media(min-width:968px){.hero-description{margin:0 0 40px;text-align:left;font-size:20px}}.hero-action-group{display:flex;flex-direction:column;align-items:center;gap:24px;width:100%}@media(min-width:968px){.hero-action-group{align-items:flex-start;width:auto}}.hero-buttons{display:flex;flex-direction:column;gap:16px;align-items:center;width:100%}@media(min-width:640px){.hero-buttons{flex-direction:row;justify-content:center;width:auto}}.hero-socials{display:flex;gap:24px;justify-content:center;width:100%}@media(min-width:968px){.hero-action-group{align-items:center;align-self:flex-start}.hero-socials{margin-top:0}}.social-link{color:var(--text-secondary);transition:color .3s,transform .3s}.social-link:hover{color:var(--text-primary);transform:translateY(-2px)}.scroll-indicator{position:absolute;bottom:32px;left:50%;transform:translate(-50%);color:var(--text-tertiary);animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}.hero-typewriter{display:flex;align-items:center;gap:2px;margin-bottom:24px}.typewriter-cursor{display:inline-block;color:var(--accent-primary);font-weight:300;font-size:24px;animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.resume-backdrop{position:fixed;inset:0;background:#000000bf;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.resume-modal{background:#111;border:1px solid rgba(255,255,255,.1);border-radius:1.25rem;width:100%;max-width:860px;height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 32px 80px #000000b3}.resume-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.resume-modal-title{font-size:.9rem;font-weight:600;color:#fffc;letter-spacing:.02em}.resume-modal-actions{display:flex;align-items:center;gap:.75rem}.resume-download-btn{display:flex;align-items:center;gap:.4rem;padding:.45rem 1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:.5rem;color:#fff;font-size:.82rem;text-decoration:none;transition:background .2s}.resume-download-btn:hover{background:#fff3}.resume-close-btn{background:transparent;border:none;color:#fff9;cursor:pointer;padding:.25rem;display:flex;align-items:center;transition:color .2s}.resume-close-btn:hover{color:#fff}.resume-iframe{flex:1;width:100%;border:none;background:#1a1a1a}.glass-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:18px;padding:24px;box-shadow:0 10px 30px #00000080;transition:transform .4s var(--ease-apple),box-shadow .4s var(--ease-apple),background-color .4s}.glass-card-hover:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 20px 40px #0009;background:#28282db3;border-color:#ffffff26}.section-container{padding:100px 24px;max-width:1200px;margin:0 auto}.section-header{text-align:center;margin-bottom:60px}.section-title{font-size:48px;font-weight:700;color:var(--text-primary);margin-bottom:16px;letter-spacing:-.01em}.section-description{font-size:19px;color:var(--text-secondary);max-width:600px;margin:0 auto}.about-content{max-width:800px;margin:0 auto}.about-text{font-size:17px;line-height:1.7;color:var(--text-secondary);margin-bottom:24px}.highlight{color:var(--accent-primary);font-weight:500}.bento-item-wrapper{position:relative;border-radius:20px}.bento-sm{grid-column:span 1;grid-row:span 1}.bento-md{grid-column:span 2;grid-row:span 1}.bento-lg{grid-column:span 2;grid-row:span 2}.bento-wide{grid-column:span 2;grid-row:span 1}.bento-tall{grid-column:span 1;grid-row:span 2}.bento-glass-card{background:#1c1c1e66;height:100%;width:100%;border-radius:24px;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden;cursor:default;box-shadow:0 4px 24px #0000001a;transition:box-shadow .3s ease}.bento-glass-card:hover{box-shadow:0 8px 32px rgba(var(--accent-color),.2);border-color:#ffffff26}.bento-content{z-index:2;display:flex;flex-direction:column;align-items:center;gap:12px}.bento-icon{font-size:3rem;filter:drop-shadow(0 0 10px rgba(0,0,0,.3));transition:transform .3s ease}.bento-glass-card:hover .bento-icon{transform:scale(1.1) rotate(5deg)}.bento-title{font-family:One Plus Sans Display,Inter,sans-serif;font-size:.85rem;font-weight:600;color:#ffffffb3;letter-spacing:1.5px;text-transform:uppercase;text-align:center;margin-top:0;transition:all .3s ease;position:relative;z-index:5}.bento-glass-card:hover .bento-title{color:#fff;text-shadow:0 0 12px var(--accent-color);transform:scale(1.05);letter-spacing:2px}.bento-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,var(--accent-color) 0%,transparent 50%);opacity:0;z-index:1;transform:scale(.5);transition:opacity .5s,transform .5s;filter:blur(40px)}.bento-glass-card:hover .bento-glow{opacity:.15;transform:scale(1)}@media(max-width:768px){.bento-md,.bento-lg,.bento-wide{grid-column:span 1}.bento-tall{grid-row:span 1}.bento-icon{font-size:2.5rem}}.skills-section-bento{padding:100px 5%;position:relative;overflow:hidden}.skills-horizontal-container{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:1400px;margin:0 auto;position:relative;z-index:2;padding:0 20px}.skill-category-group{width:100%;margin-bottom:0;display:flex;flex-direction:column}.category-subtitle{margin-bottom:32px;text-align:center;position:relative;display:flex;justify-content:center}.category-subtitle-text{font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:3px;padding:12px 28px;background:#1c1c1e80;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0003;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:100px;color:#ffffffe6;position:relative;overflow:hidden;transition:all .3s ease}.category-subtitle-text:before{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transform:skew(-20deg);animation:shine 6s infinite}@keyframes shine{0%{left:-100%}20%{left:200%}to{left:200%}}.skill-category-group .bento-grid-container{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:100px;gap:16px;width:100%;margin:0}.skills-bg-glow{position:absolute;width:600px;height:600px;background:radial-gradient(circle,rgba(41,151,255,.08) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;pointer-events:none}@media(max-width:1024px){.skills-horizontal-container{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.skills-horizontal-container{grid-template-columns:1fr;gap:48px}.skill-category-group .bento-grid-container{grid-template-columns:repeat(2,1fr);grid-auto-rows:110px}}@media(max-width:480px){.skill-category-group .bento-grid-container{grid-template-columns:1fr;grid-auto-rows:110px}.bento-wide,.bento-tall,.bento-lg,.bento-md{grid-column:auto;grid-row:auto}}.project-card-container{display:flex;flex-direction:column;height:100%}.project-image-wrapper{position:relative;overflow:hidden;border-radius:12px;margin-bottom:20px;height:220px;background-color:#111}.project-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s var(--ease-apple)}.glass-card-hover:hover .project-image{transform:scale(1.05)}.project-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);opacity:0;transition:opacity .4s var(--ease-apple)}.glass-card-hover:hover .project-overlay{opacity:1}.project-title{font-size:24px;font-weight:600;color:var(--text-primary);margin-bottom:8px;letter-spacing:-.01em}.project-description{color:var(--text-secondary);font-size:15px;line-height:1.6;margin-bottom:20px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex-grow:1}.project-tech-stack{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.tech-badge{padding:4px 10px;font-size:11px;font-weight:600;border-radius:20px;background:#2997ff1a;color:var(--accent-primary);border:1px solid rgba(41,151,255,.2);text-transform:uppercase;letter-spacing:.02em}.project-links{display:flex;gap:12px;margin-top:auto;opacity:1;transition:opacity .3s}.glass-card-hover:hover .project-links{opacity:1}.project-links .h-link{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.2rem;border-radius:12px;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .3s ease;flex:1}.project-links .h-youtube{background:#ff00001a;color:#f33;border:1px solid rgba(255,0,0,.2)}.project-links .h-youtube:hover{background:red;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #f003;border-color:transparent}.project-links .h-github{background:#ffffff0d;color:#fff;border:1px solid rgba(255,255,255,.1)}.project-links .h-github:hover{background:#ffffff1a;transform:translateY(-2px);border-color:#ffffff4d}.project-links .h-deploy{background:#ffffffe6;color:#000}.project-links .h-deploy:hover{background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #fff3}.projects-section-cinematic{padding:70px 5%;min-height:auto}.cinematic-container{display:flex;gap:60px;max-width:1200px;margin:0 auto;align-items:flex-start;height:calc(100vh - 240px);min-height:450px;max-height:600px}.project-list-wrapper{flex:0 0 35%;position:relative;-webkit-mask-image:linear-gradient(to bottom,transparent,black 5%,black 95%,transparent);mask-image:linear-gradient(to bottom,transparent,black 10%,black 90%,transparent)}.project-list{display:flex;flex-direction:column;gap:12px;padding:10px 10px 10px 0;max-height:320px;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain;width:100%}.project-list::-webkit-scrollbar{width:6px;margin-right:4px}.project-list::-webkit-scrollbar-track{background:#ffffff05;border-radius:10px;box-shadow:inset 0 0 5px #0006}.project-list::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#fff3,#2997ff33,#ffffff1a);border-radius:10px;border:1px solid rgba(255,255,255,.15);box-shadow:inset 1px 1px 2px #ffffff4d,0 4px 8px #0006}.project-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ffffff4d,#2997ff66,#fff3);border:1px solid rgba(255,255,255,.25);box-shadow:inset 1px 1px 3px #ffffff80,0 0 10px #2997ff4d}.project-list-item{display:flex;align-items:center;gap:16px;padding:12px;border-radius:12px;cursor:pointer;transition:all .3s ease;border:1px solid transparent;position:relative;overflow:hidden;flex-shrink:0;height:65px;box-sizing:border-box}.project-list-item:hover{background:#ffffff08}.project-list-item.active{background:#2997ff14;border-color:#2997ff33}.project-list-num{font-size:14px;color:var(--text-tertiary);font-family:monospace}.project-list-item.active .project-list-num{color:var(--accent-primary)}.project-list-info{flex:1}.project-list-title{font-size:16px;font-weight:600;color:var(--text-secondary);margin-bottom:2px;transition:color .3s}.project-list-item.active .project-list-title{color:var(--text-primary)}.project-list-tech{font-size:11px;color:var(--text-tertiary)}.project-list-indicator{width:4px;height:0%;background:var(--accent-primary);position:absolute;left:0;top:50%;transform:translateY(-50%);transition:height .3s ease;border-radius:0 4px 4px 0}.project-list-indicator.active{height:60%}.project-preview-stage{flex:1;height:100%;position:relative;perspective:1000px}.preview-card{position:absolute;inset:0;background:#1c1c1e99;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;border:1px solid rgba(255,255,255,.1);overflow:hidden;display:flex;flex-direction:column}.preview-image-wrapper{height:65%;width:100%;position:relative;overflow:hidden}.preview-image-wrapper img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.preview-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(28,28,30,1) 0%,transparent 100%)}.preview-content{padding:30px;flex:1;display:flex;flex-direction:column;justify-content:center}.preview-content h3{font-size:28px;font-weight:700;margin-bottom:12px;background:linear-gradient(90deg,#fff,#ccc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.preview-content p{color:var(--text-secondary);font-size:15px;line-height:1.6;margin-bottom:24px;max-width:90%}.preview-actions{display:flex;gap:16px}.preview-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:12px;font-size:14px;font-weight:500;text-decoration:none;color:var(--text-primary);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);transition:all .2s}.preview-btn:hover{background:#ffffff1a;transform:translateY(-2px)}.preview-btn.primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.preview-btn.primary:hover{box-shadow:0 4px 12px #2997ff4d}.preview-btn.youtube{background:#ff00001a;color:#f33;border:1px solid rgba(255,0,0,.2)}.preview-btn.youtube:hover{background:red;color:#fff;border-color:transparent;box-shadow:0 4px 12px #f003}.visible-mobile{display:none}.hidden-mobile{display:flex}@media(max-width:1024px){.cinematic-container{gap:30px}}@media(max-width:900px){.visible-mobile{display:grid;grid-template-columns:1fr;gap:32px}.hidden-mobile{display:none}.projects-grid{max-width:600px;margin:0 auto}}.projects-tabs{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-bottom:2.5rem;max-width:1200px;margin-left:auto;margin-right:auto}.projects-tab-btn{display:flex;align-items:center;gap:.45rem;padding:.55rem 1.25rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:999px;color:#ffffff8c;font-size:.83rem;font-weight:500;cursor:pointer;transition:all .2s ease}.projects-tab-btn:hover{background:#ffffff14;color:#ffffffd9}.projects-tab-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;box-shadow:0 4px 14px #2997ff4d}.preview-tech-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.2rem}.tech-badge{padding:.25rem .7rem;background:#ffffff12;border:1px solid rgba(255,255,255,.1);border-radius:999px;font-size:.72rem;color:#ffffffa6;font-weight:500}.figma-section{padding:5rem 2rem;max-width:1100px;margin:0 auto}.figma-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.75rem;margin-top:3rem}.figma-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:1.25rem;overflow:hidden;transition:border-color .3s ease,box-shadow .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.figma-card:hover{border-color:#ffffff2e;box-shadow:0 16px 48px #0006}.figma-preview-wrapper{position:relative;overflow:hidden;aspect-ratio:16 / 9}.figma-preview-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .4s ease;display:block}.figma-card:hover .figma-preview-img{transform:scale(1.07)}.figma-overlay{position:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.figma-card:hover .figma-overlay{opacity:1}.figma-link-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:#1e1e1e;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:.5rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:background .2s ease}.figma-link-btn:hover{background:#ffffff26}.figma-card-body{padding:1.25rem}.figma-card-title{font-size:1rem;font-weight:600;color:#fff;margin:0 0 .4rem}.figma-card-desc{font-size:.83rem;color:#ffffff80;margin:0 0 .75rem;line-height:1.5}.figma-external-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:#ffffff73;text-decoration:none;transition:color .2s ease}.figma-external-link:hover{color:#ffffffd9}@media(max-width:640px){.figma-grid{grid-template-columns:1fr}}.hackathons-section{padding:6rem 2rem;max-width:1200px;margin:0 auto;position:relative;z-index:10}.hackathon-tabs{display:flex;justify-content:center;gap:1rem;margin-bottom:4rem;position:relative}.tab-btn{position:relative;padding:.75rem 2rem;background:transparent;border:none;color:#ffffff80;font-size:1rem;font-weight:500;cursor:pointer;transition:color .3s ease;border-radius:30px;outline:none}.tab-btn:hover{color:#fffc}.tab-btn.active{color:#fff}.active-tab-bg{position:absolute;inset:0;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:30px;z-index:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tab-label{position:relative;z-index:1}.hackathons-carousel-container{cursor:grab;overflow:hidden;position:relative;padding:1rem 0 3rem}.hackathons-carousel-container:active{cursor:grabbing}.hackathons-carousel-inner{display:flex;gap:2rem;width:-moz-max-content;width:max-content;padding:0 1rem}.hackathon-card-wrapper{width:380px;min-width:380px;flex-shrink:0;display:flex;flex-direction:column}.carousel-hint{text-align:center;color:#fff6;font-size:.9rem;margin-top:1.5rem;position:absolute;bottom:0;width:100%}.hackathon-card{background:#14141466;border:1px solid rgba(255,255,255,.05);border-radius:24px;overflow:hidden;display:flex;flex-direction:column;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .4s ease,border-color .4s ease;flex-grow:1;height:100%}.hackathon-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px -10px #00000080,0 0 20px #ffffff0d;border-color:#ffffff26}.hackathon-media{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#111}.certificate-image,.slider-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;position:absolute;top:0;left:0}.hackathon-image-slider{position:relative;width:100%;height:100%}.slider-dots{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:6px;z-index:2;background:#0000004d;padding:6px 10px;border-radius:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.slider-dot{width:6px;height:6px;border-radius:50%;background:#ffffff4d;cursor:pointer;transition:all .3s ease}.slider-dot:hover{background:#ffffffb3}.slider-dot.active{background:#fff;transform:scale(1.3)}.hackathon-badge{position:absolute;top:16px;right:16px;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.4rem 1rem;border-radius:20px;font-size:.75rem;font-weight:600;color:#fff;border:1px solid rgba(255,255,255,.1);z-index:2;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 10px #0000004d}.hackathon-content{padding:1.8rem;display:flex;flex-direction:column;flex-grow:1}.hackathon-content h3{margin:0 0 .75rem;font-size:1.3rem;color:#fff;font-weight:600;letter-spacing:-.02em}.hackathon-content p{color:#fff9;font-size:.95rem;line-height:1.6;margin-bottom:2rem;flex-grow:1}.hackathon-links{display:flex;gap:.8rem;margin-top:auto}.h-link{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.2rem;border-radius:12px;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .3s ease;flex:1}.h-deploy{background:#ffffffe6;color:#000}.h-deploy:hover{background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #fff3}.h-github{background:#ffffff0d;color:#fff;border:1px solid rgba(255,255,255,.1)}.h-github:hover{background:#ffffff1a;transform:translateY(-2px);border-color:#ffffff4d}.h-youtube{background:#ff00001a;color:#f33;border:1px solid rgba(255,0,0,.2)}.h-youtube:hover{background:red;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #f003;border-color:transparent}@media(max-width:768px){.hackathon-tabs{flex-wrap:wrap}.hackathons-section{padding:4rem 1rem}.hackathons-carousel-inner{gap:1rem}.hackathon-card-wrapper{width:320px;min-width:320px}.h-link{padding:.6rem}}.certificate-glass-card{height:100%}.certificate-wrapper-new{display:flex;flex-direction:column;height:100%;gap:16px}.certificate-image-container{width:100%;height:180px;border-radius:12px;overflow:hidden;position:relative;background:#1c1c1e;border:1px solid rgba(255,255,255,.05)}.certificate-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s cubic-bezier(.25,.1,.25,1)}.certificate-image-container:hover .certificate-img{transform:scale(1.05)}.certificate-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);background:linear-gradient(135deg,#1c1c1e,#2c2c2e)}.certificate-overlay{position:absolute;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.certificate-image-container:hover .certificate-overlay{opacity:1}.view-btn{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;transition:transform .2s}.view-btn:hover{transform:scale(1.05);background:#ffffff4d}.certificate-content-new{display:flex;flex-direction:column;flex-grow:1}.cert-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px;gap:10px}.certificate-title-new{font-size:18px;font-weight:600;color:var(--text-primary);line-height:1.3}.certificate-date-badge{font-size:12px;background:#2997ff1a;color:var(--accent-primary);padding:2px 8px;border-radius:6px;white-space:nowrap}.certificate-issuer-new{font-size:14px;color:var(--text-secondary);margin-bottom:8px}.certificate-description{font-size:13px;color:var(--text-tertiary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.certificates-section{padding:100px 5%;background-color:transparent;overflow:hidden}.certificates-carousel-container{width:100%;margin-top:50px;position:relative;cursor:grab;overflow:hidden}.certificates-carousel-inner{display:flex;gap:32px;padding:20px 0}.certificate-card-wrapper{min-width:350px;height:420px;position:relative}.carousel-hint{text-align:center;margin-top:20px;color:var(--text-tertiary);font-size:14px;opacity:.6;pointer-events:none}@media(max-width:768px){.certificate-card-wrapper{min-width:280px}}.achievements-section{padding:5rem 2rem;max-width:1100px;margin:0 auto}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.5rem;margin-top:3rem}.achievement-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:1.25rem;text-decoration:none;cursor:pointer;transition:border-color .3s ease,background .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.achievement-card:hover{background:#ffffff12;border-color:var(--accent, rgba(255,255,255,.3));box-shadow:0 0 24px #0000004d,0 0 0 1px var(--accent, rgba(255,255,255,.1))}.achievement-icon{margin-bottom:.25rem;transition:transform .3s ease}.achievement-card:hover .achievement-icon{transform:scale(1.15)}.achievement-value{font-size:2.2rem;font-weight:700;color:#fff;line-height:1}.achievement-label{font-size:.75rem;color:#ffffff80;text-align:center;letter-spacing:.03em}.achievement-title{font-size:.82rem;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.08em}@media(max-width:640px){.achievements-grid{grid-template-columns:repeat(2,1fr)}}.contact-form-container{max-width:600px;margin:0 auto}.form-group{margin-bottom:24px}.form-label{display:block;font-size:15px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.form-input,.form-textarea{width:100%;padding:12px 16px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-primary);font-family:inherit;font-size:16px;transition:all .3s var(--ease-apple);outline:none}.form-textarea{resize:vertical;min-height:120px}.form-input:focus,.form-textarea:focus{background:#ffffff14;border-color:var(--accent-primary);box-shadow:0 0 0 4px #2997ff26}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:var(--text-tertiary)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-tertiary)}.form-submit-wrapper{margin-top:32px;width:100%}.form-submit-wrapper button{width:100%}.form-status{text-align:center;margin-top:16px;font-size:14px}.status-success{color:#32d74b}.status-error{color:#ff453a}.contact-direct{margin-top:48px;padding-top:32px;border-top:1px solid rgba(255,255,255,.1);text-align:center}.contact-email-link{font-size:18px;color:var(--accent-primary);text-decoration:none;font-weight:500;transition:opacity .2s}.contact-email-link:hover{opacity:.8}.footer{padding:60px 24px;border-top:1px solid rgba(255,255,255,.1);background:var(--bg-secondary)}.footer-content{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:32px}.footer-socials{display:flex;gap:24px}.footer-social-link{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#ffffff0d;color:var(--text-secondary);transition:all .3s var(--ease-apple);border:1px solid rgba(255,255,255,.05)}.footer-social-link:hover{background:#ffffff1a;color:var(--text-primary);transform:translateY(-2px)}.footer-copyright{font-size:13px;color:var(--text-tertiary);text-align:center}.back-to-top{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;background:#ffffff0d;color:var(--text-secondary);font-size:13px;cursor:pointer;border:none;transition:all .3s}.back-to-top:hover{background:#ffffff1a;color:var(--text-primary)}.scroll-progress-bar{position:fixed;top:0;left:0;right:0;height:4px;background:var(--accent-primary);transform-origin:0%;z-index:9999;box-shadow:0 0 10px var(--accent-glow)}._overlay_1hx83_6{position:fixed;inset:0;background:#000;z-index:9999;overflow:hidden}._svg_1hx83_14{position:absolute;inset:0;width:100%;height:100%;display:block}._grid_1hx83_25 line{stroke:#ffffff09;stroke-width:.4;opacity:0;animation:_fadeIn_1hx83_1 .6s ease-out forwards}._circles_1hx83_36 circle{fill:none;stroke-width:.6;stroke-dasharray:4 8;opacity:0;transform-box:fill-box;transform-origin:center}._circ0_1hx83_46{stroke:#ffffff0f;stroke-dasharray:4 8;animation:_riseIn_1hx83_1 1.1s ease-out both;animation-delay:.45s}._circ1_1hx83_47{stroke:#ffffff14;stroke-dasharray:3 6;animation:_riseIn_1hx83_1 1.1s ease-out both;animation-delay:.6s}._circ2_1hx83_48{stroke:#ffffff1a;stroke-dasharray:2 5;animation:_riseIn_1hx83_1 1.1s ease-out both;animation-delay:.75s}._circ3_1hx83_49{stroke:#ffffff1f;stroke-dasharray:2 4;animation:_riseIn_1hx83_1 1.1s ease-out both;animation-delay:.9s}._diag1_1hx83_54 line,._diag2_1hx83_55 line,._diag3_1hx83_56 line{opacity:0}._diag1_1hx83_54 line{stroke:#ffffff0e;stroke-width:.5;animation:_fadeIn_1hx83_1 .8s ease-out both}._diag1_1hx83_54 line:nth-child(1){animation-delay:.8s}._diag1_1hx83_54 line:nth-child(2){animation-delay:.95s}._diag2_1hx83_55 line{stroke:#ffffff0a;stroke-width:.4;animation:_fadeIn_1hx83_1 .8s ease-out both}._diag2_1hx83_55 line:nth-child(1){animation-delay:1.05s}._diag2_1hx83_55 line:nth-child(2){animation-delay:1.15s}._diag3_1hx83_56 line{stroke:#ffffff12;stroke-width:.4;animation:_fadeIn_1hx83_1 .7s ease-out both}._diag3_1hx83_56 line:nth-child(1){animation-delay:1.1s}._diag3_1hx83_56 line:nth-child(2){animation-delay:1.2s}._diag3_1hx83_56 line:nth-child(3){animation-delay:1.3s}._frame_1hx83_91 rect{fill:none;stroke:#ffffff21;stroke-width:.8;opacity:0;animation:_fadeIn_1hx83_1 .7s ease-out both}._frame_1hx83_91 rect:nth-child(1){animation-delay:1.8s}._frame_1hx83_91 rect:nth-child(2){animation-delay:2.1s}._letterGroup_1hx83_106{transform-box:fill-box;transform-origin:center;animation-name:_shootUp_1hx83_1,_bob_1hx83_1;animation-duration:1.8s,5.5s;animation-delay:1.5s,3.8s;animation-timing-function:cubic-bezier(.16,1,.3,1),ease-in-out;animation-fill-mode:both,none;animation-iteration-count:1,infinite}._outerR_1hx83_119 path{fill:none;stroke:#ffffffeb;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;animation:_drawStroke_1hx83_1 .6s cubic-bezier(.16,1,.3,1) both}._outerR_1hx83_119 path:nth-child(1){stroke-width:2.5;animation-delay:1.5s}._outerR_1hx83_119 path:nth-child(2){stroke-width:2;animation-delay:1.8s}._outerR_1hx83_119 path:nth-child(3){stroke-width:2.5;animation-delay:2.05s}._outerR_1hx83_119 path:nth-child(4){stroke-width:2;animation-delay:2.35s}._outerR_1hx83_119 path:nth-child(5){stroke-width:2.5;animation-delay:2.55s}._outerR_1hx83_119 path:nth-child(6){stroke-width:1.5;animation-delay:2.75s}._outerR_1hx83_119 path:nth-child(7){stroke-width:1.5;animation-delay:2.85s}._innerR_1hx83_141 path{fill:none;stroke:#ffffff5c;stroke-width:.9;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:_drawStroke_1hx83_1 .6s cubic-bezier(.16,1,.3,1) both}._innerR_1hx83_141 path:nth-child(1){animation-delay:1.65s}._innerR_1hx83_141 path:nth-child(2){animation-delay:1.95s}._innerR_1hx83_141 path:nth-child(3){animation-delay:2.2s}._innerR_1hx83_141 path:nth-child(4){animation-delay:2.5s}._innerR_1hx83_141 path:nth-child(5){animation-delay:2.7s}._innerR_1hx83_141 path:nth-child(6){animation-delay:2.9s}._innerR_1hx83_141 path:nth-child(7){animation-delay:3s}._tagline_1hx83_163{position:absolute;bottom:11%;left:50%;transform:translate(-50%);margin:0;padding:0;font-family:Courier Prime,Courier New,monospace;font-size:11px;letter-spacing:2.5px;text-transform:none;white-space:nowrap;color:#fff0;transition:color .8s ease-out;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}._taglineVisible_1hx83_181{color:#ffffff73}@keyframes _fadeIn_1hx83_1{0%{opacity:0}to{opacity:1}}@keyframes _riseIn_1hx83_1{0%{opacity:0;transform:translateY(70px)}to{opacity:1;transform:translateY(0)}}@keyframes _shootUp_1hx83_1{0%{opacity:0;transform:translateY(55px)}8%{opacity:1}to{opacity:1;transform:translateY(0)}}@keyframes _bob_1hx83_1{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes _drawStroke_1hx83_1{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}
