@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap";:root{--bg-color: #0c0e16;--bg-surface: #111420;--bg-card: rgba(21, 24, 38, .7);--text-primary: #eef2ff;--text-secondary: #94a3b8;--text-muted: #475569;--accent-color: #6366f1;--accent-color-alt: #a855f7;--accent-glow: rgba(99, 102, 241, .28);--accent-glow-alt: rgba(168, 85, 247, .2);--card-border: rgba(255, 255, 255, .06);--card-border-hover: rgba(99, 102, 241, .4);--glass-blur: 18px;--bg-gradient-1: rgba(99,102,241,.12);--bg-gradient-2: rgba(168,85,247,.08);--hero-overlay-1: rgba(12, 14, 22, .97);--hero-overlay-2: rgba(12, 14, 22, .88);--hero-overlay-3: rgba(12, 14, 22, .5);--hero-overlay-4: rgba(12, 14, 22, .08);--hero-overlay-mob-1: rgba(5, 5, 5, .9);--hero-overlay-mob-2: rgba(5, 5, 5, .8);--hero-overlay-mob-3: rgba(5, 5, 5, .7);--modal-overlay: rgba(8, 10, 18, .85);--font-heading: "Plus Jakarta Sans", sans-serif;--font-body: "DM Sans", sans-serif;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px}[data-theme=light]{--bg-color: #f8fafc;--bg-surface: #ffffff;--bg-card: rgba(255, 255, 255, .75);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--accent-color: #4f46e5;--accent-color-alt: #9333ea;--accent-glow: rgba(79, 70, 229, .28);--accent-glow-alt: rgba(147, 51, 234, .2);--card-border: rgba(0, 0, 0, .08);--card-border-hover: rgba(79, 70, 229, .4);--bg-gradient-1: rgba(79, 70, 229, .08);--bg-gradient-2: rgba(147, 51, 234, .05);--hero-overlay-1: rgba(248, 250, 252, .97);--hero-overlay-2: rgba(248, 250, 252, .88);--hero-overlay-3: rgba(248, 250, 252, .5);--hero-overlay-4: rgba(248, 250, 252, .08);--hero-overlay-mob-1: rgba(248, 250, 252, .98);--hero-overlay-mob-2: rgba(248, 250, 252, .96);--hero-overlay-mob-3: rgba(248, 250, 252, .92);--modal-overlay: rgba(248, 250, 252, .85)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--bg-color);background-image:radial-gradient(ellipse 80% 50% at 50% -20%,var(--bg-gradient-1) 0%,transparent 70%),radial-gradient(ellipse 60% 40% at 80% 110%,var(--bg-gradient-2) 0%,transparent 60%);background-attachment:fixed;color:var(--text-primary);font-family:var(--font-body);font-size:16px;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;transition:background-color .4s ease,color .4s ease}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:800;line-height:1.2;letter-spacing:-.02em}a{color:inherit;text-decoration:none}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 2.5rem}.section{padding:7rem 0;position:relative;z-index:10}.title{font-size:clamp(2rem,4vw,3rem);margin-bottom:1rem;text-align:center;color:var(--text-primary);position:relative}.title:after{content:"";display:block;width:48px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--accent-color),var(--accent-color-alt));margin:1rem auto 3rem}.glass-panel{background:var(--bg-card);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:2rem;box-shadow:0 1px #ffffff0a inset,0 16px 48px #00000059;transition:transform .35s cubic-bezier(.22,.68,0,1.2),border-color .3s ease,box-shadow .3s ease}.glass-panel:hover{border-color:var(--card-border-hover);transform:translateY(-6px);box-shadow:0 1px #ffffff0f inset,0 24px 56px #0006,0 0 0 1px #6366f126}.gradient-text{background:linear-gradient(135deg,var(--accent-color) 0%,var(--accent-color-alt) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.4rem;border-radius:var(--radius-sm);font-family:var(--font-heading);font-weight:600;font-size:.95rem;letter-spacing:.01em;cursor:pointer;transition:all .25s ease;border:none}.btn-primary{background:linear-gradient(135deg,var(--accent-color),var(--accent-color-alt));color:#fff;box-shadow:0 4px 20px var(--accent-glow)}.btn-primary:hover{box-shadow:0 6px 28px #6366f173;transform:translateY(-2px) scale(1.02)}.btn-outline{background:#ffffff0a;border:1px solid var(--card-border);color:var(--text-secondary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-outline:hover{border-color:#6366f180;color:var(--text-primary);background:#6366f114;transform:translateY(-2px)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:#6366f159;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.5rem 0;transition:all .3s ease;background:transparent}.navbar.navbar-scrolled{padding:.75rem 0;border-radius:0;border-left:none;border-right:none;border-top:none;background:var(--bg-card);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.navbar-container{max-width:1200px;margin:0 auto;padding:0 2.5rem;display:flex;justify-content:space-between;align-items:center}.navbar-logo{font-family:var(--font-heading);font-size:1.5rem;font-weight:800;text-decoration:none}.navbar-links{display:flex;align-items:center;gap:2rem}.nav-link{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-family:var(--font-heading);font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s ease;background:none;border:none;cursor:pointer;padding:0;opacity:.9}.nav-link:hover{color:var(--accent-color);opacity:1}.portfolio-btn{background:#6366f11a;color:var(--accent-color);padding:.5rem 1rem;border-radius:99px;border:1px solid rgba(99,102,241,.2)}.portfolio-btn:hover{background:var(--accent-color);color:#fff}.navbar-actions{display:flex;align-items:center;gap:1rem}.theme-toggle{background:#ffffff0d;border:1px solid var(--card-border);color:var(--text-primary);width:40px;height:40px;border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:all .3s ease}.theme-toggle:hover{background:#6366f11a;border-color:#6366f14d;color:var(--accent-color);transform:rotate(15deg)}.mobile-menu-btn{display:none;background:none;border:none;color:var(--text-primary);cursor:pointer}.mobile-menu{position:absolute;top:100%;left:1rem;right:1rem;margin-top:.5rem;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.mobile-nav-link{display:flex;align-items:center;gap:.75rem;color:var(--text-primary);font-family:var(--font-heading);font-size:1.1rem;font-weight:600;text-decoration:none;padding:.75rem;border-radius:var(--radius-sm);background:#ffffff05;border:none;cursor:pointer;text-align:left}@media (max-width: 768px){.desktop-only{display:none}.mobile-menu-btn{display:block}}@media (min-width: 769px){.mobile-menu{display:none!important}}.hero-section{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;background-size:cover;background-position:center right;background-repeat:no-repeat}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,var(--hero-overlay-1) 0%,var(--hero-overlay-2) 40%,var(--hero-overlay-3) 65%,var(--hero-overlay-4) 100%);z-index:1}.hero-container{position:relative;z-index:2;display:flex;flex-direction:row;align-items:center;justify-content:flex-start}.hero-content{max-width:680px}.greeting{font-size:.85rem;color:var(--accent-color);margin-bottom:1rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;opacity:.9}.name{font-size:5rem;line-height:1.1;margin-bottom:1rem}.role{font-size:clamp(1.1rem,2.5vw,1.5rem);color:var(--text-secondary);margin-bottom:1.8rem;font-weight:500;line-height:1.6}.summary{font-size:1.05rem;color:var(--text-secondary);margin-bottom:2.5rem;max-width:560px;line-height:1.9}.summary strong{color:#c7d2fe;font-weight:600}.contact-links{display:flex;gap:1rem;flex-wrap:wrap}@media (max-width: 992px){.hero-section{background-position:center center}.hero-overlay{background:linear-gradient(to bottom,var(--hero-overlay-mob-1) 0%,var(--hero-overlay-mob-2) 60%,var(--hero-overlay-mob-3) 100%)}.hero-content{max-width:100%;text-align:center}.contact-links{justify-content:center}}@media (max-width: 768px){.name{font-size:3.2rem}.role{font-size:1.4rem}}.timeline{display:flex;flex-direction:column;gap:2.5rem;position:relative;max-width:900px;margin:0 auto}.timeline:before{content:"";position:absolute;top:0;bottom:0;left:24px;width:2px;background:linear-gradient(to bottom,#6366f166,#a855f71a)}.timeline-item-container{position:relative;padding-left:4.5rem;cursor:pointer}.timeline-icon{position:absolute;left:0;top:1.5rem;width:50px;height:50px;background:#0f1222;border:2px solid var(--accent-color);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2;box-shadow:0 0 20px var(--accent-glow);color:var(--accent-color);transition:all .3s ease}.timeline-item-container:hover .timeline-icon{border-color:var(--accent-color-alt);color:var(--accent-color-alt);box-shadow:0 0 25px var(--accent-glow-alt);transform:scale(1.1)}.timeline-item{padding:1.8rem 2rem;position:relative;transition:all .35s cubic-bezier(.22,.68,0,1.2)}.timeline-item-container:hover .timeline-item{border-color:#6366f166;transform:translate(8px);box-shadow:0 1px #ffffff0f inset,0 24px 56px #0006,0 0 25px #6366f126}.click-invite{position:absolute;top:1rem;right:1.25rem;display:flex;align-items:center;gap:.35rem;font-family:var(--font-heading);font-size:.72rem;font-weight:700;color:var(--accent-color);text-transform:uppercase;letter-spacing:.05em;opacity:.6;transition:all .3s ease}.timeline-item-container:hover .click-invite{opacity:1;color:var(--accent-color-alt);transform:scale(1.05)}.timeline-content .period{font-size:.85rem;color:var(--accent-color);font-family:var(--font-heading);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;display:block;margin-bottom:.25rem}.timeline-content .role{font-size:1.5rem;margin:0;font-weight:700;color:var(--text-primary)}.timeline-content .company{font-size:1.15rem;font-weight:700;margin-bottom:.5rem}.timeline-content .description{color:var(--text-secondary);font-size:.95rem;font-style:italic;margin-bottom:1.25rem;line-height:1.6}.achievements-preview{list-style:none;display:flex;flex-direction:column;gap:.5rem}.achievements-preview li{position:relative;padding-left:1.25rem;font-size:.95rem;color:var(--text-secondary)}.achievements-preview li:before{content:"▹";position:absolute;left:0;color:var(--accent-color);font-weight:700}.achievements-preview li.more-achievements{color:var(--accent-color-alt);font-weight:600;font-size:.85rem;margin-top:.25rem}.achievements-preview li.more-achievements:before{content:"✦";color:var(--accent-color-alt)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080a12d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1.5rem}.tech-modal{width:100%;max-width:900px;max-height:90vh;overflow-y:auto;position:relative;padding:3rem 2.5rem;background:#0d101df0;border:1px solid rgba(99,102,241,.25);box-shadow:0 0 60px #0009,0 0 30px #6366f126 inset}.tech-corner{position:absolute;width:12px;height:12px;border:2px solid var(--accent-color-alt);pointer-events:none}.tech-corner.tl{top:-1px;left:-1px;border-right:none;border-bottom:none}.tech-corner.tr{top:-1px;right:-1px;border-left:none;border-bottom:none}.tech-corner.bl{bottom:-1px;left:-1px;border-right:none;border-top:none}.tech-corner.br{bottom:-1px;right:-1px;border-left:none;border-top:none}.close-btn{position:absolute;top:1.5rem;right:1.5rem;background:#ffffff08;border:1px solid var(--card-border);color:var(--text-secondary);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s ease;z-index:10}.close-btn:hover{background:#ef44441a;border-color:#ef444466;color:#ef4444;transform:rotate(90deg)}.modal-header{border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:1.5rem;margin-bottom:2rem}.modal-period{font-family:var(--font-heading);font-size:.9rem;color:var(--accent-color);font-weight:700;letter-spacing:2px;text-transform:uppercase}.header-company-container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.modal-company{font-size:2.25rem;font-weight:800;margin:.25rem 0}.modal-prod-badge{background:linear-gradient(135deg,#6366f126,#a855f726);border:1px solid rgba(168,85,247,.3);padding:.5rem 1rem;border-radius:50px;display:flex;align-items:center;gap:.5rem;font-family:var(--font-heading);font-size:.8rem;font-weight:700;color:#c084fc;box-shadow:0 0 15px #a855f726}.modal-prod-badge svg{animation:pulse-glow 2s infinite alternate}.modal-role{font-size:1.25rem;font-weight:500;color:var(--text-secondary)}.modal-body-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:2.5rem}.tech-title{font-family:var(--font-heading);font-size:.9rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-primary);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.tech-title:before{content:"//";color:var(--accent-color-alt);font-weight:800}.modal-long-desc{color:var(--text-secondary);font-size:1.05rem;line-height:1.8;margin-bottom:2rem}.modal-achievements{list-style:none;display:flex;flex-direction:column;gap:.8rem}.modal-achievements li{position:relative;padding-left:1.5rem;color:var(--text-primary);font-size:1rem;line-height:1.6}.modal-achievements li:before{content:"▹";position:absolute;left:0;color:var(--accent-color-alt);font-weight:700}.metrics-container{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2rem}.metric-box{background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:var(--radius-md);padding:1.25rem 1.5rem;position:relative;overflow:hidden}.metric-glow{position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(to bottom,var(--accent-color),var(--accent-color-alt))}.metric-val{display:block;font-family:var(--font-heading);font-size:2.2rem;font-weight:800;line-height:1.1;background:linear-gradient(135deg,#ffffff 0%,var(--accent-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.25rem}.metric-lbl{display:block;font-size:.85rem;color:var(--text-secondary);font-weight:500}.tech-status-box{background:#10b9810d;border:1px solid rgba(16,185,129,.15);padding:.75rem 1.25rem;border-radius:var(--radius-sm);display:flex;align-items:center;gap:.75rem}.status-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 10px #10b981;animation:pulse-dot 1.5s infinite}.status-text{font-size:.85rem;color:#34d399;font-weight:600;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em}.tech-pills-container{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.tech-pill{font-family:var(--font-heading);font-size:.72rem;font-weight:600;padding:4px 10px;border-radius:6px;background:#6366f10f;border:1px solid rgba(99,102,241,.12);color:#c7d2fe;transition:all .25s ease;cursor:default}.tech-pill:hover{background:#6366f126;border-color:#6366f166;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #6366f126}@keyframes pulse-glow{0%{transform:scale(1);filter:drop-shadow(0 0 2px rgba(168,85,247,.4))}to{transform:scale(1.15);filter:drop-shadow(0 0 8px rgba(168,85,247,.8))}}@keyframes pulse-dot{0%{transform:scale(.9);opacity:.6}50%{transform:scale(1.2);opacity:1}to{transform:scale(.9);opacity:.6}}@media (max-width: 900px){.modal-body-grid{grid-template-columns:1fr;gap:2rem}.tech-modal{padding:2rem 1.5rem}}@media (max-width: 768px){.timeline:before{left:20px}.timeline-icon{width:40px;height:40px;left:0}.timeline-item-container{padding-left:3.5rem}.timeline-item{padding:1.5rem}.modal-company{font-size:1.8rem}}.skills-layout{display:flex;flex-direction:column;gap:3.5rem;max-width:1100px;margin:0 auto}.skills-category-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;border-bottom:1px solid var(--card-border);padding-bottom:.75rem}.cat-icon{color:var(--accent-color-alt)}.skills-category-title{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.skills-carousel-wrapper{position:relative;display:flex;align-items:center;width:100%}.skills-grid{display:flex;gap:1.25rem;overflow-x:auto;scroll-behavior:smooth;padding:1rem .5rem 1.5rem;margin:-1rem -.5rem -1.5rem;-ms-overflow-style:none;scrollbar-width:none;width:100%}.skills-grid::-webkit-scrollbar{display:none}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:36px;height:36px;border-radius:50%;background:var(--bg-card);border:1px solid var(--card-border);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 12px #0003}.carousel-btn:hover{background:#6366f126;border-color:var(--accent-color);color:var(--accent-color)}.prev-btn{left:-18px}.next-btn{right:-18px}.skill-card{min-width:170px;max-width:170px;flex-shrink:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1rem 1.5rem;gap:.8rem;cursor:default;overflow:visible}.skill-badge{position:absolute;top:-10px;right:10px;font-family:var(--font-heading);font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:99px;white-space:nowrap;pointer-events:none;z-index:5}.badge-expert{background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;box-shadow:0 2px 12px #6366f180}.badge-mid{background:linear-gradient(135deg,#10b981,#06b6d4);color:#fff;box-shadow:0 2px 12px #10b98166}.skill-icon{color:var(--text-secondary);transition:color .3s ease;margin-top:.5rem}.card-expert:hover{border-color:#6366f166!important;box-shadow:0 1px #ffffff0f inset,0 24px 56px #0006,0 0 25px #6366f14d!important}.card-expert:active{transform:translateY(-2px) scale(.97)!important;box-shadow:0 1px #ffffff0f inset,0 12px 28px #0000004d,0 0 35px #6366f180!important}.card-expert:hover .skill-icon{color:#a5b4fc}.card-mid:hover{border-color:#10b98166!important;box-shadow:0 1px #ffffff0f inset,0 24px 56px #0006,0 0 25px #10b9814d!important}.card-mid:active{transform:translateY(-2px) scale(.97)!important;box-shadow:0 1px #ffffff0f inset,0 12px 28px #0000004d,0 0 35px #10b98180!important}.card-mid:hover .skill-icon{color:#6ee7b7}.skill-name{font-size:1rem;font-weight:600;color:var(--text-primary);line-height:1.3}.skill-years{font-family:var(--font-heading);font-weight:700;font-size:.82rem;opacity:.85}@media (max-width: 600px){.skills-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1rem}}.edu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:900px;margin:0 auto}.edu-card{display:flex;align-items:flex-start;gap:1.5rem;padding:2.5rem 2rem}.edu-icon{color:var(--accent-color);background:#6366f11a;padding:1rem;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.edu-content{display:flex;flex-direction:column;gap:.5rem}.edu-period{font-family:var(--font-heading);font-weight:800;font-size:1rem;letter-spacing:1px}.edu-degree{font-size:1.3rem;color:var(--text-primary);line-height:1.3}.edu-inst{font-size:1rem;color:var(--text-secondary);font-weight:400}.courses-section{margin-top:4rem}.courses-header{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.05)}.courses-header-icon{color:var(--accent-color-alt)}.courses-title{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.course-card{display:flex;flex-direction:column;gap:.85rem;padding:1.5rem;cursor:default;border-radius:var(--radius-md)}.course-platform{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-heading);font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;border-radius:99px;border:1px solid;align-self:flex-start}.course-name{font-family:var(--font-heading);font-size:.97rem;font-weight:700;color:var(--text-primary);line-height:1.4}.course-desc{font-size:.85rem;color:var(--text-secondary);line-height:1.65;flex-grow:1}.level-bar-container{display:flex;flex-direction:column;gap:.4rem;margin-top:.25rem}.level-bar-header{display:flex;justify-content:space-between;align-items:center}.level-label{font-family:var(--font-heading);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:99px}.level-pct{font-family:var(--font-heading);font-size:.75rem;font-weight:700}.level-bar-track{width:100%;height:4px;background:#ffffff0f;border-radius:99px;overflow:hidden}.level-bar-fill{height:100%;border-radius:99px;box-shadow:0 0 8px currentColor}.course-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.04);padding-top:.85rem;margin-top:.25rem}.course-stars{display:flex;gap:2px}.star-filled{color:#fbbf24;fill:#fbbf24}.star-empty{color:#ffffff26}.course-year{font-family:var(--font-heading);font-size:.75rem;font-weight:600;color:var(--text-muted)}@media (max-width: 768px){.courses-grid{grid-template-columns:1fr}}.portfolio-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;z-index:1001;padding:2rem}.portfolio-modal-content::-webkit-scrollbar,.tech-detail-modal::-webkit-scrollbar{width:6px;height:6px}.portfolio-modal-content::-webkit-scrollbar-track,.tech-detail-modal::-webkit-scrollbar-track{background:transparent;margin:16px}.portfolio-modal-content::-webkit-scrollbar-thumb,.tech-detail-modal::-webkit-scrollbar-thumb{background:#6366f159;border-radius:8px}.portfolio-modal-content::-webkit-scrollbar-thumb:hover,.tech-detail-modal::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}.portfolio-modal-content{width:100%;max-width:1100px;max-height:85vh;overflow-y:auto;overflow-x:hidden;position:relative;padding:3.5rem 3rem;background:var(--bg-surface);border:1px solid var(--card-border);box-shadow:0 0 60px #00000026,0 0 30px #6366f10d inset}.portfolio-tech-corner{position:absolute;width:14px;height:14px;border:2px solid var(--accent-color-alt);pointer-events:none;z-index:10}.portfolio-tech-corner.tl{top:-1px;left:-1px;border-right:none;border-bottom:none}.portfolio-tech-corner.tr{top:-1px;right:-1px;border-left:none;border-bottom:none}.portfolio-tech-corner.bl{bottom:-1px;left:-1px;border-right:none;border-top:none}.portfolio-tech-corner.br{bottom:-1px;right:-1px;border-left:none;border-top:none}.portfolio-close-btn,.project-close-btn{position:absolute;top:1.5rem;right:1.5rem;background:#ffffff08;border:1px solid var(--card-border);color:var(--text-secondary);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s ease;z-index:20}.portfolio-close-btn:hover,.project-close-btn:hover{background:#ef44441a;border-color:#ef444466;color:#ef4444;transform:rotate(90deg)}.portfolio-header{border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:2rem;margin-bottom:2.5rem}.portfolio-meta{font-family:var(--font-heading);font-size:.9rem;color:var(--accent-color);font-weight:700;letter-spacing:2px;text-transform:uppercase;display:block;margin-bottom:.25rem}.portfolio-title{font-size:2.5rem;font-weight:800;margin:0}.portfolio-desc{color:var(--text-secondary);font-size:1.05rem;margin-top:.75rem;max-width:800px;line-height:1.6}.portfolio-desc strong{color:#c7d2fe}.portfolio-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.portfolio-tab{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-heading);font-size:.78rem;font-weight:600;letter-spacing:.02em;padding:.5rem 1rem;border-radius:99px;border:1px solid var(--card-border);background:#ffffff05;color:var(--text-secondary);cursor:pointer;transition:all .25s ease}.portfolio-tab:hover{border-color:#6366f14d;color:var(--text-primary);background:#6366f10f}.portfolio-tab.tab-active{background:linear-gradient(135deg,#6366f12e,#a855f72e);border-color:#6366f173;color:#fff;box-shadow:0 0 14px #6366f133}.portfolio-tab.tab-active svg{color:var(--accent-color-alt)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.75rem}.portfolio-card{cursor:pointer;overflow:hidden;padding:0;display:flex;flex-direction:column;height:100%}.portfolio-card-img-container{position:relative;width:100%;height:180px;overflow:hidden;border-bottom:1px solid var(--card-border)}.portfolio-card-img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,.68,0,1.2)}.portfolio-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0c0e16e6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;opacity:0;transition:opacity .3s ease;z-index:5}.portfolio-card-overlay svg{color:var(--accent-color);animation:bounce-invite 1.5s infinite alternate}.portfolio-card-overlay span{font-family:var(--font-heading);font-size:.75rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.05em}.portfolio-card:hover .portfolio-card-img{transform:scale(1.08)}.portfolio-card:hover .portfolio-card-overlay{opacity:1}.portfolio-card-content{padding:1.5rem;display:flex;flex-direction:column;flex-grow:1;gap:.6rem}.portfolio-card-title{font-size:1.15rem;font-weight:700;color:var(--text-primary);line-height:1.4}.portfolio-card-desc{font-size:.9rem;color:var(--text-secondary);line-height:1.5;flex-grow:1}.portfolio-card-techs{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0}.portfolio-card-tech{font-family:var(--font-heading);font-size:.65rem;font-weight:600;padding:2px 7px;border-radius:4px;background:#6366f10d;border:1px solid rgba(99,102,241,.12);color:var(--accent-color)}.portfolio-card-tech-more{font-family:var(--font-heading);font-size:.65rem;font-weight:700;padding:2px 7px;border-radius:4px;background:#a855f714;border:1px solid rgba(168,85,247,.15);color:var(--accent-color-alt)}.portfolio-card-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.05);padding-top:1rem;margin-top:.5rem;font-size:.8rem}.portfolio-duration{color:var(--text-secondary);display:flex;align-items:center;gap:.35rem}.portfolio-link-text{color:var(--accent-color);font-family:var(--font-heading);font-weight:700;display:flex;align-items:center;gap:.15rem;text-transform:uppercase;letter-spacing:.02em}.portfolio-card:hover .portfolio-link-text{color:var(--accent-color-alt)}.project-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;z-index:1002;padding:2rem}.tech-detail-modal{width:100%;max-width:950px;max-height:90vh;overflow-y:auto;overflow-x:hidden;position:relative;padding:3.5rem 3rem;background:var(--bg-surface);border:1px solid var(--accent-glow-alt);box-shadow:0 0 70px #00000026,0 0 35px var(--accent-glow-alt) inset}.project-detail-body{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem}.project-visuals-col{display:flex;flex-direction:column;gap:1.5rem}.project-main-image-container{width:100%;aspect-ratio:16/10;border-radius:var(--radius-md);border:1px solid var(--card-border);overflow:hidden;background:#0003}.project-main-image{width:100%;height:100%;object-fit:cover}.project-gallery-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.gallery-thumb{aspect-ratio:16/10;border-radius:var(--radius-sm);border:1px solid var(--card-border);overflow:hidden;cursor:pointer;position:relative;transition:all .25s ease}.gallery-thumb img{width:100%;height:100%;object-fit:cover}.thumb-glow{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid transparent;border-radius:var(--radius-sm);transition:all .25s ease;pointer-events:none}.gallery-thumb:hover{transform:translateY(-2px);border-color:#6366f166}.gallery-thumb.active{border-color:var(--accent-color);box-shadow:0 0 12px var(--accent-glow)}.gallery-thumb.active .thumb-glow{border-color:var(--accent-color)}.detail-duration-box{background:#ffffff05;border:1px solid var(--card-border);padding:1rem 1.25rem;border-radius:var(--radius-md);display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--text-secondary)}.detail-duration-box strong{font-family:var(--font-heading);font-weight:700;font-size:1rem}.project-info-col{display:flex;flex-direction:column}.project-detail-meta{font-family:var(--font-heading);font-size:.82rem;color:var(--accent-color-alt);font-weight:700;letter-spacing:2px;text-transform:uppercase}.project-detail-title{font-size:2rem;font-weight:800;line-height:1.2;margin:.25rem 0 1.5rem}.project-detail-long-desc{color:var(--text-secondary);font-size:1.05rem;line-height:1.8;margin-bottom:2rem}.project-timeline{display:flex;flex-direction:column;gap:1.5rem;position:relative;padding-left:1.75rem;margin-top:1rem}.project-timeline:before{content:"";position:absolute;top:0;bottom:0;left:9px;width:2px;background:linear-gradient(to bottom,var(--accent-color) 0%,rgba(168,85,247,.15) 100%)}.project-timeline-item{display:flex;gap:1rem;position:relative}.project-timeline-node{position:absolute;left:-27px;width:20px;height:20px;border-radius:50%;background:#0f1222;border:2px solid var(--accent-color);z-index:5;display:flex;align-items:center;justify-content:center;color:var(--accent-color);box-shadow:0 0 10px var(--accent-glow)}.project-timeline-node svg{width:10px;height:10px}.project-timeline-item:hover .project-timeline-node{border-color:var(--accent-color-alt);color:var(--accent-color-alt);box-shadow:0 0 12px var(--accent-glow-alt)}.project-timeline-content{display:flex;flex-direction:column;gap:.2rem;background:#ffffff03;border:1px solid rgba(255,255,255,.03);padding:.75rem 1rem;border-radius:var(--radius-sm);width:100%}.pt-header{display:flex;justify-content:space-between;align-items:center}.pt-phase{font-family:var(--font-heading);font-weight:700;font-size:.85rem;color:var(--text-primary)}.pt-duration{font-family:var(--font-heading);font-size:.75rem;color:var(--accent-color-alt);font-weight:700}.pt-desc{font-size:.82rem;color:var(--text-secondary);line-height:1.5}.portfolio-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5rem 2rem;gap:1.5rem}.portfolio-spinner{width:48px;height:48px;border:3px solid rgba(99,102,241,.1);border-top-color:var(--accent-color);border-radius:50%;animation:spin .8s linear infinite;box-shadow:0 0 24px #6366f126}.portfolio-loading-text{color:var(--text-secondary);font-family:var(--font-heading);font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;animation:pulse-loading 1.5s ease-in-out infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-loading{0%,to{opacity:.5}50%{opacity:1}}@keyframes bounce-invite{0%{transform:translateY(0)}to{transform:translateY(-4px)}}@media (max-width: 900px){.project-detail-body{grid-template-columns:1fr;gap:2.5rem}.portfolio-modal-content,.tech-detail-modal{padding:2.5rem 1.5rem}}@media (max-width: 600px){.portfolio-modal-overlay{padding:.5rem}.portfolio-modal-content,.tech-detail-modal{padding:1.5rem .75rem}.portfolio-grid{grid-template-columns:1fr}.project-gallery-thumbs{grid-template-columns:repeat(2,1fr)}.portfolio-title{font-size:1.6rem}.portfolio-tabs{gap:.35rem}.portfolio-tab{font-size:.7rem;padding:.35rem .7rem}}
