:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{color:#f5f5f5;background-color:#0a0a0a;min-width:320px;margin:0}html{scroll-behavior:smooth}*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;max-width:100%}body{overflow-x:hidden}img,svg,canvas,main,section,nav,footer{max-width:100%}body{background-color:#0a0a0a;margin:0}.navbar{z-index:1000;-webkit-backdrop-filter:blur(12px);background-color:#0a0a0ad1;border-bottom:1px solid #ffffff0f;width:100%;position:sticky;top:0}.navbar-content{justify-content:space-between;align-items:center;width:90%;max-width:1100px;height:70px;margin:0 auto;display:flex}.navbar-logo{color:#f5f5f5;letter-spacing:2px;font-size:.8rem;font-weight:700;text-decoration:none}.navbar-links{align-items:center;gap:30px;display:flex}.navbar-links a{color:#888;letter-spacing:1.3px;font-size:.65rem;font-weight:500;text-decoration:none;transition:color .2s;position:relative}.navbar-links a:hover{color:#f5f5f5}.navbar-links a:after{content:"";background-color:#f5f5f5;width:0;height:1px;transition:width .25s;position:absolute;bottom:-6px;left:0}.navbar-links a:hover:after{width:100%}.hero-description{text-align:center;max-width:700px}.hero-actions{flex-direction:row;align-items:center;gap:50px;display:flex}.hero-actions a{color:#f5f5f5;background-color:#0000;border:1px solid #f5f5f5;border-radius:6px;padding:10px 20px;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s,transform .2s}.hero-actions a:hover{color:#0a0a0a;background-color:#f5f5f5;transform:translateY(-3px)}.hero{flex-direction:column;justify-content:center;align-items:center;gap:20px;width:100%;max-width:100%;min-height:100vh;padding:0 5%;display:flex;position:relative}.hero h1{letter-spacing:0;font-size:50px;font-weight:700}.hero h1 span{transition:transform .1s,letter-spacing .1s;display:inline-block}.hero h1 span:hover{letter-spacing:20px}.hero h1 span.flying{animation:1.5s ease-out parachute-drop}.hero h1>span{display:inline-block;position:relative}@keyframes parachute-drop{0%{transform:translateY(0)}30%{transform:translateY(-30px)}to{transform:translateY(0)}}.parachute{opacity:0;position:relative;top:-40px;left:-50%;transform:translate(-50%)}.flying .parachute{animation:1.5s ease-out deploy-parachute}@keyframes deploy-parachute{0%{opacity:0;transform:translateY(0)}25%{opacity:0}35%{opacity:1;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.about{flex-direction:column;justify-content:center;min-height:60vh;display:flex}.about-content{width:90%;max-width:900px;margin:0 auto}.about-content p{color:#b8b8b8;line-height:1.7}.section-heading{align-items:center;gap:10px;margin-bottom:35px;display:flex}.section-heading:after{content:"";background-color:#b8b8b8;flex:1;min-width:0;height:1px;display:block}.experience{min-height:70vh}.experience-content{width:90%;max-width:900px;margin:0 auto}.timeline{position:relative}.timeline:before{content:"";background-color:#b8b8b8;width:1px;position:absolute;top:0;bottom:0;left:10px}.experience-card{margin-bottom:50px;padding-left:40px;position:relative}.experience-card h3{margin:0}.experience-card:before{content:"";background-color:#f5f5f5;border-radius:50%;width:10px;height:10px;transition:transform .2s;position:absolute;top:7px;left:5px}.experience-role{margin-top:6px}.experience-dates{color:#888;margin-top:6px;margin-bottom:16px;font-size:.9rem}.experience-description{color:#b8b8b8;max-width:700px;margin:0;line-height:1.7}.experience-card:hover:before{transform:scale(1.5)}.experience-card:after{content:"🏁";opacity:0;transition:opacity .2s,transform .2s;position:absolute;top:-15px;left:14px;transform:translateY(6px)}.experience-card:hover:after{opacity:1;transform:translateY(0)}.experience-highlights{margin-top:16px;padding-left:20px;list-style:none}.experience-highlights li:before{content:"↳";margin-right:10px}.experience-highlights li{margin-bottom:8px}.highlights-label{letter-spacing:1.5px;margin-top:20px;margin-bottom:10px;font-size:.8rem;font-weight:600}.project-card{border:1px solid #333;grid-template-columns:1fr 1fr;grid-template-areas:"visual info";margin-bottom:80px;display:grid}.project-visual{background-color:#161616;grid-area:visual;min-height:400px}.projects-content{width:90%;max-width:1100px;margin:0 auto}.project-info{flex-direction:column;grid-area:info;justify-content:center;padding:50px;display:flex}.project-card-reversed{grid-template-areas:"info visual"}.project-category{text-transform:uppercase;letter-spacing:2px;margin:0 0 12px;font-size:.75rem}.project-info h3{margin:0 0 18px;font-size:2rem}.project-description{color:#b8b8b8;margin:0 0 24px;line-height:1.7}.project-technologies{flex-wrap:wrap;gap:10px;margin-bottom:28px;display:flex}.project-technologies span{border:1px solid #444;border-radius:999px;padding:6px 12px;font-size:.8rem}.project-links{align-items:center;gap:24px;display:flex}.project-links a{color:#f5f5f5;border-bottom:1px solid #666;align-items:center;gap:6px;padding-bottom:3px;font-weight:600;text-decoration:none;transition:transform .2s,border-color .2s;display:inline-flex}.project-links a:hover{border-color:#f5f5f5;transform:translateY(-3px)}.rag-visual{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:400px;padding:10px;display:flex}.rag-node{text-align:center;border:1px solid #555;border-radius:8px;min-width:70px;padding:10px 16px;font-size:.8rem}.rag-label{letter-spacing:2px;color:#888;margin-bottom:8px;font-size:.75rem}.rag-retrieval{justify-content:center;gap:30px;padding-top:20px;padding-bottom:20px;display:flex;position:relative}.rag-retrieval:before{content:"";background-color:#555;height:1px;position:absolute;top:10px;left:21%;right:20%}.rag-retrieval:after{content:"";background-color:#555;height:1px;position:absolute;bottom:10px;left:21%;right:20%}.rag-ingestion{gap:10px;display:flex}.flow-line.horizontal{background-color:#555;width:50px;height:1px;position:relative;top:20px}.flow-particle{width:6px;height:6px;animation-delay:var(--delay);background-color:#f5f5f5;border-radius:50%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.flow-line.horizontal .flow-particle{animation:5s linear infinite flow-horizontal;animation-delay:var(--delay)}@keyframes flow-horizontal{0%{opacity:0;transform:translateY(-50%)}2%{opacity:1}13%{opacity:1}15%{opacity:0;transform:translate(44px,-50%)}to{opacity:0;transform:translate(44px,-50%)}}.flow-line.horizontal:after{content:"";border-top:1px solid #555;border-right:1px solid #555;width:6px;height:6px;position:absolute;top:50%;right:-1px;transform:translateY(-50%)rotate(45deg)}.flow-line.vertical{background-color:#555;width:1px;height:35px;position:relative}.flow-line.vertical .flow-particle{animation:5s linear infinite flow-vertical;animation-delay:var(--delay);top:0;left:50%;transform:translate(-50%)}@keyframes flow-vertical{0%{opacity:0;transform:translate(-50%)}2%{opacity:1}13%{opacity:1}15%{opacity:0;transform:translate(-50%,29px)}to{opacity:0;transform:translate(-50%,29px)}}.flow-line.vertical:after{content:"";border-bottom:1px solid #555;border-right:1px solid #555;width:6px;height:6px;position:absolute;bottom:-1px;left:50%;transform:translate(-50%)rotate(45deg)}.retrieval-branch{position:relative}.retrieval-branch:before,.retrieval-branch:after{content:"";background-color:#555;width:1px;height:10px;position:absolute;left:50%}.retrieval-branch:before{top:-10px}.retrieval-branch:after{bottom:-10px}.retrieval-input,.retrieval-output{background-color:#555;width:1px;height:10px;position:absolute;left:50%}.retrieval-input{top:0}.retrieval-output{bottom:0}.retrieval-particle{opacity:0;background-color:#f5f5f5;border-radius:50%;width:6px;height:6px;position:absolute}.input-particle{animation:5s linear infinite retrieval-input-flow;top:0;left:50%;transform:translate(-50%)}@keyframes retrieval-input-flow{0%{opacity:0;transform:translate(-50%)}2%{opacity:1}12%{opacity:1}14%{opacity:0;transform:translate(-50%,8px)}to{opacity:0;transform:translate(-50%,8px)}}.retrieval-split-particles{height:1px;position:absolute;top:10px;left:25%;right:25%}.split-particle{opacity:0;background-color:#f5f5f5;border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:50%}@keyframes split-left-flow{0%,14%{opacity:0;transform:translate(-50%,-50%)}15%{opacity:1}28%{opacity:1;transform:translate(-50px,-50%)}30%,to{opacity:0;transform:translate(-50px,-50%)}}@keyframes split-right-flow{0%,14%{opacity:0;transform:translate(-50%,-50%)}15%{opacity:1}28%{opacity:1;transform:translate(50px,-50%)}30%,to{opacity:0;transform:translate(50px,-50%)}}.branch-exit-particle{animation:5s linear infinite branch-exit-flow;bottom:-10px;left:50%}@keyframes branch-exit-flow{0%,48%{opacity:0;transform:translate(-50%,-10px)}49%{opacity:1}60%{opacity:1;transform:translate(-50%)}62%,to{opacity:0;transform:translate(-50%)}}.retrieval-merge-particles{height:1px;position:absolute;bottom:10px;left:25%;right:25%}.merge-particle{opacity:0;background-color:#f5f5f5;border-radius:50%;width:6px;height:6px;position:absolute;top:50%}.merge-left{animation:5s linear infinite merge-left-flow;left:0}.merge-right{animation:5s linear infinite merge-right-flow;right:0}@keyframes merge-left-flow{0%,61%{opacity:0;transform:translate(-50%,-50%)}62%{opacity:1}74%{opacity:1;left:50%}76%,to{opacity:0;left:50%}}@keyframes merge-right-flow{0%,61%{opacity:0;transform:translate(50%,-50%)}62%{opacity:1}74%{opacity:1;right:50%}76%,to{opacity:0;right:50%}}.output-particle{animation:5s linear infinite retrieval-output-flow;top:0;left:50%}@keyframes retrieval-output-flow{0%,75%{opacity:0;transform:translate(-50%)}76%{opacity:1}88%{opacity:1;transform:translate(-50%,8px)}90%,to{opacity:0;transform:translate(-50%,8px)}}.project-card-featured{border:1px solid #333;border-radius:16px;min-height:0;padding:40px;display:block}.featured-project-header{justify-content:space-between;align-items:flex-start;gap:40px;margin-bottom:35px;display:flex}.featured-project-header>div:first-child{max-width:700px}.project-card-featured h3{margin:0 0 18px;font-size:3rem}.project-card-featured .project-visual{background:#111;border:1px solid #2a2a2a;border-radius:12px;margin-bottom:32px;padding:32px}.project-card-featured .rag-visual{min-height:360px}.rag-panel-header{letter-spacing:1.5px;color:#888;justify-content:space-between;align-items:center;width:100%;margin-bottom:20px;font-size:.7rem;display:flex}.rag-status{align-items:center;gap:7px;display:flex}.status-dot{background-color:#f5f5f5;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite status-pulse}@keyframes status-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}.featured-highlights{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px;display:grid}.featured-highlight{background-color:#111;border:1px solid #2a2a2a;border-radius:10px;padding:18px}.highlight-label{letter-spacing:1.4px;color:#888;margin-bottom:8px;font-size:.7rem;display:block}.featured-highlight p{color:#c7c7c7;margin:0;font-size:.9rem;line-height:1.5}.credit-visual{flex-direction:column;justify-content:center;align-items:center;min-height:400px;padding:35px;display:flex}.credit-label,.credit-model{letter-spacing:1.5px;color:#888;font-size:.7rem}.credit-score{flex-direction:column;align-items:center;margin:35px 0;display:flex}.score-value{font-size:3rem;font-weight:700}.score-label{letter-spacing:2px;color:#888;margin-top:5px;font-size:.75rem}.risk-meter{width:80%;max-width:300px;margin-bottom:35px}.risk-track{background-color:#555;width:100%;height:2px;position:relative}.risk-indicator{background-color:#f5f5f5;border-radius:50%;width:10px;height:10px;transition:left .9s cubic-bezier(.22,1,.36,1),transform .2s;position:absolute;top:50%;left:5%;transform:translate(-50%,-50%)}.risk-labels{letter-spacing:1px;color:#777;justify-content:space-between;margin-top:10px;font-size:.65rem;display:flex}.credit-visual:hover .risk-indicator{left:75%;transform:translate(-50%,-50%)scale(1.3)}.clickfix-visual{flex-direction:column;justify-content:center;min-height:400px;padding:35px;display:flex}.clickfix-header{letter-spacing:1.3px;color:#888;justify-content:space-between;margin-bottom:70px;font-size:.65rem;display:flex}.service-progress{align-items:center;width:100%;display:flex}.service-step{letter-spacing:1px;color:#777;flex-direction:column;align-items:center;gap:10px;font-size:.65rem;display:flex}.service-dot{border:1px solid #777;border-radius:50%;width:10px;height:10px}.service-step.active .service-dot{background-color:#f5f5f5;border-color:#f5f5f5;transition:transform .3s,box-shadow .3s}.service-step.active{color:#f5f5f5}.service-line{background-color:#555;flex:1;height:1px;margin:0 10px 25px;position:relative;overflow:hidden}.service-status{flex-direction:column;align-items:center;gap:8px;margin:50px auto 35px;display:flex}.service-status span{letter-spacing:1.5px;color:#777;font-size:.65rem}.service-status strong{letter-spacing:2px;font-size:1.2rem}.clickfix-roles{justify-content:center;gap:12px;display:flex}.clickfix-roles span{letter-spacing:1px;border:1px solid #444;border-radius:999px;padding:6px 12px;font-size:.65rem}.service-line:after{content:"";opacity:0;background-color:#f5f5f5;width:40%;height:100%;position:absolute;top:0;left:-40%}.clickfix-visual:hover .service-line:first-of-type:after{animation:1s ease-out forwards service-flow}@keyframes service-flow{0%{opacity:0;left:-40%}15%{opacity:1}to{opacity:0;left:100%}}.clickfix-visual:hover .service-step.active .service-dot{transform:scale(1.25);box-shadow:0 0 10px #f5f5f5a6}.service-status strong{transition:letter-spacing .3s,text-shadow .3s}.clickfix-visual:hover .service-status strong{letter-spacing:3px;text-shadow:0 0 10px #f5f5f559}.recommender-visual{flex-direction:column;justify-content:space-between;min-height:400px;padding:35px;display:flex}.recommender-header,.recommender-footer{letter-spacing:1.3px;color:#888;justify-content:space-between;font-size:.65rem;display:flex}.recommendation-network{flex-direction:column;align-items:center;gap:65px;margin:30px 0;display:flex;position:relative}.target-movie{letter-spacing:1px;flex-direction:column;align-items:center;gap:14px;font-size:.65rem;display:flex}.movie-node{background-color:#161616;border:1px solid #888;border-radius:50%;width:14px;height:14px;transition:transform .3s,box-shadow .3s,background-color .3s;display:block}.target-node{background-color:#f5f5f5;border-color:#f5f5f5;width:18px;height:18px}.recommended-movies{justify-content:space-around;width:100%;display:flex}.recommended-movie{letter-spacing:1px;color:#888;flex-direction:column;align-items:center;gap:8px;font-size:.6rem;display:flex}.similarity-score{color:#f5f5f5;font-size:.7rem}.recommendation-connections{pointer-events:none;width:70%;height:100px;position:absolute;top:45px;left:50%;transform:translate(-50%)}.recommendation-line{transform-origin:top;background-color:#555;width:1px;height:95px;position:absolute;top:0;left:50%}.line-left{transform:rotate(55deg)}.line-center{height:65px;transform:rotate(0)}.line-right{transform:rotate(-55deg)}.recommendation-particle{opacity:0;background-color:#f5f5f5;border-radius:50%;width:6px;height:6px;position:absolute;top:0;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 8px #f5f5f5b3}.recommender-visual:hover .recommendation-particle{animation:.8s ease-in-out forwards recommendation-flow}@keyframes recommendation-flow{0%{opacity:0;top:0}10%{opacity:1}85%{opacity:1}to{opacity:0;top:100%}}.recommender-visual:hover .target-node{transform:scale(1.3);box-shadow:0 0 8px #f5f5f5b3,0 0 18px #f5f5f540}.recommender-visual:hover .recommended-movie .movie-node{animation:.35s ease-out .65s forwards recommendation-match}@keyframes recommendation-match{0%{box-shadow:none;background-color:#161616;transform:scale(1)}60%{background-color:#f5f5f5;transform:scale(1.4);box-shadow:0 0 14px #f5f5f5b3}to{background-color:#f5f5f5;transform:scale(1.15);box-shadow:0 0 8px #f5f5f566}}.rag-visual{--pipeline-duration:8s}.flow-particle,.retrieval-particle,.split-particle,.merge-particle{box-shadow:0 0 6px #f5f5f5e6,0 0 12px #f5f5f559}.rag-ingestion .flow-particle{animation:pipeline-horizontal var(--pipeline-duration) linear infinite}@keyframes pipeline-horizontal{0%{opacity:0;transform:translateY(-50%)}2%{opacity:1}10%{opacity:1;transform:translate(44px,-50%)}11%,to{opacity:0;transform:translate(44px,-50%)}}.rag-ingestion+.flow-line .flow-particle{animation:pipeline-chunks-down var(--pipeline-duration) linear infinite}@keyframes pipeline-chunks-down{0%,11%{opacity:0;transform:translate(-50%)}12%{opacity:1}20%{opacity:1;transform:translate(-50%,29px)}21%,to{opacity:0;transform:translate(-50%,29px)}}.input-particle{animation:pipeline-retrieval-input var(--pipeline-duration) linear infinite}@keyframes pipeline-retrieval-input{0%,20%{opacity:0;transform:translate(-50%)}21%{opacity:1}25%{opacity:1;transform:translate(-50%,8px)}26%,to{opacity:0;transform:translate(-50%,8px)}}.split-left{animation:pipeline-split-left var(--pipeline-duration) linear infinite}.split-right{animation:pipeline-split-right var(--pipeline-duration) linear infinite}@keyframes pipeline-split-left{0%,25%{opacity:0;transform:translate(-50%,-50%)}26%{opacity:1}36%{opacity:1;transform:translate(-50px,-50%)}37%,to{opacity:0;transform:translate(-50px,-50%)}}@keyframes pipeline-split-right{0%,25%{opacity:0;transform:translate(-50%,-50%)}26%{opacity:1}36%{opacity:1;transform:translate(50px,-50%)}37%,to{opacity:0;transform:translate(50px,-50%)}}.branch-exit-particle{animation:pipeline-branch-exit var(--pipeline-duration) linear infinite}@keyframes pipeline-branch-exit{0%,36%{opacity:0;transform:translate(-50%,-10px)}37%{opacity:1}43%{opacity:1;transform:translate(-50%)}44%,to{opacity:0;transform:translate(-50%)}}.merge-left{animation:pipeline-merge-left var(--pipeline-duration) linear infinite}.merge-right{animation:pipeline-merge-right var(--pipeline-duration) linear infinite}@keyframes pipeline-merge-left{0%,43%{opacity:0;left:0;transform:translate(-50%,-50%)}44%{opacity:1}53%{opacity:1;left:50%}54%,to{opacity:0;left:50%}}@keyframes pipeline-merge-right{0%,43%{opacity:0;right:0;transform:translate(50%,-50%)}44%{opacity:1}53%{opacity:1;right:50%}54%,to{opacity:0;right:50%}}.output-particle{animation:pipeline-output var(--pipeline-duration) linear infinite}@keyframes pipeline-output{0%,53%{opacity:0;transform:translate(-50%)}54%{opacity:1}58%{opacity:1;transform:translate(-50%,8px)}59%,to{opacity:0;transform:translate(-50%,8px)}}.rag-retrieval+.flow-line .flow-particle{animation:pipeline-to-rrf var(--pipeline-duration) linear infinite}@keyframes pipeline-to-rrf{0%,58%{opacity:0;transform:translate(-50%)}59%{opacity:1}66%{opacity:1;transform:translate(-50%,29px)}67%,to{opacity:0;transform:translate(-50%,29px)}}.node-rrf+.flow-line .flow-particle{animation:pipeline-to-rerank var(--pipeline-duration) linear infinite}@keyframes pipeline-to-rerank{0%,67%{opacity:0;transform:translate(-50%)}68%{opacity:1}75%{opacity:1;transform:translate(-50%,29px)}76%,to{opacity:0;transform:translate(-50%,29px)}}.node-rerank+.flow-line .flow-particle{animation:pipeline-to-llm var(--pipeline-duration) linear infinite}@keyframes pipeline-to-llm{0%,76%{opacity:0;transform:translate(-50%)}77%{opacity:1}84%{opacity:1;transform:translate(-50%,29px)}85%,to{opacity:0;transform:translate(-50%,29px)}}.node-chunks{animation:glow-chunks var(--pipeline-duration) infinite}.node-faiss,.node-bm25{animation:glow-retrieval var(--pipeline-duration) infinite}.node-rrf{animation:glow-rrf var(--pipeline-duration) infinite}.node-rerank{animation:glow-rerank var(--pipeline-duration) infinite}.node-llm{animation:glow-llm var(--pipeline-duration) infinite}@keyframes glow-chunks{0%,9%,15%,to{box-shadow:none;border-color:#555}11%,13%{border-color:#aaa;box-shadow:0 0 12px #f5f5f540}}@keyframes glow-retrieval{0%,34%,42%,to{box-shadow:none;border-color:#555}36%,40%{border-color:#aaa;box-shadow:0 0 12px #f5f5f540}}@keyframes glow-rrf{0%,64%,71%,to{box-shadow:none;border-color:#555}66%,69%{border-color:#aaa;box-shadow:0 0 12px #f5f5f540}}@keyframes glow-rerank{0%,73%,80%,to{box-shadow:none;border-color:#555}75%,78%{border-color:#aaa;box-shadow:0 0 12px #f5f5f540}}@keyframes glow-llm{0%,82%,91%,to{box-shadow:none;border-color:#555}85%,89%{border-color:#f5f5f5;box-shadow:0 0 10px #f5f5f566,0 0 22px #f5f5f526}}.skills{padding:100px 0}.skills-content{width:90%;max-width:1100px;margin:0 auto}.skills-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.skill-panel{background-color:#111;border:1px solid #2d2d2d;border-radius:10px;padding:28px;transition:transform .25s,border-color .25s,background-color .25s;position:relative;overflow:hidden}.skill-panel:hover{background-color:#131313;border-color:#555;transform:translateY(-4px)}.skill-panel:before{content:"";background-color:#f5f5f5;width:0;height:1px;transition:width .45s;position:absolute;top:0;left:0}.skill-panel:hover:before{width:100%}.skill-panel-header{border-bottom:1px solid #292929;align-items:center;gap:12px;margin-bottom:22px;padding-bottom:18px;display:flex}.skill-number{letter-spacing:1px;color:#666;font-size:.65rem}.skill-title{letter-spacing:1.5px;color:#f5f5f5;font-size:.72rem;font-weight:600}.skill-list{grid-template-columns:repeat(2,1fr);gap:14px 20px;display:grid}.skill-item{color:#aaa;align-items:center;gap:10px;font-size:.85rem;transition:color .2s,transform .2s;display:flex}.skill-marker{border:1px solid #777;border-radius:50%;flex-shrink:0;width:5px;height:5px;transition:background-color .2s,border-color .2s,box-shadow .2s}.skill-item:hover{color:#f5f5f5;transform:translate(4px)}.skill-item:hover .skill-marker{background-color:#f5f5f5;border-color:#f5f5f5;box-shadow:0 0 8px #f5f5f580}.contact{padding:120px 0 40px}.contact-content{width:90%;max-width:1000px;margin:0 auto}.contact-kicker{letter-spacing:2px;color:#888;margin-bottom:20px;font-size:.7rem}.contact-content h2{max-width:850px;margin:0 0 25px;font-size:clamp(2rem,5vw,4rem);line-height:1.1}.contact-description{color:#aaa;max-width:700px;margin-bottom:35px;line-height:1.7}.contact-links{flex-wrap:wrap;gap:24px;display:flex}.contact-links a{color:#f5f5f5;border-bottom:1px solid #555;padding-bottom:4px;font-weight:600;text-decoration:none;transition:transform .2s,border-color .2s}.contact-links a:hover{border-color:#f5f5f5;transform:translateY(-3px)}.footer{letter-spacing:1.2px;color:#666;border-top:1px solid #292929;justify-content:space-between;width:90%;max-width:1100px;margin:100px auto 0;padding-top:25px;font-size:.65rem;display:flex}a:focus-visible,button:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #f5f5f5}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=768px){.about-content,.experience-content,.projects-content,.skills-content,.contact-content,.footer,.navbar-content{width:calc(100% - 40px);max-width:none;margin-inline:auto}.hero{width:100%;padding-inline:24px}.hero h1{letter-spacing:1px;text-align:center;white-space:nowrap;max-width:100%;margin-inline:auto;font-size:2.5rem}.hero-description{text-align:center;width:100%;max-width:600px;margin-inline:auto;padding:0;line-height:1.6}.hero-actions{flex-wrap:wrap;justify-content:center;gap:20px;width:100%}.hero h1 span:hover{letter-spacing:inherit}.section-heading{width:100%}.section-heading:after{flex:1;min-width:0}.project-card{grid-template-columns:minmax(0,1fr);grid-template-areas:"visual""info";width:100%;min-width:0;margin-inline:auto;overflow:hidden}.project-visual,.project-info{width:100%;min-width:0}.project-info{padding:32px}.featured-project-header{flex-direction:column;align-items:flex-start;gap:20px}.featured-project-header>div:first-child{width:100%;max-width:100%}.project-card-featured{width:100%;min-width:0;padding:28px;overflow:hidden}.project-card-featured h3{font-size:2.3rem}.project-card-featured .project-links{flex-wrap:wrap;gap:16px 24px;width:100%}.project-card-featured .project-visual{width:100%;padding:24px}.featured-highlights{grid-template-columns:1fr}.skills{padding:80px 0}.skills-grid{grid-template-columns:1fr}.navbar-content{height:60px}.navbar-links{gap:15px}.navbar-links a{letter-spacing:.8px;font-size:.55rem}}@media (width<=600px){.footer{flex-direction:column;gap:10px}}@media (width<=520px){.navbar-links{display:none}}@media (width<=480px){.about-content,.experience-content,.projects-content,.skills-content,.contact-content,.footer,.navbar-content{width:calc(100% - 32px);margin-inline:auto}.hero{min-height:calc(100vh - 60px);padding-inline:16px}.hero h1{letter-spacing:.5px;font-size:2.15rem}.hero-role{text-align:center;font-size:1rem}.hero-description{max-width:350px;font-size:.95rem}.hero-actions{gap:14px}.hero-actions a{padding:9px 14px}.about,.experience{min-height:auto;padding:70px 0}.section-heading{justify-content:flex-start;margin-bottom:28px}.section-heading:after{flex:1}.timeline,.experience-card{width:100%;min-width:0}.experience-card{padding-left:34px}.experience-highlights{padding-left:12px}.project-card{margin-bottom:48px}.project-info{text-align:center;align-items:center;padding:24px 20px}.project-technologies,.project-links{justify-content:center}.project-visual{min-height:320px}.project-card-featured{text-align:center;padding:18px}.featured-project-header{text-align:center;align-items:center}.project-card-featured h3{font-size:2rem}.project-card-featured .project-links{justify-content:center;gap:12px 18px}.project-card-featured .project-visual{padding:14px}.project-card-featured .rag-visual{min-height:330px}.rag-panel-header{letter-spacing:1px;gap:10px;font-size:.62rem}.rag-ingestion{max-width:100%}.rag-node{min-width:62px;padding:9px 12px;font-size:.72rem}.rag-retrieval{gap:20px}.featured-highlight{text-align:center}.credit-visual,.clickfix-visual,.recommender-visual{min-height:320px;padding:22px 18px}.clickfix-header,.recommender-header,.recommender-footer{flex-wrap:wrap;gap:12px}.service-step{letter-spacing:.6px;font-size:.56rem}.service-line{margin-inline:5px}.skills-grid{width:100%}.skill-panel{width:100%;min-width:0;padding:22px}.skill-list{grid-template-columns:1fr}.contact-content{text-align:center}.contact-content h2{font-size:clamp(1.9rem,9vw,2.6rem)}.contact-description{margin-inline:auto}.contact-links{justify-content:center}.footer{text-align:center;align-items:center}}@media (width<=391px){.hero h1{letter-spacing:0;white-space:nowrap;font-size:clamp(1.2rem,6.2vw,1.3rem)}.hero h1>span{position:relative}.parachute{left:50%;transform:translate(-50%)}.project-card-featured{padding:16px}.project-card-featured .project-visual{padding:10px}.rag-retrieval{gap:16px}.rag-node{min-width:58px;padding:8px 10px;font-size:.68rem}.clickfix-header,.recommender-header,.recommender-footer{letter-spacing:.8px;font-size:.58rem}}
