@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap);.skills-list.icons{grid-gap:18px;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.skill-pill{grid-gap:12px;background:linear-gradient(180deg,#ffffff08,#0000002e);border:1px solid color-mix(in srgb,var(--border-color),#0000 40%);border-radius:18px;color:var(--text-primary);display:grid;grid-template-columns:36px 1fr;min-height:56px;overflow:hidden;padding:14px 16px;position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}.skill-pill:before{background:linear-gradient(180deg,#ffffff0f,#0000);content:"";height:40%;inset:0 0 auto 0;pointer-events:none;position:absolute}.skill-pill:hover{background:linear-gradient(180deg,#ffffff0d,#00000029);border-color:color-mix(in srgb,var(--border-color),#fff 18%);box-shadow:0 10px 24px #00000052}.skill-pill:active{transform:translateY(0)}.skill-icon{background:#ffffff0f;border:1px solid color-mix(in srgb,var(--border-color),#0000 25%);border-radius:999px;box-shadow:inset 0 1px 0 #ffffff0d,0 2px 6px #00000040;display:grid;font-size:1.1rem;height:36px;opacity:.95;place-items:center;width:36px}.skill-label{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;line-height:1.25}.skill-pill[data-accent] .skill-icon{border-color:color-mix(in srgb,var(--border-color),currentColor 25%);color:attr(data-accent color,currentColor)}.skill-pill[data-accent]:hover{box-shadow:0 10px 28px color-mix(in srgb,currentColor,#0000 75%),0 6px 22px #00000059}@media (max-width:600px){.skills-list.icons{gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.skill-pill{min-height:52px;padding:12px 14px}.skill-icon{font-size:1rem;height:32px;width:32px}}@media (max-width:380px){.skills-list.icons{grid-template-columns:repeat(2,1fr)}}.tl{list-style:none;margin:2rem 0 0;padding:0;position:relative}.tl:before{background:linear-gradient(180deg,#6366f1e6,#ec4899b3,#14b8a6b3);bottom:0;content:"";left:42px;opacity:.75;position:absolute;top:0;width:2px}.tl-item{grid-gap:16px;align-items:flex-start;display:grid;gap:16px;grid-template-columns:84px 1fr;margin-bottom:26px;opacity:0;transform:translateY(10px);transition:opacity .45s ease,transform .45s ease}.tl-item.in{opacity:1;transform:none}.tl-marker{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:16px;box-shadow:0 6px 18px #00000059;display:grid;height:68px;place-items:center;position:relative;width:68px}.tl-emoji{font-size:1.25rem}.tl-meta{color:var(--text-secondary);font-weight:600;margin-top:4px}.tl-date{color:var(--primary);display:block;font-size:.95rem}.tl-location{display:block;font-size:.85rem;opacity:.9}.tl-card{background:var(--surface);border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 8px 24px #00000059;grid-column:2/-1;padding:16px 18px}.tl-title{color:var(--primary);font-size:1.15rem;margin:0 0 4px}.tl-sub{color:var(--text-secondary);font-weight:600}.tl-sub,.tl-summary{margin:0 0 .5rem}.tl-points{margin:.5rem 0 0;padding-left:1.2rem}.tl-points li{margin:.35rem 0}.tl-points li::marker{color:var(--secondary)}@media (min-width:900px){.tl{margin-left:0}.tl:before{left:50%;transform:translateX(-1px)}.tl-item{gap:24px;grid-template-columns:1fr 80px 1fr}.tl-marker{grid-column:2/3;height:56px;justify-self:center;width:56px}.tl-item:nth-child(odd) .tl-card,.tl-item:nth-child(odd) .tl-meta{grid-column:1/2;text-align:right}.tl-item:nth-child(2n) .tl-card,.tl-item:nth-child(2n) .tl-meta{grid-column:3/4}}:root{--bg:#121212;--surface:#1f1f1f;--text-primary:#e0e0e0;--text-secondary:#a3a3a3;--primary:#f5f5f5;--primary-variant:#bdbdbd;--secondary:#9e9e9e;--border-color:#2c2c2c;--shadow:#000000b3}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{background:#121212;background:var(--bg);color:#e0e0e0;color:var(--text-primary);font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;overflow-x:hidden}body:before{animation:floatBg 28s linear infinite}body:after,body:before{background:radial-gradient(60vmax 60vmax at 15% 10%,#6366f140,#0000 60%),radial-gradient(50vmax 50vmax at 85% 0,#ec489938,#0000 55%),radial-gradient(45vmax 45vmax at 50% 95%,#14b8a633,#0000 60%);content:"";filter:blur(8px) saturate(110%);inset:-25% -10%;pointer-events:none;position:fixed;z-index:-1}body:after{animation:floatBg 40s linear infinite;mix-blend-mode:screen;opacity:.6}a{color:#f5f5f5;color:var(--primary);text-decoration:none;transition:color .25s ease}a:hover{color:#bdbdbd;color:var(--primary-variant)}ul{list-style:none}.container{margin-inline:auto;padding-inline:2rem;position:relative;width:min(1200px,100%);z-index:auto}.section{animation:fadeInUp .8s ease-out both;padding-block:80px;scroll-margin-top:80px}.section h2{color:#f5f5f5;color:var(--primary);font-size:clamp(28px,4vw,40px);font-weight:800;margin-bottom:1.5rem;text-align:center}.navbar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1010108c;display:flex;justify-content:space-between;left:0;padding-block:14px;padding-inline:max(24px,calc(50vw - 600px));position:fixed;right:0;top:0;width:100vw;z-index:2000}.navbar .container{max-width:none;padding:0}.logo img{height:40px;width:auto}.desktop-menu ul{display:flex;gap:2.5rem}.desktop-menu a{color:#fff;font-weight:600;position:relative;transition:color .25s}.desktop-menu a:after{background:#fff;bottom:-4px;content:"";height:2px;left:0;opacity:.9;position:absolute;transition:width .25s;width:0}.desktop-menu a:hover:after{width:100%}.mobile-toggle{background:none;border:0;color:#fff;cursor:pointer;display:none;z-index:2100}.mobile-menu{background:#1f1f1f;background:var(--surface);box-shadow:0 8px 20px #000000b3;box-shadow:0 8px 20px var(--shadow);inset-inline:0;max-height:0;overflow:hidden;position:absolute;top:100%;transition:max-height .3s ease-out}.mobile-menu.open{max-height:400px}.mobile-menu ul{display:flex;flex-direction:column}.mobile-menu a{border-bottom:1px solid #2c2c2c;border-bottom:1px solid var(--border-color);color:#f5f5f5;color:var(--primary);display:block;font-weight:600;padding:1rem 2rem;transition:background .2s}.mobile-menu a:hover{background:#121212;background:var(--bg)}@media (max-width:768px){.desktop-menu{display:none}.mobile-toggle{display:block}}@media (min-width:769px){.desktop-menu{display:block}.mobile-toggle{display:none}.mobile-menu{display:none!important}}#hero{animation:fadeInUp .8s ease-out both;overflow:hidden;padding:clamp(110px,20vh,240px) 2rem 120px;position:relative;text-align:center}#hero h1{color:#f5f5f5;color:var(--primary);font-size:clamp(42px,8vw,86px);font-weight:800;letter-spacing:-.02em;margin-bottom:12px}#hero p{color:#a3a3a3;color:var(--text-secondary);font-size:clamp(16px,2.2vw,22px);margin:1rem 0 2rem}.gradient-text{animation:shimmer 12s linear infinite;background:linear-gradient(90deg,#fff,#dbeafe 25%,#a5b4fc 50%,#f0abfc 75%,#fff);-webkit-background-clip:text;background-clip:text;background-size:200% 100%;color:#0000}.hero-buttons{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.btn{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;box-shadow:0 2px 8px #00000040;color:#e8eaf2;display:inline-flex;font-weight:600;gap:10px;padding:12px 18px;position:relative;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease}.btn:hover{background:#ffffff1a;box-shadow:0 10px 24px #00000059;transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn:focus-visible{outline:3px solid #60a5fa;outline-offset:2px}.btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6 45%,#ec4899);border:none;color:#fff}.btn-primary:hover{filter:brightness(1.05)}.btn-outline{background:#0000;border:1px solid #ffffff47}.hero-buttons a{background:#bdbdbd;background:var(--primary-variant);border-radius:999px;box-shadow:0 5px 15px #000000b3;box-shadow:0 5px 15px var(--shadow);color:#121212;color:var(--bg);font-weight:600;margin:0 .75rem;padding:.75rem 1.75rem;transition:background .25s,transform .25s}.hero-buttons a:hover{background:#f5f5f5;background:var(--primary);transform:translateY(-3px) scale(1.05)}#about{background:#0000}.about-wrap{grid-gap:clamp(16px,3vw,32px);align-items:center;display:grid;gap:clamp(16px,3vw,32px);grid-template-columns:minmax(160px,260px) 1fr}.about-photo{background:#ffffff0a;border:1px solid #ffffff14;border-radius:20px;box-shadow:0 10px 24px #00000059,inset 0 1px 0 #ffffff0d;margin:0 auto;max-width:clamp(140px,18vw,240px);overflow:visible;padding:8px;position:relative}.about-photo img{aspect-ratio:6/12;border-radius:14px;box-shadow:0 10px 24px #00000059;display:block;height:auto;object-fit:cover;width:100%}.about-photo:before{background:radial-gradient(200px 160px at 25% 25%,#6366f166,#0000 60%),radial-gradient(200px 160px at 75% 75%,#ec489959,#0000 60%);border-radius:24px;content:"";filter:blur(16px) saturate(110%);inset:-12%;opacity:.5;pointer-events:none;position:absolute;z-index:-1}.about-panel{background:linear-gradient(180deg,#ffffff0f,#ffffff08);border:1px solid #ffffff1a;border-radius:24px;box-shadow:0 12px 40px #00000059,inset 0 1px 0 #ffffff0f;margin:0 auto;max-width:980px;overflow:hidden;padding:clamp(22px,3vw,32px);position:relative}.about-panel:after{background:radial-gradient(600px 100px at 50% -40px,#6366f140,#0000 60%);border-radius:inherit;content:"";inset:-2px;pointer-events:none;position:absolute}.about-title{color:#f5f5f5;color:var(--primary);font-weight:800;letter-spacing:-.02em;margin-bottom:14px;text-align:left}.about-lead,.about-text{color:#fff;font-size:clamp(16px,1.25vw,18px);line-height:1.8;opacity:.95}.about-lead{font-weight:600;margin-top:14px}.about-subtitle{color:#fff;font-weight:700;letter-spacing:.2px;margin-top:18px}.about-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.stat-chip{align-items:center;background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;box-shadow:0 2px 8px #00000040;color:#fff;display:inline-flex;font-weight:700;gap:8px;letter-spacing:.2px;padding:8px 12px;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.stat-chip:hover{background:#ffffff1f;border-color:#ffffff2e;box-shadow:0 8px 18px #00000047;transform:translateY(-1px)}.about-meta{align-items:center;gap:18px;margin-top:18px}.about-meta,.badges{display:flex;flex-wrap:wrap}.badges{gap:10px}.badge{align-items:center;background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;box-shadow:0 2px 8px #00000040;color:#fff;display:inline-flex;font-weight:600;gap:8px;letter-spacing:.2px;padding:8px 12px;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.badge:hover{background:#ffffff1f;border-color:#ffffff2e;box-shadow:0 8px 18px #00000047;transform:translateY(-1px)}.badge .dot{background:linear-gradient(135deg,#22d3ee,#6366f1);border-radius:999px;box-shadow:inset 0 0 0 2px #ffffff1f;height:8px;width:8px}@media (max-width:900px){.about-wrap{grid-template-columns:1fr;text-align:left}.about-photo{max-width:clamp(120px,42vw,180px)}}@media (max-width:640px){.about-title{text-align:center}.about-lead,.about-text{text-align:left}.about-meta{justify-content:flex-start}}#skills{background:#0000;padding:2rem;text-align:center}.skills-list.icons{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));width:100%}.skill-pill{align-items:center;background:#191b1f;border:1px solid #ffffff14;border-radius:14px;box-shadow:0 2px 8px #00000040;color:#f5f7fb;display:flex;gap:12px;padding:12px 16px;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease}.skill-pill:hover{background:#20232a;border-color:#ffffff24;box-shadow:0 8px 24px #00000047;transform:translateY(-2px)}.skill-pill:focus-visible{outline:3px solid #60a5fa;outline-offset:2px}.skill-icon{flex:0 0 auto;font-size:1.25rem;opacity:.9}.skill-label{font-weight:600;letter-spacing:.2px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:480px){.skills-list.icons{gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.skill-pill{padding:10px 12px}.skill-label{font-size:.95rem}}#experience{background:#0000;padding:2rem;position:relative}#experience .job-entry{animation:fadeInUp 1.2s ease-out both;border-bottom:1px solid #2c2c2c;border-bottom:1px solid var(--border-color);margin-bottom:2.5rem;padding-bottom:2.5rem;position:relative;z-index:2}#experience .job-entry:last-child{border:none}#experience .job-entry h3{color:#f5f5f5;color:var(--primary);font-size:1.75rem}#experience .job-entry p{color:#a3a3a3;color:var(--text-secondary);margin:.5rem 0}#experience .job-entry ul li{margin-bottom:.75rem;margin-left:1.5rem;padding-left:1rem;position:relative}#experience .job-entry ul li:before{color:#9e9e9e;color:var(--secondary);content:"▹";left:0;position:absolute}#projects{background:#0000;padding:2rem}.projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.project-card{animation:fadeInUp 1s ease-out both;background:#1f1f1f;background:var(--surface);border-radius:20px;box-shadow:0 8px 30px #000000b3;box-shadow:0 8px 30px var(--shadow);opacity:0;padding:2.5rem;transform:translateY(20px);will-change:transform}.project-card:hover{transform:translateY(-10px)}.project-tech{color:#a3a3a3;color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.project-card .btn,.project-card button{background:#bdbdbd;background:var(--primary-variant);border:0;border-radius:9999px;box-shadow:0 5px 20px #000000b3;box-shadow:0 5px 20px var(--shadow);color:#121212;color:var(--bg);font-weight:600;margin-top:1.5rem;padding:.75rem 1.8rem;transition:transform .25s,background .25s}.project-card .btn:hover,.project-card button:hover{background:#f5f5f5;background:var(--primary);transform:translateY(-3px) scale(1.03)}.modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;display:flex;inset:0;justify-content:center;position:fixed;z-index:3000}.modal-content{animation:fadeInUp .25s ease-out both;background:#1f1f1f;background:var(--surface);border-radius:16px;box-shadow:0 10px 40px #000000b3;box-shadow:0 10px 40px var(--shadow);max-width:700px;padding:2.5rem;position:relative;width:92%;z-index:3001}.modal-content h3{color:#f5f5f5;color:var(--primary);margin-bottom:1rem}.modal-content ul{margin-top:.75rem}.modal-content ul li{color:#e0e0e0;color:var(--text-primary);margin-bottom:.75rem}.modal-close,.modal-content button{align-items:center;background:#d1d5db;border:0;border-radius:999px;box-shadow:0 2px 8px #00000040;color:#111827;display:inline-flex;font-weight:700;justify-content:center;margin-top:1.25rem;padding:.65rem 1.4rem;transition:transform .18s ease,filter .18s ease}.modal-close:hover,.modal-content button:hover{filter:brightness(.98);transform:translateY(-2px)}.modal-close:active,.modal-content button:active{transform:none}.modal-close:focus-visible,.modal-content button:focus-visible{outline:3px solid #60a5fa;outline-offset:2px}#contact{background:#0000;padding:4rem 2rem}.contact-form{grid-gap:1rem;display:grid;gap:1rem;margin-inline:auto;max-width:500px}#contact input,textarea{animation:fadeInUp .4s ease both;background:#121212;background:var(--bg);border:1px solid #2c2c2c;border:1px solid var(--border-color);border-radius:8px;color:#e0e0e0;color:var(--text-primary);padding:1rem}#contact button{animation:fadeInUp .45s ease both;background:#bdbdbd;background:var(--primary-variant);border:0;border-radius:30px;box-shadow:0 5px 20px #000000b3;box-shadow:0 5px 20px var(--shadow);color:#121212;color:var(--bg);font-weight:600;padding:.75rem 1.8rem;transition:transform .25s,background .25s}#contact button:hover{background:#f5f5f5;background:var(--primary);transform:translateY(-3px) scale(1.03)}footer{background:#1f1f1f;background:var(--surface);color:#a3a3a3;color:var(--text-secondary);padding:1rem 0;text-align:center}footer p{font-size:.9rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:0 50%}to{background-position:200% 50%}}@keyframes floatBg{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition:none!important}}@media (prefers-color-scheme:light){.skill-pill{background:#fff;border:1px solid #e5e7eb;box-shadow:0 2px 8px #11182714;color:#111827}.skill-pill:hover{background:#f7f7f8;box-shadow:0 10px 24px #1118271f}}